private bool KiemTraTrungCauHoi(CauHoiCollection cauhoiColl,TuVung tv)
 {
     foreach (TracNghiemBO tn in cauhoiColl)
     {
         if (tv.IDTuVung == tn.Choices[0].IDTuVung)
             return true;
     }
     return false;
 }
 private CauHoiCollection TaoDanhSachCauHoi_TracNghiem(IEnumerable<TuVung> tuvunglambantest, int socauhoilambai)
 {
     CauHoiCollection CauHoiColl = new CauHoiCollection();
     int i = 0;
     while (i < socauhoilambai)
     {
         //Chọn ngẫu nhiên 1 câu hỏi trong tuvunglambaitest
         int stt = RandomTuVung(tuvunglambantest.ToList().Count);
         TuVung temp = tuvunglambantest.ToList()[stt];
         //Kiểm tra câu hỏi đã có trong danh sách chưa
         //Nếu có rồi: Tạo lại -->Kiểm tra
         //Nếu chưa: Add vào --> i++
         while (KiemTraTrungCauHoi(CauHoiColl, temp) == true ||temp.ApDung.Trim()=="")
         {
             stt = RandomTuVung(tuvunglambantest.ToList().Count);
             temp = tuvunglambantest.ToList()[stt];
         }
         TracNghiemBO tnBO = new TracNghiemBO();
         tnBO.Choices[0] = temp;
         CauHoiColl.Add(tnBO);
         i++;
     }
     return CauHoiColl;
 }        
 public CauHoiCollection TaoBaiTest_TracNghiem(IEnumerable<TuVung> tuvunglambantest, int socauhoilambai)
 {
     CauHoiCollection DanhsachCauHoi = new CauHoiCollection();
     CauHoiCollection DanhsachCauTraLoi = new CauHoiCollection();
     CauHoiCollection BaiTest = new CauHoiCollection();
     DanhsachCauHoi = TaoDanhSachCauHoi_TracNghiem(tuvunglambantest, socauhoilambai);
     DanhsachCauTraLoi = TaoDanhSachCauTraLoi(tuvunglambantest, DanhsachCauHoi);
     BaiTest = SapXepNgauNhien(DanhsachCauTraLoi);
     return BaiTest;
 }
 private CauHoiCollection SapXepNgauNhien(CauHoiCollection CauTraLoiColl)
 {
     CauHoiCollection BaiTest = new CauHoiCollection();
    
     for (int i = 0; i < CauTraLoiColl.Count; i++)
     {
         int new_pos = -1;
         new_pos = RandomTuVung(4);
         if(i>1)
         {
             while(new_pos==CauTraLoiColl.Index(i-2).CauTraLoiDung)
             {
                  new_pos = RandomTuVung(4);
             }
         }
         CauTraLoiColl.Index(i).CauTraLoiDung = new_pos;
         //Hóan vị câu trả lới đúng với câu trả lời bất kỳ
         TuVung oldtv = CauTraLoiColl.Index(i).Choices[0];
         TuVung newtv = CauTraLoiColl.Index(i).Choices[new_pos];
         CauTraLoiColl.Index(i).Choices[0]= newtv;
         CauTraLoiColl.Index(i).Choices[new_pos]=oldtv;                
        
     }
     BaiTest = CauTraLoiColl;
     return BaiTest;
   
 }
 private CauHoiCollection TaoDanhSachCauTraLoi(IEnumerable<TuVung> tuvunglambantest, CauHoiCollection CauHoicoll)
 {
     int i = 0;
     while (i < CauHoicoll.Count)
     {
         int ques_pos=1;
         while (ques_pos < 4)
         {
             //Chọn ngẫu nhiên 1 câu hỏi trong tuvunglambaitest
             int stt = RandomTuVung(tuvunglambantest.ToList().Count);
             TuVung temp = tuvunglambantest.ToList()[stt];
             //Kiểm tra câu trả lời đã có trong danh sách trả lời chưa
             //Nếu có rồi: Tạo lại -->Kiểm tra
             //Nếu chưa: Add vào --> i++
             while (KiemTraTrungCauTraLoi(CauHoicoll.Index(i).Choices, temp,ques_pos) == true)
             {
                 stt = RandomTuVung(tuvunglambantest.ToList().Count);
                 temp = tuvunglambantest.ToList()[stt];
             }
             CauHoicoll.Index(i).Choices[ques_pos] = temp;
             ques_pos++;
         }
         i++;
     }
     return CauHoicoll;
 }     
Example #6
0
 public BangKetQua(CauHoiCollection coll,bool hienthi)
 {
     InitializeComponent();
     chColl = coll;
     _hienthi = hienthi;
 }
 private void BatDau_TracNghiemButton_Click(object sender, EventArgs e)
 {
     if (BatDau_TracNghiemButton.Text == "Bắt đầu")
     {
         //Load bài Test               
         BaiTest = tracnghiemBUS.TaoBaiTest_TracNghiem(tuvunglambantest, socauhoilamban);               
         if (BaiTest.Count == 0)
         {
             MessageBox.Show("Bạn hãy chọn từ điển để tạo bài test");
             return;
         }
         //Thao tác cho các Control hiển thị
         TracNghiem_Position = 0;
         CauSo_TracNghiemGroupBox.Text = "Hình ảnh số 1";
         TraLoi_TrachNghiemCheckList.Enabled = true;
         ChamDiem_TracNghiemButton.Enabled = true;
         ChonTuDien_TracNghiemButton.Enabled = false;
         BatDau_TracNghiemButton.Text = "Kết thúc";
         ThuTuCauhoi_TracNghiemTextBox.Items.Clear();
         TongCauHoi_TracNghiemTextBox.Text = "/" + (socauhoilamban).ToString();
         for (int i = 0; i < socauhoilamban; i++)
         {
             ThuTuCauhoi_TracNghiemTextBox.Items.Add((i + 1).ToString());
         }
         ThuTuCauhoi_TracNghiemTextBox.Text = "1";
         //Load Cau hỏi và câu trả lời
    //     HinhAnhPictureBox.Load(BaiTest.Index(TracNghiem_Position).Choices[BaiTest.Index(TracNghiem_Position).CauTraLoiDung].HinhAnh);
         LoadCauHoi_TracNghiem();
         LoadCauTraLoi_TracNghiem();
         if (Application.OpenForms["BangKetQua"] != null)
             Application.OpenForms["BangKetQua"].Close();
        
     }
     else
     {
         BatDau_TracNghiemButton.Text = "Bắt đầu";              
         TraLoi_HinhAnhCheckList.Enabled = false;
         ChamDiem_HinhAnhButton.Enabled = false;
         ChonTuDien_HinhAnhButton.Enabled = true;
     }
 }
        private void BatDau_HinhAnhButton_Click(object sender, EventArgs e)
        {
            if (BatDau_HinhAnhButton.Text == "Bắt đầu")
            {
                //Load bài Test               
                BaiTest = tracnghiemBUS.TaoBaiTest_HinhAnh(tuvunglambantest, socauhoilamban);               
                if (BaiTest.Count == 0)
                {
                    MessageBox.Show("Bạn hãy chọn từ điển để tạo bài test");
                    return;
                }
                //Thao tác cho các Control hiển thị
                TracNghiem_Position = 0;
                HinhSo_HinhAnhGroupbox.Text = "Hình ảnh số 1";
                TraLoi_HinhAnhCheckList.Enabled = true;
                ChamDiem_HinhAnhButton.Enabled = true;
                ChonTuDien_HinhAnhButton.Enabled = false;
                BatDau_HinhAnhButton.Text = "Kết thúc";
                ThuTuCauHoi_HinhAnhTextBox.Items.Clear();
                TongCauHoi_HinhAnhTextBox.Text = "/" + (socauhoilamban).ToString();
                for (int i = 0; i < socauhoilamban; i++)
                {
                    ThuTuCauHoi_HinhAnhTextBox.Items.Add((i + 1).ToString());
                }
                ThuTuCauHoi_HinhAnhTextBox.Text = "1";
                //Load bài Hình ảnh và câu trả lời
                try
                {
                    HinhAnhPictureBox.Load(BaiTest.Index(TracNghiem_Position).Choices[BaiTest.Index(TracNghiem_Position).CauTraLoiDung].HinhAnh);
                }
                catch
                {
                    HinhAnhPictureBox.Image=((System.Drawing.Bitmap)(English_Studying.Properties.Resources.error_pic));
                }
                LoadCauTraLoi_HinhAnh();
                if (Application.OpenForms["BangKetQua"]!=null)
                    Application.OpenForms["BangKetQua"].Close();               
            }
            else
            {
                BatDau_HinhAnhButton.Text = "Bắt đầu";              
                TraLoi_HinhAnhCheckList.Enabled = false;
                ChamDiem_HinhAnhButton.Enabled = false;
                ChonTuDien_HinhAnhButton.Enabled = true;
            }

        }