Einzelnen Beitrag anzeigen

Taralos

Registriert seit: 28. Mär 2003
18 Beiträge
 
#1

Probleme beim erstellen eines Strings

  Alt 28. Mai 2003, 19:45
Hallo, habe mal wieder ein ähnliches Problem

Ich hatte mir mal einen Parser runtergeladen der mathematische Formeln umwandelt und berechnet.

Jetzt stehe ich vor folgendem Problem:
Ich lasse x bei -5 starten und habe die Funktion x^(0,5)
Diese Funktion ist ja aber erst für x >= 0 definiert. Wenn x kleiner ist kann er es nicht berechnen und es kommt eine Fehlermeldung.
Ich wollte es jetzt so machen, dass wenn es nicht funktioniert er x um 0.02 erhöht und das gleiche nochmal durchzieht, und zwar solange bis es schließlich klappt.

Dazu habe ich folgenden Quelltext geschrieben, der aber leider nicht funktioniert:
Code:
var s,t :string;
    x  : real;
    kommastellen : integer;
begin
x := -5;
y := 1;
z := 1;
Kommastellen := 2;
s := edit1.text;
While True do
          Begin
            Try
            t := Rechne(Kommastellen, s,x,y,z);
             Break;
            Except x := x +0.02; End;
          End;
Panel1.caption := t;
end;
Es soll also zuerst die Formel ausgelesen werden. Über die Funktion "rechne" wird diese umgewandelt und mit x=-5 berechnet. Da das ja nicht geht soll er x dann um 0.02 erhöhen und es wieder probieren. So lange bis es klappt. Danach soll er dann das erste Ergebnis ausgeben, also 0.
Aber das klappt nicht
Das Programm hängt sich auf, als ob es in einer Endlosschleife hängt...
Was habe ich falsch gemacht?
  Mit Zitat antworten Zitat