Funktion VariantBasicTypeName (varVar: Variante): Schnur;
var
basicType : Ganze Zahl;
anfangen
basicType: = VarType (varVar) und VarTypeMask;
Fall basicType von
varEmpty : Resultat: = „leeren“;
varNull : Resultat: = „Null“;
varSmallInt : Resultat: = „SmallInt“;
varInteger : Resultat: = „ganze Zahl“;
varSingle : Resultat: = „aussondern“;
varDouble : Resultat: = „Doppeltes“;
varCurrency : Resultat: = „Währung“;
varDate : Resultat: = „Datum“;
varOleStr : Resultat: = „OleStr“;
varDispatch : Resultat: = „Abfertigung“;
varError : Resultat: = „Störung“;
varBoolean : Resultat: = „Boolesch“;
varVariant : Resultat: = „Variante“;
varUnknown : Resultat: = „Unbekanntes“;
varByte : Resultat: = „Byte“;
{$ifdef VER140}
varWord : Resultat: = „Wort“;
varLongWord : Resultat: = „LongWord“;
varInt64 : Resultat: = „Int64“;
{$endif}
varStrArg : Resultat: = „StrArg“;
varString : Resultat: = „Schnur“;
varAny : Resultat: = „irgendwelche“;
varTypeMask : Resultat: = „TypeMask“;
Sonst Resultat: = Format („Gewohnheit (%d)“, [basicType]);
Ende;
Ende;
Funktion VariantTypeName (varVar: Variante): Schnur;
var
ExtType, i : Ganze Zahl;
anfangen
ExtType: = VarType (varVar);
Resultat: =VariantBasicTypeName (varVar);
wenn (ExtType und varArray) >0 dann
anfangen
Resultat: =Result+'[';
für i: =1 zu VarArrayDimCount (varVar) resultieren: =Result+Format („%d,“, [VarArrayHighBound (varVar, i) - VarArrayLowBound (varVar, i)+1]);
Resultat [Länge (Resultat)]: = '] ';
Ende;
wenn (ExtType und varByRef) >0 dann resultieren: = ' @ ' +Result;
Ende;
Funktion VariantAsString (varVar: Variante): Schnur;
Var
// L: TStringList;
basicType, i, J, schwach: Ganze Zahl;
anfangen
basicType: = VarType (varVar) und VarTypeMask;
wenn VarIsArray (varVar) dann
anfangen
Verdunkeln: =VarArrayDimCount (varVar);
wenn Dim>2 dann
anfangen
Resultat: = ' Reihe '+VariantTypeName (varVar);
Ausgang;
Ende;
Resultat: = ' [';
wenn Dim=1
Dann für i: =VarArrayLowBound (varVar, 1) zu varVar VarArrayHighBound (, resultieren 1): =Result+VariantAsString (varVar [i]) + ', '
Sonst für i: =VarArrayLowBound (varVar, 1) zu varVar VarArrayHighBound (, 1) tun
anfangen
Resultat: =Result+#13#10 [';
für J: =VarArrayLowBound (varVar, 2) zu varVar VarArrayHighBound (, resultieren 2): =Result+VariantAsString (varVar [i, J]) + ', ';
Resultat [Länge (Resultat)]: = '] ';
Resultat: =Result+, ';
Ende;
Resultat [Länge (Resultat)]: = '] ';
Ende sonst
anfangen
wenn VarIsEmpty (varVar) dann resultieren: = ' (leer) 'sonst
wenn VarIsNull (varVar) dann resultieren: = ' (Null) 'sonst Resultat: =VarToStr (varVar);
Ende;
Ende;
|