Wen es immer eine Textdatei ist, dann verwende immer die TStringList und verzichte ganz auf direkten Dateizugriff via AssignFile, Append, Writeln etc.
***
TStringList bringt fast alles mit, was Du brauchst
Delphi-Quellcode:
var
List : TStringList;
aString : String;
begin
List := TStringList.Create;
if FileExists('Testdatei.txt') then
List.LoadFromFile('Testdatei.txt');
List.Append('Das ist eine angehängte Textzeile.');
List.Append('Das ist auch eine angehängte Textzeile.');
List.Append('Das ist wieder eine angehängte Textzeile.');
ShowMessage(Format('Liste hat %d Zeilen.',[List.Count]));
List.Delete(2); // Löscht Zeile 3! Index beginnt bei 0
ShowMessage(Format('Liste hat %d Zeilen.',[List.Count]));
aString := List[0]; // Erste Zeile merken
Delete(aString, 3,2); // Dort an 3. Position 2 Zeichen löschen
List[0] := aString; // Zeile wieder in Liste
List.SaveToFile('Testdatei.txt');
List.Free;
end;
Sooo.. sollte sogar so funktionieren... also Code in einen Button kopieren und experimentieren.