VarType
moRs
VarType
Moduł: Variants
12 niższych bitów (zdefiniowanych przez maskę bitową varTypeMask) kodu typu varianta określają typ varianta. Jeżeli variant jest tablicą danego typu ustawiony jest bit varArray. Bit varByRef jest ustawiony jeśli Variant jest referencją (wskaźnikiem) na wartość danego typu.
Poniższa tabela określa znaczenia kodów typu variantów zdefiniowanych w module System:
VarType | Zawartość varianta |
---|---|
varEmpty | Variant ma wartość [[Delphi/Unassigned]] |
varNull | Variant ma wartość [[Delphi/Null]] |
varSmallInt | 16-bitowa liczba całkowita ze znakiem (typ [[Delphi/SmallInt]]) |
varInteger | 32-bitowa liczba całkowita ze znakiem (typ [[Delphi/Integer]]) |
varSingle | Wartość zmiennoprzecinkowa typu [[Delphi/Single]] |
varDouble | Wartość zmiennoprzecinkowa typu [[Delphi/Double]] |
varCurrency | Wartość zmiennoprzecinkowa walutowa (typ [[Delphi/Currency]]) |
varDate | Wartość określająca datę i czas (typ [[Delphi/TDateTime]]) |
varOleStr | Referencja na dynamicznie alokowany [[Delphi/Łańcuchy|łańcuch znaków]] UNICODE |
varDispatch | Referencja na obiekt Automation (wskaźnik do interfejsu IDispatch) |
varError | Kod błędu systemu operacyjnego |
varBoolean | 16-bitowa wartość logiczna (typ [[Delphi/WordBool]]) |
varVariant | wartość typu [[Delphi/Variant]] |
varUnknown | Referencja na nieznany obiekt (wskaźnik do interfejsu IUnknown lub IInterface) |
varShortInt | 8-bitowa liczba całkowita ze znakiem (typ [[Delphi/ShortInt]]) |
varByte | 8-bitowa liczba całkowita bez znaku (typ [[Delphi/Byte]]) |
varWord | 16-bitowa wartość bez znaku (typ [[Delphi/Word]]) |
varLongWord | 32-bitowa wartość bez znaku (typ [[Delphi/LongWord]]) |
varInt64 | 64-bitowa liczba całkowita ze znakiem (typ [[Delphi/Int64]]) |
varStrArg | [[Delphi/Łańcuchy|Łańcuch znaków]] zgodny z COM |
varString | Referencja na dynamicznie alokowany [[Delphi/Łańcuchy|łańcuch znaków]] (niezgodny z COM) |
varAny | Wartość Any CORBA |
Wartości zwrócone przez VarType odpowiadają wartościom pola VType rekordu TVarData. Typ variantu można zmienić używając VarAsType.
Zobacz też:
Mam pytanie. Kiedy VarType jest równe varVariant?