Hallo.
alzaimar meinte die Cursorposition, wenn du im Memo Strg+Ende drückst. Steht der Cursor hinter der letzten Textzeile, dann wurde diese mit einem Zeilenumbruch beendet und der hat dann eine Leerzeile am Ende deines Memo-Textes verursacht. Wie du das prüfst hat dir alzaimar im Prinzip schon gezeigt, allerdings kann man die Eigenschaft Count nicht manipulieren. So kannst du vor dem Speichern trailing whitespace aus deinem Memo entfernen:
Delphi-Quellcode:
with Memo do
begin
while (Lines.Count > 0) and (Trim(Lines[Pred(Lines.Count)]) = '') do
Lines.Delete(Pred(Lines.Count));
Lines.SaveToFile(fn);
end;
Grüße vom marabu