Dílčí procedury (Visual Basic)
Procedura Sub
je řada příkazů jazyka Visual Basic uzavřených příkazy Sub
a End Sub
příkazy. Tento Sub
postup provede úlohu a pak vrátí ovládací prvek volajícímu kódu, ale nevrací hodnotu volajícímu kódu.
Pokaždé, když je volána procedura, jeho příkazy se spustí, počínaje prvním spustitelným příkazem za Sub
příkazem a končí prvním End Sub
, Exit Sub
nebo Return
příkazem, který byl zjištěn.
Postup můžete definovat Sub
v modulech, třídách a strukturách. Ve výchozím nastavení to znamená Public
, že ho můžete volat odkudkoli ve vaší aplikaci, která má přístup k modulu, třídě nebo struktuře, ve které jste ho definovali. Metoda termínů popisuje nebo Function
proceduruSub
, ke které se přistupuje mimo jeho definování modulu, třídy nebo struktury. Další informace naleznete v tématu Procedury.
Procedura Sub
může přijímat argumenty, jako jsou konstanty, proměnné nebo výrazy, které jsou předány volajícím kódem.
Syntaxe deklarace
Syntaxe pro deklarování Sub
procedury je následující:
[modifiers] Sub SubName[(parameterList)]
' Statements of the Sub procedure.
End Sub
Může modifiers
určit úroveň přístupu a informace o přetížení, přepsání, sdílení a stínování. Další informace naleznete v části Dílčí příkaz.
Deklarace parametru
Každý parametr procedury deklarujete podobně jako proměnnou a zadáte název parametru a datový typ. Můžete také zadat předávací mechanismus a to, jestli je parametr volitelný, nebo pole parametrů.
Syntaxe každého parametru v seznamu parametrů je následující:
[Optional] [ByVal | ByRef] [ParamArray] parameterName As DataType
Pokud je parametr nepovinný, musíte jako součást deklarace zadat také výchozí hodnotu. Syntaxe pro zadání výchozí hodnoty je následující:
Optional [ByVal | ByRef] parameterName As DataType = defaultValue
Parametry jako místní proměnné
Když ovládací prvek předá proceduru, každý parametr se považuje za místní proměnnou. To znamená, že jeho životnost je stejná jako její délka a její rozsah je celý postup.
Syntaxe volání
Proceduru Sub
vyvoláte explicitně pomocí samostatného volajícího příkazu. Nelze ho volat pomocí jeho názvu ve výrazu. Je nutné zadat hodnoty pro všechny argumenty, které nejsou volitelné, a je nutné uzavřít seznam argumentů do závorek. Pokud nejsou zadány žádné argumenty, můžete volitelně vynechat závorky. Použití klíčového Call
slova je volitelné, ale nedoporučuje se.
Syntaxe volání Sub
procedury je následující:
[Call] SubName[(argumentlist)]
Metodu Sub
můžete volat mimo třídu, která ji definuje. Nejprve musíte použít New
klíčové slovo k vytvoření instance třídy nebo volání metody, která vrací instanci třídy. Další informace naleznete v tématu Nový operátor. Pak můžete pomocí následující syntaxe volat metodu Sub
objektu instance:
object.MethodName[(argumentList)]
Obrázek deklarace a volání
Následující Sub
postup říká operátoru počítače, který úkol aplikace má provést, a také zobrazí časové razítko. Místo duplikování tohoto kódu na začátku každého úkolu aplikace volá pouze tellOperator
z různých umístění. Každé volání předá řetězec v argumentu task
, který identifikuje spuštěný úkol.
Sub tellOperator(ByVal task As String)
Dim stamp As Date
stamp = TimeOfDay()
MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub
Následující příklad ukazuje typické volání tellOperator
.
tellOperator("file update")