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