Hallo Max,
durch das ständige Umwandeln zwischen String und Float erreichst du nicht das von dir gewünschte Verhalten. So wird z.B. die Eingabe '1E4' durch StrToFloat in den Wert 10000 umgewandelt, die Anwendung von FloatToStr auf diesen Wert führt dann aber nicht zum ursprünglichen Eingabestring. Auch die (versuchte) Berücksichtigung des Vorzeichens ist nicht richtig.
Vielleicht ist der folgende Code ja das, was du suchst:
Delphi-Quellcode:
procedure TForm1.Edit1Change (Sender: TObject);
function CheckEdit (aEdit: TEdit): Boolean;
var Dummy : Double;
begin
Result := (aEdit.Text = '') or TryStrToFloat(aEdit.Text, Dummy);
end;
begin
if CheckEdit(Edit1) and CheckEdit(Edit2) and CheckEdit(Edit3) then
...
end;
Gruß Hawkeye