デルフィ中实现汉字拼音声母查询、ユニット代码如下:
ユニットユニット1;
インタフェース
用途
Windows、メッセージ、sysutils、クラス、グラフィック、コントロール、フォーム、ダイアログ、
stdctrls;
タイプ
tform1 = class(tform)
listbox1:tlistbox;
listbox2:tlistbox;
編集1:tedit;
ラベル1:tlabel;
手順edit1change(sender:tobject);
手順フォームショー(送信者:tobject);
手順formdestroy(送信者:tobject);
手順edit1enter(sender:tobject);
手順edit1exit(sender:tobject);
プライベート
{プライベート宣言}
公共
resultlist1:tstrings;
終わり;
var
form1:tform1;
手順SearchBypyIndexstr(Pyindexstr:String);
実装
{$ r *.dfm}
関数getPyIndExchar(hzChar:string):string;
始める
case(word(hzchar [1])shl 8 + word(hzchar [2]))of
$ b0a1 .. $ b0c4:result:= 'a';
$ b0c5 .. $ b2c0:result:= 'b';
$ b2c1 .. $ b4ed:result:= 'c';
$ b4ee .. $ b6e9:result:= 'd';
$ b6ea .. $ b7a1:result:= 'e';
$ b7a2 .. $ b8c0:result:= 'f';
$ b8c1 .. $ b9fd:result:= 'g';
$ b9fe .. $ bbf6:result:= 'h';
$ bbf7 .. $ bfa5:result:= 'j';
$ bfa6 .. $ c0ab:result:= 'k';
$ c0ac .. $ c2e7:result:= 'l';
$ c2e8 .. $ c4c2:result:= 'm';
$ c4c3 .. $ c5b55:result:= 'n';
$ c5b6 .. $ c5bd:result:= 'o';
$ c5be .. $ c6d9:result:= 'p';
$ c6da .. $ c8ba:result:= 'q';
$ c8bb .. $ c8f5:result:= 'r';
$ c8f6 .. $ cbf9:result:= 's';
$ cbfa .. $ cdd9:result:= 't';
$ cdda .. $ cef3:result:= 'w';
$ cef4 .. $ d1b8:result:= 'x';
$ d1b9 .. $ d4d0:result:= 'y';
$ d4d1 .. $ d7f9:result:= 'z';
それ以外
結果:= char(0);
終わり;
終わり;
手順SearchBypyIndexstr(Pyindexstr:String);
ラベルが削除されていません。
var
I、J:整数;
hzchar:文字列;
始める
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] <> '?')and(appercase(pyindexstr [j])<> getpyindexchar(hzchar))then
gotoは発見されていません。
終わり;
form1.resultlist1.add(form1.listbox1.items [i]);
見つかりません:
終わり;
終わり;
手順tform1.edit1change(sender:tobject);
始める
edit1.text <> ''の場合
始める
listbox2.items.clear;
form1.resultlist1.clear;
searchbypyindexstr(edit1.text);
listbox2.items.addstrings(resultlist1);
終わり;
終わり;
手順tform1.formshow(sender:tobject);
始める
resultlist1:= tstringlist.create;
終わり;
手順tform1.formdestroy(sender:tobject);
始める
resultlist1.free;
終わり;
手順tform1.edit1enter(sender:tobject);
始める
edit1.text:= '';
終わり;
手順tform1.edit1exit(sender:tobject);
始める
edit1.text:= '请输入声母';
終わり;
終わり。