VarType

moRs
VarType
Moduł: Variants
```delphi function VarType(const V: Variant): TVarType; ``` [[Delphi/Funkcje|Funkcja]] zwraca [[Delphi/Typy_danych|typ]] podanego [[Delphi/Variant|varianta]]. Zwracana wartość jest kodem typu niestandardowego typu Variantów lub jest tworzona na podstawie stałych zdefiniowanym w module [[Delphi/Moduły/System]].

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:

VarTypeZawartość varianta
varEmptyVariant ma wartość [[Delphi/Unassigned]]
varNullVariant ma wartość [[Delphi/Null]]
varSmallInt16-bitowa liczba całkowita ze znakiem (typ [[Delphi/SmallInt]])
varInteger32-bitowa liczba całkowita ze znakiem (typ [[Delphi/Integer]])
varSingleWartość zmiennoprzecinkowa typu [[Delphi/Single]]
varDoubleWartość zmiennoprzecinkowa typu [[Delphi/Double]]
varCurrencyWartość zmiennoprzecinkowa walutowa (typ [[Delphi/Currency]])
varDateWartość określająca datę i czas (typ [[Delphi/TDateTime]])
varOleStrReferencja na dynamicznie alokowany [[Delphi/Łańcuchy|łańcuch znaków]] UNICODE
varDispatchReferencja na obiekt Automation (wskaźnik do interfejsu IDispatch)
varErrorKod błędu systemu operacyjnego
varBoolean16-bitowa wartość logiczna (typ [[Delphi/WordBool]])
varVariantwartość typu [[Delphi/Variant]]
varUnknownReferencja na nieznany obiekt (wskaźnik do interfejsu IUnknown lub IInterface)
varShortInt8-bitowa liczba całkowita ze znakiem (typ [[Delphi/ShortInt]])
varByte8-bitowa liczba całkowita bez znaku (typ [[Delphi/Byte]])
varWord16-bitowa wartość bez znaku (typ [[Delphi/Word]])
varLongWord32-bitowa wartość bez znaku (typ [[Delphi/LongWord]])
varInt6464-bitowa liczba całkowita ze znakiem (typ [[Delphi/Int64]])
varStrArg[[Delphi/Łańcuchy|Łańcuch znaków]] zgodny z COM
varStringReferencja na dynamicznie alokowany [[Delphi/Łańcuchy|łańcuch znaków]] (niezgodny z COM)
varAnyWartość 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ż:

1 komentarz

Mam pytanie. Kiedy VarType jest równe varVariant?