【发布时间】:2013-11-24 12:19:38
【问题描述】:
您好,我在用 Inno Setup(基于 Delphi)替换文本文件中的文本时遇到问题。
我的代码:
procedure FileReplaceString(const FileName, searchstring, replacestring: string);
var
fs: TFileStream;
S: string;
begin
fs := TFileStream.Create(FileName, fmOpenread or fmShareDenyNone);
try
SetLength(S, fs.Size);
fs.ReadBuffer(S[1], fs.Size);
finally
fs.Free;
end;
{ the compiler stops here with: unknown identifier 'StringReplace' }
S := StringReplace(S, SearchString, replaceString, [rfReplaceAll, rfIgnoreCase]);
fs := TFileStream.Create(FileName, fmCreate);
try
fs.WriteBuffer(S[1], Length(S));
finally
fs.Free;
end;
end;
我发现我必须改用StringChange(),但我不知道如何在我的代码中使用它。我不太了解 Delphi 或 Inno Setup。
我希望你能帮助我。
【问题讨论】:
-
Inno Setup != Delphi。 Inno Setup 是在 Delphi 中编译的,但它使用自己的基于 Pascal 脚本的语言。 -
感谢您的回答。那么我现在应该如何更改我的代码。
-
输入文件是否包含 Unicode 文本?
-
StringChange(s, SearchString, replaceString, True)