Memo Zeilen Limit
-
Hallo zusammen,
ich hab ein recht "simples" Problem, aber bekomme es leider selber nicht richtig hin.
Ich habe eine normales Memo Feld das ich auf einen bestimmte Zeilenanzahl begrenzen möchte. D.h. der Benutzer soll z.b max. 6 Zeilen eingeben können.
Leider hat die Komponente keine Eigenschaft wo man die einstellen könnte.Ich hoffe irgendjemand hat eine Idee.
Bye Netzcowboy
-
Hi,
Versuch doch auf das on_change ereigniss reagieren und immer die Zeilen zu zählen,
wenn beim on_change sich das ändert dann lösche das einfach was überstehtMfG
-
Danke erstmal für deine Antwort eViLiSSiMo,
sowas in der Art hab ich mir auch schon gedacht.
Und folgendermassen Umgesetz, in dem OnKeyUp Event des Memos:if((Anschrift_Memo->Lines->Count==6)&&(Key==13)) // Abfragen ob schon 6 Zeilen vorhanden und RETURN gedrückt wird { ShowMessage("Es sind max. 6 Zeilen in der Anschrift möglich."); Anschrift_Memo->Lines->Delete(Anschrift_Memo->Lines->Count); // 7. Zeile wieder löschen }
Leider gibt es da auch ein Problem.
Ich versuch es mal an einen Beispiel zu erklären...
Mein Memo, soll max. 6 Zeilen haben.Memo Zeilen:
Test1
Test2
Test3
Test4
Test5
Test6
*Memo ist voll, soll keine weiteren Eingaben in einer neuen Zeile zulassen.
Wenn der Cursor hinter der Test6 Zeile steht und RETURN gedrückt wird, kann ich mit OnKeyUP etc. super erkennen und dann die Zeile wieder löschen.
Aber wenn der Cursor zum Beispiel hinter dem Test3 steht und dann RETURN gedrückt wird, erkennt meine Methode die Zeile zuviel und löscht den Eintrag Test6Ich müsste als vorher erkennen, dass das Memo bereits voll ist, und das RETURN-"Signal" blockieren.
Hab nur gar keine Ahnung wie ich das hinbekommen soll.
Bye Netzcowboy
-
Hallo
Memo1->Lines->Count liefert dir die Anzahl der Zeilen in deinem Memo
(pruef einfach ab ob es 6 Zeilen sind bei einem Tastendruck und ....)MfG
Klaus
-
Key kannst du auch was zuweisen (KeyPress). Wenn du 0 zuweist (ohne '') wird nix ins Memo geschrieben...
-
if((Anschrift_Memo->Lines->Count==6)&&(Key==13)) Key = 0;
-
Sag ich doch.
-
Vielen Dank für die vielen Antworten!
Es funktioniert jetzt wunderbar
Bye Netzcowboy