Esempio di creazione di un progetto in Visual Basic Net, con i sorgenti da scaricare? Le trovi su Opentraining.it Visual Basic Italia
Corso di Visual Basic:
Terza lezione - le routine in Visual Basic

Dopo aver visto in dettaglio le variabili, vediamo meglio le routine. Innanzitutto bisogna dire che le routine, come le variabili, devono essere dichiarate: la dichiarazione avviene specificando la parola chiave Sub (in seguito vedremo che si possono utilizzare anche altre parole chiave) seguita dal nome della routine e da due parentesi tonde, la prima aperta e la seconda chiusa (tra poco vedremo cosa si può mettere all'interno delle parentesi). Ad esempio:


La parola Sub può essere preceduta dalle parole chiave Private o Public (NON da Dim: quest'ultima serve solo per le variabili), a seconda che la routine debba essere visibile solo nel form corrente o in tutto il progetto. Per inserire una routine è talvolta più comodo andare sul menù strumenti e scegliere inserisci routine: nella casella di testo in cui appare il cursore scrivete il nome della routine (le altre opzioni per ora lasciatele così come sono) e premete OK. La dichiarazione delle routine serve a indicare dove INIZIA la routine: per indicare dove FINISCE è necessario scrivere End Sub dopo l'ultima istruzione appartenente alla routine.
Quindi:


Nella prima lezione avevo detto che le routine sono un'insieme di più istruzioni: esse risultano molto comode quando si ha bisogno di eseguire più volte uno stesso gruppo di istruzioni, in modo che quando si ha necessità di eseguire una certa operazione, è sufficiente richiamare quella routine anziché riscrivere ogni volta le medesime istruzioni. Supponiamo, ad es., di voler calcolare i quadrati dei valori 2, 5, e 8 e di volerli visualizzare nella finestra Immediata: senza usare le routine saremmo costretti a scrivere (ad es. nell'evento Load del nostro form):

Private Sub Form_Load()
'dichiaro la variabile:
Dim x As Integer
x = 2 ^ 2 'il simbolo "^" serve a indicare
' l'elevamento a potenza
'stampo il risultato:
Debug.Print x
x = 5 ^ 2
Debug.Print x
x = 8 ^ 2
Debug.Print x
End Sub
Nota: il simbolo " ' " serve a
indicare un commento
al codice: il commento viene
del tutto ignorato da Visual Basic,
la sua utilità deriva dal fatto
che permette a chi legge il codice
di comprendere meglio cosa
fanno le istruzioni.













Utilizzando invece una routine di nome "Quadrato" che calcola il quadrato di un numero potremmo scrivere, nella sezione delle dichiarazioni:

Dim x As Integer

Private Sub Quadrato() 'qui inizia la routine
Dim y As Integer 'dichiaro una variabile locale
y = x ^ 2 'calcolo il quadrato
Debug.Print y 'stampo il risultato
End Sub 'qui finisce la routine

e, nell'evento Load del form:

Public Sub Form_Load ()
x = 2 'imposto la variabile
Quadrato 'calcolo il quadrato e stampo il risultato
x = 5
Quadrato
x = 8
Quadrato
End Sub

In un esempio così semplice è poco utile ricorrere alle routine, ma se pensate che una routine potrebbe contenere centinaia di istruzioni che vanno ripetute più o meno spesso vi accorgerete della loro grande utilità; un aspetto da non trascurare è infatti anche la leggibilità del codice, ovvero la sua facilità di comprensione: utilizzando le routine per eseguire operazioni complesse è molto più semplice capire come funziona un programma (procedendo con gli esempi ve ne renderete conto sempre meglio).

Nell'esempio qui sopra abbiamo impostato una variabile dichiarata a livello di modulo (la variabile x) in modo che potesse essere utilizzata anche nella routine: in realtà ciò non è necessario, infatti è possibile utilizzare il passaggio di parametri alla routine. Un parametro è una variabile che viene comunicata alla routine, la quale può utilizzarla più o meno come se fosse una sua variabile locale: in questo modo è possibile travalicare i limiti imposti dall'area di visibilità delle variabili (v. lez. precedente).
Ad es., se noi avessimo dichiarato la variabile x non nella sezione delle dichiarazioni ma all'interno dell'evento Load, avremmo ottenuto un errore del tipo:


perché la variabile non sarebbe stata visibile nella routine quadrato (a meno che abbiate dimenticato di inserire l'istruzione "Option Explicit": d'ora in poi darò sempre per scontato che sia attivata la dichiarazione obbligatoria delle variabili). Invece utilizzando il passaggio di parametri questo problema non sussiste più. Per indicare a Visual Basic che la nostra routine vuole uno o più parametri bisogna elencare i parametri, o argomenti, all'interno delle parentesi nella dichiarazione della routine:

Private Sub Quadrato (Param As Integer)
Dim y As Integer
y = Param ^ 2
Debug.Print y
End Sub

Come avrete notato, l'indicazione dell'argomento segue le stesse regole della dichiarazione delle variabili, eccezion fatta per la parola chiave Dim (o Private o public) che in questo caso NON va inserita perché non avrebbe senso: l'argomento di una routine è utilizzabile solo all'interno di quella routine. Per indicare più parametri bisogna separarli con la virgola: ad es:

... (Param1 As Integer, Param2 As String ...) ...

Il nome del parametro non ha nulla a che vedere col nome della variabile passata come argomento (nel nostro caso la variabile x): nel caso in cui i nomi fossero uguali, all'interno della routine verrebbe comunque utilizzato il parametro e non la variabile originaria. All'interno dell'evento load del form potremo ora scrivere:

Public Sub Form_Load()
Dim x As Integer
x = 2
Quadrato x
x = 5
Quadrato x
x = 8
Quadrato x
End Sub

e nella finestra immediata vedremo:


Naturalmente l'argomento da passare alla routine può essere una variabile dichiarata da noi, ma anche un valore fisso: possiamo quindi fare a meno, nel nostro caso, di utilizzare la variabile x e scrivere direttamente:

Public Sub Form_Load()
Quadrato (2) 'oppure Quadrato 2
Quadrato (5) 'oppure Quadrato 5
Quadrato (8) 'oppure Quadrato 8
End Sub

ottenendo il medesimo risultato: ogni volta che viene chiamata la routine quadrato, la variabile param assumerà di volta in volta il valore 2, 5, 8. Avrete sicuramente capito che per eseguire una routine è sufficiente scriverne il nome, eventualmente seguito dagli argomenti richiesti dalla routine: gli argomenti andranno separati da virgole nel caso siano più di uno (ad es. quadrato 2, 3, "Pippo" se gli argomenti sono tre: i primi due numerici e il terzo una stringa). E' però possibile anche utilizzare l'istruzione Call, seguita dal nome della routine e dai parametri, questa volta però obbligatoriamente racchiusi tra parentesi:

Call Quadrato (2)

oppure:

Call Quadrato (2, 3, Pippo)

se gli argomenti sono diversi.
L'uso delle parentesi sarà fondamentale nell'uso delle funzioni, che vedremo la prossima volta.

Archivio:ndexed
Lezioni Commenta questa lezione Invia la tua guida Avviso per le nuove lezioni
Proponi un argomento

Visual Basic Italia© copyright 2000 - tutti i diritti riservati
E-mail:
vbitalia@libero.it