Einzelnen Beitrag anzeigen

Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#19

Re: Flächensätze des Pythagoras

  Alt 14. Apr 2006, 17:19
Eine Frage noch. ^^

Ich habe den Code geändert, den vorherigen habe ich aus Versehen gelöscht.

Delphi-Quellcode:
procedure TfrmMain.btnCalculateClick(Sender: TObject);
begin
  If (Length(edtKathete1.Text) > 0) and (Length(edtHyphotenuse.Text) > 0)
  Or (Length(edtKathete2.Text) > 0) and (Length(edtHyphotenuse.Text) > 0)
  Or (Length(edtKathete1.Text) > 0) and (Length(edtKathete2.Text) > 0) then
    begin
      If btnKathete1.Checked then edtKathete1.Text := FloatToStr(sqrt(sqr(StrToFloat(edtHyphotenuse.Text))-sqr(StrToFloat(edtKathete2.Text))));
      If btnKathete2.Checked then edtKathete2.Text := FloatToStr(sqrt(sqr(StrToFloat(edtHyphotenuse.Text))-sqr(StrToFloat(edtKathete1.Text))));
      If btnHyphotenuse.Checked then edtHyphotenuse.Text := FloatToStr(hypot(StrToFloat(edtKathete1.Text),StrToFloat(edtKathete2.Text)));
      edtP.Text := FloatToStr(StrToFloat(edtKathete1.Text) * StrToFloat(edtKathete1.Text) / StrToFloat(edtHyphotenuse.Text));
      edtQ.Text := FloatToStr(StrToFloat(edtKathete2.Text) * StrToFloat(edtKathete2.Text) / StrToFloat(edtHyphotenuse.Text));
      edtHeight.Text := FloatToStr(sqrt(StrToFloat(edtP.Text) * StrToFloat(edtQ.Text)));
      edtFlaeche.Text := FloatToStr(StrToFloat(edtHyphotenuse.Text) * StrToFloat(edtHeight.Text) / 2);
      edtGamma.Text := '90 °';
    end
  Else MessageDlg('Es müssen 2 Seiten angegeben werden.', mtError, [mbOK], 0);
end;
      If btnKathete1.Checked then edtKathete1.Text := FloatToStr(sqrt(sqr(StrToFloat(edtHyphotenuse.Text))-sqr(StrToFloat(edtKathete2.Text)))); Wenn er mir das ausrechnet, die If - Bedingung also erfüllt ist, passiert folgendes, wenn ich 20 und 12 eingebe:

EInvalidOp "Invalid floating point operation".

Woran kann das liegen?
  Mit Zitat antworten Zitat