Om du planerar på att utveckla ett Visual Basic-program , är en av de första saker du behöver veta skillnaden mellan funktioner och subrutiner , även känd som sub förfaranden . Du kan tänka på subrutiner och funktioner som miniatyr program . Till skillnad variabler , håll subrutiner och funktioner inte några uppgifter , utan de håller VB -kod . Om du vill returnera data , sedan använda en funktion - annars , använd en subrutin . Du kan anropa funktioner från subrutiner och vice versa . Definition
En subrutin består av en serie av Visual Basic uttalanden , som omges av " Sub " och " End Sub " uttalanden . En funktion förfarande också består av en serie av Visual Basic uttalanden , men det måste omges av " Function " och " End Function " uttalanden . Alla exekverbara koden måste vara inne både en subrutin och en funktion förfarande . Båda kan definieras i moduler , klasser och strukturer . Du deklarerar en subrutin på ett sätt som liknar hur du skulle deklarera en variabel Addera förklaring
, genom ange parametern namn och datatyp . Du kan ange parametern passerar mekanism som " ByVal " eller " ByRef . " Varje parameter behandlas som en lokal variabel till subrutinen , vilket betyder att livslängden av parametern är densamma som den för förfarandet. I en funktion , kan du förklara datatyp värde den returnerar t.ex. " Integer " eller " Double ". Om du inte anger " returnType , " funktionen returnerar ett " objekt " datatypen .
Återvänder Data
VB , kan du skicka ett argument till ett förfarande ( subrutin eller funktion ) med värde eller referens genom att ange " ByVal " eller " ByRef " sökord . Som standard en subrutin och en funktion behandlar sina argument med värde , vilket innebär att förfarandet inte kan ändra innehållet i den rörliga delen i den anropande koden . En funktion returnerar ett värde genom att tilldela värdet till funktionens namn , eller inkludera den i " Return " uttalande . En subrutin normalt inte returnera ett värde , men du kan definiera ett argument som " ByRef " för att returnera ett värde som en parameter .
Exempel
Följande är ett exempel på en subrutin :
Sub tellOperator ( ByVal uppgift As String ) katalog
Dim stämpel Som Datum
stämpel = TimeOfDay ( ) katalog
MsgBox ( " Starta " och uppgiften & " at " & CStr ( frimärke ) ) katalog
End Sub
följande är ett exempel på en funktion :
funktion myFunction ( ByVal j As Integer ) Som Double
Return 3.87 * j
End Function