функция VariantBasicTypeName (varVar: Вариант): Шнур;
var
basicType : Интежер;
начните
basicType: = VarType (varVar) и VarTypeMask;
basicType случая
varEmpty : Результат: = «опорожните»;
varNull : Результат: = «Null»;
varSmallInt : Результат: = «SmallInt»;
varInteger : Результат: = «интежер»;
varSingle : Результат: = «определите»;
varDouble : Результат: = «двойник»;
varCurrency : Результат: = «валюта»;
varDate : Результат: = «дата»;
varOleStr : Результат: = «OleStr»;
varDispatch : Результат: = «отправка»;
varError : Результат: = «ошибка»;
varBoolean : Результат: = «булевско»;
varVariant : Результат: = «вариант»;
varUnknown : Результат: = «неисвестне»;
varByte : Результат: = «байт»;
{$ifdef VER140}
varWord : Результат: = «слово»;
varLongWord : Результат: = «LongWord»;
varInt64 : Результат: = «Int64»;
{$endif}
varStrArg : Результат: = «StrArg»;
varString : Результат: = «шнур»;
varAny : Результат: = «любые»;
varTypeMask : Результат: = «TypeMask»;
Другой результат: = форма («таможня (%d)», [basicType]);
конец;
конец;
функция VariantTypeName (varVar: Вариант): Шнур;
var
ExtType, I : Интежер;
начните
ExtType: = VarType (varVar);
Результат: =VariantBasicTypeName (varVar);
если (ExtType и varArray) >0 после этого
начните
Результат: =Result+'[';
для I: =1 к VarArrayDimCount (varVar) приводят к: =Result+Format («%d,», [VarArrayHighBound (varVar, I) - VarArrayLowBound (varVar, I) +1]);
Результат [длина (результат)]: = '] ';
конец;
если (ExtType и varByRef) >0 после этого приводят к:, то= ' @ ' +Result;
конец;
функция VariantAsString (varVar: Вариант): Шнур;
Var
// l: TStringList;
basicType, I, j, тусклый: Интежер;
начните
basicType: = VarType (varVar) и VarTypeMask;
если VarIsArray (varVar) после этого
начните
Затемните: =VarArrayDimCount (varVar);
если Dim>2 после этого
начните
Результат: = ' блок '+VariantTypeName (varVar);
Выход;
конец;
Результат: = ' [';
если Dim=1
После этого для I: =VarArrayLowBound (varVar, 1) к VarArrayHighBound (varVar, 1) приводит к: =Result+VariantAsString (varVar [I]) + ', '
Еще для I: =VarArrayLowBound (varVar, 1) к VarArrayHighBound (varVar, 1) сделайте
начните
Результат: =Result+#13#10 [';
для j: =VarArrayLowBound (varVar, 2) к VarArrayHighBound (varVar, 2) приводит к: =Result+VariantAsString (varVar [I, j]) + ', ';
Результат [длина (результат)]: = '] ';
Результат: =Result+, ';
конец;
Результат [длина (результат)]: = '] ';
конец еще
начните
если VarIsEmpty (varVar) после этого приводит к:, то= ' (пусто) 'еще
если VarIsNull (varVar) после этого приводит к:, то= ' (Null) 'другой результат: =VarToStr (varVar);
конец;
конец;
|