Pergunta : Disposição variante de Delphi

Eu começ uma disposição variante de corda em Delphi. Como posso eu verific o que avalia foi põr no showmesage da disposição isto é ou em alguma verificação visual? class= do

Resposta : Disposição variante de Delphi

Eu uso estas funções de serviço público:

Var MyVar: Variação;

começar
 MyVar: =… // faz alguma iniciação

 ShowMessageFmt ('MyVar é do tipo %s e é valor é “#13#10'% s”,
    [VariantTypeName (MyVar), VariantAsString (MyVar)]);
extremidade;
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
função VariantBasicTypeName (varVar: Variação): Corda;
var
  basicType  : Inteiro;
começar
  basicType: = VarType (varVar) e VarTypeMask;
  basicType do caso de
    varEmpty     : Resultado: = “esvaziar”;
    varNull      : Resultado: = “zero”;
    varSmallInt  : Resultado: = “SmallInt”;
    varInteger   : Resultado: = “inteiro”;
    varSingle    : Resultado: = “escolhir”;
    varDouble    : Resultado: = “dobro”;
    varCurrency  : Resultado: = “moeda”;
    varDate      : Resultado: = “data”;
    varOleStr    : Resultado: = “OleStr”;
    varDispatch  : Resultado: = “expedição”;
    varError     : Resultado: = “erro”;
    varBoolean   : Resultado: = “bôoleano”;
    varVariant   : Resultado: = “variação”;
    varUnknown   : Resultado: = “desconhecido”;
    varByte      : Resultado: = “byte”;
{$ifdef VER140}
    varWord      : Resultado: = “palavra”;
    varLongWord  : Resultado: = “LongWord”;
    varInt64     : Resultado: = “Int64”;
{$endif}    
    varStrArg    : Resultado: = “StrArg”;
    varString    : Resultado: = “corda”;
    varAny       : Resultado: = “alguns”;
    varTypeMask  : Resultado: = “TypeMask”;
    Resultado outro: = formato (“costume (%d)”, [basicType]);
  extremidade;
extremidade;

função VariantTypeName (varVar: Variação): Corda;
var
  ExtType, i  : Inteiro;
começar
 ExtType: = VarType (varVar);
 Resultado: =VariantBasicTypeName (varVar);
 se (ExtType e varArray) >0 então
  começar
   Resultado: =Result+'[';
   para i: =1 a VarArrayDimCount (varVar) resultam: =Result+Format (“%d,”, [VarArrayHighBound (varVar, i) - VarArrayLowBound (varVar, i)+1]);
   Resultado [comprimento (resultado)]: = '] ';
  extremidade;
 se (ExtType e varByRef) >0 resultam então: = ' @ ' +Result;
extremidade;

função VariantAsString (varVar: Variação): Corda;
Var
// L: TStringList;
 basicType, i, j, não ofuscante: Inteiro;
começar
 basicType: = VarType (varVar) e VarTypeMask;
 se VarIsArray (varVar) então
  começar
   Escurecer: =VarArrayDimCount (varVar);
   se Dim>2 então
    começar
     Resultado: = ' disposição '+VariantTypeName (varVar);
     Saída;
    extremidade;
   Resultado: = ' [';
   se Dim=1
    Então para i: o =VarArrayLowBound (varVar, 1) a VarArrayHighBound (varVar, 1) resulta: =Result+VariantAsString (varVar [i]) + ', '
    Mais para i: o =VarArrayLowBound (varVar, 1) a VarArrayHighBound (varVar, 1) faz
     começar
      Resultado: =Result+#13#10  [';
      para j: o =VarArrayLowBound (varVar, 2) a VarArrayHighBound (varVar, 2) resulta: =Result+VariantAsString (varVar [i, j]) + ', ';
      Resultado [comprimento (resultado)]: = '] ';
      Resultado: =Result+, ';
     extremidade;
   Resultado [comprimento (resultado)]: = '] ';
  extremidade mais
  começar
   se VarIsEmpty (varVar) resulta então: = ' (vazio) 'mais
   se VarIsNull (varVar) resulta então: = ' (zero) 'resultado outro: =VarToStr (varVar);
  extremidade;
extremidade;
Outras soluções  
 
programming4us programming4us