Delphi-PRAXiS
Seite 2 von 4     12 34      

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 16. Okt 2009 13:36

Re: EditFeld nur bestimmte Werte zulassen
 
Vielen Dank, das hat schon mal geklappt. Was ich nicht weiß ist wie ich das mit dem Komma mache dass es nur einmal geht. Bei einem Button wüsste ich das aber bei einer Taste nicht. Vielen Dank.

Klaus01 16. Okt 2009 13:42

Re: EditFeld nur bestimmte Werte zulassen
 
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;
  if (key = ',') and (pos(',',(sender as TEdit).text) >0) then
    key := #0;
end;
[ungetestet]

Grüße
Klaus

leddl 16. Okt 2009 13:45

Re: EditFeld nur bestimmte Werte zulassen
 
Nicht zu vergessen, dass das Komma weder an erster noch an letzter Stelle stehen darf ;)
Es sei denn natürlich, man fügt für diesen Fall dann vorne oder hinten noch eine 0 ein ;)

DeddyH 16. Okt 2009 13:47

Re: EditFeld nur bestimmte Werte zulassen
 
Ich möchte nur einmal anmerken, dass ein ungültiger Text über das Einfügen aus der Zwischenablage so weiterhin möglich ist. Evtl. sollte man die Prüfung ins OnChange-Ereignis verlagern.

netmario 16. Okt 2009 13:51

Re: EditFeld nur bestimmte Werte zulassen
 
Vielen Dank, das hat geklappt, jetzt wollte ich das gleiche mit meinem Kommabutton machen(mache gerade ein Taschenrechner), aber das wollte nicht so ganz hinhauen. Wie müsste ich es da denn machen?
Edit: Das ist mir gerade aufgefallen, wie überprüfe ich die Stelle des Kommas?

leddl 16. Okt 2009 13:53

Re: EditFeld nur bestimmte Werte zulassen
 
Zitat:

Zitat von netmario
Vielen Dank, das hat geklappt, jetzt wollte ich das gleiche mit meinem Kommabutton machen(mache gerade ein Taschenrechner), aber das wollte nicht so ganz hinhauen. Wie müsste ich es da denn machen?

Du willst verhindern, dass jemand in deinen "Kommabutton" etwas anderes als Zahlen eingibt? :gruebel:

netmario 16. Okt 2009 13:58

Re: EditFeld nur bestimmte Werte zulassen
 
Nein, dass man mehrere Kommas pro Eingabe eingeben kann.

leddl 16. Okt 2009 13:59

Re: EditFeld nur bestimmte Werte zulassen
 
Zitat:

Zitat von netmario
Nein, dass man mehrere Kommas pro Eingabe eingeben kann.

Na du musst doch beim Klick einfach nur prüfen, ob bereits eines existiert. Den Code hast du doch im Prinzip schon von Klaus01 bekommen.

mkinzler 16. Okt 2009 14:01

Re: EditFeld nur bestimmte Werte zulassen
 
Eigeninitiative scheint ihm verboten worden zu sein

leddl 16. Okt 2009 14:01

Re: EditFeld nur bestimmte Werte zulassen
 
Zitat:

Zitat von mkinzler
Eigeninitiative scheint ihm verboten worden zu sein

Jepp, das Gefühl habe ich schon den ganzen Thread über ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:02 Uhr.
Seite 2 von 4     12 34      

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