IBM Lotus Symphony


Instrução Dim [Runtime]

Declara uma variável ou uma matriz.

Se as variáveis estiverem separadas por vírgulas (por exemplo, example, DIM sPar1, sPar2, sPar3 AS STRING), apenas é possível definir as variáveis de variante. Utilize uma linha de definição separada para cada variável.

DIM sPar1 AS STRING

DIM sPar2 AS STRING

DIM sPar3 AS STRING

A Dim define como locais as variáveis pertencentes às sub-rotinas. As variáveis globais são declaradas através da instrução PUBLIC ou PRIVATE.

Sintaxe:

[ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]

Parâmetros:

VarName: Qualquer variável ou nome de matriz.

Start, End: Valores numéricos ou constantes que definem o número de elementos (NumberElements=(end-start)+1) e o intervalo do índice.

Start e End podem ser expressões numéricas se ReDim for aplicada no nível do procedimento.

VarType: Palavra-chave que define o tipo de dados de uma variável.

Keyword: Tipo de variável

Bool: Variável booleana (True, False)

Currency: Variável da moeda (Moeda com 4 casas decimais)

Date: Variável da data

Double: Variável de vírgula flutuante de precisão dupla (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: Variável de números inteiros (-32768 - 32767)

Long: Variável de números inteiros longos (-2.147.483.648 - 2.147.483.647)

Object: Variável de objecto (Nota: esta variável só pode ser definida ulteriormente em Set!)

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

String: Variável de cadeia constituída por um máximo de 64.000 caracteres ASCII.

[Variant]: Tipo de variante variável (contém todos os tipos especificados por definição). Se não houver uma palavra-chave especificada, as variáveis são automaticamente definidas como sendo do tipo variante, a menos que seja utilizada uma instrução de DefBool a DefVar.

No Lotus® Symphony™ Basic, não é necessário declarar as variáveis explicitamente. No entanto, é necessário que defina uma matriz antes de as poder utilizar. É possível definir uma variável através da instrução Dim, utilizando vírgulas para separar múltiplas declarações. Para declarar um tipo de variável, introduza um carácter de declaração de tipo a seguir ao nome ou utilize uma palavra-chave correspondente.

O Lotus Symphony Basic suporta matrizes uni ou multi-dimensionais definidas por um tipo de variável especificado. As matrizes são úteis caso o programa contenha listas ou tabelas que pretende editar. A vantagem das matrizes é que tornam possível endereçar elementos individuais de acordo com os índices, que podem ser formulados como expressões numéricas ou variáveis.

As matrizes são definidas através da instrução Dim. Existem dois métodos para definir o intervalo de índice:

DIM text(20) as String REM 21 elementos numerados de 0 a 20

DIM text(5 to 25) as String REM 21 elementos numerados de 5 a 25

DIM text(-15 to 5) as String REM 21 elementos (incluindo o 0)

REM numerada de -15 a 5

Campo de dados bidimensional

DIM text(20,2) as String REM 63 elementos; de 0 a 20 nível 1, de 0 a 20 nível 2 e de 0 a 20 nível 3.

É possível definir um tipo matricial como dinâmico se uma instrução ReDim definir o número de dimensões na sub-rotina ou a função que contém a matriz. Normalmente, só é possível definir uma vez a dimensão de uma matriz e não é possível modificá-la. Dentro de uma sub-rotina, é possível definir uma matriz através de ReDim. Só é possível definir dimensões através de expressões numéricas. Este procedimento garante que o tamanho dos campos é o tamanho efectivamente necessário.

Exemplo:

Sub ExampleDim1

Dim sVar As String

Dim iVar As Integer

sVar = "Lotus Symphony"

End Sub

Sub ExampleDim2

REM Campo de dados bi-dimensional

Dim stext(20,2) as String

Const sDim as String = " Dimension:"

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


Comentários sobre o produto | Documentação adicional | Marcas comerciais