Hvis du planlægger at udvikle en Visual Basic-program , en af de første ting, du behøver at vide er forskellen mellem funktioner og subrutiner , også kendt som sub procedurer. Du kan tænke på subrutiner og funktioner som miniature -programmer. I modsætning til variable gør subrutiner og funktioner ikke holde nogen data , men i stedet holder VB kode. Hvis du ønsker at returnere data , og derefter bruge en funktion - ellers bruge en subrutine . Du kan ringe til funktioner fra subrutiner og vice-versa . Definition
Et underprogram er sammensat af en række Visual Basic udsagn omsluttet af "Sub " og " End Sub " udsagn . En funktion procedure er også sammensat af en række Visual Basic udsagn , men det skal være omsluttet af "Function " og " End Function " udsagn . Alle eksekverbar kode skal være inde i både en subrutine og en funktion procedure. Begge kan defineres i moduler , klasser og strukturer.
Erklæring
Du erklærer en subrutine på en måde svarende til, hvordan du ville erklære en variabel ved angivelse af parameteren navn og datatype . Du kan angive parameteren passerer mekanisme som " ByVal " eller " ByRef ". Hver parameter behandles som en lokal variabel til subrutine , hvilket betyder, at levetiden af parameter er den samme som proceduren . I en funktion, kan du erklære datatype af værdien det returnerer såsom " Heltal " eller "Double ". Hvis du ikke angive " returnType ", vil funktionen returnere en " objekt" datatype.
Tilbagevendende data
VB, kan du passere et argument til en procedure ( subrutine eller funktion) i værdi eller ved henvisning ved at angive " ByVal " eller " ByRef " søgeord . Som standard et underprogram og en funktion behandle deres argumenter i værdi , hvilket betyder , at proceduren ikke kan ændre indholdet af den variable element i den kaldende kode. En funktion returnerer en værdi ved at tildele værdien til funktionen navn eller medtage det i "Return" erklæring. En subrutine normalt ikke returnere en værdi , men du kan definere et argument som " ByRef " for at returnere en værdi som en parameter.
Eksempel
Følgende er et eksempel på en subrutine : Hej
Sub tellOperator ( ByVal opgave As String )
Dim stempel Som Dato
stempel = TimeOfDay ()
MsgBox ( " Start "& opgave &" på "& CStr (stempel) )
End Sub
Det følgende er et eksempel på en funktion : Hej
Function minFunktion ( ByVal j As Integer ) Som Double
Return 3,87 * j
End Function