Utilizar variáveis

A utilização básica das variáveis do LibreOffice Basic é descrita a seguir.

Convenções de nomenclatura de variáveis

O nome da variável pode conter no máximo 255 caracteres. O primeiro caractere no nome da variável deve ser uma letra de A até Z ou de a até z. Também é possível usar números no nome da variável, mas, com exceção do caractere de sublinhado ("_"), não serão permitidos símbolos de pontuação nem caracteres especiais. No LibreOffice Basic, os identificadores de variáveis não fazem distinção entre maiúsculas e minúsculas. Os nomes de variáveis podem conter espaços, mas, nesse caso, eles deverão ser incluídos entre colchetes.

Exemplos de identificadores de variáveis:


    MyNumber=5      'Correto'
    MyNumber5=15    'Correto'
    MyNumber=20      'Correto'
    My Number=20      'Incorreto, uma variável com espaço deve ser incluída entre colchetes'
    [My Number]=12      'Correto'
    DéjàVu=25       'Inválido, caracteres especiais não são permitidos'
    5MyNumber=12    'Inválido, a variável não pode começar com um número'
    Number,Mine=12  'Inválido, marcas de pontuação não são permitidas'

Declarar variáveis

No LibreOffice Basic, você não precisa declarar explicitamente as variáveis. É possível declarar a variável por meio de uma instrução Dim. Você pode declarar mais de uma variável por vez, separando os nomes por vírgulas. Para definir o tipo de variável, utilize um sinal de declaração de tipo após o nome da variável ou use a palavra-chave apropriada.

Exemplos de declarações de variáveis:


    Dim a$               'Declara variável "a" como um String'
    Dim a As String      'Declara a variável  "a" como um String'
    Dim a$, b As Integer 'Declara uma variável como um String e uma como Integer'
    Dim c As Boolean     'Declara c como variável Boolean que pode tomar valores VERDADEIRO ou FALSO'
Ícone Aviso

Depois de declarar uma variável como de um tipo específico, você não poderá declará-la novamente como um tipo diferente!


Forçar a declaração de variáveis

Para forçar a declaração de variáveis, use o seguinte comando:


Option Explicit

A instrução Option Explicit precisa ser a primeira linha no módulo, antes da primeira SUB. De modo geral, somente as matrizes precisam ser declaradas explicitamente. Todas as outras variáveis são declaradas de acordo com o caractere de declaração de tipo ou (se este for omitido) como o tipo padrão Single.

Tipos de variáveis

O LibreOffice Basic oferece suporte a quatro classes de variáveis:

Variáveis tipo Integer

As variáveis de número inteiro abrangem o intervalo -32768 a 32767. Se você atribuir um valor de ponto flutuante a uma variável de número inteiro, as casas decimais serão arredondadas para o número inteiro mais próximo. Essas variáveis são calculadas rapidamente nos procedimentos e são apropriadas para contadores em comandos de repetição. Essas variáveis só requerem dois bytes de memória. O caractere de declaração de tipo dessas variáveis é o "%".


Dim Variable%
Dim Variable As Integer

Variáveis tipo Long Integer

As variáveis de números inteiros longos abrangem o intervalo -2147483648 a 2147483647. Se você atribuir um valor de ponto flutuante a uma variável de número inteiro longo, as casas decimais serão arredondadas para o número inteiro mais próximo. Essas variáveis são calculadas rapidamente nos procedimentos e são apropriadas para contadores em comandos de repetição com valores maiores. Essas variáveis requerem quatro bytes de memória. O caractere de declaração de tipo dessas variáveis é o "&".


Dim Variable&
Dim Variable As Long

Variáveis tipo Decimal

Variáveis decimais podem ter números positivos ou negativos ou zero. A precisão vai até 29 dígitos.

Você também pode usar o sinal de mais (+) ou menos (-) como prefixos para números decimais (com ou sem espaços).

Se um número decimal for atribuído a uma variável inteira, o LibreOffice Basic arredondará o número para cima ou para baixo.

Variáveis tipo Single

Variáveis do tipo Single podem conter valores positivos ou negativos entre 3.402823 x 10E38 e 1.401298 x 10E-45. Variáveis do tipo Single são variáveis de ponto flutuante onde a precisão decimal diminui quando a parte não decimal aumenta. Variáveis Single são apropriadas para cálculos matemáticos de precisão mediana. Cálculos precisam de mais tempo que para variáveis do tipo Integer mas são mais rápidos que com variáveis do tipo Double. Uma variável Single requer 4 bytes de memória. O caractere de declaração de tipo é "!".


Dim Variable!
Dim Variable As Single

Variáveis tipo Double

Variáveis do tipo double podem receber valores positivos ou negativos entre 1.79769313486232 x 10E308 até 4.94065645841247 x 10E-324. Variáveis do tipo double são variáveis de ponto flutuante onde a precisão decimal diminui à medida que a parte não decimal aumenta. Variáveis do tipo double são úteis para cálculos precisos. Cálculos precisam de mais tempo que para variáveis do tipo Single. Uma variável do tipo double requer 8 bytes de memória. O caractere de declaração de tipo é "#".


Dim Variable#
Dim Variable As Double

Variáveis tipo Currency

Variáveis Currency (monetárias) são armazenadas internamente como números de 64 bits (8 Bytes) e exibidos como um número decimal fixo com 15 casas não decimais e 4 decimais. Os valores variam de -922337203685477.5808 a +922337203685477.5807. Variáveis Currency são usadas para calcular valores monetários com alta precisão. O caractere de declaração de tipo é "@".


Dim Variable@
Dim Variable As Currency

Variáveis tipo String

As variáveis String podem armazenar cadeias de até 65.535 caracteres. Cada caractere é armazenado como seu valor Unicode correspondente. As variáveis String são indicadas para o processamento de textos em programas e para o armazenamento temporário de caracteres não imprimíveis de até 64 Kbytes (máximo). A memória exigida para o armazenamento dessas variáveis dependerá do número de caracteres contidos na variável. O caractere de declaração de tipo dessas variáveis é o "$".


Dim Variable$
Dim Variable As String

Variáveis tipo lógica

As variáveis lógicas armazenam apenas um destes valores: VERDADEIRO (TRUE) ou FALSO (FALSE). Um número 0 é avaliado como FALSO, ao passo que os outros valores são avaliados como VERDADEIRO.


Dim Variable As Boolean

Variáveis tipo Date

Variáveis de data podem conter apenas valores de data e hora armazenados em um formato interno. Valores atribuídos a variáveis de tipo Data Dateserial, Datevalue, Timeserial ou Timevalue são convertidas automaticamente para o formato interno. Variáveis de tipo Data são convertidas para números normais utilizando-se a função Day, Month, Year ou Hour, Minute, Second. O formato interno permite uma comparação de valores de data/hora calculando a diferença entre dois números. Essas variáveis podem ser declaradas apenas com a palavra-chave Date.


Dim Variable As Date

Valores iniciais da variável

Uma vez declarada a variável, seu valor é automaticamente definido como "Null". Observe as seguintes convenções:

As variáveis numéricas receberão automaticamente o valor "0" assim que forem declaradas.

Variáveis de data tem o valor inicializado internamente para 0; equivalente a converter o valor para "0" com a função Day, Month, Year ou Hour, Minute, Second.

As variáveis String receberão uma cadeia de caracteres vazia ("") quando forem declaradas.

Matrizes

O LibreOffice Basic reconhece matrizes uni ou multidimensionais definidas por um tipo de variável especificada. As matrizes são úteis para editar listas e tabelas em programas. É possível fazer referência a elementos individuais de uma matriz por meio de um índice numérico.

Para declarar uma matriz, é obrigatório utilizar a instrução Dim. Existem várias maneiras de definir o intervalo de índice de uma matriz:


    Dim Text$(20)       '21 elementos numerados de 0 a 20'
    Dim Text$(5,4)      '30 elementos (uma matriz de 6 x 5 elementos)'
    Dim Text$(5 To 25)  '21 elementos numerados de 5 a 25'
    Dim Text$(-15 To 5) '21 elementos (incluindo 0), numerados de -15 a 5'

O intervalo do índice pode incluir tanto números positivos como negativos.

Constantes

As constantes têm um valor fixo. Elas são definidas apenas uma vez no programa e não poderão ser redefinidas posteriormente:


Const ConstName=Expression

♥ Doe para nosso projeto! ♥