起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: zykj

[搞定][请求]要取中文的拼音或汉字首字母用哪个方法**

[复制链接]
 楼主| 发表于 2007-10-31 17:23:00 | 显示全部楼层
那要如何写啊。。。555555555
回复 支持 反对

使用道具 举报

发表于 2007-10-31 17:28:27 | 显示全部楼层
可以在网上找些有源码的,当第三方组件导入进来。
回复 支持 反对

使用道具 举报

发表于 2007-10-31 17:54:27 | 显示全部楼层
下面这个函数供参考,可以正常获取汉字全拼,但是效率不是最好的
//参数说明:AString要翻译的字符串
//返回值中如果有非汉字存在原样取出
function StringtoPY(AString: string): string;
var
  lStringList: TStringList;
  I, lIndex: Integer;
  lStr: string;
begin
  lStringList := TStringList.Create;
  try
    lStringList.LoadFromFile(Business.System.JSCommon.ModulePath + 'PYCODE.DAT');
    for I := 0 to lStringList.Count - 1 do
    begin
      lStr := lStringList.Strings[I];
      lStringList.Strings[I] := lStr.Replace(StringUtils.Copy(lStr, 2, 5), '=');
    end;
    lStr := '';
    for I := 1 to AString.Length do
    begin
      lIndex := lStringList.IndexOfName(StringUtils.Copy(AString, I, 1));
      if lIndex <> -1 then
        lStr := lStr + lStringList.Values[StringUtils.Copy(AString, I, 1)]
      else
        lStr := lStr + StringUtils.Copy(AString, I, 1);
    end;
    result := lStr;
  finally
    lStringList.Free;
  end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-31 18:15:39 | 显示全部楼层
谢谢,搞定
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-29 09:49 , Processed in 0.039339 second(s), 12 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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