Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Exception Handhabung (https://www.delphipraxis.net/92288-exception-handhabung.html)

jmit 17. Mai 2007 13:39


Exception Handhabung
 
Hallo,

ich habe folgendes Problem:

Die Eingabe einer Edit-Komponente übergebe ich einer Variablen vom Typ Double.
Wenn bei der Ausführung des Programmes das Eingabefeld keinen Wert enthält, dann bekomme ich ein EConvertError.
Diese habe ich versucht abzufangen. Leider komme ich nach der Exception nicht mehr in das Eingabefeld. Das Programm läuft weiter.

Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  koerpergroesse, gewicht, bdi : Double;
begin
  try
  koerpergroesse := StrToFloat(Edit1.Text);
  except
    on EConvertError do
        begin
          ShowMessage('Es wurde kein Wert eingegeben.');
          Edit1.Focused;
        end;
    end;
...
Nach Ausgabe der ShowMessage möchte ich wieder zum Eingabefeld kommen, damit ein korrekter Wert eingegeben werden kann.
Kann mir da jemand weiterhelfen.
Vielen Dank schon einmal.

Gruß Jörg

Apollonius 17. Mai 2007 13:43

Re: Exception Handhabung
 
Ersezte edit1.focused (das ist nur eine Abfrage) durch edit1.setfocus.
Außerdem solltest du danach noch ein exit einfügen, weil sonst mit der ungültigen Körpergröße weitergearbeitet wird.

jmit 17. Mai 2007 13:46

Re: Exception Handhabung
 
Danke für die sehr schnelle Antwort, jetzt bin ich ein ganzes Stück weitergekommen.

Gruß Jörg

Hawkeye219 17. Mai 2007 13:55

Re: Exception Handhabung
 
Jörg, du solltest dir die Unit SysUtils einmal näher ansehen. Mit Hilfe der Funktion Delphi-Referenz durchsuchenTryStrToFloat kannst du dein Problem auch ohne Exception Handling lösen.

Gruß Hawkeye


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 Uhr.

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