Функции TypeName и VarType

Връща числова стойност, която съдържа информация за типа на променлива.

Синтаксис:


  TypeName (Varname As Variant) As String
  VarType (Varname As Variant) As Integer

Резултат:

Параметри:

Varname: името на променливата, чийто тип искате да определите.

Връщат се следните стойности:

Стойности
на TypeName

Наименувана
константа

VarType
values

Тип на променливата

…()

8192

Масив от променливи

Boolean

11

Променлива от тип Boolean

Byte

17

Променлива от тип Byte

Date

V_DATE

7

Променлива от тип Date

Currency

V_CURRENCY

6

Променлива от тип Currency

Double

V_DOUBLE

5

Променлива с плаваща запетая с двойна точност

Error

11

Променлива от тип грешка

Integer

V_INTEGER

2

Променлива от тип Integer

Long

V_LONG

3

Променлива от тип Long

Object

9

Променлива от тип Object

Single

V_SINGLE

4

Променлива с плаваща запетая с единична точност

String

V_STRING

8

Променлива от тип String

Variant

12

Променлива от тип Variant (може да съдържа произволен тип според присвоената стойност)

Empty

V_EMPTY

0

Неинициализирана променлива от тип Variant

Null

V_NULL

1

Променливата не съдържа валидни данни.


Кодове за грешка:

5 Невалидно извикване на процедура

Пример:


  Sub TypeName_VarType_example
    Const __Object=9, __Error=10, __Boolean=11, __Variant=12, __Byte=17, _
      __Array = 8192, aText = "Lorem ipsum dolor sit amet, consectetur …"
    Dim int16 As Integer,  int32() As Long   ' V_INTEGER,  V_LONG
    Dim flt32!,            flt64() As Double ' V_SINGLE,   V_DOUBLE
    Dim curr@,             dat3 As Date      ' V_CURRENCY, V_DATE
    Dim strng() As String, objct() As Object ' V_STRING,   …
    Dim bool As Boolean,   unkwn(), byt3 As Byte ' …,      V_EMPTY, …
    Dim table(-3 To 5)
    MsgBox _
     TypeName(int16) &" "& Vartype(int16) &" "& V_INTEGER        &" "& Chr(13) &_
     TypeName(int32) &" "& Vartype(int32) &" "& V_LONG+__Array   &" "& Chr(13) &_
     TypeName(flt32) &" "& VarType(flt32) &" "& V_SINGLE         &" "& Chr(13) &_
     TypeName(flt64) &" "& VarType(flt64) &" "& V_DOUBLE+__Array &" "& Chr(13) &_
     TypeName(dat3)  &" "& VarType(dat3)  &" "& V_DATE           &" "& Chr(13) &_
     TypeName(curr)  &" "& VarType(curr)  &" "& V_CURRENCY       &" "& Chr(13) &_
     TypeName(atext) &" "& VarType(aText) &" "& V_STRING         &" "& Chr(13) &_
     TypeName(strng) &" "& VarType(strng) &" "& V_STRING+__Array &" "& Chr(13) &_
     TypeName(objct) &" "& VarType(objct) &" "& __Object+__Array &" "& Chr(13) &_
     TypeName(unkwn) &" "& VarType(unkwn) &" "& V_EMPTY          &" "& Chr(13) &_
     TypeName(bool)  &" "& VarType(bool)  &" "& __Boolean        &" "& Chr(13) &_
     TypeName(varnt) &" "& VarType(varnt) &" "& V_EMPTY          &" "& Chr(13) &_
     TypeName(table) &" "& VarType(table) &" "&__Variant+__Array &" "& Chr(13) &_
     TypeName(byt3)  &" "& VarType(byt3)  &" "& __Byte           _
     ,, "Типове данни в LibreOffice Basic"
    Msgbox "TypeName(table): "&TypeName(table) &Chr(13)& _
      "VarType(table)="&Vartype(table) _
      ,,"Масив от вариантни стойности"
  End Sub ' TypeName_VarType_example

Моля, подкрепете ни!