Nein ts.Strings hat nach jedem einzelnen Schleifendurchlauf doch nen anderen Wert, da darin ja die erste Zeile der geladenen Datei steht.
Daher ist
ts.Strings[0]
richtig.
Daher der komplette Code (ungetestet):
Delphi-Quellcode:
procedure TTest_1.Button5Click(Sender: TObject);
var ts_main, ts: TStringList;
i: Integer;
begin
ts_main := TStringList.Create;
try
ts := TStringList.Create;
try
for i:= 1 to 5 do
begin
if fileExists('C:\file'+IntToStr(i)+'.txt') then begin
ts.LoadFromFile('C:\file'+IntToStr(i)+'.txt');
if ts.Count > 0 then begin
ts_main.add(ts.strings[0]);
end;
end;
end;
finally
ts.Free;
end;
ts_main.SaveToFile('C:\files.txt');
finally
ts_main.Free;
end;
end;
Eleganter wäre es aber, wenn du mit Hilfe von FindFirst, FindNext bzw. dder CodeLibary alle Dateinamen in dem Verzeichnis holst. So, kannst du ja maximal 20 Dateien laden (auf Grund der Begrenzung der Schleife).
Wie ich sehe, hattest du also gestern doch nch gar nichts gemacht! Denn du meintest das Einlesen wäre kein Problem, nur das Zusammenfügen.