Se você está pensando em desenvolver um aplicativo Visual Basic, uma das primeiras coisas que você precisa saber é a diferença entre as funções e sub-rotinas , também conhecido como sub procedimentos . Você pode pensar em sub-rotinas e funções como programas em miniatura. Ao contrário de variáveis , sub-rotinas e funções não possuem quaisquer dados , em vez disso eles detêm código VB . Se você deseja retornar os dados , em seguida, usar uma função - caso contrário , use uma sub-rotina. Você pode chamar funções de sub-rotinas e vice-versa. Definição
Uma sub-rotina é composta por uma série de declarações do Visual Basic , fechados pelo "Sub" e declarações " End Sub" . Um procedimento de função também é composto de uma série de instruções do Visual Basic , mas ele deverá ser colocado pelo "Função " e declarações " End Function " . Todo o código executável deve estar dentro de uma sub-rotina e tanto um procedimento de função. Ambos podem ser definidos em módulos , classes e estruturas.
Declaração
declarar uma sub-rotina de uma forma semelhante à forma como você deve declarar uma variável, por especificando o nome do parâmetro eo tipo de dados. Você pode especificar o mecanismo de passagem de parâmetros , tais como " ByVal " ou " ByRef ". Cada parâmetro é tratado como uma variável local para a sub-rotina , o que significa que o tempo de vida do parâmetro é a mesma que a do processo . Em uma função , você pode declarar o tipo de dados do valor que retorna como " inteiro" ou "Double ". Se você não especificar o " returntype ", a função retornará um "Objeto" tipo de dados.
Retornando Dados
VB, você pode passar um argumento para um procedimento ( sub-rotina ou função) por valor ou por referência , especificando o " ByVal " ou palavras-chave " ByRef " . Por padrão, uma sub-rotina e uma função de tratar os seus argumentos por valor , o que significa que o procedimento não pode modificar o conteúdo do elemento variável no código de chamada . A função irá retornar um valor , atribuindo o valor para o nome da função, ou incluí-lo na declaração de "Return". Uma sub-rotina normalmente não retorna um valor , mas você pode definir um argumento como " ByRef " para retornar um valor como parâmetro.
Exemplo
O seguinte é um exemplo de uma sub-rotina :
Sub tellOperator (tarefa ByVal As String)
Dim selo como data
selo = TimeOfDay ()
MsgBox (" começando " & task &" em "& CStr (carimbo) )
End Sub
O seguinte é um exemplo de uma função :
myFunction função ( ByVal j As Integer ) As Double
Retornar 3,87 * Função j
Fim