Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een Function procedure is een reeks Visual Basic-instructies die zijn ingesloten door de Function en-instructies End Function . De Function procedure voert een taak uit en retourneert vervolgens het besturingselement naar de aanroepende code. Wanneer het besturingselement retourneert, wordt ook een waarde geretourneerd naar de aanroepende code.
Telkens wanneer de procedure wordt aangeroepen, worden de instructies uitgevoerd, te beginnen met de eerste uitvoerbare instructie na de Function instructie en eindigend met de eerste End Function, Exit Functionof Return instructie aangetroffen.
U kunt een Function procedure definiƫren in een module, klasse of structuur. Dit betekent Public standaard dat u deze kunt aanroepen vanaf elke locatie in uw toepassing die toegang heeft tot de module, klasse of structuur waarin u deze hebt gedefinieerd.
Een Function procedure kan argumenten aannemen, zoals constanten, variabelen of expressies, die worden doorgegeven door de aanroepende code.
Syntaxis van declaratie
De syntaxis voor het declareren van een Function procedure is als volgt:
[Modifiers] Function FunctionName [(ParameterList)] As ReturnType
[Statements]
End Function
De modifiers kunnen toegangsniveau en informatie over overbelasting, overschrijven, delen en schaduw opgeven. Zie Functie-instructie voor meer informatie.
U declareert elke parameter op dezelfde manier als voor subprocedures.
Gegevenstype
Elke Function procedure heeft een gegevenstype, net zoals elke variabele. Dit gegevenstype wordt opgegeven door de As component in de Function instructie en bepaalt het gegevenstype van de waarde die de functie retourneert naar de aanroepende code. In de volgende voorbeelddeclaraties ziet u dit.
Function Yesterday() As Date
End Function
Function FindSqrt(radicand As Single) As Single
End Function
Zie Onderdelen in functie-instructie voor meer informatie.
Geretourneerde waarden
De waarde die een Function procedure terugstuurt naar de aanroepende code wordt de retourwaarde genoemd. De procedure retourneert deze waarde op twee manieren:
De instructie gebruikt de
Returninstructie om de retourwaarde op te geven en retourneert direct het besturingselement naar het aanroepende programma. In het volgende voorbeeld ziet u dit.Function FunctionName [(ParameterList)] As ReturnType ' The following statement immediately transfers control back ' to the calling code and returns the value of Expression. Return Expression End FunctionEr wordt een waarde toegewezen aan een eigen functienaam in een of meer instructies van de procedure. Control keert pas terug naar het aanroepende programma nadat een
Exit FunctionofEnd Functioninstructie is uitgevoerd. In het volgende voorbeeld ziet u dit.Function FunctionName [(ParameterList)] As ReturnType ' The following statement does not transfer control back to the calling code. FunctionName = Expression ' When control returns to the calling code, Expression is the return value. End Function
Het voordeel van het toewijzen van de retourwaarde aan de functienaam is dat het besturingselement niet wordt geretourneerd vanuit de procedure totdat er een Exit Function of-instructie End Function wordt aangeroepen. Hiermee kunt u een voorlopige waarde toewijzen en deze later zo nodig aanpassen.
Zie Functie-instructie voor meer informatie over het retourneren van waarden. Zie Matrices voor informatie over het retourneren van matrices.
Aanroepende syntaxis
U roept een Function procedure aan door de naam en argumenten ervan op te halen aan de rechterkant van een toewijzingsinstructie of in een expressie. U moet waarden opgeven voor alle argumenten die niet optioneel zijn en u moet de lijst met argumenten tussen haakjes insluiten. Als er geen argumenten worden opgegeven, kunt u eventueel de haakjes weglaten.
De syntaxis voor een aanroep naar een Function procedure is als volgt.
=
If ((
functionname[(argumentlijst)] / 3) <=uitdrukking) Then
Wanneer u een Function procedure aanroept, hoeft u de retourwaarde niet te gebruiken. Als u dit niet doet, worden alle acties van de functie uitgevoerd, maar wordt de retourwaarde genegeerd.
MsgBox wordt vaak op deze manier aangeroepen.
Afbeelding van declaratie en aanroep
Met de volgende Function procedure wordt de langste zijde of hypotenuse van een driehoek rechts berekend op basis van de waarden voor de andere twee zijden.
Function Hypotenuse(side1 As Double, side2 As Double) As Double
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function
In het volgende voorbeeld ziet u een typische aanroep naar hypotenuse.
Dim testLength, testHypotenuse As Double
testHypotenuse = Hypotenuse(testLength, 10.7)