- Programmazione » Programmi » Visual Basic 6 - Guida e manuale pratico al linguaggio di programmazione
Le Funzioni
Per eseguire alcune operazioni e restituire unvalore, Visual Basic si serve di funzioni, come del restotutti I linguaggi di programmazione.
La sintassi generale per la definizione di unafunzione è:
[Public ¦ Private ¦ Friend] [Static] Function nome [(elencoargomenti)] [As tipo][enunciati][nome = espressione][Exit Function][enunciati][nome = espressione][Exit Function]
La dichiarazione di una funzione semplice inizia con laparola chiave Function e deve concludersi con un enunciatoche contenga comunque le parole End Function. La tabella chesegue riporta schematicamente le parti facoltative chepossono apparire prima della parola chiave Function.
Parte | Descrizione |
Public | Indica che la funzione sarà accessibile a tutte le altre procedure di tutti I moduli. Se Public si utilizza in un modulo contenente Option Private, la funzione non sarà disponibile dall’esterno del progetto. |
Private | Indica che la funzione sarà accessibile solo alle altre procedure del modulo nella quale la funzione è dichiarata. |
Friend | Utilizzato solo in un modulo classe. Indica che la funzione sarà visibile dall’interno del progetto ma non dal controllore di un’istanza di un oggetto. |
Static | Indica che le variabili locali della funzione vengono conservate fra una chiamata e l’altra. L’attributo Static non influisce sulle variabili che vengono dichiarate al di fuori della funzione, anche nel caso in cui queste vengano utilizzate all’interno della funzione stessa. |
La voce nome corrisponde al nome dellafunzione e deve attenersi alle convenzioni standard perl’assegnazione dei nomi in Visual Basic.
Elencoargomenti è facoltativo (sebbenespesso utilizzato) e rappresenta un elenco di argomenti tradi loro separati da virgole e che viene spesso passato allafunzione quando questa verrà richiamata.L’argomento elencoargomenti prevede lasintassi:
[Optional] [ByVal ¦ ByRef] [ParamArray] nomeVar[( )] [As tipo] [= valoreDefault]
Il termine argomento viene spesso indicato inaltri linguaggi con il termine parametro.
La seguente tabella riporta le parti perl’indicazione di un argomento.
Parte | Descrizione |
Optional | Indica che un argomento non viene espressamentte richiesto. Se utilizzato, tutti gli argomenti successivi contenuti in elencoargomenti devono essere considerati facoltativi e dichiaati utilizzando la parola chiave Optional. La parola chiave Optional non deve essere utilizzata per alcun argomento nel caso in cui venga utilizzato anche ParamArray. |
ByVal | Indica che l’argomento viene passato in base al proprio valore. |
ByRef | Indica che l’argomento viene passato in base al proprio riferimento (default). |
ParamArray | Utilizzato solo come ultimo argomento di elencoargomenti per indicare che l’argomento finale è una matrice di tipo Optional di elementi Variant. La parola chiave ParamArray consente di fornire un numero arbitrario di argomenti e non deve essere usato in presenza di ByVal ByRef o Optional. |
NomeVar | Corrisponde al nome della variabile che rappresenta l’argomento e deve seguire le convenzioni standard per l’assegnazione dei nomi in Visual Basic. |
Tipo | Definisce il tipo di dati dell’argomento passato alla procedura; può essere Byte, Boolean…ecc… |
ValoreDefault | Una qualsiasi costante o espressione costante. Questo elemento è valido per I parametri Optional e se il tipo è Object, sarà possibile solo assegnare il valore di default Nothing. |
Una funzione non può restituire unamatrice ma può restituire un valore Variant contenenteuna matrice. Per restituire un valore, gli enunciati dellafunzione devono contenere una istruzione che assegni unvalore al nome della funzione. Se non si fa ciò,vengono assegnati I valori di default 0, se la funzioneè numerica, stringa vuota o di lunghezza zero(“”) se di tipo stringa. Una funzione Variant, inquesto caso restituirà Empty. Una funzione cherestituisce il riferimento ad un oggetto restituiràNothing.
L’enunciato Exit Function determinal’uscita prematura dalla funzione e in una funzionepossono apparire più enunciati Exit Function.