StrToInt interpretiert Zeichenfolgen, die mit einem x beginnen, als Zahl in der Hexadezimaldarstellung. Und D(Hex) ist nunmal 13(Dec).
(btw: Warum verwechseln Informatiker ständig Halloween mit Weihnachten? - Weil 31 Okt = 25 Dec ....)
Wenn du nur die Dezimaldarstellung erlauben willst, musst du wohl was eigenes basteln:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| function isDezimalZahl(aString: String): boolean; var i: integer; begin if aString = '' then result := false else begin result := true; for i := 1 to length(aString) do if not aString[i] in [0..9] then begin result := false; break; end; end; end; |
We are, we were and will not be.