Yo recuerdo que hace muchísimo tiempo hacía esto con una función que me inventé;
Código Delphi
[-]
function IsInteger(const ATexto: string)boolean;
begin
Result:= True;
Try
StrToInt(ATexto)
Except
Result:= False
end;
end;
O algo así, ya no me acuerdo.