delphi中,我读取替换一个文本文件
delphi中,我读取了一个文本文件.比如:aaaaaaaaaaaaaa@year@bbbbbbbbbbb。现在我想将读出来的@year@字符替换成2010。请教该如何操...
delphi中,我读取了一个文本文件. 比如: aaaaaaaaaaaaaa@year@bbbbbbbbbbb 。现在我想将读出来的@year@字符替换成2010。请教该如何操作。本人新手, @year@的位置不固定!
代码如下!
procedure TForm1.Button4Click(Sender: TObject);
var wText: TextFile; //文本
var htmlstr:String;
var filename:String; //文件名
begin
if(OpenDialog1.Execute())then
filepath.Text:=OpenDialog1.FileName;
filename:=OpenDialog1.FileName ;
begin
AssignFile(wText,filename);
Rewrite(wText);
wText:= StringReplace(wText,'@year@','2010', [rfReplaceAll]);//这行提示出错!!!TextFile类型不能这样操作。。。请求帮助!!!
Writeln(wText,htmlstr);//写文件
CloseFile(wText);
end;
end; 展开
代码如下!
procedure TForm1.Button4Click(Sender: TObject);
var wText: TextFile; //文本
var htmlstr:String;
var filename:String; //文件名
begin
if(OpenDialog1.Execute())then
filepath.Text:=OpenDialog1.FileName;
filename:=OpenDialog1.FileName ;
begin
AssignFile(wText,filename);
Rewrite(wText);
wText:= StringReplace(wText,'@year@','2010', [rfReplaceAll]);//这行提示出错!!!TextFile类型不能这样操作。。。请求帮助!!!
Writeln(wText,htmlstr);//写文件
CloseFile(wText);
end;
end; 展开
展开全部
可以不用TxtFile类型读取操作,用TStringList读出文本,然后操作TStringList替换,替换完了后再Saveasfile.
var
vFileStr: TStringList;
vFileStr:= TStringList.create;
vFileStr.LoadFromFile(FileName);
if Trim(vFileStr.Text) = '' then Exit;
StringReplace(wText,'@year@','2010', [rfReplaceAll]);// sFileStr.SaveToFile(vFileName);
sFileStr.Free;
var
vFileStr: TStringList;
vFileStr:= TStringList.create;
vFileStr.LoadFromFile(FileName);
if Trim(vFileStr.Text) = '' then Exit;
StringReplace(wText,'@year@','2010', [rfReplaceAll]);// sFileStr.SaveToFile(vFileName);
sFileStr.Free;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个你必须要先把wText读取到一个文本变量中,Stringreplace的第一个参数是string你的wtext是FileText,完全两个不同的类型,再使用Stringreplace函数进行处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
procedure TForm1.Button1Click(Sender: TObject);
var wText,wText1: TextFile; //文本
var htmlstr:String;
var filename:String; //文件名
var filename1:String; //新文件名
begin
if OpenDialog1.Execute then
begin
filename:=OpenDialog1.FileName ;
AssignFile(wText,filename);
reset(wText);
assignfile(wText1,filename1);
reWrite(wText1);
while not eof(wText) do
begin
readln(WText,htmlstr);
htmlstr:= StringReplace(htmlstr,'@year@','2010', [rfReplaceAll]);
writeln(WText1,htmlstr);
end;
CLosefile(WText);
Closefile(WText1);
end;
end;
var wText,wText1: TextFile; //文本
var htmlstr:String;
var filename:String; //文件名
var filename1:String; //新文件名
begin
if OpenDialog1.Execute then
begin
filename:=OpenDialog1.FileName ;
AssignFile(wText,filename);
reset(wText);
assignfile(wText1,filename1);
reWrite(wText1);
while not eof(wText) do
begin
readln(WText,htmlstr);
htmlstr:= StringReplace(htmlstr,'@year@','2010', [rfReplaceAll]);
writeln(WText1,htmlstr);
end;
CLosefile(WText);
Closefile(WText1);
end;
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
stringreplace
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询