hallöle
ich bin frischer delphi progger und hab ein problemchen
hier ist meins programm
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit4: TEdit; Edit5: TEdit; Label4: TLabel; Label5: TLabel; Edit6: TEdit; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var a,b,c,x1,x2,disk:Double; begin a := StrToFloat(Edit1.Text); b := StrToFloat(Edit2.Text); c := StrToFloat(Edit3.Text); if a=0 then ShowMessage('Die Division durch Null ist nicht erlaubt!') else disk := b*b - 4*a*c; if disk < 0 then Edit6.Text:= 'keine lösung!' else if disk = 0 then begin x1 := - b / (2*a); Edit6.Text:=FloatToStr(x1); end else begin x1 := (- b + sqrt(disk)) / (2*a); x2 := (- b - sqrt(disk)) / (2*a); Edit4.Text:= FloatToStr(x1); Edit5.Text:= FloatToStr(x2); end; end;
end. |
wenn ich im feld für a eine 0 stehen habe kriege ich meine showmessage fehlermeldung wie gewollt
blöderweise gibt mir delphi dann auch noch eine fehlermeldung aus von wegen "floating point division by zero"
was habe ich falsch gemacht bzw wie kann ich diese zweite meldung unterdrücken?
danke im voraus
wacker