Thema: Delphi Val und zuweisung

Einzelnen Beitrag anzeigen

Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
472 Beiträge
 
Delphi XE6 Enterprise
 
#7

AW: Val und zuweisung

  Alt 9. Mai 2017, 07:53
Keine Ahnung was der User da in die Textdatei hinein schreibt.
Wenn es falsch ist dann kracht's.
gruss
Ich nutze für sowas folgende Funktion:

Delphi-Quellcode:
{ Konvertiert den String in eine Zahl, überliest dabei andere Buchstaben.
  So liefert SloppyStrToIntDef('Länge: 15 cm', 0) als Ergebnis die Zahl 15.
  Unterbrochene Ziffernfolgen werden allerdings nicht zusammengefügt, so dass
  SloppyStrToIntDef('1 2 3 4 5', 0) die Zahl 1 liefert und nicht etwa 12345.
}

function SloppyStrToIntDef(const s: string; default: integer): integer;
var
  i: integer;
  tmp: string;
  flag: (vorZahl, inZahl, nachZahl);
begin
  tmp := ''; flag := vorZahl;
  for i:=1 to Length(s) do begin
    if CharInSet(s[i], ['0'..'9']) then begin
      if flag = vorZahl then begin
        flag := inZahl;
        tmp := tmp + s[i];
      end
      else if flag = inZahl then
        tmp := tmp + s[i]
      else
        break;
    end
    else begin
      if flag = inZahl then
        flag := nachZahl
    end
  end;
  result := StrToIntDef(tmp, default);
end;
  Mit Zitat antworten Zitat