Delphi 中实现汉字拼音声母查询 ، الوحدة :
الوحدة 1 ؛
واجهة
يستخدم
Windows ، الرسائل ، sysutils ، الفئات ، الرسومات ، عناصر التحكم ، النماذج ، الحوار ،
stdctrls
يكتب
tform1 = فئة (tform)
listbox1: ledlistbox ؛
listbox2: ledlistbox ؛
EDIT1: TEDIT ؛
Label1: tlabel ؛
الإجراء EDIT1CHANGE (المرسل: TOBJECT) ؛
FormShow الإجراء (المرسل: TOBJECT) ؛
الإجراء FormDestroy (المرسل: tobject) ؛
الإجراء edit1enter (المرسل: TOBJECT) ؛
الإجراء edit1exit (المرسل: TOBJECT) ؛
خاص
{إعلانات خاصة}
عام
قائمة النتائج 1: tstrings ؛
نهاية؛
var
Form1: Tform1 ؛
الإجراء SearchByPyIndexstr (pyindexstr: سلسلة) ؛
تطبيق
{$ r *.dfm}
وظيفة getPyIndExchar (Hzchar: String): String ؛
يبدأ
الحالة (الكلمة (hzchar [1]) shl 8 + كلمة (hzchar [2])) من
$ B0A1 .. $ B0C4: النتيجة: = 'a' ؛
$ B0C5 .. $ B2C0: النتيجة: = 'B' ؛
$ B2C1 .. $ b4ed: النتيجة: = 'c' ؛
$ b4ee .. $ b6e9: النتيجة: = 'd' ؛
$ B6EA .. $ B7A1: النتيجة: = 'e' ؛
$ B7A2 .. $ B8C0: النتيجة: = 'f' ؛
$ B8C1 .. $ B9FD: النتيجة: = 'g' ؛
$ b9fe .. $ BBF6: النتيجة: = 'H' ؛
$ BBF7 .. $ BFA5: النتيجة: = 'J' ؛
$ BFA6 .. $ C0AB: النتيجة: = 'k' ؛
$ C0AC .. $ C2E7: النتيجة: = 'l' ؛
$ C2E8 .. $ C4C2: النتيجة: = 'm' ؛
$ C4C3 .. $ C5B5: النتيجة: = 'n' ؛
$ C5B6 .. $ C5BD: النتيجة: = 'o' ؛
$ C5BE .. $ C6D9: النتيجة: = 'p' ؛
$ C6DA .. $ C8BA: النتيجة: = 'Q' ؛
$ C8BB .. $ C8F5: النتيجة: = 'r' ؛
$ C8F6 .. $ CBF9: النتيجة: = 's' ؛
$ cbfa .. $ cdd9: النتيجة: = 't' ؛
$ CDDA .. $ CEF3: النتيجة: = 'W' ؛
$ CEF4 .. $ D1B8: النتيجة: = 'x' ؛
$ D1B9 .. $ D4D0: النتيجة: = 'y' ؛
$ D4D1 .. $ D7F9: النتيجة: = 'Z' ؛
آخر
النتيجة: = char (0) ؛
نهاية؛
نهاية؛
الإجراء SearchByPyIndexstr (pyindexstr: سلسلة) ؛
تسمية Notfound ؛
var
أنا ، ي: عدد صحيح ؛
Hzchar: String ؛
يبدأ
بالنسبة إلى i: = 0 to form1.listbox1.items.count-1 do
يبدأ
ل j: = 1 إلى الطول (pyindexstr) افعل
يبدأ
hzchar: = form1.listbox1.items [i] [2*j-1]+form1.listbox1.items [i] [2*j] ؛
if (pyindexstr [j] <> '؟') و (أقصى (pyindexstr [j]) <> getPyIndexchar (hzchar)) ثم
goto notfound.
نهاية؛
Form1.ResultList1.Add (form1.ListBox1.Items [i]) ؛
Notfound:
نهاية؛
نهاية؛
الإجراء tform1.Edit1Change (المرسل: tobject) ؛
يبدأ
إذا edit1.text <> '' ثم
يبدأ
listbox2.items.clear ؛
form1.ResultList1.clear ؛
SearchByPyIndExstr (edit1.text) ؛
listbox2.items.AddStrings (resultlist1) ؛
نهاية؛
نهاية؛
الإجراء tform1.formshow (المرسل: tobject) ؛
يبدأ
resultlist1: = tstringList.create ؛
نهاية؛
الإجراء tform1.formdestroy (المرسل: tobject) ؛
يبدأ
resultlist1.free ؛
نهاية؛
الإجراء tform1.Edit1enter (المرسل: tobject) ؛
يبدأ
edit1.text: = '' ؛
نهاية؛
الإجراء tform1.edit1exit (المرسل: tobject) ؛
يبدأ
edit1.text: = '请输入声母' ؛
نهاية؛
نهاية.