Delphi realizes Chinese characters Pinyin sound inquiry, Unit code is as follows: Unit Unit1;
Interface
Uses Windows, Messages, Sysutils, Classes, Graphics, Controls, Forms, Dialogs, Stdctrls;
type TForm1 = class (TForm) ListBox1: TListBox; ListBox2: TListBox; Edit1: TEdit; Label1: TLabel; procedure Edit1Change (Sender: TObject); procedure FormShow (Sender: TObject); procedure FormDestroy (Sender: TObject); procedure Edit1Enter ( Sender: TOBJECT); Procedure Edit1Exit (Sender: TOBJECT); Private {private declarations};
Var Form1: TFORM1;
Procedure SearchbyPyIndexStr (PyindexStr: String);
IMPLEMentation
{$ R * .dfm} function getpyindexchar (hzchar: string): String; Begin 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 .. $ C5B5: 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'; Else Result: = char (0); end;
Procedure SearchbyPyindexStr (PyindexStr: String); label notfound; var i, j: integer; hzchar: string; begin for i: = 0 to form1.listbox1.items.count-1 do begin for j: = 1 to length (pyindexstr) Do Begin hzchar: = form1.listbox1.items [i] [2 * j-1] form1.listbox1.items [i] [2 * j]; if (pyindexstr [j] <") and (Uppercase (PyindexStr [J]) <> getpyindexchar (hzchar)) THEN GOTO NOTFOUND; end; form1.resultlist1.add (form1.listbox1.items [i]); notfound: end; end; procedure tform1.edit1change (sender: TOBJECT) Begin if edit1.text <> '' Ten Begin ListBox2.Items.clear; Form1.ResultList1.clear; SearchByPyindexStr (Edit1.Text); ListBox2.tems.addstrings (ResultList1); end; end;
Procedure TFORM1.FORMSHOW (Sender: TOBJECT); Begin Resultlist1: = TSTRINGLIST.CREATE; END;
Procedure TFORM1.FORMDESTROY (Sender: TOBJECT); Begin ResultList1.Free; end;
Procedure TFORM1.EDIT1ENTER (Sender: Tobject); Begin Edit1.Text: = '; END;
Procedure tform1.edit1exit (sender: TOBJECT); begin edit1.text: = 'Please enter the sound'; END;
End.