Manualandia
a- a+

Le Funzioni

Per eseguire alcune operazioni e restituire un valore, Visual Basic si serve di funzioni, come del resto tutti I linguaggi di programmazione.

La sintassi generale per la definizione di una funzione è:

 

[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 la parola chiave Function e deve concludersi con un enunciato che contenga comunque le parole End Function. La tabella che segue riporta schematicamente le parti facoltative che possono 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 della funzione e deve attenersi alle convenzioni standard per l’assegnazione dei nomi in Visual Basic.

Elencoargomenti è facoltativo (sebbene spesso utilizzato) e rappresenta un elenco di argomenti tra di loro separati da virgole e che viene spesso passato alla funzione quando questa verrà richiamata. L’argomento elencoargomenti prevede la sintassi: 

[Optional] [ByVal ¦ ByRef] [ParamArray] nomeVar[( )] [As tipo] [= valoreDefault]

 

Il termine argomento viene spesso indicato in altri linguaggi con il termine parametro.

La seguente tabella riporta le parti per l’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 una matrice ma può restituire un valore Variant contenente una matrice. Per restituire un valore, gli enunciati della funzione devono contenere una istruzione che assegni un valore 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, in questo caso restituirà Empty. Una funzione che restituisce il riferimento ad un oggetto restituirà Nothing.

L’enunciato Exit Function determina l’uscita prematura dalla funzione e in una funzione possono apparire più enunciati Exit Function.

 

 



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Francesco
Hai dubbi su questo articolo?