Subprocedimentos (Visual Basic)
Um Sub
procedimento é uma série de instruções do Visual Basic incluídas pelas Sub
instruções and End Sub
. O Sub
procedimento executa uma tarefa e, em seguida, retorna o controle para o código de chamada, mas não retorna um valor para o código de chamada.
Cada vez que o procedimento é chamado, suas instruções são executadas, começando com a primeira instrução executável após a Sub
instrução e terminando com a primeira End Sub
, Exit Sub
ou Return
instrução encontrada.
Você pode definir um Sub
procedimento em módulos, classes e estruturas. Por padrão, é Public
, o que significa que você pode chamá-lo de qualquer lugar em seu aplicativo que tenha acesso ao módulo, classe ou estrutura na qual você o definiu. O termo método descreve um Sub
ou Function
procedimento que é acessado de fora de seu módulo, classe ou estrutura definidora. Para obter mais informações, consulte Procedimentos.
Um Sub
procedimento pode usar argumentos, como constantes, variáveis ou expressões, que são passados para ele pelo código de chamada.
Sintaxe da declaração
A sintaxe para declarar um Sub
procedimento é a seguinte:
[modifiers] Sub SubName[(parameterList)]
' Statements of the Sub procedure.
End Sub
O modifiers
pode especificar o nível de acesso e informações sobre sobrecarga, substituição, compartilhamento e sombreamento. Para obter mais informações, consulte Subdeclaração.
Declaração de parâmetros
Você declara cada parâmetro de procedimento de forma semelhante a como declara uma variável, especificando o nome do parâmetro e o tipo de dados. Você também pode especificar o mecanismo de passagem e se o parâmetro é opcional ou uma matriz de parâmetros.
A sintaxe para cada parâmetro na lista de parâmetros é a seguinte:
[Optional] [ByVal | ByRef] [ParamArray] parameterName As DataType
Se o parâmetro for opcional, você também deverá fornecer um valor padrão como parte de sua declaração. A sintaxe para especificar um valor padrão é a seguinte:
Optional [ByVal | ByRef] parameterName As DataType = defaultValue
Parâmetros como variáveis locais
Quando o controle passa para o procedimento, cada parâmetro é tratado como uma variável local. Isto significa que o seu período de vida é o mesmo que o do procedimento e que o seu âmbito é todo o procedimento.
Sintaxe de chamada
Você invoca um Sub
procedimento explicitamente com uma instrução de chamada autônoma. Você não pode chamá-lo usando seu nome em uma expressão. Você deve fornecer valores para todos os argumentos que não são opcionais e colocar a lista de argumentos entre parênteses. Se nenhum argumento for fornecido, você pode, opcionalmente, omitir os parênteses. O uso da Call
palavra-chave é opcional, mas não recomendado.
A sintaxe de uma chamada para um Sub
procedimento é a seguinte:
[Call] SubName[(argumentlist)]
Você pode chamar um Sub
método de fora da classe que o define. Primeiro, você precisa usar a New
palavra-chave para criar uma instância da classe ou chamar um método que retorna uma instância da classe. Para obter mais informações, consulte Novo operador. Em seguida, você pode usar a seguinte sintaxe para chamar o Sub
método no objeto de instância:
object.MethodName[(argumentList)]
Ilustração da declaração e do convite à apresentação de propostas
O procedimento a seguir Sub
informa ao operador do computador qual tarefa o aplicativo está prestes a executar e também exibe um carimbo de data/hora. Em vez de duplicar esse código no início de cada tarefa, o aplicativo apenas chama tellOperator
de vários locais. Cada chamada passa uma cadeia de caracteres no task
argumento que identifica a tarefa que está sendo iniciada.
Sub tellOperator(ByVal task As String)
Dim stamp As Date
stamp = TimeOfDay()
MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub
O exemplo a seguir mostra uma chamada típica para tellOperator
.
tellOperator("file update")