Einzelnen Beitrag anzeigen

DragonDrake

Registriert seit: 29. Aug 2008
5 Beiträge
 
#1

EConvertError "Kein gültiger Gleitwert"

  Alt 29. Aug 2008, 17:43
Ich habe versucht ein pq-Formel berechnungsprogramm zu schreiben, aber immer wenn ich für p und q Zahlen eingebe und dann auf den berechnungs-Button klicke, kommt eine Fehlermeldung .
"Im Projekt Project1.exe ist eine Exception der Klasse EConvertError aufgetreten. Meldung: 'ist kein gültiger Gleitkommawert' Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen."
Kann mir vielleicht einer bei der Problemlösung helfen?
Das ist mein Unit1:



unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TpqFormelRechner = class(TForm)
EditP: TEdit;
EditQ: TEdit;
Labelx2: TLabel;
Labelx1: TLabel;
LabelPlus2: TLabel;
LabelPlus1: TLabel;
Labelx4: TLabel;
Labelx3: TLabel;
LabelPlus4: TLabel;
LabelPlus3: TLabel;
LabelP: TLabel;
LabelQ: TLabel;
LabelGleich2: TLabel;
LabelGleich1: TLabel;
LabelNull1: TLabel;
LabelNull2: TLabel;
EXEins: TEdit;
EXZwei: TEdit;
Labelx5: TLabel;
Labelx6: TLabel;
LabelGleich3: TLabel;
LabelGleich4: TLabel;
LKommentar: TLabel;
EKommentar: TEdit;
BBerechnen: TButton;
procedure BBerechnenClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
pqFormelRechner: TpqFormelRechner;

implementation

{$R *.DFM}

procedure TpqFormelRechner.BBerechnenClick(Sender: TObject);
var p,q,a,b: Real;
begin
p := strtofloat(EditP.Text);
q := strtofloat(EditQ.Text);
a := strtofloat(EXEins.Text);
b := strtofloat(EXZwei.Text);

a := (-(p/2) + sqrt(Sqr(p/2)-q));
b := (-(p/2) - sqrt(Sqr(p/2)-q));

FloatToStrF(a,ffGeneral,7,2);
FloatToStrF(b,ffGeneral,7,2);

if sqrt(Sqr(p/2)-q)<0
then begin EKommentar.Text := 'Keine Lösung';
EKommentar.Visible := True;
LKommentar.Visible := True;
end
else if sqrt(Sqr(p/2)-q)=0
then begin EKommentar.Text := 'Nur eine Lösung';
EKommentar.Visible := True;
LKommentar.Visible := True;
end
else if sqrt(Sqr(p/2)-q)>=0
then begin EKommentar.Text := 'Zwei Lösungen';
EKommentar.Visible := True;
LKommentar.Visible := True;
end

end;

end.[delphi]
  Mit Zitat antworten Zitat