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 Fehlermeldung umgehen (https://www.delphipraxis.net/14735-fehlermeldung-umgehen.html)

derhoeppi 14. Jan 2004 18:24


Fehlermeldung umgehen
 
Hallo
Mir ist jetzt noch ein zweites Problem lästig geworden.Wenn ich ein Programm starte, dass ein Edit Feld beinhaltet, welches ausgelesen wird, aber keine Zahlen enthält, kommt immer eine Fehlermeldung und ich muss Delphi über den Taskmanager beenden. Hab dafür eigentlich eine if Anweisung geschrieben, aber die zeigt er mir gar nicht.

Sie sieht so aus und steht vor dem ganzen anderen Zeug:
Delphi-Quellcode:
if edit1.text=' ' then begin
     messageDlg('Leider kein Gewicht eingegeben. Programm wird beendet.',mtwarning,[mbok],0);
     close;
    end;
Ich hab dieses Programm auch mal über die erzeugte Anwendung gestartet und da bringt er, dass ein ungültiger Gleitkommawert vorliegt.

1adavin 14. Jan 2004 18:33

Re: Fehlermeldung umgehen
 
Hallo,

versuch doch in einem try-except-end - Block.
Bei einem Fehler kann du dann entsprechend reagieren.

Delphi-Quellcode:
procedure tform1.checkEdit1;
var iWert : Integer;

begin
  try
    if edit1.text > '' then begin

       iWert := strtoint (edit1.text);

    end

    else begin
         
         tue etwas anderes .....
    end;

  except
      on e : exception do begin
         showMessage ('Fehler bei der Eingabe'+#13#10+e.message);
      end;
  end;
end;
Viel Spaß damit

Gruß

1aDavin :lol:

Luckie 14. Jan 2004 18:35

Re: Fehlermeldung umgehen
 
Vergiss den try-except-Block und mach das Leerzeichen zwischen den Hochkommas raus.

1adavin 14. Jan 2004 18:37

Re: Fehlermeldung umgehen
 
und was ist bei einer alpha-nummerischen eingabe, die nicht ok ist ?

:cry:

derhoeppi 14. Jan 2004 18:43

Re: Fehlermeldung umgehen
 
Das Entfernen des Leerzeichens zwischen den Hochkommern hat auch nichts gebracht. Ich werd dann wohl mal das mit der anderen Methode versuchen.

Luckie 14. Jan 2004 18:43

Re: Fehlermeldung umgehen
 
Mit Val (-> Hilfe) umwandeln und den dritten Parameter auf null prüfen, dann weißt du, ob es geklappt hat oder nicht.

Luckie 14. Jan 2004 18:46

Re: Fehlermeldung umgehen
 
Zitat:

Zitat von derhoeppi
Das Entfernen des Leerzeichens zwischen den Hochkommern hat auch nichts gebracht. Ich werd dann wohl mal das mit der anderen Methode versuchen.

Das kan nicht sein. Ob ein Edit leer ist oder nicht überprüft man so:
Delphi-Quellcode:
if Edit1.Text = '' then
  ShowMessage('Edit leer.');
Oder
Delphi-Quellcode:
if length(Edit1.Text) = 0 then
  ShowMessage('Edit leer.');

Arne Kamola 1. Mai 2004 12:50

Re: Fehlermeldung umgehen
 
Hallo,
ich habe das selbe Problem und weiß im Moment nicht mehr weiter:
Nach der Prüfung des Edit1 Feldes erscheint die Nachricht, dass das Feld leer ist und danach nochmal die Warnung:
Zitat:

" ist kein gültiger Integerwert
Kann man irgendwie verhindern das diese Nachricht erscheint? Ich kann mir vorstellen, das es die Benutzer irritiert.

MfG Arne :)

faux 1. Mai 2004 12:53

Re: Fehlermeldung umgehen
 
hast du etwa
Delphi-Quellcode:
length(Edit1.Text) = ''
geschrieben??

im übrigen sind das '' zwei einzelne hochkommas und nicht ein anführungszeichen (")...

Arne Kamola 1. Mai 2004 12:56

Re: Fehlermeldung umgehen
 
Nein, ich habe das andere Beispiel verwendet:
Code:
Edit1.Text = ''
MfG Arne :)

PS: Vielen dank für den Hinweis mit den Hochkommatas. :)


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