Procedury podrzędne (Visual Basic)
Procedura Sub
to seria instrukcji Języka Visual Basic ujęta w instrukcje Sub
i End Sub
. Procedura Sub
wykonuje zadanie, a następnie zwraca kontrolę do kodu wywołującego, ale nie zwraca wartości do kodu wywołującego.
Za każdym razem, gdy procedura jest wywoływana, jego instrukcje są wykonywane, począwszy od pierwszej instrukcji wykonywalnej po Sub
instrukcji i kończącej się pierwszą End Sub
instrukcją , Exit Sub
lub Return
napotkaną instrukcją.
Procedurę Sub
można zdefiniować w modułach, klasach i strukturach. Domyślnie jest Public
to , co oznacza, że można wywołać go z dowolnego miejsca w aplikacji, która ma dostęp do modułu, klasy lub struktury, w której ją zdefiniowano. Termin metoda opisuje procedurę Sub
lub Function
dostępną spoza definiującego modułu, klasy lub struktury. Aby uzyskać więcej informacji, zobacz Procedury.
Procedura Sub
może przyjmować argumenty, takie jak stałe, zmienne lub wyrażenia, które są przekazywane do niego przez kod wywołujący.
Składnia deklaracji
Składnia deklarowania Sub
procedury jest następująca:
[modifiers] Sub SubName[(parameterList)]
' Statements of the Sub procedure.
End Sub
Element modifiers
może określać poziom dostępu i informacje o przeciążeniu, zastąpieniu, udostępnieniu i cieniu. Aby uzyskać więcej informacji, zobacz Sub Statement .
Deklaracja parametru
Każdy parametr procedury jest deklarowany podobnie do sposobu deklarowania zmiennej, określając nazwę parametru i typ danych. Można również określić mechanizm przekazywania oraz określić, czy parametr jest opcjonalny, czy tablica parametrów.
Składnia dla każdego parametru na liście parametrów jest następująca:
[Optional] [ByVal | ByRef] [ParamArray] parameterName As DataType
Jeśli parametr jest opcjonalny, należy również podać wartość domyślną w ramach jego deklaracji. Składnia określania wartości domyślnej jest następująca:
Optional [ByVal | ByRef] parameterName As DataType = defaultValue
Parametry jako zmienne lokalne
Gdy kontrolka przechodzi do procedury, każdy parametr jest traktowany jako zmienna lokalna. Oznacza to, że jego okres istnienia jest taki sam jak w przypadku procedury, a jej zakres to cała procedura.
Wywoływanie składni
Należy jawnie wywołać procedurę Sub
z autonomiczną instrukcją wywołującą. Nie można go wywołać przy użyciu jego nazwy w wyrażeniu. Musisz podać wartości dla wszystkich argumentów, które nie są opcjonalne, i należy ująć listę argumentów w nawiasach. Jeśli nie podano żadnych argumentów, opcjonalnie można pominąć nawiasy. Użycie słowa kluczowego Call
jest opcjonalne, ale nie jest zalecane.
Składnia wywołania Sub
procedury jest następująca:
[Call] SubName[(argumentlist)]
Można wywołać metodę Sub
spoza klasy, która ją definiuje. Najpierw musisz użyć New
słowa kluczowego, aby utworzyć wystąpienie klasy lub wywołać metodę zwracającą wystąpienie klasy. Aby uzyskać więcej informacji, zobacz Nowy operator. Następnie możesz użyć następującej składni, aby wywołać metodę Sub
w obiekcie wystąpienia:
object.MethodName[(argumentList)]
Ilustracja deklaracji i wywołania
Poniższa Sub
procedura informuje operatora komputera, które zadanie ma wykonać aplikacja, a także wyświetla sygnaturę czasową. Zamiast duplikować ten kod na początku każdego zadania, aplikacja po prostu wywołuje je tellOperator
z różnych lokalizacji. Każde wywołanie przekazuje ciąg w argumencie task
, który identyfikuje uruchomione zadanie.
Sub tellOperator(ByVal task As String)
Dim stamp As Date
stamp = TimeOfDay()
MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub
W poniższym przykładzie pokazano typowe wywołanie metody tellOperator
.
tellOperator("file update")