VarType
Moduł: Variants
function VarType(const V: Variant): TVarType;
Funkcja zwraca typ podanego varianta. Zwracana wartość jest kodem typu niestandardowego typu Variantów lub jest tworzona na podstawie stałych zdefiniowanym w module 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:
VarType | Zawartość varianta |
---|---|
varEmpty | Variant ma wartość Unassigned |
varNull | Variant ma wartość Null |
varSmallInt | 16-bitowa liczba całkowita ze znakiem (typ SmallInt) |
varInteger | 32-bitowa liczba całkowita ze znakiem (typ Integer) |
varSingle | Wartość zmiennoprzecinkowa typu Single |
varDouble | Wartość zmiennoprzecinkowa typu Double |
varCurrency | Wartość zmiennoprzecinkowa walutowa (typ Currency) |
varDate | Wartość określająca datę i czas (typ TDateTime) |
varOleStr | Referencja na dynamicznie alokowany ł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 WordBool) |
varVariant | wartość typu Variant |
varUnknown | Referencja na nieznany obiekt (wskaźnik do interfejsu IUnknown lub IInterface) |
varShortInt | 8-bitowa liczba całkowita ze znakiem (typ ShortInt) |
varByte | 8-bitowa liczba całkowita bez znaku (typ Byte) |
varWord | 16-bitowa wartość bez znaku (typ Word) |
varLongWord | 32-bitowa wartość bez znaku (typ LongWord) |
varInt64 | 64-bitowa liczba całkowita ze znakiem (typ Int64) |
varStrArg | Łańcuch znaków zgodny z COM |
varString | Referencja na dynamicznie alokowany ł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?