Moin Silent,
statt Delete ginge es auch so:
Delphi-Quellcode:
if RichEdit1.Lines.Count <= 200 then exit;
RichEdit1.Lines.BeginUpdate;
try
RichEdit1.SelStart := SendMessage(RichEdit1.Handle,EM_LINEINDEX,0,0);
RichEdit1.SelLength := SendMessage(RichEdit1.Handle,EM_LINEINDEX,199,0) + length(RichEdit1.Lines[199])+2;
RichEdit1.ClearSelection;
finally
RichEdit1.Lines.EndUpdate;
end;
EM_LINEINDEX gibt die Position des ersten Zeichens der angegebenen Zeile (Parameter nach der Message, nullbasiert) zurück, deshalb wird auch für SelLength auch noch die Länge der Zeile zzgl. 2 für den Zeilenvorschub genommen.