Porady: tworzenie procedury (Visual Basic)

Należy ująć procedurę między instrukcją deklaracji początkowej (Sub lub Function) a końcową instrukcją deklaracji (End Sub lub End Function). Cały kod procedury znajduje się między tymi instrukcjami.

Procedura nie może zawierać innej procedury, więc jej instrukcje początkowe i końcowe muszą znajdować się poza inną procedurą.

Jeśli masz kod wykonujący to samo zadanie w różnych miejscach, możesz napisać zadanie raz jako procedurę, a następnie wywołać je z różnych miejsc w kodzie.

Aby utworzyć procedurę, która nie zwraca wartości

  1. Poza inną procedurą Sub użyj instrukcji , a następnie instrukcji End Sub .

  2. W instrukcji Sub postępuj zgodnie Sub ze słowem kluczowym z nazwą procedury, a następnie listę parametrów w nawiasach.

  3. Umieść instrukcje kodu procedury między instrukcjami Sub i End Sub .

Aby utworzyć procedurę zwracającą wartość

  1. Poza inną procedurą Function użyj instrukcji , a następnie instrukcji End Function .

  2. W instrukcji Function postępuj zgodnie Function ze słowem kluczowym z nazwą procedury, a następnie listę parametrów w nawiasach, a następnie klauzulę określającą As typ danych zwracanej wartości.

  3. Umieść instrukcje kodu procedury między instrukcjami Function i End Function .

  4. Return Użyj instrukcji , aby zwrócić wartość do kodu wywołującego.

Aby połączyć nową procedurę ze starymi, powtarzalnymi blokami kodu

  1. Upewnij się, że zdefiniowano nową procedurę w miejscu, w którym stary kod ma dostęp do tej procedury.

  2. W starym, powtarzalnym bloku kodu zastąp instrukcje wykonujące powtarzające się zadanie pojedynczą instrukcją, która wywołuje procedurę Sub or Function .

  3. Jeśli procedura zwraca Function wartość, upewnij się, że instrukcja wywołująca wykonuje akcję z zwróconą wartością, taką jak przechowywanie jej w zmiennej lub inna wartość zostanie utracona.

Przykład

Poniższa Function procedura oblicza najdłuższą stronę lub hipotenuse trójkąta prawego, biorąc pod uwagę wartości pozostałych dwóch stron:

Function Hypotenuse(side1 As Double, side2 As Double) As Double
    Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function

Zobacz też