Chi possiede almeno una infarinatura di programmazione conoscerà certamente che cosa sono le variabili e a che cosa servono.
Per venire incontro a chi si avvicina per la prima volta alla programmazione ci sembra invece indispensabile fornire a riguardo una spiegazione concisa ma il più possibile esauriente.
Le variabili possono essere considerate come una sorta di scatole, a ciascuna delle quali è associata una etichetta che permette di identificarne facilmente il contenuto ancor prima di aprirle.
All’interno dei programmi sviluppati in Visual Basic, le variabili, non conterranno – come le scatole – oggetti tangibili, bensì dei dati, delle informazioni.
Tali insiemi di dati sono necessari per l’esecuzione del programma.
Ogni variabile è una sorta di “segnaposto” nella memoria del personal computer: ciascuna variabile possiede un nome proprio univoco e può contenere diversi tipi di dati.
Supponiamo di voler memorizzare all’interno di una variabile il nostro nome di battesimo:
Dim Nome As String
Nome = "Michele"
La prima riga di codice (Dim Nome As String
) consente di predisporre una variabile in memoria denominata Nome di tipo String.
String è uno dei tanti tipi di dato disponibili in Visual Basic ed indica che la variabile dovrà contenere una stringa di caratteri ovvero un testo.
La seconda riga associa alla variabile la stringa di testo specificata.
Senza scervellarci troppo potremo successivamente, in qualunque parte del codice, richiamare la variabile Nome per leggerne il contenuto o per modificarlo.
Creiamo, secondo le semplici modalità presentate nelle precedenti lezioni, all’interno del form che compare all’avvio di Microsoft Visual Basic, un’etichetta Label1, quindi inseriamo nell’evento Form_Load le seguenti tre righe di codice:
Dim Nome As String
Nome = "Michele"
Label1.Caption=Nome
Ecco come appare il form in fase di design e, poco più sotto, come appare lo stesso form in fase di esecuzione dell’applicazione (dopo la pressione del tasto F5):
L’istruzione Label1.Caption=Nome
consente di associare il contenuto della variabile Nome – precedentemente dichiarata – alla proprietà Caption del controllo etichetta Label1.
L’istruzione iniziale Dim Nome As String
costituisce la dichiarazione vera e propria della variabile Nome.
La dichiarazione può essere formalizzata in questi termini:
La proposizione As tipo
è opzionale, può essere cioè omessa. In quest’ultimo caso alla variabile verrà automaticamente associato il tipo di dati Variant che consente di ospitare qualunque tipo di dati. E’ bene tuttavia dichiarare sempre le variabili che si utilizzano: così facendo saremo certi che le informazioni verranno meglio gestite.
Tipi di dato e uso delle variabili
I tipi di dati numerici disponibili in Visual Basic sono Integer (intero), Long (intero lungo), Single (virgola mobile a precisione semplice), Double (virgola mobile a precisione doppia) e Currency. Tali tipi di dati occupano meno spazio di memoria rispetto al tipo di dati Variant.
Se si può prevedere quale tipo di numero dovrà essere memorizzato in una variabile è bene dichiararlo con cura: se una variabile dovrà contenere esclusivamente numeri interi va utilizzato il tipo di dato Integer che garantirà una maggior velocità di calcolo.
Il tipo di dati String consente di associare ad una variabile un valore stringa.
La variabile stringa Nome è, in questo caso, una variabile stringa a lunghezza variabile poiché il programmatore non ne ha specificato la lunghezza massima. Visual Basic penserà a ridimensionarla opportunamente in base allo specifico contenuto.
Se si prevede che la stringa dovrà contenere un massimo – per esempio – di 25 caratteri potremo dichiararla in questa forma:
In questo caso se la stringa Nome conterrà testo di lunghezza inferiore a 25 caratteri, verranno automaticamente aggiunti degli spazi di riempimento finali. Nelle prossime lezioni vedremo come operare sulle variabili di tipo stringa.
Le variabili di tipo booleano devono essere dichiarate nella forma:
sostituendo ovviamente a variabile il nome specifico della variabile di tipo Boolean.
Il tipo booleano permette di memorizzare all’interno di una variabile una informazione come sì/no oppure acceso/spento.
Le variabili di tipo booleano si utilizzano in genere per “salvare” in memoria il responso di una operazione di verifica o di una struttura decisionale.
Le variabili di tipo byte consentono di ospitare valori binari. Tratteremo approfonditamente dell’argomento non appena parleremo di accesso ai file e chiamate a librerie.
Le variabili di tipo date accolgono valori di data ed ora che tuttavia possono essere anche memorizzati in variabili di tipo Variant. Vedremo prossimamente le operazioni possibili su date ed ore.
Infine, le variabili di tipo object fanno riferimento agli oggetti dell’applicazione o di un’applicazione diversa. Utilizzeremo variabili di tipo Object quando sarà necessario interagire con file database.
Le variabili hanno un’area di validità: esse cioè non vengono tenute sempre in memoria. Quando non sono più necessarie, durante l’esecuzione dell’applicazione, esse vengono cancellate evitando di occupare spazio superfluo.
Il valore di una variabile dichiarata all’interno di una routine (se si hanno dubbi si consiglia di rileggere la quarta lezione) è locale ovvero viene conservato per tutta la durata dell’esecuzione di tale routine quindi viene eliminato. Ciò significa che non è possibile accedere a una variabile contenuta in una routine da un’altra routine. Questa peculiarità permette di utilizzare, quindi, gli stessi nomi di variabile in routine diverse senza che si vengano a creare conflitti.
All’interno della stessa area di validità i nomi di variabile devono ovviamente essere univoci, in caso contrario Visual Basic notificherà l’errore.
Le variabili possono avere anche una validità più generale – a livello modulo – quindi accessibili da un solo modulo oppure da qualunque punto dell’applicazione. Di quest’ultimo aspetto parleremo prossimamente.
Per evitare errori od incongruenze è comunque preferibile restringere sempre l’area di validità delle variabili.
Il programmatore deve ricordare inoltre che i nomi di variabile non possono essere più lunghi di 255 caratteri, devono iniziare obbligatoriamente con una lettera e non possono contenere punti o caratteri per la dichiarazione dei tipi.