Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 6576|回复: 2

汉字变拼音例子

[复制链接]

该用户从未签到

发表于 2011-1-20 12:20:40 | 显示全部楼层 |阅读模式
  1. unit PinYin;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5.   Classes, SysUtils,lconvencoding;
  6. Type
  7.     TPinYinOrd = record
  8.       PinYin   :string;
  9.       GBKVal   :Integer;
  10.     end;
  11. function PinYinCode(GBKVal:Integer):Integer;
  12. function PinYinStr(InStr:string):string;
  13. const
  14.     PinYinOrds:Array [0..395] of TPinYinOrd =
  15.     (
  16.         (PinYin:'A';GBKVal:$B0A1),
  17.         (PinYin:'Ai';GBKVal:$B0A3),
  18.         (PinYin:'An';GBKVal:$B0B0),
  19.         (PinYin:'Ang';GBKVal:$B0B9),
  20.         (PinYin:'Ao';GBKVal:$B0BC),
  21.         (PinYin:'Ba';GBKVal:$B0C5),
  22.         (PinYin:'Bai';GBKVal:$B0D7),
  23.         (PinYin:'Ban';GBKVal:$B0DF),
  24.         (PinYin:'Bang';GBKVal:$B0EE),
  25.         (PinYin:'Bao';GBKVal:$B0FA),
  26.         (PinYin:'Bei';GBKVal:$B1AD),
  27.         (PinYin:'Ben';GBKVal:$B1BC),
  28.         (PinYin:'Beng';GBKVal:$B1C0),
  29.         (PinYin:'Bi';GBKVal:$B1C6),
  30.         (PinYin:'Bian';GBKVal:$B1DE),
  31.         (PinYin:'Biao';GBKVal:$B1EA),
  32.         (PinYin:'Bie';GBKVal:$B1EE),
  33.         (PinYin:'Bin';GBKVal:$B1F2),
  34.         (PinYin:'Bing';GBKVal:$B1F8),
  35.         (PinYin:'Bo';GBKVal:$B2A3),
  36.         (PinYin:'Bu';GBKVal:$B2B8),
  37.         (PinYin:'Ca';GBKVal:$B2C1),
  38.         (PinYin:'Cai';GBKVal:$B2C2),
  39.         (PinYin:'Can';GBKVal:$B2CD),
  40.         (PinYin:'Cang';GBKVal:$B2D4),
  41.         (PinYin:'Cao';GBKVal:$B2D9),
  42.         (PinYin:'Ce';GBKVal:$B2DE),
  43.         (PinYin:'Ceng';GBKVal:$B2E3),
  44.         (PinYin:'Cha';GBKVal:$B2E5),
  45.         (PinYin:'Chai';GBKVal:$B2F0),
  46.         (PinYin:'Chan';GBKVal:$B2F3),
  47.         (PinYin:'Chang';GBKVal:$B2FD),
  48.         (PinYin:'Chao';GBKVal:$B3AC),
  49.         (PinYin:'Che';GBKVal:$B3B5),
  50.         (PinYin:'Chen';GBKVal:$B3BB),
  51.         (PinYin:'Cheng';GBKVal:$B3C5),
  52.         (PinYin:'Chi';GBKVal:$B3D4),
  53.         (PinYin:'Chong';GBKVal:$B3E4),
  54.         (PinYin:'Chou';GBKVal:$B3E9),
  55.         (PinYin:'Chu';GBKVal:$B3F5),
  56.         (PinYin:'Chuai';GBKVal:$B4A7),
  57.         (PinYin:'Chuan';GBKVal:$B4A8),
  58.         (PinYin:'Chuang';GBKVal:$B4AF),
  59.         (PinYin:'Chui';GBKVal:$B4B5),
  60.         (PinYin:'Chun';GBKVal:$B4BA),
  61.         (PinYin:'Chuo';GBKVal:$B4C1),
  62.         (PinYin:'Ci';GBKVal:$B4C3),
  63.         (PinYin:'Cong';GBKVal:$B4CF),
  64.         (PinYin:'Cou';GBKVal:$B4D5),
  65.         (PinYin:'Cu';GBKVal:$B4D6),
  66.         (PinYin:'Cuan';GBKVal:$B4DA),
  67.         (PinYin:'Cui';GBKVal:$B4DD),
  68.         (PinYin:'Cun';GBKVal:$B4E5),
  69.         (PinYin:'Cuo';GBKVal:$B4E8),
  70.         (PinYin:'Da';GBKVal:$B4EE),
  71.         (PinYin:'Dai';GBKVal:$B4F4),
  72.         (PinYin:'Dan';GBKVal:$B5A2),
  73.         (PinYin:'Dang';GBKVal:$B5B1),
  74.         (PinYin:'Dao';GBKVal:$B5B6),
  75.         (PinYin:'De';GBKVal:$B5C2),
  76.         (PinYin:'Deng';GBKVal:$B5C5),
  77.         (PinYin:'Di';GBKVal:$B5CC),
  78.         (PinYin:'Dian';GBKVal:$B5DF),
  79.         (PinYin:'Diao';GBKVal:$B5EF),
  80.         (PinYin:'Die';GBKVal:$B5F8),
  81.         (PinYin:'Ding';GBKVal:$B6A1),
  82.         (PinYin:'Diu';GBKVal:$B6AA),
  83.         (PinYin:'Dong';GBKVal:$B6AB),
  84.         (PinYin:'Dou';GBKVal:$B6B5),
  85.         (PinYin:'Du';GBKVal:$B6BC),
  86.         (PinYin:'Duan';GBKVal:$B6CB),
  87.         (PinYin:'Dui';GBKVal:$B6D1),
  88.         (PinYin:'Dun';GBKVal:$B6D5),
  89.         (PinYin:'Duo';GBKVal:$B6DE),
  90.         (PinYin:'E';GBKVal:$B6EA),
  91.         (PinYin:'En';GBKVal:$B6F7),
  92.         (PinYin:'Er';GBKVal:$B6F8),
  93.         (PinYin:'Fa';GBKVal:$B7A2),
  94.         (PinYin:'Fan';GBKVal:$B7AA),
  95.         (PinYin:'Fang';GBKVal:$B7BB),
  96.         (PinYin:'Fei';GBKVal:$B7C6),
  97.         (PinYin:'Fen';GBKVal:$B7D2),
  98.         (PinYin:'Feng';GBKVal:$B7E1),
  99.         (PinYin:'Fo';GBKVal:$B7F0),
  100.         (PinYin:'Fou';GBKVal:$B7F1),
  101.         (PinYin:'Fu';GBKVal:$B7F2),
  102.         (PinYin:'Ga';GBKVal:$B8C1),
  103.         (PinYin:'Gai';GBKVal:$B8C3),
  104.         (PinYin:'Gan';GBKVal:$B8C9),
  105.         (PinYin:'Gang';GBKVal:$B8D4),
  106.         (PinYin:'Gao';GBKVal:$B8DD),
  107.         (PinYin:'Ge';GBKVal:$B8E7),
  108.         (PinYin:'Gei';GBKVal:$B8F8),
  109.         (PinYin:'Gen';GBKVal:$B8F9),
  110.         (PinYin:'Geng';GBKVal:$B8FB),
  111.         (PinYin:'Gong';GBKVal:$B9A4),
  112.         (PinYin:'Gou';GBKVal:$B9B3),
  113.         (PinYin:'Gu';GBKVal:$B9BC),
  114.         (PinYin:'Gua';GBKVal:$B9CE),
  115.         (PinYin:'Guai';GBKVal:$B9D4),
  116.         (PinYin:'Guan';GBKVal:$B9D7),
  117.         (PinYin:'Guang';GBKVal:$B9E2),
  118.         (PinYin:'Gui';GBKVal:$B9E5),
  119.         (PinYin:'Gun';GBKVal:$B9F5),
  120.         (PinYin:'Guo';GBKVal:$B9F8),
  121.         (PinYin:'Ha';GBKVal:$B9FE),
  122.         (PinYin:'Hai';GBKVal:$BAA1),
  123.         (PinYin:'Han';GBKVal:$BAA8),
  124.         (PinYin:'Hang';GBKVal:$BABB),
  125.         (PinYin:'Hao';GBKVal:$BABE),
  126.         (PinYin:'He';GBKVal:$BAC7),
  127.         (PinYin:'Hei';GBKVal:$BAD9),
  128.         (PinYin:'Hen';GBKVal:$BADB),
  129.         (PinYin:'Heng';GBKVal:$BADF),
  130.         (PinYin:'Hong';GBKVal:$BAE4),
  131.         (PinYin:'Hou';GBKVal:$BAED),
  132.         (PinYin:'Hu';GBKVal:$BAF4),
  133.         (PinYin:'Hua';GBKVal:$BBA8),
  134.         (PinYin:'Huai';GBKVal:$BBB1),
  135.         (PinYin:'Huan';GBKVal:$BBB6),
  136.         (PinYin:'Huang';GBKVal:$BBC4),
  137.         (PinYin:'Hui';GBKVal:$BBD2),
  138.         (PinYin:'Hun';GBKVal:$BBE7),
  139.         (PinYin:'Huo';GBKVal:$BBED),
  140.         (PinYin:'Ji';GBKVal:$BBF7),
  141.         (PinYin:'Jia';GBKVal:$BCCE),
  142.         (PinYin:'Jian';GBKVal:$BCDF),
  143.         (PinYin:'Jiang';GBKVal:$BDA9),
  144.         (PinYin:'Jiao';GBKVal:$BDB6),
  145.         (PinYin:'Jie';GBKVal:$BDD2),
  146.         (PinYin:'Jin';GBKVal:$BDED),
  147.         (PinYin:'Jing';GBKVal:$BEA3),
  148.         (PinYin:'Jiong';GBKVal:$BEBC),
  149.         (PinYin:'Jiu';GBKVal:$BEBE),
  150.         (PinYin:'Ju';GBKVal:$BECF),
  151.         (PinYin:'Juan';GBKVal:$BEE8),
  152.         (PinYin:'Jue';GBKVal:$BEEF),
  153.         (PinYin:'Jun';GBKVal:$BEF9),
  154.         (PinYin:'Ka';GBKVal:$BFA6),
  155.         (PinYin:'Kai';GBKVal:$BFAA),
  156.         (PinYin:'Kan';GBKVal:$BFAF),
  157.         (PinYin:'Kang';GBKVal:$BFB5),
  158.         (PinYin:'Kao';GBKVal:$BFBC),
  159.         (PinYin:'Ke';GBKVal:$BFC0),
  160.         (PinYin:'Ken';GBKVal:$BFCF),
  161.         (PinYin:'Keng';GBKVal:$BFD3),
  162.         (PinYin:'Kong';GBKVal:$BFD5),
  163.         (PinYin:'Kou';GBKVal:$BFD9),
  164.         (PinYin:'Ku';GBKVal:$BFDD),
  165.         (PinYin:'Kua';GBKVal:$BFE4),
  166.         (PinYin:'Kuai';GBKVal:$BFE9),
  167.         (PinYin:'Kuan';GBKVal:$BFED),
  168.         (PinYin:'Kuang';GBKVal:$BFEF),
  169.         (PinYin:'Kui';GBKVal:$BFF7),
  170.         (PinYin:'Kun';GBKVal:$C0A4),
  171.         (PinYin:'Kuo';GBKVal:$C0A8),
  172.         (PinYin:'La';GBKVal:$C0AC),
  173.         (PinYin:'Lai';GBKVal:$C0B3),
  174.         (PinYin:'Lan';GBKVal:$C0B6),
  175.         (PinYin:'Lang';GBKVal:$C0C5),
  176.         (PinYin:'Lao';GBKVal:$C0CC),
  177.         (PinYin:'Le';GBKVal:$C0D5),
  178.         (PinYin:'Lei';GBKVal:$C0D7),
  179.         (PinYin:'Leng';GBKVal:$C0E2),
  180.         (PinYin:'Li';GBKVal:$C0E5),
  181.         (PinYin:'Lia';GBKVal:$C1A9),
  182.         (PinYin:'Lian';GBKVal:$C1AA),
  183.         (PinYin:'Liang';GBKVal:$C1B8),
  184.         (PinYin:'Liao';GBKVal:$C1C3),
  185.         (PinYin:'Lie';GBKVal:$C1D0),
  186.         (PinYin:'Lin';GBKVal:$C1D5),
  187.         (PinYin:'Ling';GBKVal:$C1E1),
  188.         (PinYin:'Liu';GBKVal:$C1EF),
  189.         (PinYin:'Long';GBKVal:$C1FA),
  190.         (PinYin:'Lou';GBKVal:$C2A5),
  191.         (PinYin:'Lu';GBKVal:$C2AB),
  192.         (PinYin:'Lv';GBKVal:$C2BF),
  193.         (PinYin:'Luan';GBKVal:$C2CD),
  194.         (PinYin:'Lue';GBKVal:$C2D3),
  195.         (PinYin:'Lun';GBKVal:$C2D5),
  196.         (PinYin:'Luo';GBKVal:$C2DC),
  197.         (PinYin:'Ma';GBKVal:$C2E8),
  198.         (PinYin:'Mai';GBKVal:$C2F1),
  199.         (PinYin:'Man';GBKVal:$C2F7),
  200.         (PinYin:'Mang';GBKVal:$C3A2),
  201.         (PinYin:'Mao';GBKVal:$C3A8),
  202.         (PinYin:'Me';GBKVal:$C3B4),
  203.         (PinYin:'Mei';GBKVal:$C3B5),
  204.         (PinYin:'Men';GBKVal:$C3C5),
  205.         (PinYin:'Meng';GBKVal:$C3C8),
  206.         (PinYin:'Mi';GBKVal:$C3D0),
  207.         (PinYin:'Mian';GBKVal:$C3DE),
  208.         (PinYin:'Miao';GBKVal:$C3E7),
  209.         (PinYin:'Mie';GBKVal:$C3EF),
  210.         (PinYin:'Min';GBKVal:$C3F1),
  211.         (PinYin:'Ming';GBKVal:$C3F7),
  212.         (PinYin:'Miu';GBKVal:$C3FD),
  213.         (PinYin:'Mo';GBKVal:$C3FE),
  214.         (PinYin:'Mou';GBKVal:$C4B1),
  215.         (PinYin:'Mu';GBKVal:$C4B4),
  216.         (PinYin:'Na';GBKVal:$C4C3),
  217.         (PinYin:'Nai';GBKVal:$C4CA),
  218.         (PinYin:'Nan';GBKVal:$C4CF),
  219.         (PinYin:'Nang';GBKVal:$C4D2),
  220.         (PinYin:'Nao';GBKVal:$C4D3),
  221.         (PinYin:'Ne';GBKVal:$C4D8),
  222.         (PinYin:'Nei';GBKVal:$C4D9),
  223.         (PinYin:'Nen';GBKVal:$C4DB),
  224.         (PinYin:'Neng';GBKVal:$C4DC),
  225.         (PinYin:'Ni';GBKVal:$C4DD),
  226.         (PinYin:'Nian';GBKVal:$C4E8),
  227.         (PinYin:'Niang';GBKVal:$C4EF),
  228.         (PinYin:'Niao';GBKVal:$C4F1),
  229.         (PinYin:'Nie';GBKVal:$C4F3),
  230.         (PinYin:'Nin';GBKVal:$C4FA),
  231.         (PinYin:'Ning';GBKVal:$C4FB),
  232.         (PinYin:'Niu';GBKVal:$C5A3),
  233.         (PinYin:'Nong';GBKVal:$C5A7),
  234.         (PinYin:'Nu';GBKVal:$C5AB),
  235.         (PinYin:'Nv';GBKVal:$C5AE),
  236.         (PinYin:'Nuan';GBKVal:$C5AF),
  237.         (PinYin:'Nue';GBKVal:$C5B0),
  238.         (PinYin:'Nuo';GBKVal:$C5B2),
  239.         (PinYin:'O';GBKVal:$C5B6),
  240.         (PinYin:'Ou';GBKVal:$C5B7),
  241.         (PinYin:'Pa';GBKVal:$C5BE),
  242.         (PinYin:'Pai';GBKVal:$C5C4),
  243.         (PinYin:'Pan';GBKVal:$C5CA),
  244.         (PinYin:'Pang';GBKVal:$C5D2),
  245.         (PinYin:'Pao';GBKVal:$C5D7),
  246.         (PinYin:'Pei';GBKVal:$C5DE),
  247.         (PinYin:'Pen';GBKVal:$C5E7),
  248.         (PinYin:'Peng';GBKVal:$C5E9),
  249.         (PinYin:'Pi';GBKVal:$C5F7),
  250.         (PinYin:'Pian';GBKVal:$C6AA),
  251.         (PinYin:'Piao';GBKVal:$C6AE),
  252.         (PinYin:'Pie';GBKVal:$C6B2),
  253.         (PinYin:'Pin';GBKVal:$C6B4),
  254.         (PinYin:'Ping';GBKVal:$C6B9),
  255.         (PinYin:'Po';GBKVal:$C6C2),
  256.         (PinYin:'Pu';GBKVal:$C6CB),
  257.         (PinYin:'Qi';GBKVal:$C6DA),
  258.         (PinYin:'Qia';GBKVal:$C6FE),
  259.         (PinYin:'Qian';GBKVal:$C7A3),
  260.         (PinYin:'Qiang';GBKVal:$C7B9),
  261.         (PinYin:'Qiao';GBKVal:$C7C1),
  262.         (PinYin:'Qie';GBKVal:$C7D0),
  263.         (PinYin:'Qin';GBKVal:$C7D5),
  264.         (PinYin:'Qing';GBKVal:$C7E0),
  265.         (PinYin:'Qiong';GBKVal:$C7ED),
  266.         (PinYin:'Qiu';GBKVal:$C7EF),
  267.         (PinYin:'Qu';GBKVal:$C7F7),
  268.         (PinYin:'Quan';GBKVal:$C8A6),
  269.         (PinYin:'Que';GBKVal:$C8B1),
  270.         (PinYin:'Qun';GBKVal:$C8B9),
  271.         (PinYin:'Ran';GBKVal:$C8BB),
  272.         (PinYin:'Rang';GBKVal:$C8BF),
  273.         (PinYin:'Rao';GBKVal:$C8C4),
  274.         (PinYin:'Re';GBKVal:$C8C7),
  275.         (PinYin:'Ren';GBKVal:$C8C9),
  276.         (PinYin:'Reng';GBKVal:$C8D3),
  277.         (PinYin:'Ri';GBKVal:$C8D5),
  278.         (PinYin:'Rong';GBKVal:$C8D6),
  279.         (PinYin:'Rou';GBKVal:$C8E0),
  280.         (PinYin:'Ru';GBKVal:$C8E3),
  281.         (PinYin:'Ruan';GBKVal:$C8ED),
  282.         (PinYin:'Rui';GBKVal:$C8EF),
  283.         (PinYin:'Run';GBKVal:$C8F2),
  284.         (PinYin:'Ruo';GBKVal:$C8F4),
  285.         (PinYin:'Sa';GBKVal:$C8F6),
  286.         (PinYin:'Sai';GBKVal:$C8F9),
  287.         (PinYin:'San';GBKVal:$C8FD),
  288.         (PinYin:'Sang';GBKVal:$C9A3),
  289.         (PinYin:'Sao';GBKVal:$C9A6),
  290.         (PinYin:'Se';GBKVal:$C9AA),
  291.         (PinYin:'Sen';GBKVal:$C9AD),
  292.         (PinYin:'Seng';GBKVal:$C9AE),
  293.         (PinYin:'Sha';GBKVal:$C9AF),
  294.         (PinYin:'Shai';GBKVal:$C9B8),
  295.         (PinYin:'Shan';GBKVal:$C9BA),
  296.         (PinYin:'Shang';GBKVal:$C9CA),
  297.         (PinYin:'Shao';GBKVal:$C9D2),
  298.         (PinYin:'She';GBKVal:$C9DD),
  299.         (PinYin:'Shen';GBKVal:$C9E9),
  300.         (PinYin:'Sheng';GBKVal:$C9F9),
  301.         (PinYin:'Shi';GBKVal:$CAA6),
  302.         (PinYin:'Shou';GBKVal:$CAD5),
  303.         (PinYin:'Shu';GBKVal:$CADF),
  304.         (PinYin:'Shua';GBKVal:$CBA2),
  305.         (PinYin:'Shuai';GBKVal:$CBA4),
  306.         (PinYin:'Shuan';GBKVal:$CBA8),
  307.         (PinYin:'Shuang';GBKVal:$CBAA),
  308.         (PinYin:'Shui';GBKVal:$CBAD),
  309.         (PinYin:'Shun';GBKVal:$CBB1),
  310.         (PinYin:'Shuo';GBKVal:$CBB5),
  311.         (PinYin:'Si';GBKVal:$CBB9),
  312.         (PinYin:'Song';GBKVal:$CBC9),
  313.         (PinYin:'Sou';GBKVal:$CBD1),
  314.         (PinYin:'Su';GBKVal:$CBD4),
  315.         (PinYin:'Suan';GBKVal:$CBE1),
  316.         (PinYin:'Sui';GBKVal:$CBE4),
  317.         (PinYin:'Sun';GBKVal:$CBEF),
  318.         (PinYin:'Suo';GBKVal:$CBF2),
  319.         (PinYin:'Ta';GBKVal:$CBFA),
  320.         (PinYin:'Tai';GBKVal:$CCA5),
  321.         (PinYin:'Tan';GBKVal:$CCAE),
  322.         (PinYin:'Tang';GBKVal:$CCC0),
  323.         (PinYin:'Tao';GBKVal:$CCCD),
  324.         (PinYin:'Te';GBKVal:$CCD8),
  325.         (PinYin:'Teng';GBKVal:$CCD9),
  326.         (PinYin:'Ti';GBKVal:$CCDD),
  327.         (PinYin:'Tian';GBKVal:$CCEC),
  328.         (PinYin:'Tiao';GBKVal:$CCF4),
  329.         (PinYin:'Tie';GBKVal:$CCF9),
  330.         (PinYin:'Ting';GBKVal:$CCFC),
  331.         (PinYin:'Tong';GBKVal:$CDA8),
  332.         (PinYin:'Tou';GBKVal:$CDB5),
  333.         (PinYin:'Tu';GBKVal:$CDB9),
  334.         (PinYin:'Tuan';GBKVal:$CDC4),
  335.         (PinYin:'Tui';GBKVal:$CDC6),
  336.         (PinYin:'Tun';GBKVal:$CDCC),
  337.         (PinYin:'Tuo';GBKVal:$CDCF),
  338.         (PinYin:'Wa';GBKVal:$CDDA),
  339.         (PinYin:'Wai';GBKVal:$CDE1),
  340.         (PinYin:'Wan';GBKVal:$CDE3),
  341.         (PinYin:'Wang';GBKVal:$CDF4),
  342.         (PinYin:'Wei';GBKVal:$CDFE),
  343.         (PinYin:'Wen';GBKVal:$CEC1),
  344.         (PinYin:'Weng';GBKVal:$CECB),
  345.         (PinYin:'Wo';GBKVal:$CECE),
  346.         (PinYin:'Wu';GBKVal:$CED7),
  347.         (PinYin:'Xi';GBKVal:$CEF4),
  348.         (PinYin:'Xia';GBKVal:$CFB9),
  349.         (PinYin:'Xian';GBKVal:$CFC6),
  350.         (PinYin:'Xiang';GBKVal:$CFE0),
  351.         (PinYin:'Xiao';GBKVal:$CFF4),
  352.         (PinYin:'Xie';GBKVal:$D0A8),
  353.         (PinYin:'Xin';GBKVal:$D0BD),
  354.         (PinYin:'Xing';GBKVal:$D0C7),
  355.         (PinYin:'Xiong';GBKVal:$D0D6),
  356.         (PinYin:'Xiu';GBKVal:$D0DD),
  357.         (PinYin:'Xu';GBKVal:$D0E6),
  358.         (PinYin:'Xuan';GBKVal:$D0F9),
  359.         (PinYin:'Xue';GBKVal:$D1A5),
  360.         (PinYin:'Xun';GBKVal:$D1AB),
  361.         (PinYin:'Ya';GBKVal:$D1B9),
  362.         (PinYin:'Yan';GBKVal:$D1C9),
  363.         (PinYin:'Yang';GBKVal:$D1EA),
  364.         (PinYin:'Yao';GBKVal:$D1FB),
  365.         (PinYin:'Ye';GBKVal:$D2AC),
  366.         (PinYin:'Yi';GBKVal:$D2BB),
  367.         (PinYin:'Yin';GBKVal:$D2F0),
  368.         (PinYin:'Ying';GBKVal:$D3A2),
  369.         (PinYin:'Yo';GBKVal:$D3B4),
  370.         (PinYin:'Yong';GBKVal:$D3B5),
  371.         (PinYin:'You';GBKVal:$D3C4),
  372.         (PinYin:'Yu';GBKVal:$D3D9),
  373.         (PinYin:'Yuan';GBKVal:$D4A7),
  374.         (PinYin:'Yue';GBKVal:$D4BB),
  375.         (PinYin:'Yun';GBKVal:$D4C5),
  376.         (PinYin:'Za';GBKVal:$D4D1),
  377.         (PinYin:'Zai';GBKVal:$D4D4),
  378.         (PinYin:'Zan';GBKVal:$D4DB),
  379.         (PinYin:'Zang';GBKVal:$D4DF),
  380.         (PinYin:'Zao';GBKVal:$D4E2),
  381.         (PinYin:'Ze';GBKVal:$D4F0),
  382.         (PinYin:'Zei';GBKVal:$D4F4),
  383.         (PinYin:'Zen';GBKVal:$D4F5),
  384.         (PinYin:'Zeng';GBKVal:$D4F6),
  385.         (PinYin:'Zha';GBKVal:$D4FA),
  386.         (PinYin:'Zhai';GBKVal:$D5AA),
  387.         (PinYin:'Zhan';GBKVal:$D5B0),
  388.         (PinYin:'Zhang';GBKVal:$D5C1),
  389.         (PinYin:'Zhao';GBKVal:$D5D0),
  390.         (PinYin:'Zhe';GBKVal:$D5DA),
  391.         (PinYin:'Zhen';GBKVal:$D5E4),
  392.         (PinYin:'Zheng';GBKVal:$D5F4),
  393.         (PinYin:'Zhi';GBKVal:$D6A5),
  394.         (PinYin:'Zhong';GBKVal:$D6D0),
  395.         (PinYin:'Zhou';GBKVal:$D6DB),
  396.         (PinYin:'Zhu';GBKVal:$D6E9),
  397.         (PinYin:'Zhua';GBKVal:$D7A5),
  398.         (PinYin:'Zhuai';GBKVal:$D7A7),
  399.         (PinYin:'Zhuan';GBKVal:$D7A8),
  400.         (PinYin:'Zhuang';GBKVal:$D7AE),
  401.         (PinYin:'Zhui';GBKVal:$D7B5),
  402.         (PinYin:'Zhun';GBKVal:$D7BB),
  403.         (PinYin:'Zhuo';GBKVal:$D7BD),
  404.         (PinYin:'Zi';GBKVal:$D7C8),
  405.         (PinYin:'Zong';GBKVal:$D7D7),
  406.         (PinYin:'Zou';GBKVal:$D7DE),
  407.         (PinYin:'Zu';GBKVal:$D7E2),
  408.         (PinYin:'Zuan';GBKVal:$D7EA),
  409.         (PinYin:'Zui';GBKVal:$D7EC),
  410.         (PinYin:'Zun';GBKVal:$D7F0),
  411.         (PinYin:'Zuo';GBKVal:$D7F2)
  412.     );
  413. implementation
  414. function PinYinCode(GBKVal:Integer):Integer;
  415. var
  416.     Hi,Lo,Md:Integer;
  417. begin
  418.     Hi:=high(PinYinOrds);
  419.     Lo:=0;
  420.     if (GBKVal<PinYinOrds[Lo].GBKVal) or (GBKVal>PinYinOrds[Hi].GBKVal) then
  421.     exit(-1);
  422.     while (Hi>Lo+1) do
  423.     begin
  424.         Md:=(Lo+Hi) div 2;
  425.         if GBKVal<PinYinOrds[Md].GBKVal
  426.         then Hi:=Md
  427.         else Lo:=Md;
  428.     end;
  429.     exit(Lo);
  430. end;
  431. function PinYinStr(InStr:string):string;
  432. Var
  433.     GBKStr  :string;
  434.     i,j,k   :integer;
  435. begin
  436.     GBKStr:=ConvertEncoding(InStr,GuessEncoding(InStr),'CP936');
  437.     result:='';
  438.     i:=1;
  439.     while i<length(GBKStr) do
  440.     begin
  441.       if ord(GBKStr[i])>127 then
  442.       begin
  443.           j:=ord(GBKStr[i])*256+ord(GBKStr[i+1]);
  444.           k:=PinYinCode(j);
  445.           if k>=0 then result:=result+PinYinOrds[k].PinYin;
  446.           inc(i);
  447.       end;
  448.       inc(i);
  449.     end;
  450. end;
  451. end.
复制代码

评分

参与人数 1威望 +11 收起 理由
猫工 + 11 优秀文章

查看全部评分

回复

使用道具 举报

该用户从未签到

发表于 2012-8-10 14:12:18 | 显示全部楼层
好用,赞一个。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-9-30 14:07:40 | 显示全部楼层
太高兴,这个东东也有呀,
努力学习中
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-2-14 16:26 , Processed in 0.040021 second(s), 13 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表