Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   falsche Eingaben abfedern (https://www.delphipraxis.net/37149-falsche-eingaben-abfedern.html)

algo05 1. Jan 2005 15:15


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

Torpedo 1. Jan 2005 15:20

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;

Sprint 1. Jan 2005 15:22

Re: falsche Eingaben abfedern
 
Zitat:

Zitat von algo05
Ich möchte gern, dass bei Eingaben die nicht vom Typ Integer sind, eine Fehlerbehandlung durch Nochmaleingabe erfolgt

Delphi-Quellcode:
  if not TryStrToInt(eingabe_a.Text, a) then
    eingabe_a.SetFocus;

algo05 1. Jan 2005 15:52

Re: falsche Eingaben abfedern
 
@ sprint, danke für die Antwort,

aber klappt nicht weil StrToInt nur einen Parameter haben darf

algo

Ultimator 1. Jan 2005 15:53

Re: falsche Eingaben abfedern
 
Er schrieb auch TryStrtoInt ;-)

[edit] Erster :-P :mrgreen: [/edit]

phXql 1. Jan 2005 15:53

Re: falsche Eingaben abfedern
 
da steht ja auch nich StrToInt, sondern TryStrToInt

// edit: verdammt, zu lahm ;)

Die Muhkuh 1. Jan 2005 15:53

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]

Sprint 1. Jan 2005 15:54

Re: falsche Eingaben abfedern
 
Zitat:

Zitat von algo05
aber klappt nicht weil StrToInt nur einen Parameter haben darf

Siehst du irgendwo in meinem Posting das ich die Funktion StrToInt benutzt habe? Ich nicht. Weil ich TryStrToInt genommen habe.

semo 1. Jan 2005 16:10

Re: falsche Eingaben abfedern
 
ich habe mir folgende kleine methode zusammengebastelt:
Code:
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;
Der Anwender wird wird bei einer Falscheingabe gezwungen
einen richtigen Wert einzugeben, bevor er im Programm weiter arbeiten kann.
Kenntlich wird das ganze durch die Rotmarkierung des Edits gemacht.

algo05 1. Jan 2005 16:16

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 16: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