Элементарно, Ватсон.
Program x2;
var
a, b, c, d: real;
id_1, id_2, id_3, i: integer;
cmd_ok, clicked: command;
Procedure wait;
begin
cmd_ok:=CreateCommand('OK', CM_OK, 1);
AddCommand(cmd_ok);
Repaint;
repeat
clicked := GetClickedCommand;
Delay(20);
until clicked = cmd_ok;
end;
begin
ShowForm;
id_1:= FormAddTextField('Ввести коэффициент a', '', 20, TF_NUMERIC);
id_2:= FormAddTextField('Ввести коэффициент b', '', 20, TF_NUMERIC);
id_3:= FormAddTextField('Ввести коэффициент c', '', 20, TF_NUMERIC);
wait;
a:=StringToReal(FormGetText(id_1), 10);
b:=StringToReal(FormGetText(id_2), 10);
c:=StringToReal(FormGetText(id_3), 10);
d:=b*b-4*a*c;
ClearForm;
i:=FormAddString('D = ' + d);
if d > 0 then
begin
i:=FormAddString('D > 0 Два корня:');
i:=FormAddString('Меньший= '+(-b-sqrt(d))/2*a);
i:=FormAddString('Больший= '+(-b+sqrt(d))/2*a);
end;
if d = 0 then i:=FormAddString('D = 0 Один корень: x='+( -b/2*a));
if d < 0 then i:=FormAddString('D < 0 Нет действительных корней');
wait;
end.
И лучше поставить высокую степень точности (погрешность до 0.000001)