IBM Lotus Symphony
|
A seguir é descrito o uso básico de variáveis no Lotus® Symphony™ Basic.
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.
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 |
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.
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:
Exemplo | Descrição |
---|---|
DIM a$ | Declara "a" como uma Sequência |
a="TestString" | Ausência da declaração do tipo: "a$=" |
![]() |
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! |
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.
O Lotus Symphony Basic suporta quatro classes de variável:
Variáveis Numéricas podem conter valores numéricos. Algumas variáveis são usadas para armazenar números grandes ou pequenos, enquanto outras são usadas para ponto flutuante ou números fracionários.
Variáveis de Sequência contêm sequências de caracteres.
Variáveis Booleanas contêm o valor TRUE ou FALSE.
Variáveis de Objeto podem armazenar em um documento objetos de vários tipos, como tabelas e documentos.
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 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 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.
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 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 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 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 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 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
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.
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.
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 possuem valor fixo. Elas são definidas apenas uma vez no programa e não podem ser redefinidas posteriormente:
CONST ConstName=Expression