private void btnAdd_Click(object sender, RoutedEventArgs e) { if (txtWord.Text.Length == 0) { MessageBox.Show("أدخل الكلمة المطلوب إضافتها في حقل الكلمة", "أدخل كلمة", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.RtlReading); return; } if (!Tashkeel.CheckTashkeel(Tashkeel.Remove(txtWord.Text), txtDiacritics.Text)) { MessageBox.Show("التشكيل المدخل غير متوافق مع حروف الكلمة، يرجى التأكد من التشكيل", "خطأ في التشكيل", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.RtlReading); return; } Analyzer.con.Open(); OleDbCommand com = new OleDbCommand(); com.Connection = Analyzer.con; com.CommandText = "select count(word) from ArabizedWords where word = '" + txtWord.Text + "'"; byte Result = byte.Parse(com.ExecuteScalar().ToString()); if (Result > 0) { MessageBox.Show("الكلمة المدخلة موجودة بالفعل ضمن ذاكرة التعلم!", "كلمة موجودة", MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK, MessageBoxOptions.RtlReading); return; } com.CommandText = string.Format("Insert into ArabizedWords values('{0}','{1}','{2}',{3})", Tashkeel.Remove(txtWord.Text), txtDiacritics.Text, WordMeaning, WordClass); com.ExecuteNonQuery(); Analyzer.con.Close(); DialogResult = true; Close(); }
public static List <string[]> CheckWordMask(string word, string mask, List <string> Meanings, List <string[]> Results) { OleDbCommand com = new OleDbCommand("select * from WordTemplates where Mask='" + mask + "'", Analyzer.con); OleDbDataReader dread = com.ExecuteReader(); string[] fields; while (dread.Read()) { //اختبار توافق تشكيل الوزن مع حروف الكلمة if (dread["Class"].ToString().StartsWith("V2"))//إذا كان وزن فعل مضارع { if (!Tashkeel.CheckTashkeel(word, dread[1].ToString().Substring(1))) { continue; //استثناء حرف المضارعة } } else if (!Tashkeel.CheckTashkeel(word, dread[1].ToString())) { continue; } //اختبار توافق نوع الوزن مع النوع المتوقع foreach (string M in Meanings) { string MergedMeaning; if (Interpreter.CompareMeanings(dread["Class"].ToString(), M, out MergedMeaning)) { fields = new string[8]; fields[0] = dread[0].ToString(); fields[1] = dread[1].ToString(); fields[2] = dread[2].ToString(); fields[3] = MergedMeaning; fields[4] = dread[5].ToString(); fields[5] = dread[6].ToString(); fields[6] = dread[7].ToString(); fields[7] = dread[8].ToString(); Results.Add(fields); } } } dread.Close(); return(Results); }