Naja, fast...
Du weist linenum (dem neuen Wert) Sek.Count zu, der alte jedoch (Zeilenanzahl) hatte vorher den Wert Sek.Count - 1 bekommen.
Fazit:
Der Vergleich wird dann wahr, wenn eine Zeile in der Datei gelöscht wurde...
Lösung:
Delphi-Quellcode:
var Zeilenanzahl, linenum : integer;
begin
try
Sek.LoadFromFile(DreiSek);
if Zeilenanzahl = Sek.Count - 1 then
Exit;
Zeilenanzahl := Sek.Count - 1;
.......
finally ...
end;
end;
// EDIT:
Wobei ich schlicht das - 1 dort ganz weglassen würde...
// EDIT2:
Und Zeilenanzahl muss eben wie gesagt als Feld oder Eigenschaft des Formulars deklariert sein, nicht als lokale Variable (die bei jedem Aufruf wieder verworfen wird)...