Delphi 中实现汉字拼音声母查询, Einheit 代码如下 :
Einheit Einheit1;
Schnittstelle
Verwendung
Windows, Nachrichten, Systeme, Klassen, Grafiken, Steuerelemente, Formulare, Dialoge,
Stdctrls;
Typ
Tform1 = Klasse (tform)
ListBox1: TlistBox;
ListBox2: TlistBox;
Edit1: tedit;
Label1: Tlabel;
Prozedur edit1Change (Absender: Tobject);
Prozedurformshow (Absender: Tobject);
VerfahrensformularDestroy (Absender: Tobject);
procedure edit1enter (Absender: tobject);
Prozedur edit1Exit (Absender: Tobject);
Privat
{Private Deklarationen}
öffentlich
Ergebnisliste1: TStrings;
Ende;
var
Form1: tform1;
Procedure SearchBypyIndexStr (PyIndexStr: String);
Durchführung
{$ R *.dfm}
Funktion getPyIndexchar (Hzchar: String): String;
beginnen
Fall (Wort (Hzchar [1]) SHL 8 + Wort (Hzchar [2])) von
$ B0A1 .. $ B0C4: Ergebnis: = 'a';
$ B0C5 .. $ B2C0: Ergebnis: = 'B';
$ B2C1 .. $ B4ED: Ergebnis: = 'C';
$ B4EE .. $ B6E9: Ergebnis: = 'D';
$ B6ea .. $ B7A1: Ergebnis: = 'e';
$ B7A2 .. $ B8C0: Ergebnis: = 'F';
$ B8C1 .. $ B9FD: Ergebnis: = 'G';
$ B9FE .. $ BBF6: Ergebnis: = 'H';
$ BBF7 .. $ BFA5: Ergebnis: = 'J';
$ BFA6 .. $ C0AB: Ergebnis: = 'K';
$ C0AC .. $ C2E7: Ergebnis: = 'l';
$ C2E8 .. $ C4C2: Ergebnis: = 'M';
$ C4C3 .. $ C5B5: Ergebnis: = 'n';
$ C5B6 .. $ C5BD: Ergebnis: = 'O';
$ C5BE .. $ C6D9: Ergebnis: = 'P';
$ C6DA .. $ C8BA: Ergebnis: = 'q';
$ C8BB .. $ C8F5: Ergebnis: = 'r';
$ C8F6 .. $ CBF9: Ergebnis: = 's';
$ CBFA .. $ CDD9: Ergebnis: = 'T';
$ CDDA .. $ CEF3: Ergebnis: = 'W';
$ CEF4 .. $ D1B8: Ergebnis: = 'x';
$ D1b9 .. $ d4d0: Ergebnis: = 'y';
$ D4d1 .. $ d7f9: Ergebnis: = 'z';
anders
Ergebnis: = char (0);
Ende;
Ende;
Procedure SearchBypyIndexStr (PyIndexStr: String);
Etikett nicht entfernen;
var
Ich, J: Ganzzahl;
Hzchar: String;
beginnen
Für i: = 0 bis form1.listbox1.items.count-1 do
beginnen
Für J: = 1 bis Länge (pyindexstr) tun
beginnen
HzChar: = Form1.ListBox1.Items [i] [2*J-1]+Form1.ListBox1.Items [i] [2*j];
if (pyIndexstr [j] <> ''? ') und (Großbuchstaben (pyindexstr [j]) <> GetPyIndexchar (Hzchar)) dann
goto nicht entfernen;
Ende;
Form1.Resultlist1.Add (Form1.ListBox1.Items [i]);
Nicht entfernen:
Ende;
Ende;
procedure tform1.edit1change (Absender: tobject);
beginnen
Wenn edit1.text <> '' dann
beginnen
ListBox2.Items.clear;
Form1.Resultlist1.Clear;
SearchBypyIndexstr (edit1.text);
ListBox2.Items.addsstrings (Ergebnisliste1);
Ende;
Ende;
procedure tForm1.Formshow (Absender: tobject);
beginnen
Resultlist1: = tstringList.create;
Ende;
procedure tform1.FormDestroy (Absender: Tobject);
beginnen
Resultlist1.free;
Ende;
procedure tform1.edit1enter (Absender: tobject);
beginnen
Edit1.text: = '';
Ende;
procedure tform1.edit1exit (Absender: tobject);
beginnen
Edit1.text: = '请输入声母';
Ende;
Ende.