取汉字拼音和该汉字的拼音首个字母,和网上的不一样。(50)

W

walimg

Unregistered / Unconfirmed
GUEST, unregistred user!
网上的函数对一些不常用的汉字不能取到拼音 ,也取不到该汉字的首个字母。 比如,这个【燊】汉字取不出汉字拼音,和首个字母。 用什么方法可以取到?这些不常用的汉字拼音。--------------------自己的一些想法,取金山词霸里的字体库,再取拼音。但我不知道用金山词霸里的哪个文件。谢谢高手指点。
 
取出【燊】字的内码,查一个表就可以。这个表和程序网上有,改造一下就能用,我的好像是从微软的拼音码表改变的,什么汉字都能查出来。很久了,程序不知放哪里了
 
谢谢,这位大哥了,请问用Baidu.com网上查找时,用哪个关键字能找到?谢谢了。找到的都是不能用的。请路过的高手给点建议,谢谢了。
 
我以前是將拼音輸入法的碼表反生成文本文件,再導入到數據庫中的,但裏面的重音太多了,不太好用。
 
不考虑重复情况,我是读取了Windows的拼音库文件。使用起来比较方便
 
我的程序找到了,是在HzSpDat2.inc、HzSpell.pas的基础上修改的,很好用,解决了一字多音的问题。你可以从网上下载这两个文件,或者我把我的修改连同原来的一起发给你发给你
 
没有的话,自己加上那个字的编码吧.有好多都不全的.如果用下面的函数取的首字母的话:function GetCharInd( hzchar : string):char;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'; $F6D4 : result := 'L'; //鲈 $F6EC : result := 'L'; $C2E8..$C4C2 : result := 'M'; $C4C3..$C5B5 : result := 'N'; $C5B6..$C5BD : result := 'O'; $C5BE..$C6D9 : result := 'P'; $C6DA..$C8BA : result := 'Q'; $ECC1 : result := 'Q'; $C8BB..$C8F5 : result := 'R'; $C8F6..$CBF9 : result := 'S'; $CBFA..$CDD9 : result := 'T'; $CDDA..$CEF3 : result := 'W'; $CEF4..$D1B8 : result := 'X'; //网上的资料有好多是 $D188,少了好多字 $D1B9..$D4D0 : result := 'Y'; $D9F0 : result := 'Y'; //兖 $D4D1..$D7F9 : result := 'Z'; $F6CE : Result := 'X';// 63182 : Result := 'X'; else result := Char(#32); end;end;可以这样反查汉字编码:procedure TForm1.Button1Click(Sender: TObject);var s: String; w: Word;begin s := edtHz.Text; w := (WORD(s[1]) shl 8) + WORD(s[2]); edtValue.Text := IntToHex(w,4);end;查到后添加到函数里即可.上面的燊字编码:9FF6
 
谢谢各位兄弟了,能不能给个现用的。上面的燊字编码:9FF6 ,可以得到这个编码。但不懂得用。谢谢了。
 
JohnYale把你修改的给我发一下吧,谢谢chnhjd[at]gmail.com
 

Similar threads

S
回复
0
查看
970
swish
S
回复
0
查看
812
不得闲
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
740
DelphiTeacher的专栏
D
顶部