Modulo
Contenuto
Indice 🔎︎

# Usare le variabili

Questa sezione descrive gli usi principali delle variabili di LibreOffice Basic.

## Convenzioni per i nomi delle variabili

I nomi delle variabili possono contenere fino a un massimo di 255 caratteri. Il primo carattere deve essere una lettera da A a Z maiuscola o minuscola. È possibile usare anche i numeri, mentre i simboli di punteggiatura e i caratteri speciali non sono permessi, fatta eccezione per il trattino di sottolineatura ("_"). In LibreOffice Basic, gli identificativi delle variabili non fanno differenza tra maiuscole e minuscole. I nomi delle variabili possono contenere spazi vuoti, ma in tal caso devono essere racchiusi tra parentesi quadre.

Esempi di identificativi di variabili:

    MyNumber=5
| Corretto
    MyNumber5=15
| Corretto
    MyNumber_5=20
| Corretto
    My Number=20
| Non valido, perché le variabili con spazi vuoti devono essere racchiuse tra parentesi
    [My Number]=12
| Corretto
    DéjàVu=25
| Non valido, i caratteri speciali non sono ammessi
    5MyNumber=12
| Non valido, la variabile non può iniziare con un numero
    Number,Mine=12
| Non valido, i simboli di punteggiatura non sono ammessi

## Dichiarare le variabili

In LibreOffice Basic non dovete necessariamente dichiarare le variabili in modo esplicito. Potete dichiarare una variabile con l'istruzione Dim. Potete dichiarare più di una variabile per volta separando i nomi con una virgola. Per definire il tipo di variabile, usate un segno di dichiarazione dopo il nome oppure la parola chiave appropriata.

Esempi di dichiarazioni di variabili:

    Dim a$
| Dichiara la variabile "a" come String
    Dim a As String
| Dichiara la variabile "a" come String
    Dim a$, b As Integer
| Dichiara una variabile come String e una come Integer
    Dim c As Boolean
| Dichiara c come variabile booleana (il cui valore può essere VERO o FALSO)

Quando si dichiara una variabile, è molto importante usare il carattere di dichiarazione del tipo ogni volta, anche se era stato usato nella dichiarazione al posto della parola chiave. Le seguenti dichiarazioni non sono valide:

    Dim a$
| Dichiara "a" come String
    a="TestString"
| Manca la dichiarazione del tipo: "a$="

Una volta dichiarata una variabile di un certo tipo, non potete dichiarare una variabile di un altro tipo con lo stesso nome.

### Forzare le dichiarazioni delle variabili

Per forzare la dichiarazione delle variabili, usate il comando seguente:

    Option Explicit

L'istruzione Option Explicit deve essere la prima riga del modulo, prima del primo SUB. In genere, solo le matrici necessitano di una dichiarazione esplicita. Tutte le altre variabili vengono dichiarate in base al carattere di dichiarazione del tipo, o - in mancanza di questo - come il tipo predefinito Single.

## Tipi di variabile

LibreOffice Basic supporta quattro classi di variabili:

- Le variabili numeriche possono contenere valori numerici. Alcune variabili vengono usate per memorizzare numeri interi, grandi o piccoli, mentre altre vengono usate per i numeri decimali o le frazioni.

- Le variabili String contengono stringhe di caratteri.

- Le variabili Boolean contengono il valore TRUE o FALSE.

- Le variabili Object possono memorizzare oggetti di vario tipo, ad esempio tabelle e documenti all'interno di un documento.

### Variabili Integer

Le variabili Integer (intere) possono avere un valore compreso tra -32768 e 32767. Se assegnate un valore decimale a una variabile di questo tipo, i decimali vengono arrotondati all'intero superiore. Le variabili intere vengono calcolate rapidamente nelle procedure e sono adatte per i contatori usati nelle operazioni cicliche. Una variabile intera richiede solo due byte di memoria. "%" è il carattere di dichiarazione del tipo.

    Dim Variable%

    Dim Variable As Integer

### Variabili Integer Long

Le variabili Integer Long (intere lunghe) possono avere un valore compreso tra -2147483648 e 2147483647. Se assegnate un valore decimale a una variabile di questo tipo, i decimali vengono arrotondati all'intero superiore. Le variabili intere lunghe vengono calcolate rapidamente nelle procedure e sono adatte per i contatori di grandi numeri usati in operazioni cicliche. Una variabile di tipo Integer Long richiede quattro byte di memoria. "&" è il carattere di dichiarazione del tipo.

    Dim Variable&

    Dim Variable As Long

### Variabili decimali

Le variabili decimali possono essere numeri positivi o negativi, oppure zero. Il livello di accuratezza raggiunge le 29 cifre.

Potete usare il segno più (+) o meno (-) come prefisso per i numeri decimali (con o senza spazi).

Se un numero decimale viene assegnato a una variabile intera, LibreOffice Basic arrotonda il numero per eccesso o per difetto.

### Variabili Single

Le variabili Single (singole) possono assumere un valore positivo o negativo compreso tra 3,402823 x 10E38 e 1,401298 x 10E-45. Si tratta di variabili per numeri in virgola mobile, in cui la precisione decimale diminuisce con l'aumento della parte non decimale del numero. Le variabili singole sono adatte ai calcoli matematici di media precisione. Questi calcoli richiedono più tempo di elaborazione rispetto a quelli eseguiti con variabili intere, ma meno rispetto ai calcoli eseguiti con variabili doppie. Una variabile di tipo Single richiede quattro byte di memoria. Il carattere di dichiarazione del tipo è "!".

    Dim Variable!

    Dim Variable As Single

### Variabili Double

Le variabili doppie possono assumere un valore positivo o negativo compreso tra 1,79769313486232 x 10E308 e 4,94065645841247 x 10E-324. Si tratta di variabili per numeri in virgola mobile, in cui la precisione decimale diminuisce con l'aumento della parte non decimale del numero. Le variabili doppie sono adatte ai calcoli precisi. Le operazioni di calcolo richiedono più tempo di quello richiesto con le variabili singole. Una variabile di tipo Double richiede otto byte di memoria. Il carattere di dichiarazione del tipo è "#".

    Dim Variable#

    Dim Variable As Double

### Variabili Currency

Le variabili Currency (valuta) sono memorizzate internamente come numeri a 64 bit (8 Byte) e visualizzate come numeri decimali fissi con 15 cifre non decimali e 4 cifre decimali. I valori possono variare da -922337203685477,5808 a +922337203685477,5807. Le variabili Currency sono usate per calcolare le valute con elevata precisione. Il carattere di dichiarazione del tipo è "@".

    Dim Variable@

    Dim Variable As Currency

### Variabili String

Le variabili String (stringa) possono contenere stringhe della lunghezza massima di 65.535 caratteri. Ogni carattere viene memorizzato con il valore Unicode corrispondente. Le variabili stringa sono adatte per l'elaborazione di testi all'interno dei programmi e per la memorizzazione temporanea dei caratteri non stampabili fino a una lunghezza massima di 64 Kbyte. La memoria richiesta per la memorizzazione delle variabili stringa dipende dal numero di caratteri della variabile. Il carattere di dichiarazione del tipo è "$".

    Dim Variable$

    Dim Variable As String

### Variabili Boolean

Le variabili Boolean (booleane) possono memorizzare solo due valori: TRUE (VERO) o FALSE (FALSO). Il valore 0 equivale a FALSE, qualsiasi altro valore equivale a TRUE.

    Dim Variable As Boolean

### Variabili Date

Le variabili Date (data) possono contenere solo date e valori temporali memorizzati in un formato interno. I valori assegnati a queste variabili con Dateserial, Datevalue, Timeserial o Timevalue vengono automaticamente convertite nel formato interno. Le variabili di tipo Date vengono convertite in numeri normali usando la funzione Day, Month, Year o la funzione Hour, Minute, Second. Il formato interno permette di confrontare i valori di data/ora calcolando la differenza tra due numeri. Queste variabili possono essere dichiarate solo con la parola chiave Date.

    Dim Variable As Date

## Valori iniziali delle variabili

Al momento della dichiarazione, le variabili vengono impostate automaticamente sul valore "Null". Osservate le seguenti convenzioni:

Alle variabili Numeric è assegnato automaticamente il valore "0", non appena vengono dichiarate.

Alle variabili Date viene assegnato internamente il valore 0; ciò equivale alla conversione del valore in "0" con la funzione Day, Month, Year o con la funzione Hour, Minute, Second.

Alle variabili String viene assegnata una stringa vuota ("") quando vengono dichiarate.

## Matrici (Array)

LibreOffice Basic riconosce le matrici a una o più dimensioni, definite da un tipo di variabile specifico. Le matrici sono adatte per la modifica di elenchi e tabelle nei programmi. I singoli elementi di una matrice possono essere identificati con un indice numerico.

Le matrici devono essere dichiarate con l'istruzione Dim. Esistono diversi modi per definire l'intervallo degli indici di una matrice:

    Dim Text$(20)
| 21 elementi numerati da 0 a 20
    Dim Text$(5,4)
| 30 elementi (una matrice di 6 x 5 elementi)
    Dim Text$(5 To 25)
| 21 elementi numerati da 5 a 25
    Dim Text$(-15 To 5)
| 21 elementi (incluso lo 0), numerati da -15 a 5

L'intervallo degli indici può includere sia numeri positivi, sia negativi.

## Costanti

Le costanti hanno un valore fisso. Vengono definite una sola volta nel programma e non possono essere ridefinite successivamente:

    Const ConstName=Expression