有没有这样的数据库:根据汉字得到其拼音的第一个字母? ( 积分: 200 )

  • 主题发起人 主题发起人 lkdbdlkq
  • 开始时间 开始时间
L

lkdbdlkq

Unregistered / Unconfirmed
GUEST, unregistred user!
比如说,输入一个 '中' 字,可以得到'z',有没有这样现成的资料库呢?多谢。
 
汉字的编码就是按拼音排列的,还要什么数据库,超菜的问题,这都要散200分,<br>大富翁,现在的分,已经不值钱了
 
查一下老帖,有好几个是讲怎么取到汉字拼音第一个字母的<br>要学会运用现有资源
 
留下信箱,我发给你。
 
恩&nbsp;汉字库
 
function&nbsp;GetHzPy(const&nbsp;AHzStr:&nbsp;string):&nbsp;string;<br>{得到汉字文本的拼音首字母,返回全大写}<br>const<br>&nbsp;&nbsp;ChinaCode:&nbsp;array[0..25,&nbsp;0..1]&nbsp;of&nbsp;Integer&nbsp;=&nbsp;((1601,&nbsp;1636),&nbsp;(1637,&nbsp;1832),&nbsp;(1833,&nbsp;2077),<br>&nbsp;&nbsp;&nbsp;&nbsp;(2078,&nbsp;2273),&nbsp;(2274,&nbsp;2301),&nbsp;(2302,&nbsp;2432),&nbsp;(2433,&nbsp;2593),&nbsp;(2594,&nbsp;2786),&nbsp;(9999,&nbsp;0000),<br>&nbsp;&nbsp;&nbsp;&nbsp;(2787,&nbsp;3105),&nbsp;(3106,&nbsp;3211),&nbsp;(3212,&nbsp;3471),&nbsp;(3472,&nbsp;3634),&nbsp;(3635,&nbsp;3722),&nbsp;(3723,&nbsp;3729),<br>&nbsp;&nbsp;&nbsp;&nbsp;(3730,&nbsp;3857),&nbsp;(3858,&nbsp;4026),&nbsp;(4027,&nbsp;4085),&nbsp;(4086,&nbsp;4389),&nbsp;(4390,&nbsp;4557),&nbsp;(9999,&nbsp;0000),<br>&nbsp;&nbsp;&nbsp;&nbsp;(9999,&nbsp;0000),&nbsp;(4558,&nbsp;4683),&nbsp;(4684,&nbsp;4924),&nbsp;(4925,&nbsp;5248),&nbsp;(5249,&nbsp;5589));<br>var<br>&nbsp;&nbsp;i,&nbsp;j,&nbsp;HzOrd:&nbsp;Integer;<br>begin<br>&nbsp;&nbsp;Result:='';<br>&nbsp;&nbsp;i&nbsp;:=&nbsp;1;<br>&nbsp;&nbsp;while&nbsp;i&nbsp;&lt;=&nbsp;Length(AHzStr)&nbsp;do<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(AHzStr&nbsp;&gt;=&nbsp;#160)&nbsp;and&nbsp;(AHzStr[i&nbsp;+&nbsp;1]&nbsp;&gt;=&nbsp;#160)&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HzOrd&nbsp;:=&nbsp;(Ord(AHzStr)&nbsp;-&nbsp;160)&nbsp;*&nbsp;100&nbsp;+&nbsp;Ord(AHzStr[i&nbsp;+&nbsp;1])&nbsp;-&nbsp;160;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;j&nbsp;:=&nbsp;0&nbsp;to&nbsp;25&nbsp;do<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(HzOrd&nbsp;&gt;=&nbsp;ChinaCode[j][0])&nbsp;and&nbsp;(HzOrd&nbsp;&lt;=&nbsp;ChinaCode[j][1])&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result&nbsp;:=&nbsp;Result&nbsp;+&nbsp;Char(Byte('A')&nbsp;+&nbsp;j);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inc(i);<br>&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;else&nbsp;Result&nbsp;:=&nbsp;Result&nbsp;+&nbsp;AHzStr;<br>&nbsp;&nbsp;&nbsp;&nbsp;Inc(i);<br>&nbsp;&nbsp;end;<br>end;
 
你这个fuction不错。。多谢提供!
 
这类函数在论坛,和网上不知道翻贴再翻贴了多少遍,再翻贴就是制造电子垃圾了,<br>其实只要在&nbsp;www.goolge.com&nbsp;输入&quot;delphi&nbsp;拼音&quot;&nbsp;就出来一大堆答案,实际上许多所<br>谓难题,早十年前都解决了。
 
这个可以这样解决,&nbsp;不过多音字还有汉字取五笔码等,&nbsp;用函数怕解决不了,&nbsp;而且多音字还是难题
 
不是吧?这么简单的还要200分啊!你搜索能找到N多代码,2ccc上多得是
 
帮顶,接分
 
icc&nbsp;的方法只能得到一级汉字的首拼(因其按拼音排序),对二级汉字(按部首排序)无能为力;<br>我收集了一个函数,可以取二级汉字的首拼:<br><br>{-----------------------------------------------------------------------------<br>gb2312&nbsp;&nbsp;&nbsp;的编码规则&nbsp;&nbsp;(来源于网络&nbsp;2007.5.11)<br><br>&nbsp;&nbsp;汉字采用区位码表示,每个区有&nbsp;94&nbsp;个汉字容量。<br>&nbsp;&nbsp;1~94区的编码从&nbsp;1&nbsp;开始到&nbsp;94<br>&nbsp;&nbsp;所以gb2312的最大编码容量是&nbsp;94*94&nbsp;(实际上只包含了6737个汉字)<br><br>&nbsp;&nbsp;区码:<br>&nbsp;&nbsp;1~8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是符号区,全角英文字母,希腊、日文、俄文等等,<br>&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区是造表符号<br>&nbsp;&nbsp;10~15&nbsp;&nbsp;&nbsp;空,未定义,<br>&nbsp;&nbsp;16~55&nbsp;&nbsp;&nbsp;一级字库,汉字3755个,采用拼音排序;<br>&nbsp;&nbsp;56-87&nbsp;&nbsp;&nbsp;二级字库,汉字3008个,采用部首排序;<br>&nbsp;&nbsp;87~94&nbsp;&nbsp;&nbsp;空<br><br>&nbsp;&nbsp;由于此编码方案订得比较早,有很多不完善的地方,所以后来有了gb12345,和gb13000<br>&nbsp;&nbsp;等其他编码方案。<br>-----------------------------------------------------------------------------}<br>function&nbsp;GetHeadPYs(const&nbsp;S:&nbsp;string;&nbsp;cVoid:&nbsp;Char):&nbsp;string;<br><br>const&nbsp;csheads&nbsp;=&nbsp;&nbsp;//&nbsp;二级汉字首拼<br>&nbsp;&nbsp;'cjwgnspgcgne*y*btyyzdxykygt*jnnjqmbsgzscyjsyy*pgkbzgy*ywjkgkljywkpjqhy*w*d'<br>&nbsp;&nbsp;+'zlsgmrypywwcckznkyygttnjjnykkzytcjnmcylqlypyqfqrpzslwbtgkjfyxjwzltbncxjjjj'<br>&nbsp;&nbsp;+'txdttsqzycdxxhgck*phffss*ybgxlppbyll*hlxs*zm*jhsojnghdzqyklgjhsgqzhxqgkezz'<br>&nbsp;&nbsp;+'wyscscjxyeyxadzpmdssmzjzqjyzc*j*wqjbyzpxgznzcpwhkxhqkmwfbpbydtjzzkqhylygxf'<br>&nbsp;&nbsp;+'ptyjyyzpszlfchmqshgmxxsxj**dcsbbqbefsjyhxwgzkpylqbgldlcctnmayddkssngycsgxl'<br>&nbsp;&nbsp;+'yzaybnptsdkdylhgymylcxpy*jndqjwxqxfyyfjlejpzrxccqwqqsbnkymgplbmjrqcflnymyq'<br>&nbsp;&nbsp;+'msqyrbcjthztqfrxqhxmjjcjlxqgjmshzkbswyemyltxfsydswlycjqxsjnqbsctyhbftdcyzd'<br>&nbsp;&nbsp;+'jwyghqfrxwckqkxebptlpxjzsrmebwhjlbjslyysmdxlclqkxlhxjrzjmfqhxhwywsbhtrxxgl'<br>&nbsp;&nbsp;+'hqhfnm*ykldyxzpylgg*mtcfpajjzyljtyanjgbjplqgdzyqyaxbkysecjsznslyzhsxlzcghp'<br>&nbsp;&nbsp;+'xzhznytdsbcjkdlzayfmydlebbgqyzkxgldndnyskjshdlyxbcghxypkdjmmzngmmclgwzszxz'<br>&nbsp;&nbsp;+'jfznmlzzthcsydbdllscddnlkjykjsycjlkwhqasdknhcsganhdaashtcplcpqybsdmpjlpzjo'<br>&nbsp;&nbsp;+'qlcdhjjysprchn*nnlhlyyqyhwzptczgwwmzffjqqqqyxaclbhkdjxdgmmydjxzllsygxgkjry'<br>&nbsp;&nbsp;+'wzwyclzmssjzldbyd*fcxyhlxchyzjq**qagmnyxpfrkssbjlyxysyglnscmhzwwmnzjjlxxhc'<br>&nbsp;&nbsp;+'hsy**ttxrycyxbyhcsmxjsznpwgpxxtaybgajcxly*dccwzocwkccsbnhcpdyz'<br>&nbsp;&nbsp;+'nfcyytyckxkybsqkkytqqxfcwchcykelzqbsqyjqcclmthsywhmktlkjlycxwheqqhtqh*pq*q'<br>&nbsp;&nbsp;+'scfymndmgbwhwlgsllysdlmlxpthmjhwljzyhzjxhtxjlhxrswlwzjcbxmhzqxsdzpmgfcsgls'<br>&nbsp;&nbsp;+'xymjshxpjxwmyqksmyplrthbxftpmhyxlchlhlzylxgsssstclsldclrpbhzhxyyfhb*gdmycn'<br>&nbsp;&nbsp;+'qqwlqhjj*ywjzyejjdhpblqxtqkwhlchqxagtlxljxmsl*htzkzjecxjcjnmfby*sfywybjzgn'<br>&nbsp;&nbsp;+'ysdzsqyrsljpclpwxsdwejbjcbcnaytwgmpapclyqpclzxsbnmsggfnzjjbzsfzyndxhplqkzc'<br>&nbsp;&nbsp;+'zwalsbccjx*yzgwkypsgxfzfcdkhjgxdlqfsgdslqwzkxtmhsbgzmjzrglyjbpmlmsxlzjqqhz'<br>&nbsp;&nbsp;+'yjczydjwbmyklddpmjegxyhylxhlqyqhkycwcjmyyxnatjhyccxzpcqlbzwwytwbqcmlpmyrjc'<br>&nbsp;&nbsp;+'ccxfpznzzljplxxyztzlgdldcklyrzzgqtgjhhgjljaxfgfjzslcfdqzlclgjdjcsnzlljpjqd'<br>&nbsp;&nbsp;+'cclcjxmyzftsxgcgsbrzxjqqctzhgyqtjqqlzxjylylbcyamcstylpdjbyregklzyzhlyszqlz'<br>&nbsp;&nbsp;+'nwczcllwjqjjjkdgjzolbbzppglghtgzxyghzmycnqsycyhbhgxkamtxyxnbskyzzgjzlqjdfc'<br>&nbsp;&nbsp;+'jxdygjqjjpmgwgjjjpkqsbgbmmcjssclpqpdxcdyyky*cjddyygywrhjrtgznyqldkljszzgzq'<br>&nbsp;&nbsp;+'zjgdykshpzmtlcpwnjafyzdjcnmwescyglbtzcgmssllyxqsxsbsjsbbsgghfjlypmzjnlyywd'<br>&nbsp;&nbsp;+'qshzxtyywhmzyhywdbxbtlmsyyyfsxjc*dxxlhjhf*sxzqhfzmzcztqcxzxrttdjhnnyzqqmnq'<br>&nbsp;&nbsp;+'dmmg*ydxmjgdhcdyzbffallztdltfxmxqzdngwqdbdczjdxbzgsqqddjcmbkzf'<br>&nbsp;&nbsp;+'fxmkdmdsyyszcmljdsynsbrskmkmpcklgdbqtfzswtfgglyplljzhgj*gypzltcsmcnbtjbqfk'<br>&nbsp;&nbsp;+'thbyzgkpbbymtdssxtbnpdkleycjnyddykzddhqhsdzsctarlltkzlgecllkjlqjaqnbdkkghp'<br>&nbsp;&nbsp;+'jtzqksecshalqfmmgjnlyjbbtmlyzxdcjpldlpcqdhzycbzsczbzmsljflkrzjsnfrgjhxpdhy'<br>&nbsp;&nbsp;+'jybzgdlqcsezgxlblgyxtwmabchecmwyjyzlljjyhlg*djlslygkdzpzxjyyzlwcxszfgwyydl'<br>&nbsp;&nbsp;+'yhcljscmbjhblyzlycblydpdqysxqzbytdkyxjy*cnrjmpdjgklcljbctbjddbblblczqrppxj'<br>&nbsp;&nbsp;+'cjlzcshltoljnmdddlngkaqhqhjgykheznmshrp*qqjchgmfprxhjgdychghlyrzqlcyqjnzsq'<br>&nbsp;&nbsp;+'tkqjymszswlcfqqqxyfggyptqwlmcrnfkkfsyylqbmqammmyxctpshcptxxzzsmphpshmclmld'<br>&nbsp;&nbsp;+'qfyqxszyydyjzzhqpdszglstjbckbxyqzjsgpsxqzqzrqtbdkyxzkhhgflbcsmdldgdzdblzyy'<br>&nbsp;&nbsp;+'cxnncsybzbfglzzxswmsccmqnjqsbdqsjtxxmbltxzclzshzcxrqjgjylxzfjphymzqqydfqjj'<br>&nbsp;&nbsp;+'lzznzjcdgzygctxmzysctlkphtxhtlbjxjlxscdqxcbbtjfqzfsltjbtkqbxxjjljchczdbzjd'<br>&nbsp;&nbsp;+'czjdcprnpqcjpfczlclzxzdmxmphjsgzgszzqlylwtjpfsyasmcjbtzkycwmytcsjjljcqlwzm'<br>&nbsp;&nbsp;+'albxyfbpnlsfhtgjwejjxxglljstgshjqlzfkcgnnnszfdeqfhbsaqtgylbxmmygszldydqmjj'<br>&nbsp;&nbsp;+'rgbjtkgdhgkblqkbdmbylxwcxyttybkmrtjzxqjbhlmhmjjzmqasldcyxyqdlqcafywyxqhz';<br><br>&nbsp;&nbsp;function&nbsp;GetHeadPY(w:&nbsp;Word):&nbsp;Char;<br>&nbsp;&nbsp;var<br>&nbsp;&nbsp;&nbsp;&nbsp;iSection,<br>&nbsp;&nbsp;&nbsp;&nbsp;iPosition,<br>&nbsp;&nbsp;&nbsp;&nbsp;iOffsetB:&nbsp;Integer;&nbsp;&nbsp;<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;w&nbsp;of<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$B0A1..$B0C4:&nbsp;Result&nbsp;:=&nbsp;'a';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$B0C5..$B2C0:&nbsp;Result&nbsp;:=&nbsp;'b';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$B2C1..$B4ED:&nbsp;Result&nbsp;:=&nbsp;'c';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$B4EE..$B6E9:&nbsp;Result&nbsp;:=&nbsp;'d';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$B6EA..$B7A1:&nbsp;Result&nbsp;:=&nbsp;'e';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$B7A2..$B8c0:&nbsp;Result&nbsp;:=&nbsp;'f';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$B8C1..$B9FD:&nbsp;Result&nbsp;:=&nbsp;'g';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$B9FE..$BBF6:&nbsp;Result&nbsp;:=&nbsp;'h';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$BBF7..$BFA5:&nbsp;Result&nbsp;:=&nbsp;'j';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$BFA6..$C0AB:&nbsp;Result&nbsp;:=&nbsp;'k';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$C0AC..$C2E7:&nbsp;Result&nbsp;:=&nbsp;'l';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$C2E8..$C4C2:&nbsp;Result&nbsp;:=&nbsp;'m';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$C4C3..$C5B5:&nbsp;Result&nbsp;:=&nbsp;'n';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$C5B6..$C5BD:&nbsp;Result&nbsp;:=&nbsp;'o';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$C5BE..$C6D9:&nbsp;Result&nbsp;:=&nbsp;'p';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$C6DA..$C8BA:&nbsp;Result&nbsp;:=&nbsp;'q';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$C8BB..$C8F5:&nbsp;Result&nbsp;:=&nbsp;'r';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$C8F6..$CBF0:&nbsp;Result&nbsp;:=&nbsp;'s';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$CBFA..$CDD9:&nbsp;Result&nbsp;:=&nbsp;'t';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$CDDA..$CEF3:&nbsp;Result&nbsp;:=&nbsp;'w';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$CEF4..$D188:&nbsp;Result&nbsp;:=&nbsp;'x';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$D1B9..$D4D0:&nbsp;Result&nbsp;:=&nbsp;'y';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$D4D1..$D7F9:&nbsp;Result&nbsp;:=&nbsp;'z';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$D8A1..$F7FE:&nbsp;begin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//二级汉字首拼<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iSection&nbsp;&nbsp;:=&nbsp;(w&nbsp;shr&nbsp;8)&nbsp;and&nbsp;$0FF&nbsp;-&nbsp;160;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iPosition&nbsp;:=&nbsp;w&nbsp;and&nbsp;$0FF&nbsp;-&nbsp;160;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iOffsetB&nbsp;&nbsp;:=&nbsp;(iSection&nbsp;-&nbsp;56)&nbsp;*&nbsp;94&nbsp;+&nbsp;iPosition;&nbsp;//二级汉字从56区开始,每区94个<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(iOffsetB&nbsp;&gt;&nbsp;0)&nbsp;and&nbsp;(iOffsetB&nbsp;&lt;=&nbsp;3008)&nbsp;then&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result&nbsp;:=&nbsp;csHeads[iOffsetB];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;Result&nbsp;=&nbsp;'*'&nbsp;then&nbsp;Result&nbsp;:=&nbsp;cVoid;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;else&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result&nbsp;:=&nbsp;cVoid;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result&nbsp;:=&nbsp;cVoid;<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;end;<br><br>var<br>&nbsp;&nbsp;cHead:&nbsp;Char;<br>&nbsp;&nbsp;i,&nbsp;k:&nbsp;&nbsp;Integer;<br>begin<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;S;<br>&nbsp;&nbsp;i&nbsp;:=&nbsp;1;<br>&nbsp;&nbsp;k&nbsp;:=&nbsp;1;<br>&nbsp;&nbsp;while&nbsp;i&nbsp;&lt;=&nbsp;Length(S)&nbsp;do&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(S&nbsp;&gt;&nbsp;#127)&nbsp;and&nbsp;(i&nbsp;&lt;&nbsp;Length(S))&nbsp;then&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cHead&nbsp;:=&nbsp;GetHeadPY((Word(S)&nbsp;shl&nbsp;8)&nbsp;or&nbsp;(Word(S[i&nbsp;+1])&nbsp;and&nbsp;$0FF));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;cHead&nbsp;&gt;&nbsp;#0&nbsp;then&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result[k]&nbsp;:=&nbsp;cHead;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inc(k);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inc(i);<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;Inc(i);<br>&nbsp;&nbsp;end;<br>&nbsp;&nbsp;Delete(Result,&nbsp;k,&nbsp;MaxInt);<br>end;
 
lz说的是在数据库中取得首字母啊,delphi代码是可以取到。<br>SQLSERVER中要自定义函数了。
 
学习学习
 
S:String;<br>&nbsp;&nbsp;C:Char;<br>&nbsp;&nbsp;C:=Copy(S,1,1)<br>&nbsp;&nbsp;if&nbsp;&nbsp;ORD(C)&lt;128&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'西文'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'双字节文字'
 
oracle可以做到
 
function&nbsp;GetPYIndexChar(&nbsp;hzchar:string):char;&nbsp;<br>begin&nbsp;//的到一个汉字的拼音头个字母&nbsp;<br>case&nbsp;WORD(hzchar[1])&nbsp;shl&nbsp;8&nbsp;+&nbsp;WORD(hzchar[2])&nbsp;of&nbsp;<br>$B0A1..$B0C4&nbsp;:&nbsp;result&nbsp;:=&nbsp;'A';&nbsp;<br>$B0C5..$B2C0&nbsp;:&nbsp;result&nbsp;:=&nbsp;'B';&nbsp;<br>$B2C1..$B4ED&nbsp;:&nbsp;result&nbsp;:=&nbsp;'C';&nbsp;<br>$B4EE..$B6E9&nbsp;:&nbsp;result&nbsp;:=&nbsp;'D';&nbsp;<br>$B6EA..$B7A1&nbsp;:&nbsp;result&nbsp;:=&nbsp;'E';&nbsp;<br>$B7A2..$B8C0&nbsp;:&nbsp;result&nbsp;:=&nbsp;'F';&nbsp;<br>$B8C1..$B9FD&nbsp;:&nbsp;result&nbsp;:=&nbsp;'G';&nbsp;<br>$B9FE..$BBF6&nbsp;:&nbsp;result&nbsp;:=&nbsp;'H';&nbsp;<br>$BBF7..$BFA5&nbsp;:&nbsp;result&nbsp;:=&nbsp;'J';&nbsp;<br>$BFA6..$C0AB&nbsp;:&nbsp;result&nbsp;:=&nbsp;'K';&nbsp;<br>$C0AC..$C2E7&nbsp;:&nbsp;result&nbsp;:=&nbsp;'L';&nbsp;<br>$C2E8..$C4C2&nbsp;:&nbsp;result&nbsp;:=&nbsp;'M';&nbsp;<br>$C4C3..$C5B5&nbsp;:&nbsp;result&nbsp;:=&nbsp;'N';&nbsp;<br>$C5B6..$C5BD&nbsp;:&nbsp;result&nbsp;:=&nbsp;'O';&nbsp;<br>$C5BE..$C6D9&nbsp;:&nbsp;result&nbsp;:=&nbsp;'P';&nbsp;<br>$C6DA..$C8BA&nbsp;:&nbsp;result&nbsp;:=&nbsp;'Q';&nbsp;<br>$C8BB..$C8F5&nbsp;:&nbsp;result&nbsp;:=&nbsp;'R';&nbsp;<br>$C8F6..$CBF9&nbsp;:&nbsp;result&nbsp;:=&nbsp;'S';&nbsp;<br>$CBFA..$CDD9&nbsp;:&nbsp;result&nbsp;:=&nbsp;'T';&nbsp;<br>$CDDA..$CEF3&nbsp;:&nbsp;result&nbsp;:=&nbsp;'W';&nbsp;<br>$CEF4..$D188&nbsp;:&nbsp;result&nbsp;:=&nbsp;'X';&nbsp;<br>$D1B9..$D4D0&nbsp;:&nbsp;result&nbsp;:=&nbsp;'Y';&nbsp;<br>$D4D1..$D7F9&nbsp;:&nbsp;result&nbsp;:=&nbsp;'Z';&nbsp;<br>else&nbsp;<br>result&nbsp;:=&nbsp;char(0);&nbsp;<br>end;&nbsp;<br>end;&nbsp;<br>unit&nbsp;Unit1;&nbsp;<br><br>interface&nbsp;<br><br>uses&nbsp;<br>Windows,&nbsp;Messages,&nbsp;SysUtils,&nbsp;Variants,&nbsp;Classes,&nbsp;Graphics,&nbsp;Controls,&nbsp;Forms,&nbsp;<br>Dialogs,&nbsp;StdCtrls;&nbsp;<br><br>type&nbsp;<br>TForm1&nbsp;=&nbsp;class(TForm)&nbsp;<br>Edit1:&nbsp;TEdit;&nbsp;<br>Edit2:&nbsp;TEdit;&nbsp;<br>Button1:&nbsp;TButton;&nbsp;<br>procedure&nbsp;Button1Click(Sender:&nbsp;TObject);&nbsp;<br>private&nbsp;<br>{&nbsp;Private&nbsp;declarations&nbsp;}&nbsp;<br><br>public&nbsp;<br>{&nbsp;Public&nbsp;declarations&nbsp;}&nbsp;<br>end;&nbsp;<br>function&nbsp;GetPYIndexChar(&nbsp;hzchar:string):char;&nbsp;<br>var&nbsp;<br>Form1:&nbsp;TForm1;&nbsp;<br><br>implementation&nbsp;<br><br>{$R&nbsp;*.dfm}&nbsp;<br><br><br><br>function&nbsp;GetPYIndexChar(&nbsp;hzchar:string):char;&nbsp;<br>begin&nbsp;//的到一个汉字的拼音头个字母&nbsp;<br>case&nbsp;WORD(hzchar[1])&nbsp;shl&nbsp;8&nbsp;+&nbsp;WORD(hzchar[2])&nbsp;of&nbsp;<br>$B0A1..$B0C4&nbsp;:&nbsp;result&nbsp;:=&nbsp;'A';&nbsp;<br>$B0C5..$B2C0&nbsp;:&nbsp;result&nbsp;:=&nbsp;'B';&nbsp;<br>$B2C1..$B4ED&nbsp;:&nbsp;result&nbsp;:=&nbsp;'C';&nbsp;<br>$B4EE..$B6E9&nbsp;:&nbsp;result&nbsp;:=&nbsp;'D';&nbsp;<br>$B6EA..$B7A1&nbsp;:&nbsp;result&nbsp;:=&nbsp;'E';&nbsp;<br>$B7A2..$B8C0&nbsp;:&nbsp;result&nbsp;:=&nbsp;'F';&nbsp;<br>$B8C1..$B9FD&nbsp;:&nbsp;result&nbsp;:=&nbsp;'G';&nbsp;<br>$B9FE..$BBF6&nbsp;:&nbsp;result&nbsp;:=&nbsp;'H';&nbsp;<br>$BBF7..$BFA5&nbsp;:&nbsp;result&nbsp;:=&nbsp;'J';&nbsp;<br>$BFA6..$C0AB&nbsp;:&nbsp;result&nbsp;:=&nbsp;'K';&nbsp;<br>$C0AC..$C2E7&nbsp;:&nbsp;result&nbsp;:=&nbsp;'L';&nbsp;<br>$C2E8..$C4C2&nbsp;:&nbsp;result&nbsp;:=&nbsp;'M';&nbsp;<br>$C4C3..$C5B5&nbsp;:&nbsp;result&nbsp;:=&nbsp;'N';&nbsp;<br>$C5B6..$C5BD&nbsp;:&nbsp;result&nbsp;:=&nbsp;'O';&nbsp;<br>$C5BE..$C6D9&nbsp;:&nbsp;result&nbsp;:=&nbsp;'P';&nbsp;<br>$C6DA..$C8BA&nbsp;:&nbsp;result&nbsp;:=&nbsp;'Q';&nbsp;<br>$C8BB..$C8F5&nbsp;:&nbsp;result&nbsp;:=&nbsp;'R';&nbsp;<br>$C8F6..$CBF9&nbsp;:&nbsp;result&nbsp;:=&nbsp;'S';&nbsp;<br>$CBFA..$CDD9&nbsp;:&nbsp;result&nbsp;:=&nbsp;'T';&nbsp;<br>$CDDA..$CEF3&nbsp;:&nbsp;result&nbsp;:=&nbsp;'W';&nbsp;<br>$CEF4..$D188&nbsp;:&nbsp;result&nbsp;:=&nbsp;'X';&nbsp;<br>$D1B9..$D4D0&nbsp;:&nbsp;result&nbsp;:=&nbsp;'Y';&nbsp;<br>$D4D1..$D7F9&nbsp;:&nbsp;result&nbsp;:=&nbsp;'Z';&nbsp;<br>else&nbsp;<br>result&nbsp;:=&nbsp;char(0);&nbsp;<br>end;&nbsp;<br>end;&nbsp;<br><br><br><br>procedure&nbsp;TForm1.Button1Click(Sender:&nbsp;TObject);&nbsp;<br>begin&nbsp;<br>edit2.Text:=GetPYIndexChar(edit1.Text);&nbsp;<br>end;&nbsp;<br><br>end.<br><br>或<br><br>1、以下代码段直接复制在代码里即可.<br><br>{$R&nbsp;*.dfm}<br><br>py:&nbsp;array[216..247]&nbsp;of&nbsp;string&nbsp;=&nbsp;(<br>{216}'CJWGNSPGCGNESYPB'&nbsp;+&nbsp;'TYYZDXYKYGTDJNMJ'&nbsp;+&nbsp;'QMBSGZSCYJSYYZPG'&nbsp;+<br>{216}'KBZGYCYWYKGKLJSW'&nbsp;+&nbsp;'KPJQHYZWDDZLSGMR'&nbsp;+&nbsp;'YPYWWCCKZNKYDG',<br>{217}'TTNJJEYKKZYTCJNM'&nbsp;+&nbsp;'CYLQLYPYQFQRPZSL'&nbsp;+&nbsp;'WBTGKJFYXJWZLTBN'&nbsp;+<br>{217}'CXJJJJZXDTTSQZYC'&nbsp;+&nbsp;'DXXHGCKBPHFFSSYY'&nbsp;+&nbsp;'BGMXLPBYLLLHLX',<br>{218}'SPZMYJHSOJNGHDZQ'&nbsp;+&nbsp;'YKLGJHXGQZHXQGKE'&nbsp;+&nbsp;'ZZWYSCSCJXYEYXAD'&nbsp;+<br>{218}'ZPMDSSMZJZQJYZCD'&nbsp;+&nbsp;'JEWQJBDZBXGZNZCP'&nbsp;+&nbsp;'WHKXHQKMWFBPBY',<br>{219}'DTJZZKQHYLYGXFPT'&nbsp;+&nbsp;'YJYYZPSZLFCHMQSH'&nbsp;+&nbsp;'GMXXSXJJSDCSBBQB'&nbsp;+<br>{219}'EFSJYHXWGZKPYLQB'&nbsp;+&nbsp;'GLDLCCTNMAYDDKSS'&nbsp;+&nbsp;'NGYCSGXLYZAYBN',<br>{220}'PTSDKDYLHGYMYLCX'&nbsp;+&nbsp;'PYCJNDQJWXQXFYYF'&nbsp;+&nbsp;'JLEJBZRXCCQWQQSB'&nbsp;+<br>{220}'ZKYMGPLBMJRQCFLN'&nbsp;+&nbsp;'YMYQMSQYRBCJTHZT'&nbsp;+&nbsp;'QFRXQHXMJJCJLX',<br>{221}'QGJMSHZKBSWYEMYL'&nbsp;+&nbsp;'TXFSYDSGLYCJQXSJ'&nbsp;+&nbsp;'NQBSCTYHBFTDCYZD'&nbsp;+<br>{221}'JWYGHQFRXWCKQKXE'&nbsp;+&nbsp;'BPTLPXJZSRMEBWHJ'&nbsp;+&nbsp;'LBJSLYYSMDXLCL',<br>{222}'QKXLHXJRZJMFQHXH'&nbsp;+&nbsp;'WYWSBHTRXXGLHQHF'&nbsp;+&nbsp;'NMCYKLDYXZPWLGGS'&nbsp;+<br>{222}'MTCFPAJJZYLJTYAN'&nbsp;+&nbsp;'JGBJPLQGDZYQYAXB'&nbsp;+&nbsp;'KYSECJSZNSLYZH',<br>{223}'ZXLZCGHPXZHZNYTD'&nbsp;+&nbsp;'SBCJKDLZAYFMYDLE'&nbsp;+&nbsp;'BBGQYZKXGLDNDNYS'&nbsp;+<br>{223}'KJSHDLYXBCGHXYPK'&nbsp;+&nbsp;'DQMMZNGMMCLGWZSZ'&nbsp;+&nbsp;'XZJFZNMLZZTHCS',<br>{224}'YDBDLLSCDDNLKJYK'&nbsp;+&nbsp;'JSYCJLKOHQASDKNH'&nbsp;+&nbsp;'CSGANHDAASHTCPLC'&nbsp;+<br>{224}'PQYBSDMPJLPCJOQL'&nbsp;+&nbsp;'CDHJJYSPRCHNKNNL'&nbsp;+&nbsp;'HLYYQYHWZPTCZG',<br>{225}'WWMZFFJQQQQYXACL'&nbsp;+&nbsp;'BHKDJXDGMMYDJXZL'&nbsp;+&nbsp;'LSYGXGKJRYWZWYCL'&nbsp;+<br>{225}'ZMSSJZLDBYDCPCXY'&nbsp;+&nbsp;'HLXCHYZJQSQQAGMN'&nbsp;+&nbsp;'YXPFRKSSBJLYXY',<br>{226}'SYGLNSCMHCWWMNZJ'&nbsp;+&nbsp;'JLXXHCHSYD&nbsp;CTXRY'&nbsp;+&nbsp;'CYXBYHCSMXJSZNPW'&nbsp;+<br>{226}'GPXXTAYBGAJCXLYS'&nbsp;+&nbsp;'DCCWZOCWKCCSBNHC'&nbsp;+&nbsp;'PDYZNFCYYTYCKX',<br>{227}'KYBSQKKYTQQXFCWC'&nbsp;+&nbsp;'HCYKELZQBSQYJQCC'&nbsp;+&nbsp;'LMTHSYWHMKTLKJLY'&nbsp;+<br>{227}'CXWHEQQHTQHZPQSQ'&nbsp;+&nbsp;'SCFYMMDMGBWHWLGS'&nbsp;+&nbsp;'LLYSDLMLXPTHMJ',<br>{228}'HWLJZYHZJXHTXJLH'&nbsp;+&nbsp;'XRSWLWZJCBXMHZQX'&nbsp;+&nbsp;'SDZPMGFCSGLSXYMJ'&nbsp;+<br>{228}'SHXPJXWMYQKSMYPL'&nbsp;+&nbsp;'RTHBXFTPMHYXLCHL'&nbsp;+&nbsp;'HLZYLXGSSSSTCL',<br>{229}'SLDCLRPBHZHXYYFH'&nbsp;+&nbsp;'BBGDMYCNQQWLQHJJ'&nbsp;+&nbsp;'ZYWJZYEJJDHPBLQX'&nbsp;+<br>{229}'TQKWHLCHQXAGTLXL'&nbsp;+&nbsp;'JXMSLXHTZKZJECXJ'&nbsp;+&nbsp;'CJNMFBYCSFYWYB',<br>{230}'JZGNYSDZSQYRSLJP'&nbsp;+&nbsp;'CLPWXSDWEJBJCBCN'&nbsp;+&nbsp;'AYTWGMPABCLYQPCL'&nbsp;+<br>{230}'ZXSBNMSGGFNZJJBZ'&nbsp;+&nbsp;'SFZYNDXHPLQKZCZW'&nbsp;+&nbsp;'ALSBCCJXJYZHWK',<br>{231}'YPSGXFZFCDKHJGXD'&nbsp;+&nbsp;'LQFSGDSLQWZKXTMH'&nbsp;+&nbsp;'SBGZMJZRGLYJBPML'&nbsp;+<br>{231}'MSXLZJQQHZSJCZYD'&nbsp;+&nbsp;'JWBMJKLDDPMJEGXY'&nbsp;+&nbsp;'HYLXHLQYQHKYCW',<br>{232}'CJMYYXNATJHYCCXZ'&nbsp;+&nbsp;'PCQLBZWWYTWBQCML'&nbsp;+&nbsp;'PMYRJCCCXFPZNZZL'&nbsp;+<br>{232}'JPLXXYZTZLGDLDCK'&nbsp;+&nbsp;'LYRLZGQTGJHHGJLJ'&nbsp;+&nbsp;'AXFGFJZSLCFDQZ',<br>{233}'LCLGJDJCSNCLLJPJ'&nbsp;+&nbsp;'QDCCLCJXMYZFTSXG'&nbsp;+&nbsp;'CGSBRZXJQQCTZHGY'&nbsp;+<br>{233}'QTJQQLZXJYLYLBCY'&nbsp;+&nbsp;'AMCSTYLPDJBYREGK'&nbsp;+&nbsp;'JZYZHLYSZQLZNW',<br>{234}'CZCLLWJQJJJKDGJZ'&nbsp;+&nbsp;'OLBBZPPGLGHTGZXY'&nbsp;+&nbsp;'GHZMYCNQSYCYHBHG'&nbsp;+<br>{234}'XKAMTXYXNBSKYZZG'&nbsp;+&nbsp;'JZLQJDFCJXDYGJQJ'&nbsp;+&nbsp;'JPMGWGJJJPKQSB',<br>{235}'GBMMCJSSCLPQPDXC'&nbsp;+&nbsp;'DYYKYWCJDDYYGYWR'&nbsp;+&nbsp;'HJRTGZNYQLDKLJSZ'&nbsp;+<br>{235}'ZGZQZJGDYKSHPZMT'&nbsp;+&nbsp;'LCPWNJAFYZDJCNMW'&nbsp;+&nbsp;'ESCYGLBTZCGMSS',<br>{236}'LLYXQSXSBSJSBBGG'&nbsp;+&nbsp;'GHFJLYPMZJNLYYWD'&nbsp;+&nbsp;'QSHZXTYYWHMCYHYW'&nbsp;+<br>{236}'DBXBTLMSYYYFSXJC'&nbsp;+&nbsp;'SDXXLHJHF&nbsp;SXZQHF'&nbsp;+&nbsp;'ZMZCZTQCXZXRTT',<br>{237}'DJHNNYZQQMNQDMMG'&nbsp;+&nbsp;'LYDXMJGDHCDYZBFF'&nbsp;+&nbsp;'ALLZTDLTFXMXQZDN'&nbsp;+<br>{237}'GWQDBDCZJDXBZGSQ'&nbsp;+&nbsp;'QDDJCMBKZFFXMKDM'&nbsp;+&nbsp;'DSYYSZCMLJDSYN',<br>{238}'SPRSKMKMPCKLGDBQ'&nbsp;+&nbsp;'TFZSWTFGGLYPLLJZ'&nbsp;+&nbsp;'HGJJGYPZLTCSMCNB'&nbsp;+<br>{238}'TJBQFKTHBYZGKPBB'&nbsp;+&nbsp;'YMTDSSXTBNPDKLEY'&nbsp;+&nbsp;'CJNYCDYKZDDHQH',<br>{239}'SDZSCTARLLTKZLGE'&nbsp;+&nbsp;'CLLKJLQJAQNBDKKG'&nbsp;+&nbsp;'HPJTZQKSECSHALQF'&nbsp;+<br>{239}'MMGJNLYJBBTMLYZX'&nbsp;+&nbsp;'DCJPLDLPCQDHZYCB'&nbsp;+&nbsp;'ZSCZBZMSLJFLKR',<br>{240}'ZJSNFRGJHXPDHYJY'&nbsp;+&nbsp;'BZGDLJCSEZGXLBLH'&nbsp;+&nbsp;'YXTWMABCHECMWYJY'&nbsp;+<br>{240}'ZLLJJYHLGBDJLSLY'&nbsp;+&nbsp;'GKDZPZXJYYZLWCXS'&nbsp;+&nbsp;'ZFGWYYDLYHCLJS',<br>{241}'CMBJHBLYZLYCBLYD'&nbsp;+&nbsp;'PDQYSXQZBYTDKYYJ'&nbsp;+&nbsp;'YYCNRJMPDJGKLCLJ'&nbsp;+<br>{241}'BCTBJDDBBLBLCZQR'&nbsp;+&nbsp;'PPXJCGLZCSHLTOLJ'&nbsp;+&nbsp;'NMDDDLNGKAQHQH',<br>{242}'JHYKHEZNMSHRP&nbsp;QQ'&nbsp;+&nbsp;'JCHGMFPRXHJGDYCH'&nbsp;+&nbsp;'GHLYRZQLCYQJNZSQ'&nbsp;+<br>{242}'TKQJYMSZSWLCFQQQ'&nbsp;+&nbsp;'XYFGGYPTQWLMCRNF'&nbsp;+&nbsp;'KKFSYYLQBMQAMM',<br>{243}'MYXCTPSHCPTXXZZS'&nbsp;+&nbsp;'MPHPSHMCLMLDQFYQ'&nbsp;+&nbsp;'XSZYJDJJZZHQPDSZ'&nbsp;+<br>{243}'GLSTJBCKBXYQZJSG'&nbsp;+&nbsp;'PSXQZQZRQTBDKYXZ'&nbsp;+&nbsp;'KHHGFLBCSMDLDG',<br>{244}'DZDBLZYYCXNNCSYB'&nbsp;+&nbsp;'ZBFGLZZXSWMSCCMQ'&nbsp;+&nbsp;'NJQSBDQSJTXXMBLT'&nbsp;+<br>{244}'XZCLZSHZCXRQJGJY'&nbsp;+&nbsp;'LXZFJPHYXZQQYDFQ'&nbsp;+&nbsp;'JJLZZNZJCDGZYG',<br>{245}'CTXMZYSCTLKPHTXH'&nbsp;+&nbsp;'TLBJXJLXSCDQXCBB'&nbsp;+&nbsp;'TJFQZFSLTJBTKQBX'&nbsp;+<br>{245}'XJJLJCHCZDBZJDCZ'&nbsp;+&nbsp;'JDCPRNPQCJPFCZLC'&nbsp;+&nbsp;'LZXBDMXMPHJSGZ',<br>{246}'GSZZQLYLWTJPFSYA'&nbsp;+&nbsp;'SMCJBTZYYCWMYTCS'&nbsp;+&nbsp;'JJLQCQLWZMALBXYF'&nbsp;+<br>{246}'BPNLSFHTGJWEJJXX'&nbsp;+&nbsp;'GLLJSTGSHJQLZFKC'&nbsp;+&nbsp;'GNNDSZFDEQFHBS',<br>{247}'AQTGYLBXMMYGSZLD'&nbsp;+&nbsp;'YDQMJJRGBJTKGDHG'&nbsp;+&nbsp;'KBLQKBDMBYLXWCXY'&nbsp;+<br>{247}'TTYBKMRTJZXQJBHL'&nbsp;+&nbsp;'MHMJJZMQASLDCYXY'&nbsp;+&nbsp;'QDLQCAFYWYXQHZ'<br>);<br><br>function&nbsp;ChnPy(Value:&nbsp;array&nbsp;of&nbsp;char):&nbsp;Char;<br>begin<br>Result&nbsp;:=&nbsp;#0;<br>case&nbsp;Byte(Value[0])&nbsp;of<br>176:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..196:&nbsp;Result&nbsp;:=&nbsp;'A';<br>197..254:&nbsp;Result&nbsp;:=&nbsp;'B';<br>end;&nbsp;{case}<br>177:<br>Result&nbsp;:=&nbsp;'B';<br>178:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..192:&nbsp;Result&nbsp;:=&nbsp;'B';<br>193..205:&nbsp;Result&nbsp;:=&nbsp;'C';<br>206:&nbsp;Result&nbsp;:=&nbsp;'S';&nbsp;//参<br>207..254:&nbsp;Result&nbsp;:=&nbsp;'C';<br>end;&nbsp;{case}<br>179:<br>Result&nbsp;:=&nbsp;'C';<br>180:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..237:&nbsp;Result&nbsp;:=&nbsp;'C';<br>238..254:&nbsp;Result&nbsp;:=&nbsp;'D';<br>end;&nbsp;{case}<br>181:<br>Result&nbsp;:=&nbsp;'D';<br>182:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..233:&nbsp;Result&nbsp;:=&nbsp;'D';<br>234..254:&nbsp;Result&nbsp;:=&nbsp;'E';<br>end;&nbsp;{case}<br>183:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161:&nbsp;Result&nbsp;:=&nbsp;'E';<br>162..254:&nbsp;Result&nbsp;:=&nbsp;'F';<br>end;&nbsp;{case}<br>184:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..192:&nbsp;Result&nbsp;:=&nbsp;'F';<br>193..254:&nbsp;Result&nbsp;:=&nbsp;'G';<br>end;&nbsp;{case}<br>185:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..253:&nbsp;Result&nbsp;:=&nbsp;'G';<br>254:&nbsp;Result&nbsp;:=&nbsp;'H';<br>end;&nbsp;{case}<br>186:<br>Result&nbsp;:=&nbsp;'H';<br>187:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..246:&nbsp;Result&nbsp;:=&nbsp;'H';<br>247..254:&nbsp;Result&nbsp;:=&nbsp;'J';<br>end;&nbsp;{case}<br>188..190:<br>Result&nbsp;:=&nbsp;'J';<br>191:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..165:&nbsp;Result&nbsp;:=&nbsp;'J';<br>166..254:&nbsp;Result&nbsp;:=&nbsp;'K';<br>end;&nbsp;{case}<br>192:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..171:&nbsp;Result&nbsp;:=&nbsp;'K';<br>172..254:&nbsp;Result&nbsp;:=&nbsp;'L';<br>end;&nbsp;{case}<br>193:<br>Result&nbsp;:=&nbsp;'L';<br>194:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..231:&nbsp;Result&nbsp;:=&nbsp;'L';<br>232..254:&nbsp;Result&nbsp;:=&nbsp;'M';<br>end;&nbsp;{case}<br>195:<br>Result&nbsp;:=&nbsp;'M';<br>196:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..194:&nbsp;Result&nbsp;:=&nbsp;'M';<br>195..254:&nbsp;Result&nbsp;:=&nbsp;'N';<br>end;&nbsp;{case}<br>197:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..181:&nbsp;Result&nbsp;:=&nbsp;'N';<br>182..189:&nbsp;Result&nbsp;:=&nbsp;'O';<br>190..254:&nbsp;Result&nbsp;:=&nbsp;'P';<br>end;&nbsp;{case}<br>198:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..217:&nbsp;Result&nbsp;:=&nbsp;'P';<br>218..254:&nbsp;Result&nbsp;:=&nbsp;'Q';<br>end;&nbsp;{case}<br>199:<br>Result&nbsp;:=&nbsp;'Q';<br>200:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..186:&nbsp;Result&nbsp;:=&nbsp;'Q';<br>187..245:&nbsp;Result&nbsp;:=&nbsp;'R';<br>246..254:&nbsp;Result&nbsp;:=&nbsp;'S';<br>end;&nbsp;{case}<br>201..202:<br>Result&nbsp;:=&nbsp;'S';<br>203:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..249:&nbsp;Result&nbsp;:=&nbsp;'S';<br>250..254:&nbsp;Result&nbsp;:=&nbsp;'T';<br>end;&nbsp;{case}<br>204:<br>Result&nbsp;:=&nbsp;'T';<br>205:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..217:&nbsp;Result&nbsp;:=&nbsp;'T';<br>218..254:&nbsp;Result&nbsp;:=&nbsp;'W';<br>end;&nbsp;{case}<br>206:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..243:&nbsp;Result&nbsp;:=&nbsp;'W';<br>244..254:&nbsp;Result&nbsp;:=&nbsp;'X';<br>end;&nbsp;{case}<br>207..208:<br>Result&nbsp;:=&nbsp;'X';<br>209:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..184:&nbsp;Result&nbsp;:=&nbsp;'X';<br>185..254:&nbsp;Result&nbsp;:=&nbsp;'Y';<br>end;&nbsp;{case}<br>210..211:<br>Result&nbsp;:=&nbsp;'Y';<br>212:<br>case&nbsp;Byte(Value[1])&nbsp;of<br>161..208:&nbsp;Result&nbsp;:=&nbsp;'Y';<br>209..254:&nbsp;Result&nbsp;:=&nbsp;'Z';<br>end;&nbsp;{case}<br>213..215:<br>Result&nbsp;:=&nbsp;'Z';<br>216..247:<br>Result&nbsp;:=&nbsp;py[Byte(Value[0])][Byte(Value[1])&nbsp;-&nbsp;160];<br>end;&nbsp;{case}<br>end;<br><br>function&nbsp;ChnToPY(Value:&nbsp;string):&nbsp;string;<br>var<br>I,&nbsp;L:&nbsp;Integer;<br>C:&nbsp;array[0..1]&nbsp;of&nbsp;char;<br>R:&nbsp;Char;<br>begin<br>Result&nbsp;:=&nbsp;'';<br>L&nbsp;:=&nbsp;Length(Value);<br>I&nbsp;:=&nbsp;1;<br>while&nbsp;I&nbsp;&lt;=&nbsp;(L&nbsp;-&nbsp;1)&nbsp;do<br>begin<br>if&nbsp;Value&nbsp;&lt;&nbsp;#160&nbsp;then<br>begin<br>Result&nbsp;:=&nbsp;Result&nbsp;+&nbsp;Value;<br>Inc(I);<br>end<br>else<br>begin<br>C[0]&nbsp;:=&nbsp;Value;<br>C[1]&nbsp;:=&nbsp;Value[I&nbsp;+&nbsp;1];<br>R&nbsp;:=&nbsp;ChnPY(C);<br>if&nbsp;r&nbsp;&lt;&gt;&nbsp;#0&nbsp;then<br>Result&nbsp;:=&nbsp;Result&nbsp;+&nbsp;R;<br>Inc(I,&nbsp;2);<br>end;<br>end;<br>if&nbsp;I&nbsp;=&nbsp;L&nbsp;then<br>Result&nbsp;:=&nbsp;Result&nbsp;+&nbsp;Value[L];<br>end;<br><br>2、函数引用<br>edit2.Text:=ChnToPY(trim(edit1.Text));
 
晕&nbsp;那么复杂?<br>看看我的<br><br>Create&nbsp;Function&nbsp;HZToPY<br>(<br>&nbsp;&nbsp;&nbsp;&nbsp;@cString&nbsp;nVarChar&nbsp;(200)<br>)<br>Returns&nbsp;nVarChar(100)<br>AS&nbsp;<br>Begin<br>&nbsp;&nbsp;Declare&nbsp;@nFor&nbsp;&nbsp;&nbsp;&nbsp;Int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--字符串循环用<br>&nbsp;&nbsp;Declare&nbsp;@nPYFor&nbsp;&nbsp;Int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--拼音串循环用<br>&nbsp;&nbsp;Declare&nbsp;@cPYString&nbsp;&nbsp;VarChar(100)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--拼音串<br>&nbsp;&nbsp;Declare&nbsp;@cCurChar&nbsp;VarChar(2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--当前字符<br>&nbsp;&nbsp;Declare&nbsp;@vReturn&nbsp;VarChar&nbsp;(100)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----将返回的结果<br>&nbsp;&nbsp;Set&nbsp;@cPYString&nbsp;=&nbsp;'吖八嚓咑妸发旮铪讥讥咔垃呣拿讴趴七呥仨他哇哇哇夕丫匝咗'<br>&nbsp;&nbsp;Set&nbsp;@vReturn&nbsp;=&nbsp;''<br>&nbsp;&nbsp;Set&nbsp;@nFor&nbsp;=&nbsp;0<br>&nbsp;&nbsp;While&nbsp;@nFor&nbsp;&lt;&nbsp;Len(@cString)<br>&nbsp;&nbsp;&nbsp;&nbsp;Begin<br>&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;@nFor&nbsp;=&nbsp;@nFor&nbsp;+&nbsp;1<br>&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;@cCurChar&nbsp;=&nbsp;Substring(@cString,@nFor,1)<br>&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;@nPYFor&nbsp;=&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;While&nbsp;@nPYFor&nbsp;&lt;&nbsp;len(@cPYString)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;@nPYFor&nbsp;=&nbsp;@nPYFor&nbsp;+&nbsp;1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;@cCurChar&nbsp;&lt;&nbsp;Substring(@cPYString,@nPYFor,1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;@vReturn&nbsp;=&nbsp;Rtrim(@vReturn)&nbsp;+&nbsp;(Case&nbsp;When&nbsp;@nPYFor&nbsp;&lt;&gt;&nbsp;1&nbsp;Then&nbsp;Char(63&nbsp;+&nbsp;@nPYFor)&nbsp;Else&nbsp;@cCurChar&nbsp;End)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Break<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Continue<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End<br>&nbsp;&nbsp;&nbsp;&nbsp;End<br>&nbsp;&nbsp;Return&nbsp;@vReturn<br>End
 
后退
顶部