IBM Lotus Symphony


Usando Variáveis

A seguir é descrito o uso básico de variáveis no Lotus® Symphony™ Basic.

Convenções de Nomenclatura para Identificadores de Variáveis

O nome de uma variável pode consistir em no máximo 255 caracteres. O primeiro caractere do nome de uma variável deve ser uma letra A-Z ou a-z. Números também podem ser usados no nome de uma variável, mas símbolos de pontuação e caracteres especiais não são permitidos, com exceção do caractere de sublinhado ("_"). No Lotus Symphony Basic, os identificadores de variável não fazem distinção entre maiúsculas e minúsculas. Nomes de variáveis podem conter espaços mas, caso contenham, deverão ser colocados entre colchetes.

Tabela 1. Exemplos de identificadores de variáveis
Exemplo Descrição
MyNumber=5 Correto
MyNumber5=15 Correto
MyNumber_5=20 Correto
My Number=20 Inválido, variável com espaço deve ser colocada entre colchetes
[My Number]=12 Correto
DéjàVu=25 Inválido, caracteres especiais não são permitidos
5MyNumber=12 Inválido, 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

Declarando Variáveis

No Lotus Symphony Basic, não é necessário declarar as variáveis explicitamente. Uma declaração de variável pode ser executada com a instrução Dim. É possível declarar mais de uma variável de uma vez, separando os nomes com uma vírgula. Para definir o tipo de variável, use um sinal de declaração do tipo depois do nome ou da palavra-chave apropriada.

Tabela 2. Exemplos de declarações de variáveis
Exemplo Descrição
DIM a$ Declara a variável "a" como uma Sequência
DIM a As String Declara a variável "a" como uma Sequência
DIM a$, b As Integer Declara uma variável como uma Sequência e uma como um Inteiro
DIM c As Boolean Declara c com uma variável Booleana que pode ser TRUE ou FALSE

Ao declarar variáveis, é muito importante usar o caractere de declaração do tipo toda vez, mesmo que ele tenha sido usado na declaração no lugar de uma palavra-chave. Assim, as seguintes instruções são inválidas:

Tabela 3. Exemplos de instruções inválidas
Exemplo Descrição
DIM a$ Declara "a" como uma Sequência
a="TestString" Ausência da declaração do tipo: "a$="
Ícone de Aviso Depois de declarar uma variável como um determinado tipo, você não pode declarar a variável com o mesmo nome novamente como um tipo diferente!

Forçando Declarações de Variáveis

Para forçar 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 do primeiro SUB. Geralmente, apenas matrizes precisam ser declaradas explicitamente. As demais variáveis são declaradas de acordo com o caractere de declaração do tipo ou, se omitido, como o tipo padrão Única.

Tipos de Variáveis

O Lotus Symphony Basic suporta quatro classes de variável:

Variáveis de Inteiro

Variáveis de inteiro vão de -32768 a 32767. Se você designar um valor de ponto flutuante para uma variável de inteiro, as casas decimais serão arredondadas para o próximo inteiro. Variáveis de inteiro são calculadas rapidamente em procedimentos, além de serem adequadas para variáveis de contador em loops. Uma variável de inteiro exige apenas dois bytes de memória. "%" é o caractere de declaração do tipo.

Dim Variable%

Variável Dim como Inteiro

Variáveis de Inteiro Longas

Variáveis de inteiro longas vão de -2147483648 a 2147483647. Se você designar um valor de ponto flutuante para uma variável de inteiro longa, as casas decimais serão arredondadas para o próximo inteiro. Variáveis de inteiro longas são calculadas rapidamente em procedimentos, além de serem adequadas para variáveis de contador em loops para valores grandes. Uma variável de inteiro longa exige quatro bytes de memória. "&" é o caractere de declaração do tipo.

Dim Variable&

Variável Dim como Longa

Variáveis Decimais

Variáveis decimais podem obter números positivos ou negativos ou zero. A exatidão é de até 29 dígitos.

É possível usar os sinais de mais (+) ou de menos (-) como prefixos para números decimais (com ou sem espaços).

Se um número decimal for designado a uma variável de número inteiro, o Lotus Symphony Basic arredondará o algarismo para cima ou para baixo.

Variáveis Únicas

As variáveis únicas podem aceitar valores positivos ou negativos que vão de 3.402823 x 10E38 a 1.401298 x 10E-45. Variáveis únicas são variáveis de ponto flutuante, no qual a precisão decimal diminui conforme a parte não decimal do número aumenta. Variáveis únicas são adequadas para cálculos matemáticos de precisão média. Os cálculos exigem mais tempo do que para variáveis de Inteiro, mas são mais rápidos do que cálculos com variáveis Duplas. Uma variável Única exige 4 bytes de memória. O caractere de declaração do tipo é "!".

Dim Variable!

Variável Dim como Única

Variáveis Duplas

Variáveis duplas podem aceitar valores positivos ou negativos que vão de 1.79769313486232 x 10E308 a 4.94065645841247 x 10E-324. Variáveis duplas são variáveis de ponto flutuante, no qual a precisão decimal diminui conforme a parte não decimal do número aumenta. Variáveis duplas são adequadas para cálculos precisos. Os cálculos exigem mais tempo do que para variáveis Únicas. Uma variável Dupla exige 8 bytes de memória. O caractere de declaração do tipo é "#".

Dim Variable#

Variável Dim como Dupla

Variáveis de Moeda

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

Dim Variable@

Variável Dim como Moeda

Variáveis de Sequência

Variáveis de sequência podem conter sequências de caracteres com até 65.535 caracteres. Cada caractere é armazenado como o valor Unicode correspondente. Variáveis de sequência são adequadas para processamento de texto em programas, bem como para armazenamento temporário de qualquer caractere não imprimível, até um comprimento máximo de 64 Kbytes. A memória exigida para armazenar variáveis de sequência depende do número de caracteres na variável. O caractere de declaração do tipo é "$".

Dim Variable$

Variável Dim como Sequência

Variáveis Booleanas

Variáveis booleanas armazenam somente um de dois valores: TRUE ou FALSE. O número 0 é avaliado como FALSE, os demais valores são avaliados como TRUE.

Variável Dim como Booleana

Variáveis de Data

Variáveis de data só podem conter valores de datas e hora armazenados em um formato interno. Os valores designados às variáveis de Data com Dateserial , Datevalue , Timeserial ou Timevalue são automaticamente convertidos no formato interno. As variáveis de Data são convertidas em números normais usando 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 só podem ser declaradas com a palavra-chave Data .

Variável Dim como Data

Valores de Variáveis Iniciais

Tão logo a variável tenha sido declarada, ela é automaticamente definida com o valor "Nulo". Observe as seguintes convenções:

Variáveis Numéricas recebem automaticamente o valor "0" assim que são declaradas.

Às variáveis de Data é designado o valor 0 internamente; equivalente a converter o valor em "0" com a função Day , Month , Year ou Hour , Minute , Second .

Variáveis de sequência recebem uma sequência vazia ("") quando são declaradas.

Matrizes

O Lotus Symphony Basic conhece as matrizes uni ou multidimensionais, definidas por um tipo de variável especificado. Matrizes são adequadas para editar listas e tabelas em programas. Elementos individuais de uma matriz podem ser endereçados através de um índice numérico.

Matrizes devem ser declaradas com a instrução Dim.

Tabela 4. Formas de definir o intervalo de índices de uma matriz
Exemplo Descrição
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 de índice pode incluir números positivos e também negativos.

Constantes

Constantes possuem valor fixo. Elas são definidas apenas uma vez no programa e não podem ser redefinidas posteriormente:

CONST ConstName=Expression


Feedback do Produto | Documentação Adicional | Marcas Registradas