如何批量生成拼音码? 请问有没有批量生成拼音码的方法?例如:我想把要生成拼音码的汉字放在左边的memo里,点生成后,在右侧的memo里是每一行的拼音码。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 函数:-----------------------------function GetHzPy(const AHzStr: string): string;constChinaCode: array[0..25, 0..1] of Integer = ((1601, 1636), (1637, 1832), (1833, 2077),(2078, 2273), (2274, 2301), (2302, 2432), (2433, 2593), (2594, 2786), (9999, 0000),(2787, 3105), (3106, 3211), (3212, 3471), (3472, 3634), (3635, 3722), (3723, 3729),(3730, 3857), (3858, 4026), (4027, 4085), (4086, 4389), (4390, 4557), (9999, 0000),(9999, 0000), (4558, 4683), (4684, 4924), (4925, 5248), (5249, 5589));vari, j, HzOrd: integer;Hz: string[2];begini := 1;while i <= Length(AHzStr) dobeginif (AHzStr[i] >= #160) and (AHzStr[i + 1] >= #160) thenbeginHzOrd := (Ord(AHzStr[i]) - 160) * 100 + Ord(AHzStr[i + 1]) - 160;for j := 0 to 25 dobeginif (HzOrd >= ChinaCode[j][0]) and (HzOrd <= ChinaCode[j][1]) thenbeginResult := Result + char(byte('A') + j);break;end;end;Inc(i);end else Result := Result + AHzStr[i];Inc(i);end;end;调用:---------------------------procedure TForm1.Button1Click(Sender: TObject);begin Edit2.Text := GetHzPy(Edit1.Text);end;//delphi6 下测试通过 请问各位大虾,四舍五入取值用什么函数?? 列表字段值自动累计问题 我骂人 被封了 请教一个查询问题 有用过王寒松的"中国式报表"控件的兄弟吗? delphi7升级到delphi XE下的问题 怎样表示一个ascii值为0的字符? 请问如何将QReport的预览存成一个bmp图片,或者是txt文件,或者其他? TLabel组件能否显示出彩色字符串? 65分求救。。。 我的delphi6不出提示了!! 求救!!!!!!!!如何在delphi7下安装delphix
-----------------------------
function GetHzPy(const AHzStr: string): string;
const
ChinaCode: array[0..25, 0..1] of Integer = ((1601, 1636), (1637, 1832), (1833, 2077),
(2078, 2273), (2274, 2301), (2302, 2432), (2433, 2593), (2594, 2786), (9999, 0000),
(2787, 3105), (3106, 3211), (3212, 3471), (3472, 3634), (3635, 3722), (3723, 3729),
(3730, 3857), (3858, 4026), (4027, 4085), (4086, 4389), (4390, 4557), (9999, 0000),
(9999, 0000), (4558, 4683), (4684, 4924), (4925, 5248), (5249, 5589));
var
i, j, HzOrd: integer;
Hz: string[2];
begin
i := 1;
while i <= Length(AHzStr) do
begin
if (AHzStr[i] >= #160) and (AHzStr[i + 1] >= #160) then
begin
HzOrd := (Ord(AHzStr[i]) - 160) * 100 + Ord(AHzStr[i + 1]) - 160;
for j := 0 to 25 do
begin
if (HzOrd >= ChinaCode[j][0]) and (HzOrd <= ChinaCode[j][1]) then
begin
Result := Result + char(byte('A') + j);
break;
end;
end;
Inc(i);
end else Result := Result + AHzStr[i];
Inc(i);
end;
end;调用:
---------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text := GetHzPy(Edit1.Text);
end;//delphi6 下测试通过