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 Zahl in Edit Feld eingeben (https://www.delphipraxis.net/86784-zahl-edit-feld-eingeben.html)

rambospike 19. Feb 2007 18:14


Zahl in Edit Feld eingeben
 
Hallo nochmal.

Ich habe ein kleines Programm geschrieben, in dem anfangs in einem edit-Feld eine Zahl eingegeben werden muss.
Jetz möchte ich aber, dass die Zahl nicht größer als 50 sein darf.
Was kann ich tun, damit bei Eingabe größerer Zahlen die Routine nicht durchläuft, sondern der Focus im edit-feld bleibt und eine Zahl zwischen 0 und 50 eingegeben werden muß?

Vielen Dank für eure Hilfe.

mkinzler 19. Feb 2007 18:17

Re: Zahl in Edit Feld eingeben
 
Könnte man im Change-Event abprüfen

Christian18 19. Feb 2007 18:19

Re: Zahl in Edit Feld eingeben
 
Hallo,

vieleicht kann ich dir damit weiterhelfen.

Delphi-Quellcode:
  var i : Integer;
begin
  // Zahl in Variable einlesen
  i:=StrToInt(Edit1.Text);

  // Prüfen, ob Zahl größer 50
  if i > 50 then
    begin
      Edit1.SetFocus;
    end
  else
    begin
      // Was hier passieren soll, liegt in deinem ermessen
    end;
end;
//
PS: Ich hoffe ich konnte dir helfen.

MFG Christian18

inherited 19. Feb 2007 18:34

Re: Zahl in Edit Feld eingeben
 
Alternativ könntest du auch die Komponente TSpinEdit benutzen. Das ist eine Art Edit, in das nur Zahlen eingegeben werden können. Der Breich ist dabei einstellbar.

rambospike 19. Feb 2007 18:53

Re: Zahl in Edit Feld eingeben
 
Hallo Christian,
dein Tip hat funktioniert.
Vielen Dank dafür.

herzliche Grüße von

rambospike

h4rt1 4. Mär 2007 15:36

Re: Zahl in Edit Feld eingeben
 
und wie kann ich festlegen, dass nur Zahlen eingetragen werden ohne das SpinEdit? Weil hab das irgendwie in meinem Delphi 7 nicht drin :)

Klaus01 4. Mär 2007 15:42

Re: Zahl in Edit Feld eingeben
 
im Ereignis onKeyPress des Editfeldes
kannst Du alle key abfangen die ungleich 0-9 sind.
Delphi-Quellcode:
if not (key in ['0'..'9',#8]) then
  key := #0;
Grüße
Klaus

FAlter 4. Mär 2007 15:48

Re: Zahl in Edit Feld eingeben
 
Hi,

Auch nicht unter Beispiele (Samples)?

Dann kuck mal unter Win32, da gibt es ein UpDown, wo du unter Associate z. B. ein Edit angeben kannst. Damit kann man den Eingabebereich auch beschränken, außerdem sieht das viel geiler aus.

Eventuell noch was kosmetisches, falls man doch ABC oder eine falschgroße Zahl* eingibt

Delphi-Quellcode:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
  Edit1.Text := IntToStr(UpDown1.Position);
end;
Zu dem Beitrag vor mir in dem roten Rahmen: Man sollte zumindest - noch erlauben.

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9', #8, '+', '-']) then
    key := #0;
end;
Mfg
FAlter

*) Geiler Neologismus!

Klaus01 4. Mär 2007 15:52

Re: Zahl in Edit Feld eingeben
 
Zitat:

Zitat von FAlter
Zu dem Beitrag vor mir in dem roten Rahmen: Man sollte zumindest - noch erlauben.

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9', #8, '+', '-']) then
    key := #0;
end;
Mfg
FAlter

*) Geiler Neologismus!

wozu?
Zitat:

Zitat von rambospike
edit-feld bleibt und eine Zahl zwischen 0 und 50

Grüße
Klaus

h4rt1 4. Mär 2007 15:53

Re: Zahl in Edit Feld eingeben
 
bzw gibts doch :P


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 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