![]() |
Eingabe in tEdit beschränken
Hallo
die procedure, die verhindert, dass man in ein edit Feld was anderes als Zahlen eingibt habe ich im Forum schon gefunden.
Delphi-Quellcode:
Jetzt möchte ich aber noch die Eingabe eines Minuszeichen erlauben. Ein Minuszeichen darf nur einmal eingegeben werden. Auch wenn im Edit Feld schon Zahlen stehen und man drückt das Minuszeichen soll das Minuszeichen am Anfang des Terms geschrieben werden. Betätigt man öfter als ein mal das Minuszeichen soll es wieder entfert oder hinzugefügt werden.
if not (Key in ['0'..'9', #8]) then
Key := #0; Ich hab aber keine Ahnung wie ich das lösen soll. Hoffe mein Problem ist nicht zu unverständlich beschrieben. :-D |
Re: Eingabe in tEdit beschränken
So was habe ich auch schon verwendet (zumindest etwas ähnliches). Ich muss es aber zu erst auf meiner Platte suchen.
|
Re: Eingabe in tEdit beschränken
Moin Hummer,
Delphi-Quellcode:
ungetestet, und einfach hier mal reingehackt.
if (Key in ['0'..'9', #8]) or ((Key = '-') and (pos('-',Edit1.Text) = 0)) then begin
if Key = '-' then begin Edit1.Text := '-' + Edit1.Text; Key := #0; end; end else begin Key := #0; end; Im Prinip müsstest Du ja nur noch zusätzlich auf das '-' testen, dass aber nur zugelassen ist, wenn es noch nicht enthalten ist. Als Verbesserung könnte man sich noch die aktuelle Caretposition merken wenn es ein, zugelassenes, '-' war und dann wieder Herstellen. |
Re: Eingabe in tEdit beschränken
Delphi-Quellcode:
Den Code noch mit in die Keypressmethode reinstopfen. Allerdings musst du dann noch den Cursor wieder an die richtige Stelle setzen
if (key = '-') then
begin key := #0; if pos('-', Edit1.Text) < 1 then Edit1.Text := '-' + Edit1.Text else Edit1.Text := copy(Edit1.Text, 2, length(Edit1.Text)-1); end; @chris: So weit ganz gut, du musst hast aber vergessen das minuszeichen wieder zu entfernen bei erneutem press |
Re: Eingabe in tEdit beschränken
oder so:
Delphi-Quellcode:
Ist aber nicht elegant. :mrgreen:
if Key = '-' then begin Edit1.Text:=IntToStr(StrToInt(Edit1.Text)*-1)
|
Re: Eingabe in tEdit beschränken
Moin SirThornberry,
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz