![]() |
Editbox funktion gesucht
hi @all!
hab ein problem mit dem onchange-ereignis bei delphi 7... hab hier ein programm geschrieben wo eine eingabe in einem editfeld mit einen ergebnis aus einer rechenaufgabe verglichen werden soll... wenn das programm startet läuft alles... aber wenn man den eintrag wieder löscht gibts ne fehlermeldung ( '' ist kein gültiger integer wert). Hab mir jetzt so gedacht das man dort einen zahlenwert automatisch einträgt, zb. 000, der dann "unsichtbar" ist oder den man überschrieben kann... gibt es eine möglichkeit das so irgendwie zu machen oder ganz anders??? hier noch ein bissel quellcode bzgl des problems:
Delphi-Quellcode:
schon mal vorab danke!
procedure TForm1.Edit3Change(Sender: TObject);
begin if strtoint(edit3.text)=x then //x ist hier der zahlenwert, mit dem verglichen werden soll... label7.Caption:='Richtig!' else label7.Caption:='?'; end; da NDR |
Re: Editbox funktion gesucht
-Prüfe vor der konvertierung auf "Leersein"
-Verwende Val() oder TryStrToInt() statt StrToInt() |
Re: Editbox funktion gesucht
und wie würde das denn jetzt genau aussehen??? mach delphi auch eher hobbymäßig und wegen der schule und kenne diese prozedure nicht...
|
Re: Editbox funktion gesucht
Ich würde das so, total simpel und ohne andere Prozedure machen,
einfach mit nem try...except block.
Delphi-Quellcode:
vll ein ganz klein wenig umständlich, aber auch nur ein bischen.
procedure TForm1.Edit3Change(Sender: TObject);
begin try if strtoint(edit3.text)=x then //x ist hier der zahlenwert, mit dem verglichen werden soll... label7.Caption:='Richtig!' else label7.Caption:='?'; except //Falls die Fehlermeldung kommt, wird label7 auch auf '?' gesetzt label7.Caption:='?'; end; end; ;-) edit: Delphi Syntaxfehler meinerseits berichtigt. |
Re: Editbox funktion gesucht
Delphi-Quellcode:
procedure TForm1.Edit3Change(Sender: TObject);
begin if edit3.text <> '' then begin if strtoint(edit3.text)=x then //x ist hier der zahlenwert, mit dem verglichen werden soll... label7.Caption:='Richtig!' else label7.Caption:='?'; end; end; Aber bedenke, dass das onChange Ereignis immer ausglöst wird wenn sich in den Text etwas ändert, also bei jedem Tastendruck. Grüße Klaus |
Re: Editbox funktion gesucht
danke danke!!!
die variante von klaus01 funzt^^ *verbeug* problem gelöst^^ |
Re: Editbox funktion gesucht
Dann gib mal was anderes wie ne Zahl ein.
|
Re: Editbox funktion gesucht
Wenn
![]() |
Re: Editbox funktion gesucht
Ich würde aber, wie weiter oben schon erwähnt, dir TryStrTo...-Versionen dem Exception-Handler vorziehen.
|
Re: Editbox funktion gesucht
Zitat:
Delphi-Quellcode:
Grüße
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin if not (key in ['0'..'9',#8]) then key:=#0; end; Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr. |
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