大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> Script -> Delphi中实现汉字拼音声母查询

Delphi中实现汉字拼音声母查询

时间: 2021-07-31 作者:daque

 Delphi中实现汉字拼音声母查询,unit代码如次: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 }  public     resultlist1:tstrings;  end;

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;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<>'' then  begin    listbox2.items.clear;    form1.resultlist1.clear;    searchbypyindexstr(edit1.text);    listbox2.items.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:='请输出音位';end;

end.

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.