Frage : Delphi-verschiedene Reihe

Ich habe eine verschiedene Reihe Schnur in Delphi. Wie kann ich überprüfen, was sind gesetzt worden in das Reihe d.h. showmesage oder in irgendein Sichtprüfen bewertet?

Antwort : Delphi-verschiedene Reihe

Ich verwende diese Dienstprogrammfunktionen:

Var MyVar: Variante;

anfangen
 MyVar: =… // tun etwas Initialisierung

 ShowMessageFmt ('MyVar ist von der Art %s und es ist Wert ist „#13#10'% s“,
    [VariantTypeName (MyVar), VariantAsString (MyVar)]);
Ende;
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:
6:
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:
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;
Weitere Lösungen  
 
programming4us programming4us