Hvis du har planer om å utvikle en Visual Basic-programmet , er en av de første tingene du trenger å vite forskjellen mellom funksjoner og subrutiner , også kjent som sub prosedyrer. Du kan tenke på subrutiner og funksjoner som miniatyr programmer. I motsetning til variabler , gjør subrutiner og funksjoner ikke holde noen data , i stedet de holder VB kode . Hvis du ønsker å returnere data , deretter bruke en funksjon - Ellers bruker en subrutine . Du kan ringe funksjoner fra underrutiner og vice- versa . Definisjon
En subrutine består av en serie med Visual Basic uttalelser, omsluttet av " Sub " og " End Sub " uttalelser . En funksjon prosedyren er også sammensatt av en rekke Visual Basic uttalelser , men det må være omsluttet av "Function" og "End Function " uttalelser . Alle kjørbar kode må være inne både en subrutine og en funksjon prosedyre . Begge kan defineres i moduler , klasser og strukturer .
Declaration
Du erklærer en subrutine på en måte som ligner på hvordan du ville erklære en variabel , etter spesifisere parameter navn og datatype. Du kan spesifisere parameter passerer mekanismen som " ByVal " eller " ByRef . " Samtlige parametre behandles som en lokal variabel til subrutinen , som betyr at levetiden for den parameteren er den samme som av prosedyren. I en funksjon, kan du erklære datatype av verdien den returnerer for eksempel " Integer " eller "Double ". Hvis du ikke angir " returntype , " funksjonen vil returnere en " objekt" datatype.
Retur av data
VB, kan du passere et argument til en prosedyre ( subrutine eller funksjon) ved verdi eller ved henvisning ved å angi " ByVal " eller " ByRef " søkeord . Som standard er en subrutine og en funksjon behandler sine argumenter som ved verdi , noe som betyr at fremgangsmåten ikke kan endre innholdet i det variable element i den anropende koden. En funksjon returnerer en verdi ved å tilordne verdien til funksjonen navnet , eller inkludere den i " Return " statement. En subrutine normalt ikke returnerer en verdi , men du kan definere et argument som " ByRef " for å returnere en verdi som en parameter .
Eksempel
Følgende er et eksempel på en subrutine : en
Sub tellOperator ( ByVal oppgave As String )
Dim stempel Som Date
stempel = TimeOfDay ( )
MsgBox ( " starter "& oppgave og " på "& CStr ( stempel ) )
End Sub
Det følgende er et eksempel på en funksjon : en
funksjon myFunction ( ByVal j As Integer ) Som Double
Return 3,87 * j
End Function