Modulo
Contenuto
Indice 🔎︎

# Istruzione ReDim

Dichiara una variabile o una matrice.

## Sintassi:

    [ReDim]Dim NomeVar [(inizio To fine)] [As TipoVar][, NomeVar2 [(inizio To fine)] [As TipoVar][,...]]

Potete inoltre aggiungere la parola chiaveRiservato come parametro per preservare il contenuto della matrice ridimensionata.

## Parametri:

NomeVar: nome di una variabile o di una matrice.

Inizio, Fine: valori numerici o costanti che definiscono il numero di elementi (NumeroElementi=(fine-inizio)+1) e l'intervallo dell'indice.

Se ReDim è usato a livello della procedura, Inizio e Fine possono essere espressioni numeriche.

TipoVar: parola chiave che dichiara il tipo di dati di una variabile.

Parola chiave: tipo di variabile

Bool: variabile booleana (True, False)

Date: variabile per data

Double: variabile numerica decimale con doppia precisione (1,79769313486232 x 10E308 -4,94065645841247 x 10E-324)

Integer: variabile numerica intera (compresa tra -32768 e 32767)

Long: variabile numerica intera lunga (compresa tra -2.147.483.648 e 2.147.483.647)

Object: variabile oggetto (questa variabile può essere definita solo con Set!)

[Single]: variabile numerica decimale con precisione singola (3.402823x10E38 - 1.401298x10E-45). Se non è specificata una parola chiave e non viene usata un'istruzione da DefBool a DefVar, la variabile viene definita come Single.

String: variabile stringa contenente fino a un massimo di 64.000 caratteri ASCII.

Variant: tipo di variabile variante (può contenere tutti i tipi ed è specificata dalla definizione).

In LibreOffice Basic, non è necessario dichiarare le variabili in modo esplicito. Tuttavia, prima di utilizzarle è sempre necessario dichiarare una matrice. Per dichiarare una variabile potete usare l'istruzione Dim, usando le virgole per separare più dichiarazioni. Per dichiarare un tipo di variabile, usate un carattere di dichiarazione del tipo dopo il nome oppure la parola chiave corrispondente.

LibreOffice Basic supporta le matrici a una o più dimensioni definite da un tipo di variabile specifico. L'uso delle matrici è appropriato se il programma contiene elenchi o tabelle da modificare. Il vantaggio delle matrici è che consentono di fare riferimento a singoli elementi in base agli indici, che possono essere formulati come espressioni numeriche o come variabili.

Esistono due metodi per impostare l'intervallo degli indici per le matrici dichiarate con l'istruzione Dim:

DIM text(20) As String REM 21 elementi numerati da 0 a 20

DIM testo(5 to 25) As String REM 21 elementi numerati da 5 a 25

DIM testo$(-15 to 5) As String REM 21 elementi (incluso lo 0),

REM numerati da -15 a 5

I campi delle variabili, indipendentemente dal tipo, possono essere resi dinamici se sono dimensionati con ReDim a livello della procedura nelle subroutine o nelle funzioni. In genere, potete definire l'ambito di una matrice una sola volta e non potete modificarlo successivamente. All'interno di una procedura, potete dichiarare una matrice usando l'istruzione ReDim con espressioni numeriche per definire l'ambito delle dimensioni del campo.

## Esempio:

    Sub ExampleRedim

    Dim iVar() As Integer, iCount As Integer

    ReDim iVar(5) As Integer

    For iCount = 1 To 5

        iVar(iCount) = iCount

    Next iCount

    ReDim iVar(10) As Integer

    For iCount = 1 To 10

        iVar(iCount) = iCount

    Next iCount

    End Sub