Delphi 中实现汉字拼音声母查询, единица 代码如下 :
единица единицы 1;
интерфейс
Использование
Windows, сообщения, Sysutils, классы, графика, управления, формы, диалоги,
STDCTRLS;
тип
Tform1 = class (tform)
ListBox1: tlistbox;
ListBox2: tlistbox;
РЕДАКТИРОВАТЬ1: ТЕДИТ;
Label1: Tlabel;
Процедура edit1change (отправитель: tobject);
Процедура Formshow (отправитель: Tobject);
процедура FormDestroy (отправитель: Tobject);
Процедура Edit1enter (отправитель: Tobject);
процедура edit1exit (отправитель: tobject);
частный
{Частные объявления}
публичный
ResultList1: TStrings;
конец;
вар
Форма1: tform1;
процедура searchBypyIndexstr (pyindexstr: string);
выполнение
{$ R *.dfm}
функция getPyIndexchar (hzchar: string): string;
начинать
случай (слово (hzchar [1]) shl 8 + word (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: string);
Этикетка НЕТ
вар
Я, J: целое число;
Hzchar: String;
начинать
Для i: = 0 до form1.listbox1.items.count-1 do
начинать
Для j: = 1 к длине (pyindexstr) do
начинать
Hzchar: = form1.listbox1.items [i] [2*j-1]+form1.listbox1.items [i] [2*j];
if (pyindexstr [j] <> '?') и (uppercare (pyindexstr [j]) <> getpyindexchar (hzchar))) тогда
goto notfound;
конец;
Form1.resultist1.add (form1.listbox1.items [i]);
Не найдено:
конец;
конец;
Процедура tform1.edit1change (отправитель: tobject);
начинать
Если Edit1.text <> '', тогда
начинать
Listbox2.items.clear;
Form1.resultist1.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: = '请输入声母';
конец;
конец.