Usare le variabili

From LibreOffice Help
Jump to: navigation, search

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 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:

EsempioNumero=5 Corretto
EsempioNumero5=15 Corretto
EsempioNumero_5=20 Corretto
Esempio Numero=20 Non valido, perché le variabili con spazi vuoti devono essere racchiuse tra parentesi
[Esempio Numero]=12 Corretto, perché la variabile contiene uno spazio ma è racchiusa tra parentesi
DéjàVu=25 Non valido, i caratteri speciali non sono ammessi
5EsempioNumero=12 Non valido, la variabile non può iniziare con un numero
Numero,Esempio=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="ProvaStringa" Manca la dichiarazione del tipo: "a$="
Warning.png 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 stringa possono contenere stringhe di caratteri.
  • Le variabili booleane possono contenere il valore TRUE o FALSE.
  • Le variabili oggetto 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 Variabile%

Dim Variabile 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 Variabile&

Dim Variabile 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 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 singola richiede quattro byte di memoria. Il carattere di dichiarazione del tipo è "!".

Dim Variabile!

Dim Variabile 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 doppia richiede otto byte di memoria. Il carattere di dichiarazione del tipo è "#".

Dim Variabile#

Dim Variabile As Double

Variabili Currency

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

Dim Variabile@

Dim Variabile 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 Variabile$

Dim Variabile as String

Variabili Boolean

Le variabili booleane possono memorizzare solo due valori: VERO o FALSO. Il valore 0 equivale a FALSO, qualsiasi altri valore equivale a VERO.

Dim Variabile 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 Variabile As Date

Valori iniziali delle variabili

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

Alle variabili numeriche viene assegnato automaticamente il valore "0".

Alle variabili data 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 stringa viene assegnata una stringa vuota ("").

Matrici

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 necessariamente essere dichiarate con l'istruzione Dim. Potete procedere in diversi modi per definire l'intervallo degli indici di una matrice:

DIM testo$(20) 21 elementi numerati da 0 a 20
DIM testo$(5,4) 30 elementi (una matrice di 6 x 5 elementi)
DIM testo$(5 to 25) 21 elementi numerati da 5 a 25
DIM testo$(-15 to 5) 21 elementi (incluso lo 0), numerati da -15 a 5

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

Costanti

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

CONST NomeCostante=Espressione