Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#23

AW: Problem: 'ungültige Gleitkommaoperation'

  Alt 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)
  Mit Zitat antworten Zitat