我要把汉字的拼音首字母写到数据库里,以方便检索

解决方案 »

  1.   

    http://blog.csdn.net/xixuemao/archive/2005/10/26/516826.aspx
      

  2.   

    function GetcsCharSpell(cs: string): char;
    begin
      Result := char(0);
      case WORD(cs[1]) * 256 + WORD(cs[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';
      end;
    end;
      

  3.   

    谢谢你!!!代码我已加入程序,也翻译了很多行 ,但是到了一行叫做   '北京顺鑫祥云制药'  的一行出现了        exception class EDBEngineError with message'missing right quote.'的错误,是什么原因。难道  鑫   不可以翻译吗
      

  4.   

    // 获取字串的拼音串
    Function GetPY(const HZString: string): string;
     var I,L:integer;
       mystr:string;
    begin
     mystr:=HZString;
     mystr:=RemoveInvalid(' ',mystr); //删除空格
     L:=length(mystr)-length(widestring(mystr));  //汉字个数
     For I:=1 to L do
      result:=result+ GetPYChar(copy(mystr,2*i-1,2));end;//单汉字首拼音字母
    Function GetPYChar(const hzchar: string): char;
    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;