Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi editbox nur bestimtme keys zulassen (https://www.delphipraxis.net/43402-editbox-nur-bestimtme-keys-zulassen.html)

komodor 3. Apr 2005 13:49


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

Wuaegner 3. Apr 2005 13:50

Re: editbox nur bestimtme keys zulassen
 
mit Goolgle nach ASCII Tabelle suchen.

Edit: Willkommen in der DP :cheers:

MisterNiceGuy 3. Apr 2005 14:25

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;

komodor 3. Apr 2005 15:20

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

Boombuler 4. Apr 2005 09:54

Re: editbox nur bestimtme keys zulassen
 
Alternativ kann man im OnKeyPress auch so was einfaches schreiben wie:

Delphi-Quellcode:
If not (Key in ['0'..'9']) then Key := #0;
Und schon kann man nur noch Zahlen eingeben :)

Greetz
Boombuler

Khabarakh 4. Apr 2005 11:38

Re: editbox nur bestimtme keys zulassen
 
Mit deinen drei Edits wäre wahrscheinlich Delphi-Referenz durchsuchenPos am besten:
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