Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [Problem]Nur Zahlen in einem Edit Feld (https://www.delphipraxis.net/108141-%5Bproblem%5Dnur-zahlen-einem-edit-feld.html)

xShadowBoZz 7. Feb 2008 17:25


[Problem]Nur Zahlen in einem Edit Feld
 
also ich hab hier schon ma gefragt wie man des hinkriegt das man nur zahlen in ein edit feld reinschreiben kann, das klappt ja soweit so gut. hier kommt allerdings das nächste problem.
wenn ich mich zb. vertippt habe will ich ja gern mit der lösch taste (backspace) eine zahl weg machen, dies funktioniert aba nicht, ich vermute das das daran liegt die backspace ja keine zahl ist.
mit der Taste Entf funktionierts alledings, kann mir jemand helfen das so einzustellen das ich mit backspace löschen kann?

hier Delphi Code den ich benutze:
Delphi-Quellcode:
procedure TForm2.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
if Not(Key in ['0'..'9']) then
  abort;
end;

STS301 7. Feb 2008 17:30

Re: [Problem]Nur Zahlen in einem Edit Feld
 
ich habe es zwar anderes genutzt, aber so geht es auch

Delphi-Quellcode:

case key of
    '0'..'9':;
    #8:;
    #43:; //löschen aktiviert
    #13:;
  else
    key:=#0  //mach nichts
end;
hier die Tastencodes

mkinzler 7. Feb 2008 17:39

Re: [Problem]Nur Zahlen in einem Edit Feld
 
Oder TMaskEdit verwenden

xShadowBoZz 7. Feb 2008 17:42

Re: [Problem]Nur Zahlen in einem Edit Feld
 
Zitat:

Zitat von STS301
ich habe es zwar anderes genutzt, aber so geht es auch

Delphi-Quellcode:

case key of
    '0'..'9':;
    #8:;
    #43:; //löschen aktiviert
    #13:;
  else
    key:=#0  //mach nichts
end;
hier die Tastencodes

(ich werd ma gucken was ich mit TMaskEdit hinkrieg)

bei dir im code hast du aba was falls bezeichnet, hab mir die codes auf wikipedia angeguckt.
#43 ist nicht Backspace sondern '+' #8 ist backspace.

aba danke fuer die hilfe funktioniert jetzt. =D

DeddyH 7. Feb 2008 17:42

Re: [Problem]Nur Zahlen in einem Edit Feld
 
MaskEdit ist zwar die bessere Variante (ich sage nur: Zwischenablage), aber Deinen Code kannst Du noch geringfügig erweitern:
Delphi-Quellcode:
procedure TForm2.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
if Not(Key in ['0'..'9',#8]) then
  abort;
end;
Aber wie gesagt, MaskEdit wäre besser.

STS301 7. Feb 2008 17:44

Re: [Problem]Nur Zahlen in einem Edit Feld
 
Zitat:

Zitat von xShadowBoZz
bei dir im code hast du aba was falls bezeichnet, hab mir die codes auf wikipedia angeguckt.
#43 ist nicht Backspace sondern '+' #8 ist backspace.

ups, da hab ich wohl was in die falsche Zeile geschrieben :roll:

BigManda 14. Aug 2008 18:08

Re: [Problem]Nur Zahlen in einem Edit Feld
 
Hallo Leute,
bin neu hier, ebenso wie in der Delphi Programmierung. Von daher gleich meine erste Frage :)
Ich habe mir den Thread hier zich mal durchgelesen, allerdings bei allen codes immer nur fehlermeldungen rausbekommen. Ich will in meinem edit feld nur zahlen zulassen, also keine sonder- leer oder a-z zeichen. Wie mach ich das jetzt genau? Ich raff das einfach nicht :(

DeddyH 14. Aug 2008 18:11

Re: [Problem]Nur Zahlen in einem Edit Feld
 
Hallo und Willkommen in der DP :dp:,
wie hast Du es denn versucht? Zeig mal Deinen Quellcode (und bitte in Delphi-Tags einschließen).

BigManda 14. Aug 2008 18:29

Re: [Problem]Nur Zahlen in einem Edit Feld
 
Delphi-Quellcode:
procedure TForm1.TF_RadiusChange(Sender: TObject, var Key: Char);
begin
  if Not(Key in ['0'..'9']) then
  abort;
end;

Fussball-Robby 14. Aug 2008 18:30

Re: [Problem]Nur Zahlen in einem Edit Feld
 
Und was gibts für nen Fehler?

Edit: Der Code muss ja auch ins OnKeyPress und nicht ins OnChange :wink:

BigManda 14. Aug 2008 18:32

Re: [Problem]Nur Zahlen in einem Edit Feld
 
Bei OneKeyPress kann ich nur meine drei Buttons auswählen, wie kann ich da was eigenes reinschreiben?

DeddyH 14. Aug 2008 18:35

Re: [Problem]Nur Zahlen in einem Edit Feld
 
Du hast doch ein Edit auf dem Formular. Das klíckst Du dann, gehst in den Objektinspektor auf den Reiter "Ereignisse" und machst bei "OnKeyPress" einen Doppelklick in das rechte Feld. Da gibst Du den Code ein.

Fussball-Robby 14. Aug 2008 18:36

Re: [Problem]Nur Zahlen in einem Edit Feld
 
Im OI unter Ereignisse in das Feld neben OnKeyPress doppelklicken, dann kommst du in die OnKeyPress-Methode in die der Code muss.

[Edit]*grml* :cyclops: [/Edit]

DeddyH 14. Aug 2008 18:38

Re: [Problem]Nur Zahlen in einem Edit Feld
 
[OT] Alter Mann da schneller war :mrgreen: [/OT]

BigManda 14. Aug 2008 18:40

Re: [Problem]Nur Zahlen in einem Edit Feld
 
omg, jetzt hab ichs, sry, bin aber noch ein totaler noob in Delphi :P
danke für die Hilfe, euch allen :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 Uhr.

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