反查漢字拼音_Delphi

  • 内容
  • 评论
  • 相关

var
  iHandleCount: integer;
  pList: array[1..nHKL_LIST] of HKL;
  szImeName: array[0..254] of char;
  i: integer;
  sFound: string;
begin
  lstComposition.Items.Clear;
  iHandleCount := GetKeyboardLayoutList(nHKL_LIST, pList);
  for i := 1 to iHandleCount do

http://www.gaodaima.com/65650.html反查漢字拼音_Delphi

  begin
    if ImmEscape(pList[i], 0, IME_ESC_IME_NAME, @szImeName) > 0 then
    begin
      sFound := QueryCompStr(pList[i], edtExam.Text);
      if sFound <> '' then
        lstComposition.Items.Add(StrPas(szImeName) + ': ' + sFound);
    end;
  end;
**************
金山词霸(2.0-2000版本)内有gb2py.idx和gbk2py.idx,内有国标
GB、GBK的每个汉字的拼音和声调。可用拿来一用。

下面上Delphi写的gb2py函数。
function gb2py(hanzi:pchar):pchar;
var
Sfile:Tmemorystream;
pos,temp,ipos,len:integer;
py:array[0..20] of char;
begin
  pos:=($fe-$a1)*(ord(hanzi[0])-$b0)+ord(hanzi[1])-$a1;
  sfile:=Tmemorystream.create;
  sfile.loadfromfile('C:/Program Files/KINGSOFT/XDICT/gb2py.idx');
  //data:=sfile.memory;
  sfile.Seek($1608+pos*4,soFromBeginning);
  sfile.Read(ipos,4);
  sfile.Read(temp,4);
  len:=temp-ipos;
  sfile.Seek(ipos+1,soFromBeginning);
  sfile.Read(py,len);
  py[len-1]:=#0;
  sfile.Free;
  result:=py;
end;

欢迎大家阅读《反查漢字拼音_Delphi》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

原创文章,转载请注明: 转载自搞代码

本文链接地址: 反查漢字拼音_Delphi

微信支付二维码

微信 赏一包辣条吧~

支付宝支付二维码

支付宝 赏一听可乐吧~

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注