![]() |
falsche Eingaben abfedern
Hallo ihr, hab ne absolute Anfängerfrage:
Ich möchte gern, dass bei Eingaben die nicht vom Typ Integer sind, eine Fehlerbehandlung durch Nochmaleingabe erfolgt: try a:=StrToInt(eingabe_a.text); except eingabe_a.text:=IntToStr(a); eingabe_a.SetFocus end; Warum klappt das nicht? Danke für die Mühe. Algo |
Re: falsche Eingaben abfedern
Probiers mal mit:
Delphi-Quellcode:
try
a:=StrToInt(eingabe_a.text); except Application.MessangeBox('Die Eingabe ist ungültig.','Fehler',16); Exit; end; |
Re: falsche Eingaben abfedern
Zitat:
Delphi-Quellcode:
if not TryStrToInt(eingabe_a.Text, a) then
eingabe_a.SetFocus; |
Re: falsche Eingaben abfedern
@ sprint, danke für die Antwort,
aber klappt nicht weil StrToInt nur einen Parameter haben darf algo |
Re: falsche Eingaben abfedern
Er schrieb auch TryStrtoInt ;-)
[edit] Erster :-P :mrgreen: [/edit] |
Re: falsche Eingaben abfedern
da steht ja auch nich StrToInt, sondern TryStrToInt
// edit: verdammt, zu lahm ;) |
Re: falsche Eingaben abfedern
Hi algo05,
du musst auch TryStrToInt nehmen und nicht nur StrToInt ;) [edit] Meine Fresse :roll: Jahre zu spät [/edit] [edit2] Auch noch mit dem Edit als letzter :cry: [/edit2] |
Re: falsche Eingaben abfedern
Zitat:
|
Re: falsche Eingaben abfedern
ich habe mir folgende kleine methode zusammengebastelt:
Code:
Der Anwender wird wird bei einer Falscheingabe gezwungen
procedure TForm.EditOnExit(Sender: TObject);
var value: Double; code: Integer; begin try Val(TEdit(Sender).Text, value, code); if code <> 0 then raise EInvalidArgument.Create('Sie haben einen falschen Wert angegeben!'); TEdit(Sender).Color := clWhite; except TEdit(Sender).Color := clRed; TEdit(Sender).SetFocus; end; end; einen richtigen Wert einzugeben, bevor er im Programm weiter arbeiten kann. Kenntlich wird das ganze durch die Rotmarkierung des Edits gemacht. |
Re: falsche Eingaben abfedern
danke für die antworten, ok mein fehler, habe es jetzt korrigiert auf TryStrToInt
der Compiler sagt jetzt aber undeclared identifier bei TryStrToInt ????? Algo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 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