Se avete in programma di sviluppare una applicazione Visual Basic , una delle prime cose che dovete sapere è la differenza tra funzioni e subroutine , noto anche come le procedure di sub . Si può pensare di subroutine e funzioni come programmi in miniatura . A differenza delle variabili , subroutine e funzioni non detengono tutti i dati , invece sono titolari di codice VB . Se si desidera ripristinare i dati , quindi utilizzare una funzione - in caso contrario , utilizzare una subroutine . È possibile chiamare funzioni dalla subroutine e viceversa . Definizione
Una subroutine è composto da una serie di istruzioni di Visual Basic , racchiusa dalla "End Sub " dichiarazioni "Sub " e . Una procedura funzione è composta anche da una serie di istruzioni di Visual Basic , ma deve essere racchiuso dalla "funzione " e " End Function " dichiarazioni . Tutto il codice eseguibile deve essere all'interno sia di un sottoprogramma e una routine Function . Entrambi possono essere definiti in moduli , classi e strutture .
Dichiarazione
dichiarare una subroutine in un modo simile a come si dovrebbe dichiarare una variabile , da specificando il nome del parametro e il tipo di dati. È possibile specificare il parametro meccanismo come " ByVal " o di passaggio " ByRef ". Ciascun parametro è trattata come una variabile locale alla subroutine , il che significa che la durata del parametro è la stessa di quella della procedura . In una funzione, è possibile dichiarare il tipo di dati del valore restituito come " intero " o "Double ". Se non si specifica il " returntype ", la funzione restituisce un tipo di dati "Oggetto" .
Restituzione di dati
VB , è possibile passare un argomento di una procedura ( subroutine o di una funzione ), per valore o per riferimento specificando le parole chiave " ByRef " " ByVal " o . Per impostazione predefinita, una subroutine e una funzione di trattare i loro argomenti come per valore , il che significa che la procedura non può modificare il contenuto della componente variabile nel codice chiamante . Una funzione restituirà un valore assegnando il valore al nome della funzione , oppure includerlo nella dichiarazione "Return" . Una subroutine normalmente non restituisce un valore , ma è possibile definire un argomento come " ByRef " per restituire un valore come parametro.
Esempio
che segue è un esempio di una subroutine :
tellOperator Sub ( compito di ByVal come stringa ) per
Dim timbro As Date
timbro = TimeOfDay ( ) per
MsgBox ( " Avvio " e compito &" a " & CStr ( timbro ) ) per
End Sub
Il seguente è un esempio di una funzione :
funzione myFunction ( ByVal j As Integer ) As Double
Return 3,87 * j
End Function