Visual Basic
    • TUTORIAL
    • ESEMPI
    • RIFERIMENTI
    il mio computer

Dichiarazione di variabili.

In Visual Basic è possibile dichiarare variabili di diversi tipi per contenere dati. L'istruzione preposta alla dichiarazione delle variabili è Dim, la sua sintassi è la seguente:

Dim nome as String
Dim anni as Integer
Dim dataNascita as Date

Nel dichiarare una variabile bisogna attenersi a certe regole, è bene non superare mai la lunghezza del nome della variabile di 32 caratteri, una variabile può contenere caratteri alfabetici e numeri, ma non deve mai iniziare con un numero, può iniziare con un carattere di underscore (trattino basso) e non deve contenere caratteri speciali, pena la segnalazione di errore.

Nell'esempio ho dichiarato una variabile di nome nome e di tipo String, poi alla seconda riga un'altra di nome anni di tipo Integer e infine una terza variabile chiamata dataNascita di tipo Date. La prima l'ho dichiarata di tipo String perchè dovrà contenere un nome di persona, la seconda di tipo Integer perchè dovrà contenere un numero e la terza di tipo Date perchè dovrà contenere una data.

E' anche possibile dichiarare più variabili in una unica istruzione Dim, e volendo, assegnare loro un valore,  vediamo sotto la sintassi:

Dim nome as String, anni as Integer=25, dataNascita as Date

 Oppure:

Dim nome1, nome2, nome3 as String, anni1, anni2, anni3 as Integer

Ovviamente i tipi di dato che è possibile usare non sono solo quelli visti fino a adesso, ce ne sono molti altri, vediamoli qui sotto: 

Tipo Memoria occupata Range valori

Boolean

Dipende dalla piattaforma

True or False

Byte

1 byte

da 0 a 255

Char

2 bytes

da 0 a 65535

Date

8 bytes

da 1/1/0001 0:00:00 a 31/12/9999 23:59:59

Decimal

16 bytes

da 0 a +/-79,228,162,514,264,337,593,543,950,335

Double

8 bytes

da -1.79769313486231570E+308 a -4.94065645841246544E-324, per i negativi
da 4.94065645841246544E-324 a 1.79769313486231570E+308, per i positivi

Integer

4 bytes

da -2,147,483,648 a 2,147,483,647

Long

8 bytes

da -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807

Object

4 bytes per sistemi a 32-bit
8 bytes per sistemi a 64-bit

Qualsiasi tipo di dato

SByte

1 byte

da -128 a 127

Short

2 bytes

da -32,768 a 32,767

Single

4 bytes

da -3.4028235E+38 a -1.401298E-45 per valori negativi
da 1.401298E-45 a 3.4028235E+38 per valori positivi

String

Dipende dalla piattaforma

da 0 a circa 2 miliardi di caratteri

UInteger

4 bytes

da 0 a 4,294,967,295 (senza segno)

ULong

8 bytes

da 0 a 18,446,744,073,709,551,615 (senza segno)

UShort

2 bytes

da 0 a 65,535 (senza segno

Ovviamente le variabili a differenza delle costanti possono cambiare il loro contenuto durante l'esecuzione dell'appplicazione, inoltre hanno una loro visibilità all'interno dell'applicazione. Per dichiarare una variabile che sia visibile a tutte le funzioni e procedure bisogna dichiararla al di fuori di ogni funzione o procedura, solitamente questo si fà all'inizio del listato. Le variabili che vengono invece dichiarate all'interno di funzioni o procedure sono visibili solo all'interno di quella specifica funzione o procedura, quando l'esecuzione di quella determinata funzione o procedura termina anche le variabili dichiarate al loro interno vengono rilasciate, questo significa che scompaiono, per poi tornare ad essere dichiarate alla prossima esecuzione della determinata funzione o procedura.

Matrici dinamiche

A volte può essere necessario usare una matrice del quale a priori non è possibile stabilire la lunghezza necessaria, cioè i dati che dovrà contenere, in questi casi può essere utile ricorrere alle matrici dinamiche. La dichiarazione risulta identica alla dichiarazione di una matrice che contiene il numero di elementi, tranne per il fatto che questa volta all'interno delle parentesi tonde non dovrà essere inserito nessun indice.

In seguito quando si dovrà inserire un nuovo valore basterà utilizzare l'istruzione Redim che ridimensiona la lunghezza della matrice (cioè il numero di elementi), ad esempio se si crea una applicazione nel quale l'utente potrà inserire in un campo di input una stringa quante volte vuole per poi memorizzare questa stringa nella matrice, ogni volta dovrà essere utilizzata l'istruzione Redim(numero totale di elementi della matrice + uno).
L'istruzione Redim ogni volta che viene usata cancella tutti i valori contenuti negli elementi presenti, se si desidera mantenerli (come la maggior parte delle volte si desidera) sarà necessario usare Redim Preserve