Entwickler-Ecke
Dateizugriff - Problem Dateizugriff und Wertebereich in Rechnung
Cosmic - Di 10.12.02 19:26
Titel: Problem Dateizugriff und Wertebereich in Rechnung
Hi,
also ich habe ein Programm geschrieben das rechnet toll alles aus, was es soll! Nur bei ungünstiger Konstelation aller Eingabewerte, also manche zu groß, manche zu klein, entsteht das Problem! Denn dann kommt das Programm irgendwann zu einer Stelle wo eine Wurzel gezogen wird und der Wert ist negativ (durch die großen Anfangswerte).
So nun kann ich aber leider KEINE Abfrage ala :
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| var n: Single; code : Integer; s : string; begin s := e.text; try Val(s,n,code); except MessageBox(0,'Wertebereich überschritten','Problem',16); e.SetFocus end; if code <> 0 then begin MessageBox(0,'Fehler im Ausdruck','Problem',16); e.SetFocus end end; |
machen, weil ich insgesammt 12 Werte eingebe und wenn alle groß genug sind, gibts kein negativen Wert und somit kein Problem. Das kann ich aber erst bei der Berechnung feststellen (deswegen rechne ich das ja ;-) )
Meine Frage ist nun:
X) Ist es geschickt mit einer If Abfrage nach jedem Teilergebnis den Wert zu checken ( ob er negativ ist) oder geht das vielleicht auch bei der finalen Rechnung, wo auch die Wurzel vorkommt? Denn es werden mehrere Rechnungen mit den Werten fabriziert, wenn nur eine ein Problem hätte könnte der Rest ja angezeigt werden..
Gruß Cosmic
-----------------------------------------
Let´s Fetz heute beginnt Dein Leben
Keldorn - Di 10.12.02 19:57
Hallo,
yeahh, ein Matheproblem bei Dateizugriff ... :shock:
es wäre nicht verkehrt, genau zu wissen, WAS und wie Du was ausrechnest.
Mfg Frank
ase - Do 19.12.02 18:17
Titel: exception
Servus!
Nimm einfach einen Try...Except Block. Das sieht dann so aus:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Try x := Sqr(y); // y = -4 Except On EMathError do Begin ShowMessage('Negativer Wert unter Wurzel'); End; End; |
Das sieht dann ziemlich hässlich aus wenn du das Programm mit nem Debugger ausführst (1000e Message Boxes...) aber der Endbenutzer sieht nur diese Meldung die du da oben siehst.
Zu Try und Except findest du in der Hilfe auch einiges.
(19.12. 17:22 Tino) Code-Tags hinzugefügt.
Cosmic - Do 19.12.02 18:43
Titel: Danke
Hi,
super -- Danke! das habe ich noch nicht gewust!
Ciao Cosmic
-----------------------------------------
Let´s Fetz heute beginnt Dein Leben
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!