private TracNghiemCollection TaoDanhSachCauTraLoi(TuVungCollection tuvunglambantest, TracNghiemCollection CauHoicoll) { int i = 0; while (i < CauHoicoll.Count) { int ques_pos = 1; while (ques_pos < 4) { //Chọn ngẫu nhiên 1 trả lời trong tuvunglambaitest int stt = RandomTuVung(tuvunglambantest.Count); TuVungBO temp = tuvunglambantest.Index(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.Count); temp = tuvunglambantest.Index(stt); } CauHoicoll.Index(i).Choices[ques_pos] = temp; ques_pos++; } i++; } return CauHoicoll; }
public TuVungCollection SelectAllTuVung_CongDong() { //Lấy từ vựng trong từ điển cộng đồng hoctuvungLINQDataContext db = new hoctuvungLINQDataContext(); TuVungCollection tuvungColl = new TuVungCollection(); IEnumerable<TuVung> TuVungList; TuVungList = from p in db.TuVungs where p.TuDien.CongDong == true && p.kiemduyet == true select p; //Addrange foreach (TuVung tv in TuVungList) { TuVungBO tvBO = new TuVungBO(); tvBO.TuVungID = tv.TuVungID.ToString(); tvBO.TuVung = tv.TuVung1; tvBO.LoaiTuID = (int)tv.LoaiTuID; tvBO.NghiaTu = tv.NghiaTu; tvBO.ViDu = tv.Vidu; tvBO.TaiKhoan = tv.taikhoan; tvBO.HinhAnh = tv.Hinhanh; tvBO.SoLanSai = (int)tv.SoLanSai; tvBO.SoLanSuDung = (int)tv.SoLanSuDung; tuvungColl.Add(tvBO); } return tuvungColl; }
public void Addrange(TuVungCollection tuvungColl) { foreach (TuVungBO tv in tuvungColl) { List.Add(tv); } }
} //Kiểm Tra có trùng từ hàng ngang nào không private string [,]SapxepOChu(List<char> tuhangdoc,TuVungCollection HangNgangList) { string[,] OChu = new string[12, 21]; for (int a = 0; a < 12; a++) for (int b = 0; b < 21; b++) OChu[a, b] = ""; for (int i = 0; i < tuhangdoc.Count; i++) { char tu=tuhangdoc[i]; string tuhangngang=HangNgangList.Index(i).TuVung; int vitrikytu = tuhangngang.IndexOf(tu); int truoc = tuhangngang.Substring(0, vitrikytu).Length;//chiều dài tính từ đầu đến [vitrikytu] int sau = tuhangngang.Substring(vitrikytu + 1, tuhangngang.Length - truoc - 1).Length; //chiều dài tính từ [vitrikytu] đến cuối int k = 0; for (int j = 10-truoc; j < 10+sau+1; j++) { List<char> temp = new List<char>(); temp = tuhangngang.ToList(); OChu[i, j] = temp[k].ToString(); k++; } } return OChu; }
public void LoadDSTuVungChoDuyet() { TuVungCollection tuvungColl = new TuVungCollection(); tuvungColl = tuvungBUS.LayDSTuVungChoDuyet(TimTuTextBox.Text); TuVungListBox.DataSource = tuvungColl; TuVungListBox.DataTextField = "TuVung"; TuVungListBox.DataValueField = "TuVungID"; TuVungListBox.DataBind(); }
public void LoadTuVung(string tuvung) { TuVungCollection tuvungColl = new TuVungCollection(); string tudienID = TuDienDropDown.SelectedValue; tuvungColl = tuvungBUS.LayDSTuVung_CongDong(tuvung, tudienID); TuVungListBox.DataSource = tuvungColl; TuVungListBox.DataTextField = "TuVung"; TuVungListBox.DataValueField = "TuVungID"; TuVungListBox.DataBind(); }
public void LoadTuVung(string tuvung, string taikhoan,int loai) { TuVungCollection tuvungColl= new TuVungCollection(); string tudienID = TuDienDropDown.SelectedValue; if (loai == 1) tuvungColl = tuvungBUS.LayDSTuVung_CaNhan(tuvung, taikhoan,tudienID); if (loai == 2) tuvungColl = tuvungBUS.LayDSTuVung_LienKet(tuvung, taikhoan, tudienID); if (loai == 3) tuvungColl = tuvungBUS.LayDSTuVung_CongDong(tuvung, tudienID); TuVungListBox.DataSource = tuvungColl; TuVungListBox.DataTextField = "TuVung"; TuVungListBox.DataValueField = "TuVungID"; TuVungListBox.DataBind(); }
public static TracNghiemCollection tracnghiemColl; //biến chứa bài test //Check và cập nhật danh sách từ vựng để làm bài test protected void TuDienCheckBoxList_SelectedIndexChanged(object sender, EventArgs e) { TVLambai = new TuVungCollection(); for (int i = 0; i < TuDienCheckBoxList.Items.Count; i++) { if (TuDienCheckBoxList.Items[i].Selected == true) { TVLambai.Addrange(tuvungBUS.LayDSTuVung(TuDienCheckBoxList.Items[i].Value)); } } TVLambai.Addrange(tuvungBUS.LayDSTuVung_CongDong()); }
//B2: Lấy ra các từ hàng ngang private TuVungBO LayChuHangNgang(TuVungCollection tuvunglambaitest, char tu) { //Lấy ra các [TuVungBO].[TuVung] có chứ [tu] TuVungCollection tempColl = new TuVungCollection(); foreach (TuVungBO tv in tuvunglambaitest) { if (tv.TuVung.Contains(tu)) { tempColl.Add(tv); } } //chọn ngẫu nhiên một từ if (tempColl.Count == 0) return null; int rand = rd.Next(tempColl.Count); return tempColl.Index(rand); }
//B1: Lấy ra một từ ngẫunhiên làm từ hàng dọc private string LayChuHangDoc(TuVungCollection tuvunglambaitest) { List<char> Tu = new List<char>(); int len = tuvunglambaitest.Count; int rand = rd.Next(len); string temp = ""; while (true) { rand = rd.Next(len); temp = tuvunglambaitest.Index(rand).TuVung; if (temp.Length < 10) { rand = rd.Next(len); break; } } /*char[] TuTemp = temp.ToCharArray(); for (int i = 0; i < TuTemp.Length; i++) Tu.Add(TuTemp[i]);*/ return temp; }
protected void TraTuButton_Click(object sender, ImageClickEventArgs e) { //Lấy tài khỏan người dùng từ Sesstion[] string taikhoan; if (Session["taikhoan"] != null) taikhoan = Session["taikhoan"].ToString(); else taikhoan = ""; //Thực hiện tra từ tvColl= new TuVungCollection(); //Thực hiện hàm tratu if(eng==true) tvColl = tuvungBUS.LayDSTuVung_Eng(TuTraTxt.Text,taikhoan); else tvColl = tuvungBUS.LayDSTuVung_Viet(TuTraTxt.Text, taikhoan); if (tvColl.Count != 0) { //Load từ đầutiên stt = 0; LoadTuVung(stt); //Load TTTuVUngDropDown TTTuVungDropDown.Items.Clear(); for (int i = 0; i < tvColl.Count; i++) { TTTuVungDropDown.Items.Add((i + 1).ToString()); } if (TTTuVungDropDown.Items.Count != 0) TTTuVungDropDown.SelectedIndex = 0; } else { TTTuVungDropDown.Items.Clear(); ClearTuVung(); } }
private TracNghiemCollection TaoDanhSachCauHoi_HinhAnh(TuVungCollection tuvunglambantest, int socauhoilambai) { TracNghiemCollection CauHoiColl = new TracNghiemCollection(); int i = 0; while (i < socauhoilambai) { //Chọn ngẫu nhiên 1 câu hỏi trong tuvunglambaitest int stt = RandomTuVung(tuvunglambantest.Count); TuVungBO temp = tuvunglambantest.Index(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.HinhAnh.Trim() == "") { stt = RandomTuVung(tuvunglambantest.Count); temp = tuvunglambantest.Index(stt); } TracNghiemBO tnBO = new TracNghiemBO(); tnBO.Choices[0] = temp; CauHoiColl.Add(tnBO); i++; } return CauHoiColl; }
public string [,]TaoOChu(TuVungCollection tuvunglambaitest,ref int len,ref TuVungCollection GoiYOChu) { try { //B1:Lấy ra một từ ngẫunhiên làm từ hàng dọc string tuhangdoc = LayChuHangDoc(tuvunglambaitest); List<char> TuHangDoc = new List<char>();//chuyển string thành List<string> để xử lý TuHangDoc = tuhangdoc.ToList(); //B2: Lấy ra các từ hàng ngang TuVungCollection HangNgangList = new TuVungCollection();//Lưu các đối tượng tuvungBO hàng ngang List<string> HangNgang = new List<string>(); //Lưu các từ hàng ngang int i = 0; int solanloop = 0; while (i < TuHangDoc.Count) { TuVungBO tuhangnganBO = new TuVungBO(); tuhangnganBO = LayChuHangNgang(tuvunglambaitest, TuHangDoc[i]); if (tuhangnganBO == null) return null; string tuhangngang = tuhangnganBO.TuVung; if (KiemTraHopLe(tuhangngang, TuHangDoc[i]) == true && KiemTraTrungTuDoc(tuhangdoc, tuhangngang) == false && KiemTraTrungTuNgang(HangNgang, tuhangngang) == false) { HangNgang.Add(tuhangnganBO.TuVung); HangNgangList.Add(tuhangnganBO); i++; solanloop = 0; } solanloop++; if (solanloop > 30) return null; } //B3: Bố trí ô chữ lên mảng 2 chiều [12,21] len = TuHangDoc.Count; GoiYOChu = HangNgangList; return SapxepOChu(TuHangDoc,HangNgangList) ; } catch { return null; } }
static int tuhangdoclen;//biến chứa chiều dài từ dọc public void TaoBai() { OChuGoiYDropDown.SelectedIndex = 0; rights = 0; OChu = new string[12, 21]; GoiYOChuColl = new TuVungCollection(); tuhangdoclen = 0; OChu = ochuBUS.TaoOChu(TVLambai, ref tuhangdoclen, ref GoiYOChuColl); if (OChu != null) { //Tô màu hàng ngang int i = 0;//biến dòng int j = 0;//biến cột foreach (Control ct in OChuConTentPanel.Controls) { if (ct is TextBox) { if (j < 21) { ((TextBox)ct).BackColor = System.Drawing.Color.White; ((TextBox)ct).Font.Bold = true; ((TextBox)ct).Text = ""; if (OChu[i, j] != "") ((TextBox)ct).BackColor = System.Drawing.Color.LightGreen; j++; if (j == 21) { j = 0; i++; } } if (i == 12 && j == 21) break; } } //Tô màu ô hàng dọc int len = 0; for (int c = 10; c < 200; c += 21) { foreach (Control ct in OChuConTentPanel.Controls) { if (ct.ID == "OChu" + c.ToString()) { ((TextBox)ct).BackColor = System.Drawing.Color.Yellow; len++; break; } } if (len == tuhangdoclen) break; } OChuGoiYTextBox.Text = GoiYOChuColl.Index(0).NghiaTu; } }
//HÀM TẠO RA BÀI HÌNH ẢNH public TracNghiemCollection TaoBai_Hinhanh(TuVungCollection tuvungColl, int socauhoi) { try { TracNghiemCollection DanhsachCauHoi = new TracNghiemCollection(); TracNghiemCollection DanhsachCauTraLoi = new TracNghiemCollection(); TracNghiemCollection baitracnghiem = new TracNghiemCollection(); DanhsachCauHoi = TaoDanhSachCauHoi_HinhAnh(tuvungColl, socauhoi); DanhsachCauTraLoi = TaoDanhSachCauTraLoi(tuvungColl, DanhsachCauHoi); baitracnghiem = SapXepNgauNhien(DanhsachCauTraLoi); return baitracnghiem; } catch { return null; } }
public TuVungCollection SelectTuVung_LienKet(string tuvung, string taikhoan, string tudienID) { //Lấy từ vựng trong từ điển liên kết hoctuvungLINQDataContext db = new hoctuvungLINQDataContext(); TuVungCollection tuvungColl = new TuVungCollection(); Guid myguid= new Guid(tudienID); IEnumerable<Nhom_TuDien> nhomtudienList=from p in db.Nhom_TuDiens where p.taikhoan==taikhoan select p; IEnumerable<TuVung> TuVungList; if (tuvung == "") { TuVungList = from p in db.TuVungs where p.TuDienID==myguid select p; } else { TuVungList = from p in db.TuVungs // where p.TuDien.Nhom_TuDiens == nhomtudien && where p.TuVung1.Contains(tuvung) && p.TuDienID == myguid select p; } //Addrange foreach (TuVung tv in TuVungList) { foreach (Nhom_TuDien nhomtd in nhomtudienList) { if(tv.TuDienID==nhomtd.TuDienID) { TuVungBO tvBO = new TuVungBO(); tvBO.TuVungID = tv.TuVungID.ToString(); tvBO.TuVung = tv.TuVung1; tvBO.LoaiTuID = (int)tv.LoaiTuID; tvBO.NghiaTu = tv.NghiaTu; tvBO.ViDu = tv.Vidu; tvBO.TaiKhoan = tv.taikhoan; tvBO.HinhAnh = tv.Hinhanh; tvBO.SoLanSai = (int)tv.SoLanSai; tvBO.SoLanSuDung = (int)tv.SoLanSuDung; tuvungColl.Add(tvBO); } } } return tuvungColl; }
public TuVungCollection SelectTuVung_Viet(string tuvung,string taikhoan) { TuDienDAO tudienDAO = new TuDienDAO(); TuVungCollection tuvungColl = new TuVungCollection(); //Lấy tất cả từ vựng [Công Đồng] tuvungColl = SelectAllTuVung_CongDong(); if (taikhoan != "") { //Lấ tát cả từ vựng[Cá nhân] TuDienCollection tudiencanhan = new TuDienCollection(); tudiencanhan = tudienDAO.SelectTuDien(taikhoan); foreach (TuDienBO td in tudiencanhan) { tuvungColl.Addrange(SelectTuVung_CaNhan("", taikhoan, td.TuDienID)); } TuDienCollection tudienlienket = new TuDienCollection(); tudienlienket = tudienDAO.SelectTuDien_LienKet(taikhoan); foreach (TuDienBO td in tudienlienket) { tuvungColl.Addrange(SelectTuVung_LienKet("", taikhoan, td.TuDienID)); } } //Lấy danh sách từ vựng tìm đựơc TuVungCollection foundColl = new TuVungCollection(); foreach (TuVungBO tv in tuvungColl) { if (tv.NghiaTu.Contains(tuvung)) { //kiểm tra từ đó có tồn tại chưa bool exist = false; if (foundColl.Count > 0)//chỉ kiểm tra khi foundColl>0 { foreach (TuVungBO tv1 in foundColl) { if (tv.TuVungID == tv1.TuVungID) { exist = true; break; } } } if (exist == false)//nếu chưa thì thêm vào foundColl.Add(tv); } } return foundColl; }