反查漢字拼音
点击次数:63 次 发布日期:2008-11-09 08:38:41 作者:源代码网
|
源代码网推荐 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 源代码网推荐 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 FilesKINGSOFTXDICTgb2py.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; 源代码网推荐 源代码网供稿. |
