查询了很多网上汉字转拼音的方案,一种是用VBA实现的,另一种是只能转汉字首字母,结合VBA的方式,用Delphi实现汉字转拼音全拼的方法。附Delphi7写的例程链接
Delphi实现汉字转拼音全拼的方法-外包文档类资源-优快云下载
function TForm1.py(s: string): string;
var
ascH, ascL,strAsc: Integer;
pinyin:string;
begin
if length(s) = 2 then
begin
ascH := ord(s[1]); // s字符取高位和低位的整数
ascL := ord(s[2]);
strAsc:= ascH * 256 + ascL - 65536;
end;
case strAsc of
-20319 .. -20318: pinyin := 'a';
-20317 .. -20305: pinyin := 'ai';
-20304 .. -20296: pinyin := 'an';
-20295 .. -20293: pinyin := 'ang';
-20292 .. -20284: pinyin := 'ao';
-20283 .. -20266: pinyin := 'ba';
-20265 .. -20258: pinyin := 'bai';
-20257 .. -20243: pinyin := 'ban';
-20242 .. -20231: pinyin := 'bang';
-20230 .. -20052: pinyin := 'bao';
-20051 .. -20037: pinyin := 'bei';
-20036 .. -20033: pinyin := 'ben';
-20032 .. -20027: pinyin := 'beng';
-20026 .. -20003: pinyin := 'bi';
-20002 .. -19991: pinyin := 'bian';
-19990 .. -19987: pinyin := 'biao';
-19986 .. -19983: pinyin := 'bie';
-19982 .. -19977: pinyin := 'bin';
-19976 .. -19806: pinyin := 'bing';
-19805 .. -19785: pinyin := 'bo';
-19784 .. -19776: pinyin := 'bu';
-19775 .. -19775: pinyin := 'ca';
-19774 .. -19764: pinyin := 'cai';
-19763 .. -19757: pinyin := 'can';
-19756 .. -19752: pinyin := 'cang';
-19751 .. -19747: pinyin := 'cao';
-19746 .. -19742: pinyin := 'ce';
-19741 .. -19740: pinyin := 'ceng';
-19739 .. -19729: pinyin := 'cha';
-19728 .. -19726: pinyin := 'chai';
-19725 .. -19716: pinyin := 'chan';
-19715 .. -19541: pinyin := 'chang';
-19540 .. -19532: pinyin := 'chao';
-19531 .. -19526: pinyin := 'che';
-19525 .. -19516: pinyin := 'chen';
-19515 .. -19501: pinyin := 'cheng';
-19500 .. -19485: pinyin := 'chi';
-19484 .. -19480: pinyin := 'chong';
-19479 .. -19468: pinyin := 'chou';
-19467 .. -19290: pinyin := 'chu';
-19289 .. -19289: pinyin := 'chuai';
-19288 .. -19282: pinyin := 'chuan';
-19281 .. -19276: pinyin := 'chuang';
-19275 .. -19271: pinyin := 'chui';
-19270 .. -19264: pinyin := 'chun';
-19263 .. -19262: pinyin := 'chuo';
-19261 .. -19250: pinyin := 'ci';
-19249 .. -19244: pinyin := 'cong';
-19243 .. -19243: pinyin := 'cou';
-19242 .. -19239: pinyin := 'cu';
-19238 .. -19236: pinyin := 'cuan';
-19235 .. -19228: pinyin := 'cui';
-19227 .. -19225: pinyin := 'cun';
-19224 .. -19219: pinyin := 'cuo';
-19218 .. -19213: pinyin := 'da';
-19212 .. -19039: pinyin := 'dai';
-19038 .. -19024: pinyin := 'dan';
-19023 .. -19019: pinyin := 'dang';
-19018 .. -19007: pinyin := 'dao';
-19006 .. -19004: pinyin := 'de';
-19003 .. -18997: pinyin := 'deng';
-18996 .. -18978: pinyin := 'di';
-18977 .. -18962: pinyin := 'dian';
-18961 .. -18953: pinyin := 'diao';
-18952 .. -18784: pinyin := 'die';
-18783 .. -18775: pinyin := 'ding';
-18774 .. -18774: pinyin := 'diu';
-18773 .. -18527: pinyin := 'dong';
-18526 .. -18519: pinyin := 'fa';
-18518 .. -18502: pinyin := 'fan';
-18501 .. -18491: pinyin := 'fang';
-18490 .. -18479: pinyin := 'fei';
-18478 .. -18464: pinyin := 'fen';
-18463 .. -18449: pinyin := 'feng';
-18448 .. -18448: pinyin := 'fo';
-18447 .. -18447: pinyin := 'fou';
-18446 .. -18240: pinyin := 'fu';
-18239 .. -18238: pinyin := 'ga';
-18237 .. -18232: pinyin := 'gai';
-18231 .. -18221: pinyin := 'gan';
-18220 .. -18212: pinyin := 'gang';
-18211 .. -18202: pinyin := 'gao';
-18201 .. -18185: pinyin := 'ge';
-18184 .. -18184: pinyin := 'gei';
-18183 .. -18182: pinyin := 'gen';
-18181 .. -18013: pinyin := 'geng';
-18012 .. -17998: pinyin := 'gong';
-17997 .. -17989: pinyin := 'gou';
-17988 .. -17971: pinyin := 'gu';
-17970 .. -17965: pinyin := 'gua';
-17964 .. -17962: pinyin := 'guai';
-17961 .. -17951: pinyin := 'guan';
-17950 .. -17948: pinyin := 'guang';
-17947 .. -17932: pinyin := 'gui';
-17931 .. -17929: pinyin := 'gun';
-17928 .. -17923: pinyin := 'guo';
-17922 .. -17760: pinyin := 'ha';
-17759 .. -17753: pinyin := 'hai';
-17752 .. -17734: pinyin := 'han';
-17733 .. -17731: pinyin := 'hang';
-17730 .. -17722: pinyin := 'hao';
-17721 .. -17704: pinyin := 'he';
-17703 .. -17702: pinyin := 'hei';
-17701 .. -17698: pinyin := 'hen';
-17697 .. -17693: pinyin := 'heng';
-17692 .. -17684: pinyin := 'hong';
-17683 .. -17677: pinyin := 'hou';
-17676 .. -17497: pinyin := 'hu';
-17496 .. -17488: pinyin := 'hua';
-17487 .. -17483: pinyin := 'huai';
-17482 .. -17469: pinyin := 'huan';
-17468 .. -17455: pinyin := 'huang';
-17454 .. -17434: pinyin := 'hui';
-17433 .. -17428: pinyin := 'hun';
-17427 .. -17418: pinyin := 'huo';
-17417 .. -17203: pinyin := 'ji';
-17202 .. -17186: pinyin := 'jia';
-17185 .. -16984: pinyin := 'jian';
-16983 .. -16971: pinyin := 'jiang';
-16970 .. -16943: pinyin := 'jiao';
-16942 .. -16916: pinyin := 'jie';
-16915 .. -16734: pinyin := 'jin';
-16733 .. -16709: pinyin := 'jing';
-16708 .. -16707: pinyin := 'jiong';
-16706 .. -16690: pinyin := 'jiu';
-16689 .. -16665: pinyin := 'ju';
-16664 .. -16658: pinyin := 'juan';
-16657 .. -16648: pinyin := 'jue';
-16647 .. -16475: pinyin := 'jun';
-16474 .. -16471: pinyin := 'ka';
-16470 .. -16466: pinyin := 'kai';
-16465 .. -16460: pinyin := 'kan';
-16459 .. -16453: pinyin := 'kang';
-16452 .. -16449: pinyin := 'kao';
-16448 .. -16434: pinyin := 'ke';
-16433 .. -16430: pinyin := 'ken';
-16429 .. -16428: pinyin := 'keng';
-16427 .. -16424: pinyin := 'kong';
-16423 .. -16420: pinyin := 'kou';
-16419 .. -16413: pinyin := 'ku';
-16412 .. -16408: pinyin := 'kua';
-16407 .. -16404: pinyin := 'kuai';
-16403 .. -16402: pinyin := 'kuan';
-16401 .. -16394: pinyin := 'kuang';
-16393 .. -16221: pinyin := 'kui';
-16220 .. -16217: pinyin := 'kun';
-16216 .. -16213: pinyin := 'kuo';
-16212 .. -16206: pinyin := 'la';
-16205 .. -16203: pinyin := 'lai';
-16202 .. -16188: pinyin := 'lan';
-16187 .. -16181: pinyin := 'lang';
-16180 .. -16172: pinyin := 'lao';
-16171 .. -16170: pinyin := 'le';
-16169 .. -16159: pinyin := 'lei';
-16158 .. -16156: pinyin := 'leng';
-16155 .. -15960: pinyin := 'li';
-15959 .. -15959: pinyin := 'lia';
-15958 .. -15945: pinyin := 'lian';
-15944 .. -15934: pinyin := 'liang';
-15933 .. -15921: pinyin := 'liao';
-15920 .. -15916: pinyin := 'lie';
-15915 .. -15904: pinyin := 'lin';
-15903 .. -15890: pinyin := 'ling';
-15889 .. -15879: pinyin := 'liu';
-15878 .. -15708: pinyin := 'long';
-15707 .. -15702: pinyin := 'lou';
-15701 .. -15682: pinyin := 'lu';
-15681 .. -15668: pinyin := 'lv';
-15667 .. -15662: pinyin := 'luan';
-15661 .. -15660: pinyin := 'lue';
-15659 .. -15653: pinyin := 'lun';
-15652 .. -15641: pinyin := 'luo';
-15640 .. -15632: pinyin := 'ma';
-15631 .. -15626: pinyin := 'mai';
-15625 .. -15455: pinyin := 'man';
-15454 .. -15449: pinyin := 'mang';
-15448 .. -15437: pinyin := 'mao';
-15436 .. -15436: pinyin := 'me';
-15435 .. -15420: pinyin := 'mei';
-15419 .. -15417: pinyin := 'men';
-15416 .. -15409: pinyin := 'meng';
-15408 .. -15395: pinyin := 'mi';
-15394 .. -15386: pinyin := 'mian';
-15385 .. -15378: pinyin := 'miao';
-15377 .. -15376: pinyin := 'mie';
-15375 .. -15370: pinyin := 'min';
-15369 .. -15364: pinyin := 'ming';
-15363 .. -15363: pinyin := 'miu';
-15362 .. -15184: pinyin := 'mo';
-15183 .. -15181: pinyin := 'mou';
-15180 .. -15166: pinyin := 'mu';
-15165 .. -15159: pinyin := 'na';
-15158 .. -15154: pinyin := 'nai';
-15153 .. -15151: pinyin := 'nan';
-15150 .. -15150: pinyin := 'nang';
-15149 .. -15145: pinyin := 'nao';
-15144 .. -15144: pinyin := 'ne';
-15143 .. -15142: pinyin := 'nei';
-15141 .. -15141: pinyin := 'nen';
-15140 .. -15140: pinyin := 'neng';
-15139 .. -15129: pinyin := 'ni';
-15128 .. -15122: pinyin := 'nian';
-15121 .. -15120: pinyin := 'niang';
-15119 .. -15118: pinyin := 'niao';
-15117 .. -15111: pinyin := 'nie';
-15110 .. -15110: pinyin := 'nin';
-15109 .. -14942: pinyin := 'ning';
-14941 .. -14938: pinyin := 'niu';
-14937 .. -14934: pinyin := 'nong';
-14933 .. -14931: pinyin := 'nu';
-14930 .. -14930: pinyin := 'nv';
-14929 .. -14929: pinyin := 'nuan';
-14928 .. -14927: pinyin := 'nue';
-14926 .. -14923: pinyin := 'nuo';
-14922 .. -14922: pinyin := 'o';
-14921 .. -14915: pinyin := 'ou';
-14914 .. -14909: pinyin := 'pa';
-14908 .. -14903: pinyin := 'pai';
-14902 .. -14895: pinyin := 'pan';
-14894 .. -14890: pinyin := 'pang';
-14889 .. -14883: pinyin := 'pao';
-14882 .. -14874: pinyin := 'pei';
-14873 .. -14872: pinyin := 'pen';
-14871 .. -14858: pinyin := 'peng';
-14857 .. -14679: pinyin := 'pi';
-14678 .. -14675: pinyin := 'pian';
-14674 .. -14671: pinyin := 'piao';
-14670 .. -14669: pinyin := 'pie';
-14668 .. -14664: pinyin := 'pin';
-14663 .. -14655: pinyin := 'ping';
-14654 .. -14646: pinyin := 'po';
-14645 .. -14631: pinyin := 'pu';
-14630 .. -14595: pinyin := 'qi';
-14594 .. -14430: pinyin := 'qia';
-14429 .. -14408: pinyin := 'qian';
-14407 .. -14400: pinyin := 'qiang';
-14399 .. -14385: pinyin := 'qiao';
-14384 .. -14380: pinyin := 'qie';
-14379 .. -14369: pinyin := 'qin';
-14368 .. -14356: pinyin := 'qing';
-14355 .. -14354: pinyin := 'qiong';
-14353 .. -14346: pinyin := 'qiu';
-14345 .. -14171: pinyin := 'qu';
-14170 .. -14160: pinyin := 'quan';
-14159 .. -14152: pinyin := 'que';
-14151 .. -14150: pinyin := 'qun';
-14149 .. -14146: pinyin := 'ran';
-14145 .. -14141: pinyin := 'rang';
-14140 .. -14138: pinyin := 'rao';
-14137 .. -14136: pinyin := 're';
-14135 .. -14126: pinyin := 'ren';
-14125 .. -14124: pinyin := 'reng';
-14123 .. -14123: pinyin := 'ri';
-14122 .. -14113: pinyin := 'rong';
-14112 .. -14110: pinyin := 'rou';
-14109 .. -14100: pinyin := 'ru';
-14099 .. -14098: pinyin := 'ruan';
-14097 .. -14095: pinyin := 'rui';
-14094 .. -14093: pinyin := 'run';
-14092 .. -14091: pinyin := 'ruo';
-14090 .. -14088: pinyin := 'sa';
-14087 .. -14084: pinyin := 'sai';
-14083 .. -13918: pinyin := 'san';
-13917 .. -13915: pinyin := 'sang';
-13914 .. -13911: pinyin := 'sao';
-13910 .. -13908: pinyin := 'se';
-13907 .. -13907: pinyin := 'sen';
-13906 .. -13906: pinyin := 'seng';
-13905 .. -13897: pinyin := 'sha';
-13896 .. -13895: pinyin := 'shai';
-13894 .. -13879: pinyin := 'shan';
-13878 .. -13871: pinyin := 'shang';
-13870 .. -13860: pinyin := 'shao';
-13859 .. -13848: pinyin := 'she';
-13847 .. -13832: pinyin := 'shen';
-13831 .. -13659: pinyin := 'sheng';
-13658 .. -13612: pinyin := 'shi';
-13611 .. -13602: pinyin := 'shou';
-13601 .. -13407: pinyin := 'shu';
-13406 .. -13405: pinyin := 'shua';
-13404 .. -13401: pinyin := 'shuai';
-13400 .. -13399: pinyin := 'shuan';
-13398 .. -13396: pinyin := 'shuang';
-13395 .. -13392: pinyin := 'shui';
-13391 .. -13388: pinyin := 'shun';
-13387 .. -13384: pinyin := 'shuo';
-13383 .. -13368: pinyin := 'si';
-13367 .. -13360: pinyin := 'song';
-13359 .. -13357: pinyin := 'sou';
-13356 .. -13344: pinyin := 'su';
-13343 .. -13341: pinyin := 'suan';
-13340 .. -13330: pinyin := 'sui';
-13329 .. -13327: pinyin := 'sun';
-13326 .. -13319: pinyin := 'suo';
-13318 .. -13148: pinyin := 'ta';
-13147 .. -13139: pinyin := 'tai';
-13138 .. -13121: pinyin := 'tan';
-13120 .. -13108: pinyin := 'tang';
-13107 .. -13097: pinyin := 'tao';
-13096 .. -13096: pinyin := 'te';
-13095 .. -13092: pinyin := 'teng';
-13091 .. -13077: pinyin := 'ti';
-13076 .. -13069: pinyin := 'tian';
-13068 .. -13064: pinyin := 'tiao';
-13063 .. -13061: pinyin := 'tie';
-13060 .. -12889: pinyin := 'ting';
-12888 .. -12876: pinyin := 'tong';
-12875 .. -12872: pinyin := 'tou';
-12871 .. -12861: pinyin := 'tu';
-12860 .. -12859: pinyin := 'tuan';
-12858 .. -12853: pinyin := 'tui';
-12852 .. -12850: pinyin := 'tun';
-12849 .. -12839: pinyin := 'tuo';
-12838 .. -12832: pinyin := 'wa';
-12831 .. -12830: pinyin := 'wai';
-12829 .. -12813: pinyin := 'wan';
-12812 .. -12803: pinyin := 'wang';
-12802 .. -12608: pinyin := 'wei';
-12607 .. -12598: pinyin := 'wen';
-12597 .. -12595: pinyin := 'weng';
-12594 .. -12586: pinyin := 'wo';
-12585 .. -12557: pinyin := 'wu';
-12556 .. -12360: pinyin := 'xi';
-12359 .. -12347: pinyin := 'xia';
-12346 .. -12321: pinyin := 'xian';
-12320 .. -12301: pinyin := 'xiang';
-12300 .. -12121: pinyin := 'xiao';
-12120 .. -12100: pinyin := 'xie';
-12099 .. -12090: pinyin := 'xin';
-12089 .. -12075: pinyin := 'xing' ;
-12074 .. -12068: pinyin := 'xiong';
-12067 .. -12059: pinyin := 'xiu';
-12058 .. -12040: pinyin := 'xu';
-12039 .. -11868: pinyin := 'xuan';
-11867 .. -11862: pinyin := 'xue';
-11861 .. -11848: pinyin := 'xun';
-11847 .. -11832: pinyin := 'ya';
-11831 .. -11799: pinyin := 'yan';
-11798 .. -11782: pinyin := 'yang' ;
-11781 .. -11605: pinyin := 'yao';
-11604 .. -11590: pinyin := 'ye' ;
-11589 .. -11537: pinyin := 'yi' ;
-11536 .. -11359: pinyin := 'yin' ;
-11358 .. -11341: pinyin := 'ying';
-11340 .. -11340: pinyin := 'yo' ;
-11339 .. -11325: pinyin := 'yong' ;
-11324 .. -11304: pinyin := 'you' ;
-11303 .. -11098: pinyin := 'yu' ;
-11097 .. -11078: pinyin := 'yuan' ;
-11077 .. -11068: pinyin := 'yue';
-11067 .. -11056: pinyin := 'yun' ;
-11055 .. -11053: pinyin := 'za' ;
-11052 .. -11046: pinyin := 'zai' ;
-11045 .. -11042: pinyin := 'zan' ;
-11041 .. -11039: pinyin := 'zang';
-11038 .. -11025: pinyin := 'zao' ;
-11024 .. -11021: pinyin := 'ze' ;
-11020 .. -11020: pinyin := 'zei' ;
-11019 .. -11019: pinyin := 'zen' ;
-11018 .. -11015: pinyin := 'zeng';
-11014 .. -10839: pinyin := 'zha' ;
-10838 .. -10833: pinyin := 'zhai';
-10832 .. -10816: pinyin := 'zhan' ;
-10815 .. -10801: pinyin := 'zhang' ;
-10800 .. -10791: pinyin := 'zhao' ;
-10790 .. -10781: pinyin := 'zhe' ;
-10780 .. -10765: pinyin := 'zhen' ;
-10764 .. -10588: pinyin := 'zheng' ;
-10587 .. -10545: pinyin := 'zhi' ;
-10544 .. -10534: pinyin := 'zhong' ;
-10533 .. -10520: pinyin := 'zhou' ;
-10519 .. -10332: pinyin := 'zhu' ;
-10331 .. -10330: pinyin := 'zhua' ;
-10329 .. -10329: pinyin := 'zhuai' ;
-10328 .. -10323: pinyin := 'zhuan' ;
-10322 .. -10316: pinyin := 'zhuang';
-10315 .. -10310: pinyin := 'zhui' ;
-10309 .. -10308: pinyin := 'zhun' ;
-10307 .. -10297: pinyin := 'zhuo' ;
-10296 .. -10282: pinyin := 'zi' ;
-10281 .. -10275: pinyin := 'zong' ;
-10274 .. -10271: pinyin := 'zou' ;
-10270 .. -10263: pinyin := 'zu' ;
-10262 .. -10261: pinyin := 'zuan' ;
-10260 .. -10257: pinyin := 'zui' ;
-10256 .. -10255: pinyin := 'zun' ;
-10254 .. -10253: pinyin := 'zuo' ;
else
pinyin := s ;
end;
result:=pinyin;
end;
采用ord获取汉字高低位整数,通过运算获得汉字Ascii码(十六进制高位F会得到负值),再匹配对应的拼音即可。
该博客介绍了如何利用Delphi编写一个汉字转拼音的函数,通过获取汉字的Unicode编码并匹配预定义的拼音映射表来实现全拼转换。这种方法适用于VBA和只转换首字母的限制,为开发者提供了一种在Delphi环境下处理汉字拼音的解决方案。
906

被折叠的 条评论
为什么被折叠?



