@idontwantaname (warum eigentlich nicht?
): Theoretisch hat barfoos ja Recht. Die Frage war "Geht das"
Im Ernst: in Delphi 7 sind jede Menge TryStrTo...-Funktionen enthalten. Damit kannst du versuchen, einen String in einen anderen Typ umzuwandeln. Mit diesen Funktionen kannst du dir auch Is...-Funktionen schreiben:
Delphi-Quellcode:
function IsInteger(const aValue: String): Boolean;
var
aInt: Integer;
begin
Result := TryStrToInt(aValue, aInt);
end;
Fuer die anderen Typen gehts natuerlich genauso. Ab welcher Delphi-Version diese Funktionen dabei sind, weiss ich allerdings nicht.
Wenn du jetzt aber den Typen einer Variable pruefen willst, gibts ausser Variants keinen Weg. Fuer Funktionen die an einen bestimmten Typen gebunden sind, gibts aber Ueberladung:
Delphi-Quellcode:
function Foo(Bar: String): Boolean; overload;
function Foo(Bar: Integer): Boolean; overload;
Die Aufrufe sehn dann so aus:
Delphi-Quellcode:
Foo('SomeValue');
Foo(0);
Die Funktion musst du natuerlich fuer jeden moeglichen Datentypen implementieren.
Greetz
alcaeus