![]() |
editbox nur bestimtme keys zulassen
hallo leute
ich habe hier ein kleines problem! bin delphi neueinsteiger und ich möchte einer editbox nur bestimmte buchstaben erlauben, die der benutzer vorherin 3 anderen editboxen eingegeben hat. die 3 anderen boxen können jeweils nur einen buchstaben aufnehmen, sodass ich insgesamt nur 3 buchstaben bzw zeichen zulassen will. nun gibt es ja bei den editboxen von hause aus die prozedur "onkeydown" oder "onkeyup" die dann auch die gedrückte taste ausliefert! die ist aber eine zahl!? wie kann ich denn dann rausfinden welher buchstabe das ist? danke für eure hilfe komodor |
Re: editbox nur bestimtme keys zulassen
mit Goolgle nach ASCII Tabelle suchen.
Edit: Willkommen in der DP :cheers: |
Re: editbox nur bestimtme keys zulassen
so: (Hab ich grad für dich geschrieben, also sei dankbar :mrgreen: )
Delphi-Quellcode:
procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);
var i : integer; help : String; found: boolean; begin found := false; help := edit1.Text+edit2.Text+edit3.Text; for i:=1 to length(help) do if key = help[i] then found := true; if not found then key := chr(0); end; |
Re: editbox nur bestimtme keys zulassen
vielen dank für eure hilfe!
auf die idee das mit keypress zu machen bin ich nicht gekommen und keydown/ up geben die gedrückte taste als word raus! thx k0m0d0r |
Re: editbox nur bestimtme keys zulassen
Alternativ kann man im OnKeyPress auch so was einfaches schreiben wie:
Delphi-Quellcode:
Und schon kann man nur noch Zahlen eingeben :)
If not (Key in ['0'..'9']) then Key := #0;
Greetz Boombuler |
Re: editbox nur bestimtme keys zulassen
Mit deinen drei Edits wäre wahrscheinlich
![]()
Delphi-Quellcode:
if Pos(Key, Edit1.Text + Edit2.Text + Edit3.Text) = 0 then
Key := #0; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:54 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