Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi EditFeld nur bestimmte Werte zulassen (https://www.delphipraxis.net/141773-editfeld-nur-bestimmte-werte-zulassen.html)

netmario 15. Okt 2009 20:01


EditFeld nur bestimmte Werte zulassen
 
Hallo,
ich möchte dass man in dem EditFeld nur Zahlen und Kommas eingeben darf und keine Buchstaben. Vielen Dank.

mkinzler 15. Okt 2009 20:05

Re: EditFeld nur bestimmte Werte zulassen
 
TMaskEdit bzw. NumbersOnly Eigenschaft in neueren Delphiversionen oder im KeyDown-Event selber abprüfen.

netmario 15. Okt 2009 20:09

Re: EditFeld nur bestimmte Werte zulassen
 
Also ich besitze D7 und bin noch ein totaler Anfänger in Delphi, ich wüsste nicht einmal wie man eine Schleife macht die die ganze Zeit überprüft ob man nicht doch etwas anderes eingibt.

mkinzler 15. Okt 2009 20:11

Re: EditFeld nur bestimmte Werte zulassen
 
Dann nimm einen TMaskEdit, da kannst du eine Editmaske vorgeben

netmario 15. Okt 2009 20:13

Re: EditFeld nur bestimmte Werte zulassen
 
Ich kann das bei den Eigenschaften nicht sehen und ich wüßte nich wie ich das sonst anwenden können außer eine Schleife zu verwenden.

mkinzler 15. Okt 2009 20:17

Re: EditFeld nur bestimmte Werte zulassen
 
Das ist eine eigene Komponente. Die genannte Eigenschaft (NumbersOnly) ist von TEdit bei Delphi ab D11(?)

netmario 15. Okt 2009 20:26

Re: EditFeld nur bestimmte Werte zulassen
 
Wenns möglich ist würde ich gerne eine andere Möglichkeit in betracht ziehen, da ich AlphaLite verwende und dort diese Komponente nicht vorhanden ist.

mkinzler 15. Okt 2009 20:29

Re: EditFeld nur bestimmte Werte zulassen
 
Dann musst du wie gesagt, bei jedem Tastendruck ermittlen, ob die Eingabe angenommen werden soll oder nicht

netmario 15. Okt 2009 20:33

Re: EditFeld nur bestimmte Werte zulassen
 
Da bin ich überfragt, ich weiß weder wie man eine Schleife erstellt noch wie man einen Tastendruck erkennt. Aber ich lerne gerne dazu^^.

Chris.R 15. Okt 2009 20:44

Re: EditFeld nur bestimmte Werte zulassen
 
Hallo,

du kannst das Event OnKeyPress benutzen und falls das Zeichen nicht erlaubt ist, dann Key einfach auf #0 setzen.

Delphi-Quellcode:
procedure TForm1.DoOnEdit1KeyDown(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9', ',', #8]) then // #8 ist die Backspace Taste
    Key := #0;
end;
Evtl musst du noch abprüfen, ob das Komma nur einmal im Text ist.

Ciao Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz