如何对TXT内的文字包抱扩中英文,按汉语拼音排序??

解决方案 »

  1.   

    可考虑把这些个字符存入一张表,然后用order by来排序
      

  2.   

    function   Tform1.GetPYIndexChar(hzchar:string):char;//HZCHAR是单个汉字,   
      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';   
                    $C2E8..$C4C2:result:='M';   
                    $C4C3..$C5B5:result:='N';   
                    $C5B6..$C5BD:result:='O';   
                    $C5BE..$C6D9:result:='P';   
                    $C6DA..$C8BA:result:='Q';   
                    $C8BB..$C8F5:result:='R';   
                    $C8F6..$CBF9:result:='S';   
                    $CBFA..$CDD9:result:='T';   
                    $CDDA..$CEF3:result:='W';   
                    $CEF4..$D188:result:='X';   
                    $D1B9..$D4D0:result:='Y';   
                    $D4D1..$D7F9:result:='Z';   
                else   
                    result:=char(0);   
          end;   
      end;
    有看到这此,但不知道怎么使用????
      

  3.   

    用TStringList,首先LoadFromFile,再逐个替换成拼音,再调用sort方法,再SaveToFile