Delphi 中实现汉字拼音声母查询, unit 代码如下 :
unit unit1;
antarmuka
penggunaan
Windows, pesan, sysutils, kelas, grafik, kontrol, formulir, dialog,
Stdctrls;
jenis
Tform1 = class (tform)
ListBox1: TListBox;
ListBox2: TListBox;
Edit1: tedit;
Label1: tlabel;
Prosedur Edit1change (pengirim: TOBJEK);
Prosedur Formshow (Pengirim: Tobject);
Prosedur Formdestroy (pengirim: TOBJEK);
Prosedur Edit1Enter (Pengirim: Tobject);
Prosedur Edit1Exit (Pengirim: Tobject);
pribadi
{Deklarasi Pribadi}
publik
Hasil hasil1: tstrings;
akhir;
var
Form1: tform1;
Prosedur pencarianBypyIndexstr (pyindexstr: string);
pelaksanaan
{$ R *.dfm}
function getPyIndexchar (hzchar: string): string;
mulai
case (word (hzchar [1]) shl 8 + word (hzchar [2])) dari
$ B0a1 .. $ b0c4: hasil: = 'a';
$ B0c5 .. $ b2c0: hasil: = 'b';
$ B2C1 .. $ B4ED: Hasil: = 'C';
$ B4ee .. $ b6e9: hasil: = 'd';
$ B6ea .. $ b7a1: hasil: = 'e';
$ B7a2 .. $ b8c0: hasil: = 'f';
$ B8c1 .. $ b9fd: hasil: = 'g';
$ B9fe .. $ bbf6: hasil: = 'h';
$ Bbf7 .. $ bfa5: hasil: = 'j';
$ Bfa6 .. $ c0ab: hasil: = 'k';
$ C0AC .. $ C2E7: Hasil: = 'l';
$ C2E8 .. $ C4C2: Hasil: = 'm';
$ C4C3 .. $ C5B5: Hasil: = 'n';
$ C5B6 .. $ C5BD: Hasil: = 'o';
$ C5BE .. $ C6D9: Hasil: = 'p';
$ C6DA .. $ C8BA: Hasil: = 'q';
$ C8BB .. $ C8F5: Hasil: = 'r';
$ C8f6 .. $ cbf9: hasil: = 's';
$ CBFA .. $ CDD9: Hasil: = 't';
$ CDDA .. $ CEF3: Hasil: = 'W';
$ Cef4 .. $ d1b8: hasil: = 'x';
$ D1b9 .. $ d4d0: hasil: = 'y';
$ D4d1 .. $ d7f9: hasil: = 'z';
kalau tidak
Hasil: = char (0);
akhir;
akhir;
Prosedur pencarianBypyIndexstr (pyindexstr: string);
label notfound;
var
I, J: Integer;
Hzchar: string;
mulai
Untuk i: = 0 ke form1.listbox1.items.count-1 do
mulai
Untuk j: = 1 hingga panjang (pyindexstr) lakukan
mulai
Hzchar: = form1.listbox1.items [i] [2*j-1]+form1.listbox1.items [i] [2*j];
if (pyindexstr [j] <> '?') dan (huruf utpercase (pyindexstr [j]) <> getPyindexchar (hzchar)) lalu
goto notfound;
akhir;
Form1.ResultList1.Add (form1.listbox1.items [i]);
Notfound:
akhir;
akhir;
Prosedur tform1.edit1change (pengirim: tobject);
mulai
Jika edit1.text <> '' lalu
mulai
Listbox2.items.clear;
Form1.ResultList1.clear;
SearchBypyIndexstr (edit1.text);
Listbox2.items.addstrings (resultList1);
akhir;
akhir;
Prosedur TFORM1.FORMSHOW (Pengirim: Tobject);
mulai
Hasil hasil1: = tStringlist.create;
akhir;
Prosedur TFORM1.FORMDESTROY (Pengirim: TOBJEKS);
mulai
Hasil hasil1. bebas;
akhir;
Prosedur TFORM1.Edit1Enter (Pengirim: Tobject);
mulai
Edit1.text: = '';
akhir;
Prosedur TFORM1.Edit1Exit (Pengirim: Tobject);
mulai
Edit1.text: = '请输入声母';
akhir;
akhir.