Útmutató: Eljárás létrehozása (Visual Basic)
A kezdő deklarációs utasítás (Sub
vagy ) és a záró deklarációs utasítás (End Sub
vagy Function
End Function
) közé egy eljárást csatol. Az eljárás minden kódja ezek között az utasítások között található.
Az eljárás nem tartalmazhat más eljárást, ezért a kezdő és záró utasításoknak más eljáráson kívül kell lenniük.
Ha olyan kóddal rendelkezik, amely ugyanazt a feladatot különböző helyeken hajtja végre, a feladatot egyszer megírhatja eljárásként, majd meghívhatja a kód különböző pontjairól.
Olyan eljárás létrehozása, amely nem ad vissza értéket
Bármely más eljáráson kívül használjon egy utasítást
Sub
, majd egy utasítástEnd Sub
.Az utasításban
Sub
kövesse aSub
kulcsszót az eljárás nevével, majd zárójelben a paraméterlistát.Helyezze az eljárás kódkivonatait az és
End Sub
azSub
utasítások közé.
Érték visszaadására irányuló eljárás létrehozása
Bármely más eljáráson kívül használjon egy utasítást
Function
, majd egy utasítástEnd Function
.Function
Az utasításban kövesse aFunction
kulcsszót az eljárás nevével, majd zárójelben a paraméterlistát, majd aAs
visszatérési érték adattípusát meghatározó záradékot.Helyezze az eljárás kódkivonatait az és
End Function
azFunction
utasítások közé.Return
Egy utasítással adja vissza az értéket a hívó kódnak.
Az új eljárás csatlakoztatása a régi, ismétlődő kódblokkokhoz
Győződjön meg arról, hogy az új eljárást olyan helyen határozza meg, ahol a régi kód hozzáfér.
A régi, ismétlődő kódblokkban cserélje le az ismétlődő feladatot végrehajtó utasításokat egyetlen utasításra, amely meghívja az
Sub
Function
eljárást.Ha az
Function
eljárás egy értéket ad vissza, győződjön meg arról, hogy a hívási utasítás végrehajt egy műveletet a visszaadott értékkel, például egy változóban tárolja, különben az érték elveszik.
Példa
Az alábbi Function
eljárás kiszámítja egy jobb oldali háromszög leghosszabb oldalát vagy hipotenuzát a másik két oldal értékeinek figyelembevételével:
Function Hypotenuse(side1 As Double, side2 As Double) As Double
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function