zoukankan      html  css  js  c++  java
  • 为汉语名字生成首字母助记码

    {生成字符串的助记码 }

    Function GetZJM(Value: String):String;
    var
      I, L: Integer;
      C: array[0..1] of Char;
      R: Char;
    begin
      Result := '';
      L := Length(Value);
      I := 1;
      while I <= (L - 1) do
      begin
        if Value[I] <= #128 then
        begin
          Result := Result + Value[I];
          Inc(I);
        end
        else if Value[I] < #160 then
        begin
          Result := Result + Value[I];
          Inc(I,2);
        end
        else
        begin
          C[0] := Value[I];
          C[1] := Value[I + 1];
          R := GetHZM(C);
          if R <> #0 then
          Result := Result + R;
          Inc(I, 2);
        end;
      end;
      if I = L then
        Result := Result + Value[L];
    end;

    {获取汉字字符串的拼音码}

    Function GetHZM(Value: array of char): Char;
    begin
      Result := #0;
      case Byte(Value[0]) of
      176:
        case Byte(Value[1]) of
        161..196: Result := 'A';
        197..254: Result := 'B';
        end;
      177: Result := 'B';
      178:
      case Byte(Value[1]) of
        161..192: Result := 'B';
        193..205: Result := 'C';
        206: Result := 'S';
        207..254: Result := 'C';
      end;
      179: Result := 'C';
      180:
        case Byte(Value[1]) of
        161..237: Result := 'C';
        238..254: Result := 'D';
        end;
      181: Result := 'D';
      182:
        case Byte(Value[1]) of
        161..233: Result := 'D';
        234..254: Result := 'E';
        end;
      183:
        case Byte(Value[1]) of
        161: Result := 'E';
        162..254: Result := 'F';
      end;
      184:
        case Byte(Value[1]) of
        161..192: Result := 'F';
        193..254: Result := 'G';
        end;
      185:
        case Byte(Value[1]) of
        161..253: Result := 'G';
        254: Result := 'H';
        end;
      186: Result := 'H';
      187:
        case Byte(Value[1]) of
        161..246: Result := 'H';
        247..254: Result := 'J';
        end;
      188..190: Result := 'J';
      191:
        case Byte(Value[1]) of
        161..165: Result := 'J';
        166..254: Result := 'K';
        end;
      192:
        case Byte(Value[1]) of
        161..171: Result := 'K';
        172..254: Result := 'L';
        end;
      193: Result := 'L';
      194:
        case Byte(Value[1]) of
        161..231: Result := 'L';
        232..254: Result := 'M';
        end;
      195: Result := 'M';
      196:
        case Byte(Value[1]) of
        161..194: Result := 'M';
        195..254: Result := 'N';
        end;
      197:
        case Byte(Value[1]) of
        161..181: Result := 'N';
        182..189: Result := 'O';
        190..254: Result := 'P';
        end;
      198:
        case Byte(Value[1]) of
        161..217: Result := 'P';
        218..254: Result := 'Q';
        end;
      199: Result := 'Q';
      200:
        case Byte(Value[1]) of
        161..186: Result := 'Q';
        187..245: Result := 'R';
        246..254: Result := 'S';
        end;
      201..202: Result := 'S';
      203:
        case Byte(Value[1]) of
        161..249: Result := 'S';
        250..254: Result := 'T';
        end;
      204: Result := 'T';
      205:
        case Byte(Value[1]) of
        161..217: Result := 'T';
        218..254: Result := 'W';
        end;
      206:
        case Byte(Value[1]) of
        161..243: Result := 'W';
        244..254: Result := 'X';
        end;
      207..208: Result := 'X';
      209:
        case Byte(Value[1]) of
        161..184: Result := 'X';
        185..254: Result := 'Y';
        end;
      210..211: Result := 'Y';
      212:
        case Byte(Value[1]) of
        161..208: Result := 'Y';
        209..254: Result := 'Z';
        end;
      213..215: Result := 'Z';
      216..247:
        Result := ChnPy[Byte(Value[0])][Byte(Value[1]) - 160];
      end;
    end;

  • 相关阅读:
    将表单赋予对对象
    sql server 锁
    设置SQL server服务器的dbo架构
    用ILSpy查看Session.SessionID的生成算法
    c#3.0新特性
    解决文件上传插件Uploadify在火狐浏览器下,Session丢失的问题
    VS2012 集成 IL DASM IL微软中间语言查看器
    认识
    操作符重载
    博客搬家了
  • 原文地址:https://www.cnblogs.com/FuYan/p/3242926.html
Copyright © 2011-2022 走看看