Instrução Dim

Declara variáveis ou matrizes.

Se as variáveis são separadas por vírgulas - por exemplo Dim v1, v2, v3 As String - as primeiras são definidas como variáveis Variant. Uma nova linha ou sinal de dois pontos (:), ajuda a separar as definições de variáveis.


  Dim text As String
  Dim pv As com.sun.star.beans.PropertyValue, d As Date
  Dim Units as Integer : Dim EULER As Double

Dim declara variáveis locais dentro de subrotinas. Variáveis globais são declaradas com instruções Global, Public ou Private .

Sintaxe:

Diagrama da instrução Dim


Dim variable [(start To end)] [As typename][, variable2[char] [(start To end)] [,...]]

Parâmetros:

variable: qualquer nome de variável ou matriz.

typename: palavra-chave que declara o tipo de dado da variável.

fragmento de tipo de dados de primitivas

Byte: variável byte (0-255)

Boolean: variável booleana (True, False)

Currency: variável monetária (moeda com 4 casas decimais)

Date: variável de data

Double: variável de ponto flutuante de precisão dupla (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: variável de número inteiro (-32768 - 32767)

Long: variável de número inteiro longo (-2.147.483.648 - 2.147.483.647)

Object: variável de objeto (Nota: essa variável só poderá ser definida posteriormente com Set!)

Single: variável de ponto flutuante de precisão simples (3,402823 x 10E38 - 1,401298 x 10E-45).

String: variável de cadeia de caracteres que consiste em um máximo de 64.000 caracteres ASCII.

Variant: variável de tipo Variant (contém todos os tipos, especificados por definição). Caso não seja especificada nenhuma palavra-chave, as variáveis serão automaticamente definidas como Variant, a não ser que seja usada uma instrução de DefBool para DefVar.

object: Objeto UNO (Universal Network Object) ou instância de objeto ClassModule.

char: caractere especial que declara o tipo de dados da variável.

fragmento de caracteres de declaração de tipo de dados

Você não precisa declarar variáveis explicitamente no LibreOffice Basic. No entanto, você precisa declarar uma matriz antes de usá-la. Você pode declarar uma variável com a instrução Dim, utilizando vírgulas (,)para separar as várias declarações. Para declarar um tipo de variável, digite o caractere de declaração de tipo seguido do nome ou use uma palavra-chave correspondente.

Declaration character

Variable type name

%

Integer

&

Long

!

Single

#

Double

$

String

@

Currency


array: declaração de matriz.

fragmento de matriz

start, end: valores numéricos ou constantes que definem o número de elementos ( = (end-start)+1) e o intervalo de índices.

start e end podem ser expressões numéricas caso ReDim seja aplicado dentro da rotina.

O LibreOffice Basic oferece suporte a matrizes uni ou multidimensionais que sejam definidas por um tipo de variável especificado. As matrizes são úteis quando o programa contém listas ou tabelas que você queira editar. A vantagem das matrizes é que elas possibilitam fazer referência a elementos individuais de acordo com índices, que podem ser formulados como variáveis ou expressões numéricas.

As matrizes são declaradas com a instrução Dim. Há várias maneiras para definir o intervalo de índices:


  Dim text(20) As String ' 21 elementos numerados de 0 a 20
  Dim value(5 to 25) As Integer ' 21 valores numerados de 5 a 25
  Dim amount(-15 to 5) As Currency ' 21 montantes (incluindo 0), numerados de -15 a 5
  REM campo de dados bidimensional
  Dim table$(20,2) ' 63 itens; de 0 a 20 nível 1, de 0 a 20 nível 2 e de 0 a 20 nível 3.

Você pode declarar um tipo de vetor como dinâmico se a instrução ReDim definir o número de dimensões na sub-rotina ou na função que contém o vetor. Em geral, você só poderá definir a dimensão do vetor uma única vez e não poderá modificá-la posteriormente. Em uma sub-rotina, pode-se declarar um vetor com ReDim. Você só pode definir dimensões com expressões numéricas. Isso garante que os campos tenham apenas o tamanho estritamente necessário.

Exemplo:


Sub ExampleDim1
Dim sVar As String
Dim iVar As Integer
    sVar = "Office"
End Sub
 
Sub ExampleDim2
  ' Campo de dados bidimensionais
    Dim stext(20,2) As String
  Const sDim as String = " Dimensão:"
  For i = 0 To 20
    For ii = 0 To 2
        stext(i,ii) = str(i) & sDim & str(ii)
    Next ii
  Next i
  For i = 0 To 20
    For ii = 0 To 2
        MsgBox stext(i,ii)
    Next ii
  Next i
End Sub

♥ Doe para nosso projeto! ♥