var
list: TStrings;
begin
list := TStringList.Create;
end;在list中已经增加了下面数据
123ggw45
12gr345
12345然后我想再往list中追加几行数据
6789
ddv
gerwgtw追加后想要得到下面的结果:
123ggw45
12gr345
123456789 //注意这里,合并了的,而直接追加这里则是两行
ddv
gerwgtw
list: TStrings;
begin
list := TStringList.Create;
end;在list中已经增加了下面数据
123ggw45
12gr345
12345然后我想再往list中追加几行数据
6789
ddv
gerwgtw追加后想要得到下面的结果:
123ggw45
12gr345
123456789 //注意这里,合并了的,而直接追加这里则是两行
ddv
gerwgtw
12gr345
123456789 //这里没有什么特别的,为什么在这里合并了?
ddv
gerwgtw
123ggw45
12gr345
12345 6789
ddv
gerwgtw 这样就简单了,处理一下首尾,然后添加剩余的
tmp : string;
I,J:integer;
begin
list:=Tstringlist.create;
list.Add('12345');
I:=list.count-1;
tmp:=list.Strings[I] + '6789';
list.Add(tmp); //这里添加的就是 123456789
list.Move(I,I+1); // 将 12345 那行 替换为 123456789 那行
J:=list.Count-1;
ShowMessage(list.Strings[J-1]); // 原来12345那行显示为 123456789
end;
tmp : string;
I,J:integer;
begin
list.Add('12345');
//假于需要合并时
list.strings[ii] =list.strings[ii] + '7899';
end;
不知道是不是这样啊
procedure TForm1.Button1Click(Sender: TObject);
var
list: TStrings;
begin
list := TStringList.Create;
list.Append('123ggw45');
list.Add('12gr345') ;
list.Add('12345') ;
Memo1.Lines:=list;
list.Destroy;
end;procedure TForm1.Button2Click(Sender: TObject);
var
list: TStrings;
begin
list := TStringList.Create;
list.AddStrings(memo1.Lines);
list.strings[list.Count-1]:=list.strings[list.Count-1]+Memo2.lines.Text;
Memo1.Lines:=list;
list.Destroy;
end;
stringlist.add('123ggw45=');
stringlist.add('12gr345 =');
stringlist.add('12345=');读值可以通过stringlist.name[i] 读取当你赋第二个时 stringlist.value('12345'):=6789;
stringlist.add('ddv=');
stringlist.add('gerwgtw=');当你想读全部时 replace '='为''或者其他方法delete 什么的。就是你想要的了
Text1,Text2:String;
list:TStrings;
begin
list := TStringList.Create; Text1 := '123ggw45'#$0D#$0A'12gr345'#$0D#$0A'12345'#$0D#$0A;
Text2 := '6789'#$0D#$0A'ddv'#$0D#$0A'gerwgtw'#$0D#$0A; Delete(Text1,Length(Text1)-1,2); list.Text := Text1 + Text2; Memo1.Lines := list;
end;