Чет не пойму, зачем столько раз записывать в переменные значения из EditX.text.
Не проще так:
Код:
var fl:boolean;
a:= StrToFloat(Edit1.Text);
b:= StrToFloat(Edit2.Text);
c:= StrToFloat(Edit3.Text);
fl:=true;
if a<0 then
begin
fl:=false;
showmessage('A отрицательно, введите другое.');
end
else
showmessage('A подходит');
if b<0 then
begin
fl:=false;
showmessage('b отрицательно, введите другое.');
end
else
showmessage('b подходит');
if c<0 then
begin
fl:=false;
showmessage('C отрицательно, введите другое.');
end
else
showmessage('C подходит');
if fl then
begin
//тут решение уравнения
end;