Forskjellen mellom Funksjoner og subrutiner i Visual Basic
Hvis du har planer om å utvikle et Visual Basic-program, en av de første tingene du trenger å vite er forskjellen mellom funksjoner og subrutiner, også kjent som under prosedyrer. Du kan tenke på subrutiner og funksjoner som miniatyr programmer. I motsetning til variabler, gjør subrutiner og funksjoner ikke holde noen data; stedet de holder VB kode. Hvis du ønsker å returnere data, og deretter bruke en funksjon - Ellers bruker en subrutine. Du kan ringe funksjoner fra subrutiner og vice-versa.
Definisjon
En subrutine består av en serie av Visual Basic uttalelser, omgitt av "Sub" og "End Sub" uttalelser. En funksjon prosedyren er også sammensatt av en serie av Visual Basic uttalelser, men det må være omsluttet av "Function" og "End Function" uttalelser. All kjørbar kode må være inne både en subrutine og funksjon prosedyre. Begge kan defineres i moduler, klasser og strukturer.
Erklæring
Du erklærer en subrutine på en måte som ligner på hvordan du ville erklære en variabel, ved å angi parameternavn og datatype. Du kan angi parameteroverføring mekanisme som "ByVal" eller "ByRef." Hver parameter er behandlet som en lokal variabel til subrutinen, noe som betyr at levetiden for den parameteren er den samme som den for fremgangsmåten. I en funksjon, kan du deklarerer datatypen av verdien den returnerer for eksempel "Integer" eller "Double". Hvis du ikke angir "returntype," funksjonen vil returnere en "objekt" datatype.
retur av data
I VB, kan du passere et argument til en prosedyre (subrutine eller funksjon) av verdi eller ved henvisning ved å angi "ByVal" eller "ByRef" søkeord. Som standard en subrutine og funksjon behandle sine argumenter som i verdi, noe som betyr at prosedyren ikke kan endre innholdet i den variable delen i ringer koden. En funksjon returnerer en verdi ved å tilordne verdien til funksjonsnavnet, eller ta den med 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:
Sub tellOperator (ByVal oppgave As String)
Dim stamp As Date
stempel = TimeOfDay ()
MsgBox ( "Starte" & oppgave & "på" og CSTR (stempel))
End Sub
Følgende er et eksempel på en funksjon:
Funksjon myFunction (ByVal j As Integer) As Double
Return 3.87 * j
End Function