Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#4

AW: Float Edit-Feld

  Alt 19. Jan 2012, 22:18
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;
  Mit Zitat antworten Zitat