// MicroTip#2:将中或英字符串转换为 Delphi 的 Dfm 格式
// Test in Delphi6's Dfm
// Wrtten by SkyJacker 2007.03.05
// QQ Discuss Group: 130970
// 将中或英字符串转换为 Delphi 的 Dfm 格式
// Ex: 'CnPack Delphi '#20195#30721#24341#25806' V1.0' . Maybe you can reverse it!
function StrToDfmFmt(const AStr: string): string;
const
QM = '''';
var
W: WideString;
I: Integer;
bEn: Boolean;
Len: Integer;
begin
bEn := False;
W := AStr;
Len := Length(W);
for I:=1 to Len do
begin
if Ord(W)>127 then // 如果为非普通 ascii,就认为是宽字符
begin
if bEn then
Result := Result + QM;
Result := Result + '#' + IntToStr(Ord(W[I]));
bEn := false;
end
else
begin
if not bEn then
Result := Result + QM + W
else
Result := Result + W;
if I = Len then
Result := Result + QM;
bEn := true;
end;
end;
end;Author:
Passion Time: 2007-3-12 09:25
if Ord(W)>127
这个用法还真新鲜。Author:
skyjacker Time: 2007-3-12 09:42
阿.
我的原文是:
if Ord(W)>127 then // 如果为非普通 ascii,就认为是宽字符