Created
December 1, 2009 15:55
-
-
Save alvin2ye/246387 to your computer and use it in GitHub Desktop.
vb6 ruby pinyin.bas
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ' pinyin.bas vb6 | |
| '************************************************************************* | |
| '**函 数 名:gGetPinYin | |
| '**输 入:ByVal intHanZiAsc(Integer) -汉字的ASCII码,用ASC函数取得 | |
| '**输 出:(String) -一个拼音字符串 | |
| '**功能描述:输入一个汉字,输出一个拼音 | |
| '**全局变量: | |
| '**调用模块: | |
| '**作 者:wild | |
| '**日 期:2004-10-06 | |
| '**修 改 人: | |
| '**日 期: | |
| '**版 本:V1.1.78 | |
| '************************************************************************* | |
| Public Function gGetPinYin(ByVal strHanZi As String) As String | |
| Dim objPinYinDic As Variant | |
| Set objPinYinDic = CreateObject("Scripting.Dictionary") | |
| objPinYinDic.Add "a", -20319 | |
| objPinYinDic.Add "ai", -20317 | |
| objPinYinDic.Add "an", -20304 | |
| objPinYinDic.Add "ang", -20295 | |
| objPinYinDic.Add "ao", -20292 | |
| objPinYinDic.Add "ba", -20283 | |
| objPinYinDic.Add "bai", -20265 | |
| objPinYinDic.Add "ban", -20257 | |
| objPinYinDic.Add "bang", -20242 | |
| objPinYinDic.Add "bao", -20230 | |
| objPinYinDic.Add "bei", -20051 | |
| objPinYinDic.Add "ben", -20036 | |
| objPinYinDic.Add "beng", -20032 | |
| objPinYinDic.Add "bi", -20026 | |
| objPinYinDic.Add "bian", -20002 | |
| objPinYinDic.Add "biao", -19990 | |
| objPinYinDic.Add "bie", -19986 | |
| objPinYinDic.Add "bin", -19982 | |
| objPinYinDic.Add "bing", -19976 | |
| objPinYinDic.Add "bo", -19805 | |
| objPinYinDic.Add "bu", -19784 | |
| objPinYinDic.Add "ca", -19775 | |
| objPinYinDic.Add "cai", -19774 | |
| objPinYinDic.Add "can", -19763 | |
| objPinYinDic.Add "cang", -19756 | |
| objPinYinDic.Add "cao", -19751 | |
| objPinYinDic.Add "ce", -19746 | |
| objPinYinDic.Add "ceng", -19741 | |
| objPinYinDic.Add "cha", -19739 | |
| objPinYinDic.Add "chai", -19728 | |
| objPinYinDic.Add "chan", -19725 | |
| objPinYinDic.Add "chang", -19715 | |
| objPinYinDic.Add "chao", -19540 | |
| objPinYinDic.Add "che", -19531 | |
| objPinYinDic.Add "chen", -19525 | |
| objPinYinDic.Add "cheng", -19515 | |
| objPinYinDic.Add "chi", -19500 | |
| objPinYinDic.Add "chong", -19484 | |
| objPinYinDic.Add "chou", -19479 | |
| objPinYinDic.Add "chu", -19467 | |
| objPinYinDic.Add "chuai", -19289 | |
| objPinYinDic.Add "chuan", -19288 | |
| objPinYinDic.Add "chuang", -19281 | |
| objPinYinDic.Add "chui", -19275 | |
| objPinYinDic.Add "chun", -19270 | |
| objPinYinDic.Add "chuo", -19263 | |
| objPinYinDic.Add "ci", -19261 | |
| objPinYinDic.Add "cong", -19249 | |
| objPinYinDic.Add "cou", -19243 | |
| objPinYinDic.Add "cu", -19242 | |
| objPinYinDic.Add "cuan", -19238 | |
| objPinYinDic.Add "cui", -19235 | |
| objPinYinDic.Add "cun", -19227 | |
| objPinYinDic.Add "cuo", -19224 | |
| objPinYinDic.Add "da", -19218 | |
| objPinYinDic.Add "dai", -19212 | |
| objPinYinDic.Add "dan", -19038 | |
| objPinYinDic.Add "dang", -19023 | |
| objPinYinDic.Add "dao", -19018 | |
| objPinYinDic.Add "de", -19006 | |
| objPinYinDic.Add "deng", -19003 | |
| objPinYinDic.Add "di", -18996 | |
| objPinYinDic.Add "dian", -18977 | |
| objPinYinDic.Add "diao", -18961 | |
| objPinYinDic.Add "die", -18952 | |
| objPinYinDic.Add "ding", -18783 | |
| objPinYinDic.Add "diu", -18774 | |
| objPinYinDic.Add "dong", -18773 | |
| objPinYinDic.Add "dou", -18763 | |
| objPinYinDic.Add "du", -18756 | |
| objPinYinDic.Add "duan", -18741 | |
| objPinYinDic.Add "dui", -18735 | |
| objPinYinDic.Add "dun", -18731 | |
| objPinYinDic.Add "duo", -18722 | |
| objPinYinDic.Add "e", -18710 | |
| objPinYinDic.Add "en", -18697 | |
| objPinYinDic.Add "er", -18696 | |
| objPinYinDic.Add "fa", -18526 | |
| objPinYinDic.Add "fan", -18518 | |
| objPinYinDic.Add "fang", -18501 | |
| objPinYinDic.Add "fei", -18490 | |
| objPinYinDic.Add "fen", -18478 | |
| objPinYinDic.Add "feng", -18463 | |
| objPinYinDic.Add "fo", -18448 | |
| objPinYinDic.Add "fou", -18447 | |
| objPinYinDic.Add "fu", -18446 | |
| objPinYinDic.Add "ga", -18239 | |
| objPinYinDic.Add "gai", -18237 | |
| objPinYinDic.Add "gan", -18231 | |
| objPinYinDic.Add "gang", -18220 | |
| objPinYinDic.Add "gao", -18211 | |
| objPinYinDic.Add "ge", -18201 | |
| objPinYinDic.Add "gei", -18184 | |
| objPinYinDic.Add "gen", -18183 | |
| objPinYinDic.Add "geng", -18181 | |
| objPinYinDic.Add "gong", -18012 | |
| objPinYinDic.Add "gou", -17997 | |
| objPinYinDic.Add "gu", -17988 | |
| objPinYinDic.Add "gua", -17970 | |
| objPinYinDic.Add "guai", -17964 | |
| objPinYinDic.Add "guan", -17961 | |
| objPinYinDic.Add "guang", -17950 | |
| objPinYinDic.Add "gui", -17947 | |
| objPinYinDic.Add "gun", -17931 | |
| objPinYinDic.Add "guo", -17928 | |
| objPinYinDic.Add "ha", -17922 | |
| objPinYinDic.Add "hai", -17759 | |
| objPinYinDic.Add "han", -17752 | |
| objPinYinDic.Add "hang", -17733 | |
| objPinYinDic.Add "hao", -17730 | |
| objPinYinDic.Add "he", -17721 | |
| objPinYinDic.Add "hei", -17703 | |
| objPinYinDic.Add "hen", -17701 | |
| objPinYinDic.Add "heng", -17697 | |
| objPinYinDic.Add "hong", -17692 | |
| objPinYinDic.Add "hou", -17683 | |
| objPinYinDic.Add "hu", -17676 | |
| objPinYinDic.Add "hua", -17496 | |
| objPinYinDic.Add "huai", -17487 | |
| objPinYinDic.Add "huan", -17482 | |
| objPinYinDic.Add "huang", -17468 | |
| objPinYinDic.Add "hui", -17454 | |
| objPinYinDic.Add "hun", -17433 | |
| objPinYinDic.Add "huo", -17427 | |
| objPinYinDic.Add "ji", -17417 | |
| objPinYinDic.Add "jia", -17202 | |
| objPinYinDic.Add "jian", -17185 | |
| objPinYinDic.Add "jiang", -16983 | |
| objPinYinDic.Add "jiao", -16970 | |
| objPinYinDic.Add "jie", -16942 | |
| objPinYinDic.Add "jin", -16915 | |
| objPinYinDic.Add "jing", -16733 | |
| objPinYinDic.Add "jiong", -16708 | |
| objPinYinDic.Add "jiu", -16706 | |
| objPinYinDic.Add "ju", -16689 | |
| objPinYinDic.Add "juan", -16664 | |
| objPinYinDic.Add "jue", -16657 | |
| objPinYinDic.Add "jun", -16647 | |
| objPinYinDic.Add "ka", -16474 | |
| objPinYinDic.Add "kai", -16470 | |
| objPinYinDic.Add "kan", -16465 | |
| objPinYinDic.Add "kang", -16459 | |
| objPinYinDic.Add "kao", -16452 | |
| objPinYinDic.Add "ke", -16448 | |
| objPinYinDic.Add "ken", -16433 | |
| objPinYinDic.Add "keng", -16429 | |
| objPinYinDic.Add "kong", -16427 | |
| objPinYinDic.Add "kou", -16423 | |
| objPinYinDic.Add "ku", -16419 | |
| objPinYinDic.Add "kua", -16412 | |
| objPinYinDic.Add "kuai", -16407 | |
| objPinYinDic.Add "kuan", -16403 | |
| objPinYinDic.Add "kuang", -16401 | |
| objPinYinDic.Add "kui", -16393 | |
| objPinYinDic.Add "kun", -16220 | |
| objPinYinDic.Add "kuo", -16216 | |
| objPinYinDic.Add "la", -16212 | |
| objPinYinDic.Add "lai", -16205 | |
| objPinYinDic.Add "lan", -16202 | |
| objPinYinDic.Add "lang", -16187 | |
| objPinYinDic.Add "lao", -16180 | |
| objPinYinDic.Add "le", -16171 | |
| objPinYinDic.Add "lei", -16169 | |
| objPinYinDic.Add "leng", -16158 | |
| objPinYinDic.Add "li", -16155 | |
| objPinYinDic.Add "lia", -15959 | |
| objPinYinDic.Add "lian", -15958 | |
| objPinYinDic.Add "liang", -15944 | |
| objPinYinDic.Add "liao", -15933 | |
| objPinYinDic.Add "lie", -15920 | |
| objPinYinDic.Add "lin", -15915 | |
| objPinYinDic.Add "ling", -15903 | |
| objPinYinDic.Add "liu", -15889 | |
| objPinYinDic.Add "long", -15878 | |
| objPinYinDic.Add "lou", -15707 | |
| objPinYinDic.Add "lu", -15701 | |
| objPinYinDic.Add "lv", -15681 | |
| objPinYinDic.Add "luan", -15667 | |
| objPinYinDic.Add "lue", -15661 | |
| objPinYinDic.Add "lun", -15659 | |
| objPinYinDic.Add "luo", -15652 | |
| objPinYinDic.Add "ma", -15640 | |
| objPinYinDic.Add "mai", -15631 | |
| objPinYinDic.Add "man", -15625 | |
| objPinYinDic.Add "mang", -15454 | |
| objPinYinDic.Add "mao", -15448 | |
| objPinYinDic.Add "me", -15436 | |
| objPinYinDic.Add "mei", -15435 | |
| objPinYinDic.Add "men", -15419 | |
| objPinYinDic.Add "meng", -15416 | |
| objPinYinDic.Add "mi", -15408 | |
| objPinYinDic.Add "mian", -15394 | |
| objPinYinDic.Add "miao", -15385 | |
| objPinYinDic.Add "mie", -15377 | |
| objPinYinDic.Add "min", -15375 | |
| objPinYinDic.Add "ming", -15369 | |
| objPinYinDic.Add "miu", -15363 | |
| objPinYinDic.Add "mo", -15362 | |
| objPinYinDic.Add "mou", -15183 | |
| objPinYinDic.Add "mu", -15180 | |
| objPinYinDic.Add "na", -15165 | |
| objPinYinDic.Add "nai", -15158 | |
| objPinYinDic.Add "nan", -15153 | |
| objPinYinDic.Add "nang", -15150 | |
| objPinYinDic.Add "nao", -15149 | |
| objPinYinDic.Add "ne", -15144 | |
| objPinYinDic.Add "nei", -15143 | |
| objPinYinDic.Add "nen", -15141 | |
| objPinYinDic.Add "neng", -15140 | |
| objPinYinDic.Add "ni", -15139 | |
| objPinYinDic.Add "nian", -15128 | |
| objPinYinDic.Add "niang", -15121 | |
| objPinYinDic.Add "niao", -15119 | |
| objPinYinDic.Add "nie", -15117 | |
| objPinYinDic.Add "nin", -15110 | |
| objPinYinDic.Add "ning", -15109 | |
| objPinYinDic.Add "niu", -14941 | |
| objPinYinDic.Add "nong", -14937 | |
| objPinYinDic.Add "nu", -14933 | |
| objPinYinDic.Add "nv", -14930 | |
| objPinYinDic.Add "nuan", -14929 | |
| objPinYinDic.Add "nue", -14928 | |
| objPinYinDic.Add "nuo", -14926 | |
| objPinYinDic.Add "o", -14922 | |
| objPinYinDic.Add "ou", -14921 | |
| objPinYinDic.Add "pa", -14914 | |
| objPinYinDic.Add "pai", -14908 | |
| objPinYinDic.Add "pan", -14902 | |
| objPinYinDic.Add "pang", -14894 | |
| objPinYinDic.Add "pao", -14889 | |
| objPinYinDic.Add "pei", -14882 | |
| objPinYinDic.Add "pen", -14873 | |
| objPinYinDic.Add "peng", -14871 | |
| objPinYinDic.Add "pi", -14857 | |
| objPinYinDic.Add "pian", -14678 | |
| objPinYinDic.Add "piao", -14674 | |
| objPinYinDic.Add "pie", -14670 | |
| objPinYinDic.Add "pin", -14668 | |
| objPinYinDic.Add "ping", -14663 | |
| objPinYinDic.Add "po", -14654 | |
| objPinYinDic.Add "pu", -14645 | |
| objPinYinDic.Add "qi", -14630 | |
| objPinYinDic.Add "qia", -14594 | |
| objPinYinDic.Add "qian", -14429 | |
| objPinYinDic.Add "qiang", -14407 | |
| objPinYinDic.Add "qiao", -14399 | |
| objPinYinDic.Add "qie", -14384 | |
| objPinYinDic.Add "qin", -14379 | |
| objPinYinDic.Add "qing", -14368 | |
| objPinYinDic.Add "qiong", -14355 | |
| objPinYinDic.Add "qiu", -14353 | |
| objPinYinDic.Add "qu", -14345 | |
| objPinYinDic.Add "quan", -14170 | |
| objPinYinDic.Add "que", -14159 | |
| objPinYinDic.Add "qun", -14151 | |
| objPinYinDic.Add "ran", -14149 | |
| objPinYinDic.Add "rang", -14145 | |
| objPinYinDic.Add "rao", -14140 | |
| objPinYinDic.Add "re", -14137 | |
| objPinYinDic.Add "ren", -14135 | |
| objPinYinDic.Add "reng", -14125 | |
| objPinYinDic.Add "ri", -14123 | |
| objPinYinDic.Add "rong", -14122 | |
| objPinYinDic.Add "rou", -14112 | |
| objPinYinDic.Add "ru", -14109 | |
| objPinYinDic.Add "ruan", -14099 | |
| objPinYinDic.Add "rui", -14097 | |
| objPinYinDic.Add "run", -14094 | |
| objPinYinDic.Add "ruo", -14092 | |
| objPinYinDic.Add "sa", -14090 | |
| objPinYinDic.Add "sai", -14087 | |
| objPinYinDic.Add "san", -14083 | |
| objPinYinDic.Add "sang", -13917 | |
| objPinYinDic.Add "sao", -13914 | |
| objPinYinDic.Add "se", -13910 | |
| objPinYinDic.Add "sen", -13907 | |
| objPinYinDic.Add "seng", -13906 | |
| objPinYinDic.Add "sha", -13905 | |
| objPinYinDic.Add "shai", -13896 | |
| objPinYinDic.Add "shan", -13894 | |
| objPinYinDic.Add "shang", -13878 | |
| objPinYinDic.Add "shao", -13870 | |
| objPinYinDic.Add "she", -13859 | |
| objPinYinDic.Add "shen", -13847 | |
| objPinYinDic.Add "sheng", -13831 | |
| objPinYinDic.Add "shi", -13658 | |
| objPinYinDic.Add "shou", -13611 | |
| objPinYinDic.Add "shu", -13601 | |
| objPinYinDic.Add "shua", -13406 | |
| objPinYinDic.Add "shuai", -13404 | |
| objPinYinDic.Add "shuan", -13400 | |
| objPinYinDic.Add "shuang", -13398 | |
| objPinYinDic.Add "shui", -13395 | |
| objPinYinDic.Add "shun", -13391 | |
| objPinYinDic.Add "shuo", -13387 | |
| objPinYinDic.Add "si", -13383 | |
| objPinYinDic.Add "song", -13367 | |
| objPinYinDic.Add "sou", -13359 | |
| objPinYinDic.Add "su", -13356 | |
| objPinYinDic.Add "suan", -13343 | |
| objPinYinDic.Add "sui", -13340 | |
| objPinYinDic.Add "sun", -13329 | |
| objPinYinDic.Add "suo", -13326 | |
| objPinYinDic.Add "ta", -13318 | |
| objPinYinDic.Add "tai", -13147 | |
| objPinYinDic.Add "tan", -13138 | |
| objPinYinDic.Add "tang", -13120 | |
| objPinYinDic.Add "tao", -13107 | |
| objPinYinDic.Add "te", -13096 | |
| objPinYinDic.Add "teng", -13095 | |
| objPinYinDic.Add "ti", -13091 | |
| objPinYinDic.Add "tian", -13076 | |
| objPinYinDic.Add "tiao", -13068 | |
| objPinYinDic.Add "tie", -13063 | |
| objPinYinDic.Add "ting", -13060 | |
| objPinYinDic.Add "tong", -12888 | |
| objPinYinDic.Add "tou", -12875 | |
| objPinYinDic.Add "tu", -12871 | |
| objPinYinDic.Add "tuan", -12860 | |
| objPinYinDic.Add "tui", -12858 | |
| objPinYinDic.Add "tun", -12852 | |
| objPinYinDic.Add "tuo", -12849 | |
| objPinYinDic.Add "wa", -12838 | |
| objPinYinDic.Add "wai", -12831 | |
| objPinYinDic.Add "wan", -12829 | |
| objPinYinDic.Add "wang", -12812 | |
| objPinYinDic.Add "wei", -12802 | |
| objPinYinDic.Add "wen", -12607 | |
| objPinYinDic.Add "weng", -12597 | |
| objPinYinDic.Add "wo", -12594 | |
| objPinYinDic.Add "wu", -12585 | |
| objPinYinDic.Add "xi", -12556 | |
| objPinYinDic.Add "xia", -12359 | |
| objPinYinDic.Add "xian", -12346 | |
| objPinYinDic.Add "xiang", -12320 | |
| objPinYinDic.Add "xiao", -12300 | |
| objPinYinDic.Add "xie", -12120 | |
| objPinYinDic.Add "xin", -12099 | |
| objPinYinDic.Add "xing", -12089 | |
| objPinYinDic.Add "xiong", -12074 | |
| objPinYinDic.Add "xiu", -12067 | |
| objPinYinDic.Add "xu", -12058 | |
| objPinYinDic.Add "xuan", -12039 | |
| objPinYinDic.Add "xue", -11867 | |
| objPinYinDic.Add "xun", -11861 | |
| objPinYinDic.Add "ya", -11847 | |
| objPinYinDic.Add "yan", -11831 | |
| objPinYinDic.Add "yang", -11798 | |
| objPinYinDic.Add "yao", -11781 | |
| objPinYinDic.Add "ye", -11604 | |
| objPinYinDic.Add "yi", -11589 | |
| objPinYinDic.Add "yin", -11536 | |
| objPinYinDic.Add "ying", -11358 | |
| objPinYinDic.Add "yo", -11340 | |
| objPinYinDic.Add "yong", -11339 | |
| objPinYinDic.Add "you", -11324 | |
| objPinYinDic.Add "yu", -11303 | |
| objPinYinDic.Add "yuan", -11097 | |
| objPinYinDic.Add "yue", -11077 | |
| objPinYinDic.Add "yun", -11067 | |
| objPinYinDic.Add "za", -11055 | |
| objPinYinDic.Add "zai", -11052 | |
| objPinYinDic.Add "zan", -11045 | |
| objPinYinDic.Add "zang", -11041 | |
| objPinYinDic.Add "zao", -11038 | |
| objPinYinDic.Add "ze", -11024 | |
| objPinYinDic.Add "zei", -11020 | |
| objPinYinDic.Add "zen", -11019 | |
| objPinYinDic.Add "zeng", -11018 | |
| objPinYinDic.Add "zha", -11014 | |
| objPinYinDic.Add "zhai", -10838 | |
| objPinYinDic.Add "zhan", -10832 | |
| objPinYinDic.Add "zhang", -10815 | |
| objPinYinDic.Add "zhao", -10800 | |
| objPinYinDic.Add "zhe", -10790 | |
| objPinYinDic.Add "zhen", -10780 | |
| objPinYinDic.Add "zheng", -10764 | |
| objPinYinDic.Add "zhi", -10587 | |
| objPinYinDic.Add "zhong", -10544 | |
| objPinYinDic.Add "zhou", -10533 | |
| objPinYinDic.Add "zhu", -10519 | |
| objPinYinDic.Add "zhua", -10331 | |
| objPinYinDic.Add "zhuai", -10329 | |
| objPinYinDic.Add "zhuan", -10328 | |
| objPinYinDic.Add "zhuang", -10322 | |
| objPinYinDic.Add "zhui", -10315 | |
| objPinYinDic.Add "zhun", -10309 | |
| objPinYinDic.Add "zhuo", -10307 | |
| objPinYinDic.Add "zi", -10296 | |
| objPinYinDic.Add "zong", -10281 | |
| objPinYinDic.Add "zou", -10274 | |
| objPinYinDic.Add "zu", -10270 | |
| objPinYinDic.Add "zuan", -10262 | |
| objPinYinDic.Add "zui", -10260 | |
| objPinYinDic.Add "zun", -10256 | |
| objPinYinDic.Add "zuo", -10254 | |
| Dim arrPinYin As Variant | |
| Dim arrPinYinCode As Variant | |
| Dim i As Integer | |
| Dim intIndex As Integer | |
| Dim intHanZiAsc As Integer | |
| Dim strResult As String | |
| strResult = "" | |
| For intIndex = 1 To Len(strHanZi) | |
| intHanZiAsc = Asc(Mid(strHanZi, intIndex, 1)) | |
| If intHanZiAsc > 0 And intHanZiAsc < 160 Then | |
| strResult = Chr(intHanZiAsc) | |
| Else | |
| If intHanZiAsc < -20319 Or intHanZiAsc > -10247 Then | |
| strResult = strResult & "" | |
| Else | |
| arrPinYin = objPinYinDic.Items | |
| arrPinYinCode = objPinYinDic.Keys | |
| For i = objPinYinDic.Count - 1 To 0 Step -1 | |
| If arrPinYin(i) <= intHanZiAsc Then Exit For | |
| Next | |
| If i >= LBound(arrPinYin) And i <= UBound(arrPinYin) Then ''防止越界 | |
| strResult = strResult & arrPinYinCode(i) | |
| Else | |
| strResult = strResult & "" | |
| End If | |
| End If | |
| End If | |
| Next | |
| gGetPinYin = strResult | |
| End Function |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
有用