Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
Delphi XE3 Enterprise
|
AW: Problem: 'ungültige Gleitkommaoperation'
7. Mär 2012, 10:00
Delphi-Quellcode:
Function SolveQuad(a,b,c:Double; Var x1,x2:Double;ShowErr:Boolean=false):Boolean;
var
uw:Double;
begin
Result := false;
uw := b * b - 4 * a * c;
try
if a<>0 then
begin
if uw>0 then
begin
x1 := (-b + Sqrt(uw)) / (2 * a);
x2 := (-b - Sqrt(uw)) / (2 * a);
Result := true;
end
else if ShowErr then Messagedlg(' Negative Wurzel',mtWarning,[mbok],0);
end
else if ShowErr then Messagedlg(' Division durch 0',mtWarning,[mbok],0);
except
on E: Exception do if ShowErr then Messagedlg(E. Message,mtError,[mbok],0);
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
var
a,b,c,d,e:Double;
begin
if TryStrToFloat(Edit1.Text,a) then
if TryStrToFloat(Edit2.Text,b) then
if TryStrToFloat(Edit3.Text,c) then
if SolveQuad(a,b,c,d,e,true) then
begin
Edit4.Text := FloatToStr(d);
Edit5.Text := FloatToStr(e);
end;
end;
Thomas Wassermann H₂♂ Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂♂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
|
|
Zitat
|