如何在文本文件的任意指定的地方插入或替换?100分 (100分)

  • 主题发起人 主题发起人 轻音乐
  • 开始时间 开始时间

轻音乐

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在文本文件的任意指定的地方插入或替换?100分 
 
procedure TForm1.Button1Click(Sender: TObject);
var
Sl: TStringList;
begin
Sl:= TStringList.Create;
sl.Add('123');
sl.Add('234');
sl.Add('567');
sl.Insert(1,'1234');//指定位置插入
sl[2]:='5678';//替换
sl.Free;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
Sl: TStringList;
begin
Sl:= TStringList.Create;
sl.Add('123');
sl.Add('234');
sl.Add('567');
sl.Insert(1,'1234');//指定位置插入
sl[2]:='5678';//替换
sl.Free;
end;
 
panyongze你好:
sl.Insert(1,'1234');//指定位置插入中的1代表什么
sl[2]:='5678';//替换  [2]代表什么

能把替换详细说一下吗,如何确定位置,如何查找到符合条件的位置,详细些好吗。谢谢
 
sl.Insert(1,'1234');//指定位置插入中的1代表什么
sl[2]:='5678';//替换  [2]代表什么
1和2都是索引号。索引号从0开始,因此1代表第二行字符串。

先用记事本建立一个文本文件aa.txt,内容如下:
123
234
345
456

下面的代码把会在234上面加入一行aaaa,并查找345替换成99999。
procedure TForm1.Button1Click(Sender: TObject);
var
Sl: TStringList;
i:integer;
begin
Sl:= TStringList.Create;
sl.LoadFromFile('e:/aa.txt');
sl.Insert(1,'aaaa');//指定位置插入
i:=sl.IndexOf('345');
if i=-1 then begin
sl.Add('345'); //如果没找到则增加一行。
end else begin
sl:='99999'; //如果找到了就替换。
end;
sl.SaveToFile('e:/aa1.txt');
sl.Free;
end;


 
panyongze你好:感谢你的回答。
我试了一下可以实现,不过如果c:\aaa.txt是这样的呢?
111,222,333 444
555 666 777
888 999
如果要找666可不可以直接找到呢,还有如果要在888后面或前面插入可以直接实现吗?
谢谢
 
老兄你是不是在考验我的耐性啊!
666无法直接找到!使用pos函数可以查找子串。
 
panyongze你好:感谢你的耐性。我以前没用过Tstringlist,什么书上有介绍。
交个朋友吧。 fl-2000@yeah.net oicq:12359027
再次谢谢
 
后退
顶部