Delphi-PRAXiS
Seite 1 von 2  1 2      

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:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:29 Uhr.
Seite 1 von 2  1 2      

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