Sök…
Introduktion till förfaranden
En Sub
är en procedur som utför en specifik uppgift men inte returnerar ett specifikt värde.
Sub ProcedureName ([argument_list])
[statements]
End Sub
Om ingen åtkomstmodifierare anges är en procedur Public
standard.
En Function
är en procedur som ges data och returnerar ett värde, helst utan globala eller modulära sidoeffekter.
Function ProcedureName ([argument_list]) [As ReturnType]
[statements]
End Function
En Property
är en procedur som kapslar in moduldata. En egenskap kan ha upp till tre accessorer: Get
tillbaka ett värde eller en objektreferens, Let
att tilldela ett värde och / eller Set
att tilldela en objektreferens.
Property Get|Let|Set PropertyName([argument_list]) [As ReturnType]
[statements]
End Property
Egenskaper används vanligtvis i klassmoduler (även om de också är tillåtna i standardmoduler) och utsätter accessor för data som annars inte är tillgängliga för samtalskoden. En egenskap som bara exponerar en Get
accessor är "skrivskyddad"; en egenskap som bara skulle exponera en Let
och / eller Set
accessor är "skrivskyddad". Skrivskyddsegenskaper anses inte vara en bra programmeringspraxis - om klientkoden kan skriva ett värde, bör den kunna läsa den tillbaka. Överväg att implementera en Sub
procedur istället för att skapa en skrivegenskap.
Återvända ett värde
En Function
eller Property Get
förfarande kan (och bör!) Returnera ett värde till dess ringer. Detta görs genom att tilldela procedurens identifierare:
Property Get Foo() As Integer
Foo = 42
End Property
Funktion med exempel
Som nämnts ovan är funktioner mindre procedurer som innehåller små kodstycken som kan vara repetitiva i en procedur.
Funktioner används för att minska redundans i kod.
I likhet med en procedur kan en funktion deklareras med eller utan en argumenteringslista.
Funktion deklareras som en returtyp, eftersom alla funktioner returnerar ett värde. Namnet och Return-variabeln för en funktion är desamma.
Funktion med parameter:
Function check_even(i as integer) as boolean if (i mod 2) = 0 then check_even = True else check_even=False end if end Function
Funktion utan parameter:
Function greet() as String greet= "Hello Coder!" end Function
Funktionen kan kallas på olika sätt i en funktion. Eftersom en funktion som deklareras med en returtyp är i princip en variabel. den används på liknande sätt som en variabel.
Funktionella samtal:
call greet() 'Similar to a Procedural call just allows the Procedure to use the
'variable greet
string_1=greet() 'The Return value of the function is used for variable
'assignment
Vidare kan funktionen också användas som villkor för if och andra villkorade påståenden.
for i = 1 to 10
if check_even(i) then
msgbox i & " is Even"
else
msgbox i & " is Odd"
end if
next i
Ytterligare fler funktioner kan ha modifierare som By ref och By val för sina argument.