Code: Alles auswählen
function IsNumber(s: string): boolean;
var
i, er: integer;
begin
Val(s, i, er);
Result := er = 0;
end;
Gibt es da schon etwas fertiges ?
Code: Alles auswählen
function IsNumber(s: string): boolean;
var
i, er: integer;
begin
Val(s, i, er);
Result := er = 0;
end;
Code: Alles auswählen
if TryStrToInt(StringGrid1.Cells[ACol, ARow], i0) and TryStrToInt(StringGrid1.Cells[BCol, BRow], i1) then begin
Result := i0 - i1;
end else begin
Result := CompareStr(StringGrid1.Cells[ACol, ARow], StringGrid1.Cells[BCol, BRow]);
end;
Code: Alles auswählen
function TryStrToInt(const s: string; out i : Longint) : boolean;
var Error : word;
begin
Val(s, i, Error);
TryStrToInt:=Error=0
end;
Code: Alles auswählen
function IsInteger(s: string) : boolean;
const digits = ['0'..'9'];
var i : integer = 1;
begin
result := true;
while result and (i<= length(s) ) do
begin
result := s[i] in digits;
if result then inc(i);
end; // while
end;
Winni hat geschrieben:Hi!
Oder ganz einfach selbst machen:Code: Alles auswählen
function IsInteger(s: string) : boolean;
const digits = ['0'..'9'];
var i : integer = 1;
begin
result := true;
while result and (i<= length(s) ) do
begin
result := s[i] in digits;
if result then inc(i);
end; // while
end;
Grüße, Winni
Code: Alles auswählen
function IsInteger(s: string): boolean; inline;
var
c: char;
begin
Result := s.length > 0;
for c in s do
if not (c in ['0'..'9']) then
exit(False); // oder Result := False; und break;
end;
Code: Alles auswählen
function IsInteger(s: string): boolean; inline;
var
c: char;
begin
Result := s.length > 0;
for c in s do
case c of
'0'..'9':
else:
exit(False); // oder Result := False; und break;
end;
end;
Code: Alles auswählen
function IsInteger(s: string): boolean; inline;
var
c: char;
begin
Result := s.length > 0;
for c in s do
if (c < '0') or (c > '9')
exit(False); // oder Result := False; und break;
end;
Code: Alles auswählen
var
str:string;
begin
str:='123A';
if strtointdef( str, -1) = -1 then
showmessage('Keine Zahl')
else
showmessage('Zahl: '+str);
end;
six1 hat geschrieben:Code: Alles auswählen
if strtointdef( str, -1) = -1 then
showmessage('Keine Zahl')
else
showmessage('Zahl: '+str);
m.fuchs hat geschrieben:Was allerdings nicht korrekt ist. So ein Einsatz von magischen Konstanten wie deine -1 ist problematisch. Was machst du wenn wirklich jemand -1 eingibt?
Timm Thaler hat geschrieben:m.fuchs hat geschrieben:Was allerdings nicht korrekt ist. So ein Einsatz von magischen Konstanten wie deine -1 ist problematisch. Was machst du wenn wirklich jemand -1 eingibt?
Dann enthält der Wert -1.
Timm Thaler hat geschrieben:Normalerweise hat man ja einen gültigen Zahlenbereich, in dem der Wert liegen kann. Und gerade Eingaben sollte man auf diesen prüfen.
wp_xyz hat geschrieben:Na dann viel Spaß beim Fehlersuchen in einem Jahr, wenn du all das hier vergessen hast und dich plötzlich wunderst, warum deine User dir empört melden, dein Programm würde die Eingabe -1 als "keine Zahl" bemängeln.