Hallo,
mit folgendem Code möchte ich nach der Eingabe von 10 Zeichen automatisch eine neue Zeile nach der aktuellen Zeile einfügen.
Delphi-Quellcode:
procedure TForm2.mmo1Change(Sender: TObject);
var
caretLine : Integer;
begin
mmo1.OnChange := nil;
caretLine := mmo1.CaretPos.Y;
if Length(mmo1.Lines[caretLine]) >= 10 then
mmo1.Lines.Insert(caretLine +1, '');
mmo1.OnChange := mmo1Change;
end;
Es werden aber immer zwei Zeilen eingefügt.
Füge ich die Zeile mit
mmo1.Lines.Insert(caretLine, ''); ein wird die Zeile vor der aktuellen Zeile eingefügt.
Füge ich die Zeile mit
mmo1.Lines.Insert(caretLine + 1, 'A'); ein wird die Zeile richtig eingefügt.
In der Zeile steht dann aber das
A ich hätte aber gern eine Leere Zeile.
Was mache ich denn da falsch???