Edit: Bitte kommt mir nicht mit "StringToFloat(Excel.Cells[x, y].Value := ComboBoxFloat.Text);", denn wenn man nichts in der ComboBox stehen haben sollte, hängt sich das Programm auf, da '' ja kein Float-Wert ist.
Bevor du gleich mit Try Except prüfst, ich habe vor einiger Zeit paar Prüfroutinen programmiert. Sie prüfen ob String eine Zahl ist. Ohne Error usw. Vielleicht hilft dir das:
Delphi-Quellcode:
{ Prüft ob String ein Currencywert ist }
function IsValidCurrency(S: String): Boolean;
var
C: Currency;
begin
Result := TextToFloat(PChar(S), C, fvCurrency);
end;
{ Prüft ob String ein Extendedwert ist }
function IsValidExtended(S: String): Boolean;
var
E: Extended;
begin
Result := TextToFloat(PChar(S), E, fvExtended);
end;
Beispiele:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
begin
S := '922337203685477,5807';
if IsValidCurrency(S)
then ShowMessage(Format('%s ist eine gültige Currency Zahl', [S]))
else ShowMessage(Format('%s ist keine gültige Currency Zahl', [S]));
S := '1,1e4932';
if IsValidExtended(S)
then ShowMessage(Format('%s ist eine gültige Extended Zahl', [S]))
else ShowMessage(Format('%s ist keine gültige Extended Zahl', [S]));
end;