Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - frage zu try...except


CrimeTime - Mo 15.03.10 18:32
Titel: frage zu try...except
hiho,
ich hab n kleines problem...
ich will eine zahl aus nem edit-feld auslesen und in ne real-variable packen. soweit is das ja kein thema, nur wenn da in dem feld jetzt keine zahl steht soll das gekonnt ignoriert werden und nicht abstürzen^^
ich hab schon tausende von möglichkeiten mit try except ausprobiert, nur irgendwie will der nicht so wie ich.


Delphi-Quelltext
1:
a:= try strtofloat(edit1.text) except a:=0;                    

so ähnlich dacht ich das das hinhauen sollte, mit der Fehlermeldung kann ich nur leider nix anfangen:

[Error] Unit1.pas(88): Incompatible types: 'Real' and 'procedure, untyped pointer or untyped parameter'

ah ja und meine Hilfe funktioniert nicht, da wird nachschauen schwierig^^

grüße


der organist - Mo 15.03.10 18:36

da gibts schon was ;) (imho):


Delphi-Quelltext
1:
StrToIntDef (Edit1.Text,0);                    


und zu der Fehlermeldung; sie sagt halt:

-nicht zusammenpassende Typen Integer und procedure. Du kannst einer Integervariable natürlich keine Prozedur zuweisen.


Jakob_Ullmann - Mo 15.03.10 18:37

Ne, das läuft so:


Delphi-Quelltext
1:
2:
3:
4:
5:
try
  // Anweisungen!! Ganze Anweisungen...
except
  // falls ein Fehler (Exception) auftritt, hier nochmal ganze Anweisungen
end;


Du brauchst also sowas:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
try
  a := StrToFloat(Edit1.Text);
except
  ShowMessage('Fehler beim Konvertieren'// Meldung ausgeben; Semikolon (;) vor end; kann / sollte weggelassen werden.
  { bzw. a := 0 }
end;


edit: Da war wohl einer schneller. Trotzdem hat try-except wohl weiterhin seine Berechtigung


Xentar - Mo 15.03.10 18:38

user profile iconCrimeTime hat folgendes geschrieben Zum zitierten Posting springen:
ah ja und meine Hilfe funktioniert nicht, da wird nachschauen schwierig^^

Solltest dich dringend drum kümmern. Programmieren geht einfach nicht ohne die Hilfe Funktion


jaenicke - Mo 15.03.10 18:39

user profile iconCrimeTime hat folgendes geschrieben Zum zitierten Posting springen:
ah ja und meine Hilfe funktioniert nicht, da wird nachschauen schwierig^^
Da gibt es ja erstens die Online Hilfe und zweitens ein Update sollte es sich um D7 oder früher unter Vista/7 [http://www.delphi-library.de/viewtopic.php?p=544403] handeln...


Jakob_Ullmann - Mo 15.03.10 18:40

Tipp: Die HLP-Unterstützung kann nachgerüstet werden! http://www.microsoft.com/downloads/details.aspx?familyid=6EBCFAD9-D3F5-4365-8070-334CD175D4BB&displaylang=de


CrimeTime - Mo 15.03.10 18:53

ok klappt, danke für die vielen und vor allem schnellen antworten.
und ich benutzte D6 unter vista, werd das demnächst mal fixen mit der hilfe