Beispiel #1
0
        //заполняет елементы главной формы случайными словом и переводами к нему
        private void SetRandomWord()
        {
            DBManager db = new DBManager();
            DataTable dt = db.SelectWordsForTest();
            Random    rnd;

            int[] arrRand  = new int[5];
            int   highRand = dt.Rows.Count;
            int   seedRand;

            rnd      = new Random();
            seedRand = rnd.Next(1, int.MaxValue);
            rnd      = new Random(seedRand);

            //массив случайных чисел - используются в качестве индексов строк со словами-переводами
            for (int i = 0; i < 5; i++)
            {
                arrRand[i] = rnd.Next(0, highRand);
            }



            //случайная позиция радиокнопки для правильного ответа
            //чтобы он не был всегда первым
            rnd = new Random();
            SetTrueAnswerPos(rnd.Next(0, 4));


            RadioButton temp = arrRadioBtn[trueAnswerPos];

            arrRadioBtn[trueAnswerPos] = arrRadioBtn[0];
            arrRadioBtn[0]             = temp;

            lblCategory.Text = dt.Rows[arrRand[0]]["category"].ToString();
            lblWord.Text     = dt.Rows[arrRand[0]]["wordEN"].ToString();



            for (int i = 0; i < arrRadioBtn.Length; i++)
            {
                arrRadioBtn[i].Text = dt.Rows[arrRand[i]]["wordRU"].ToString();
            }

            temp = arrRadioBtn[trueAnswerPos];
            arrRadioBtn[trueAnswerPos] = arrRadioBtn[0];
            arrRadioBtn[0]             = temp;
        }
Beispiel #2
0
        //заполняет елементы главной формы случайными словом и переводами к нему
        //возваращает false, если выборка пуста и заполнять нечем (в этом случае нам не надо выводить тест на экран, а предложить пользователю
        //зайти в настройка и выбрать категории для тестирования)


        private bool SetRandomWord()
        {
            DataTable dt = dbMan.SelectWordsForTest();

            //Random rnd;

            if (dt.Rows.Count != 0)
            {
                int[]  arrRand = new int[5];
                bool[] arrFlag = new bool[5];

                int highRand = dt.Rows.Count;
                int seedRand;

                var rnd = new Random();
                seedRand = rnd.Next(1, int.MaxValue);
                rnd      = new Random(seedRand);
                int rnum = 0;

                //массив случайных чисел - используются в качестве индексов строк со словами-переводами
                for (int i = 0; i < 5; i++)
                {
                    rnum = rnd.Next(0, highRand);

                    for (int j = 0; j < 5; j++)
                    {
                        if (arrRand[j] == rnum)
                        {
                            break;
                        }
                        else
                        {
                            arrRand[i] = rnum;
                        }
                    }
                }


                //случайная позиция радиокнопки для правильного ответа
                //чтобы он не был всегда первым
                rnd = new Random();
                SetTrueAnswerPos(rnd.Next(0, 4));


                RadioButton temp = arrRadioBtn[trueAnswerPos];
                arrRadioBtn[trueAnswerPos] = arrRadioBtn[0];
                arrRadioBtn[0]             = temp;

                lblCategory.Text = dt.Rows[arrRand[0]]["category"].ToString();
                lblWord.Text     = dt.Rows[arrRand[0]]["wordEN"].ToString();



                for (int i = 0; i < arrRadioBtn.Length; i++)
                {
                    arrRadioBtn[i].Text = dt.Rows[arrRand[i]]["wordRU"].ToString();
                }

                temp = arrRadioBtn[trueAnswerPos];
                arrRadioBtn[trueAnswerPos] = arrRadioBtn[0];
                arrRadioBtn[0]             = temp;
                return(true);
            }
            return(false);
        }