procedure TForm_Main.Button19Click(Sender: TObject);
var StrList: TStringList;
begin
StrList := TStringList.Create;
StrList.LoadFromFile('c:\aaaa.txt');
StrList.Insert(5,'quark');
StrList.SaveToFile('c:\aaaa.txt');
end;
var StrList: TStringList;
begin
StrList := TStringList.Create;
StrList.LoadFromFile('c:\aaaa.txt');
StrList.Insert(5,'quark');
StrList.SaveToFile('c:\aaaa.txt');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
StrList: TStringList;
begin
StrList := TStringList.Create;
try
StrList.LoadFromFile(MyFileName);
StrList.Insert(5, MyString);
StrList.SaveToFile(MyFileName);
finally
FreeAndNil(StrList);
end;
end;
var StrList: TStringList;
i: integer;
begin
StrList := TStringList.Create;
StrList.LoadFromFile('c:\aaaa.txt');
for i:=4 to 6 do StrList.Delete(4-1);//注意:不是Delete(i-1)
StrList.SaveToFile('c:\aaaa.txt');
end;
procedure TForm_Main.Button19Click(Sender: TObject);
begin
Memo1....LoadFromFile('c:\aaaa.txt');
Memo1....Insert(5,'quark');
Memo1....SaveToFile('c:\aaaa.txt');
end;
假设有一文本内容如下:sfdsfds
dsfdsfee
.......(行数不定)
ef
efefe
*start
dsfd
dfdsff
dffde
.......(行数不定)
dsfeee
eeefe
*end
dsfdsfeefs
sfesefesfes
.......(行数不定)
efs
现在要替换*start和*end之间的内容,能给出一种最简便的解决方案吗?
var StrList: TStringList;
i, Index1, Index2: integer;
begin
StrList := TStringList.Create;
StrList.LoadFromFile('c:\aaaa.txt');
Index1 := StrList.IndexOf('*start');
Index2 := StrList.IndexOf('*end');
for i:=Index1 to Index2-2 do StrList.Delete(Index1+1);
StrList.SaveToFile('c:\aaaa.txt');
end;
用assignfile,reset,rewrite,seek就可以搞定了!
然后先读五行 写到另一个文件 再写一行你要写的 最后写完文件剩余部分
删掉原来文件就ok了