VBScript - Procedimentos
O que é uma função?
Uma função é um grupo de código reutilizável que pode ser chamado em qualquer lugar em seu programa. Isso elimina a necessidade de escrever o mesmo código repetidamente. Isso permitirá que os programadores dividam um grande programa em várias funções pequenas e gerenciáveis. Além das funções embutidas, o VBScript também nos permite escrever funções definidas pelo usuário. Esta seção explicará como escrever suas próprias funções em VBScript.
Definição de Função
Antes de usarmos uma função, precisamos definir essa função particular. A maneira mais comum de definir uma função em VBScript é usando a palavra-chave Function, seguida por um nome de função exclusivo e pode ou não conter uma lista de parâmetros e uma instrução com umEnd Function palavra-chave, que indica o fim da função.
A sintaxe básica é mostrada abaixo -
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function Functionname(parameter-list)
statement 1
statement 2
statement 3
.......
statement n
End Function
</script>
</body>
</html>
Exemplo
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function sayHello()
msgbox("Hello there")
End Function
</script>
</body>
</html>
Chamando uma função
Para invocar uma função em algum lugar posteriormente no script, você simplesmente precisa escrever o nome dessa função com o Call palavra-chave.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function sayHello()
msgbox("Hello there")
End Function
Call sayHello()
</script>
</body>
</html>
Parâmetros de Função
Até agora, vimos a função sem um parâmetro, mas há uma facilidade para passar parâmetros diferentes ao chamar uma função. Esses parâmetros passados podem ser capturados dentro da função e qualquer manipulação pode ser feita sobre esses parâmetros. As funções são chamadas usando oCall Palavra-chave.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function sayHello(name, age)
msgbox( name & " is " & age & " years old.")
End Function
Call sayHello("Tutorials point", 7)
</script>
</body>
</html>
Retornando um valor de uma função
Uma função VBScript pode ter uma instrução de retorno opcional. Isso é necessário se você deseja retornar um valor de uma função. Por exemplo, você pode passar dois números em uma função e então esperar que a função retorne sua multiplicação no programa de chamada.
NOTE - Uma função pode retornar vários valores separados por vírgula como uma matriz atribuída ao próprio nome da função.
Exemplo
Esta função pega dois parâmetros, concatena-os e retorna o resultado no programa de chamada. No VBScript, os valores são retornados de uma função usando o nome da função. No caso de você desejar retornar dois ou mais valores, o nome da função é retornado com uma matriz de valores. No programa de chamada, o resultado é armazenado na variável de resultado.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function concatenate(first, last)
Dim full
full = first & last
concatenate = full 'Returning the result to the function name itself
End Function
</script>
</body>
</html>
Agora, podemos chamar essa função da seguinte maneira -
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function concatenate(first, last)
Dim full
full = first & last
concatenate = full 'Returning the result to the function name itself
End Function
' Here is the usage of returning value from function.
dim result
result = concatenate("Zara", "Ali")
msgbox(result)
</script>
</body>
</html>
Subprocedimentos
Subprocedimentos são semelhantes às funções, mas existem algumas diferenças.
Subprocedimentos DONOT Retorna um valor enquanto as funções podem ou não retornar um valor.
Subprocedimentos podem ser chamados sem a palavra-chave call.
Os subprocedimentos estão sempre incluídos Sub e End Sub afirmações.
Exemplo
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Sub sayHello()
msgbox("Hello there")
End Sub
</script>
</body>
</html>
Procedimentos de Chamada
Para invocar um procedimento em algum lugar posteriormente no script, você simplesmente precisa escrever o nome desse procedimento com ou sem o Call palavra-chave.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Sub sayHello()
msgbox("Hello there")
End Sub
sayHello()
</script>
</body>
</html>
Conceitos avançados para funções
Há muito o que aprender sobre as funções do VBScript. Podemos passar o parâmetro por valor ou por referência. Clique em cada um deles para saber mais.
ByVal- Passe os parâmetros por valor
ByRef- Passe os parâmetros pela referência