为什么80%的码农都做不了架构师?>>>
varEmpty = $0000;
varNull = $0001;
varSmallint = $0002;
varInteger = $0003;
varSingle = $0004;
varDouble = $0005;
varCurrency = $0006;
varDate = $0007;
varOleStr = $0008;
varDispatch = $0009;
varError = $000A;
varBoolean = $000B;
varVariant = $000C;
varUnknown = $000D;
varShortInt = $0010;
varByte = $0011;
varWord = $0012;
varLongWord = $0013;
varInt64 = $0014;
varStrArg = $0048;
varString = $0100;
varAny = $0101;
varTypeMask = $0FFF;
varArray = $2000;
varByRef = $4000;
函数及测试如下: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs;typeTForm1 = class(TForm)procedure FormCreate(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}{函数}
function GetVarType(const v: Variant): string;
begincase VarType(v) ofvarEmpty : Result := 'Empty';varNull : Result := 'Null';varSmallint : Result := 'Smallint';varInteger : Result := 'Integer';varSingle : Result := 'Single';varDouble : Result := 'Double';varCurrency : Result := 'Currency';varDate : Result := 'Date';varOleStr : Result := 'OleStr';varDispatch : Result := 'Dispatch';varError : Result := 'Error';varBoolean : Result := 'Boolean';varVariant : Result := 'Variant';varUnknown : Result := 'Unknown';varShortInt : Result := 'ShortInt';varByte : Result := 'Byte';varWord : Result := 'Word';varLongWord : Result := 'LongWord';varInt64 : Result := 'Int64';varStrArg : Result := 'StrArg';varString : Result := 'String';varAny : Result := 'Any';varTypeMask : Result := 'TypeMask';varArray : Result := 'Array';varByRef : Result := 'ByRef';end;
end;{测试}
procedure TForm1.FormCreate(Sender: TObject);
vari: Integer;w: Word;s: string;d: Double;
beginShowMessage(GetVarType(i)); {Integer}ShowMessage(GetVarType(w)); {Word}ShowMessage(GetVarType(s)); {string}ShowMessage(GetVarType(d)); {Double}
end;end.
这里有个类似的东西: http://www.cnblogs.com/del/archive/2008/05/09/1158858.html#1190739