Учебники

VBScript — Процедуры

Функция — это группа многократно используемого кода, который можно вызывать в любом месте вашей программы. Это устраняет необходимость писать один и тот же код снова и снова. Это позволит программистам разделить большую программу на ряд небольших и управляемых функций. Помимо встроенных функций, VBScript позволяет нам также писать пользовательские функции. Этот раздел объяснит вам, как писать свои собственные функции в VBScript.

Определение функции

Прежде чем использовать функцию, нам нужно определить эту конкретную функцию. Наиболее распространенный способ определения функции в VBScript — использование ключевого слова Function, за которым следует уникальное имя функции, которое может содержать или не содержать список параметров и оператор с ключевым словом End Function , который указывает конец функции. ,

Основной синтаксис показан ниже —

<!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>

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function sayHello()
            msgbox("Hello there")
         End Function

      </script>
   </body>
</html>

Вызов функции

Чтобы вызвать функцию где-нибудь позже в скрипте, вам просто нужно написать имя этой функции с ключевым словом Call .

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function sayHello()
            msgbox("Hello there")
         End Function

         Call sayHello()
        
      </script>
   </body>
</html>

Параметры функции

До сих пор мы видели функцию без параметра, но есть возможность передавать различные параметры при вызове функции. Эти переданные параметры могут быть захвачены внутри функции, и любые манипуляции с этими параметрами могут быть выполнены. Функции вызываются с помощью ключевого слова вызова .

<!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>

Возврат значения из функции

Функция VBScript может иметь необязательный оператор возврата. Это необходимо, если вы хотите вернуть значение из функции. Например, вы можете передать два числа в функцию, а затем ожидать от функции возврата их умножения в вызывающей программе.

ПРИМЕЧАНИЕ. — Функция может возвращать несколько значений, разделенных запятой, в виде массива, назначенного самому имени функции.

пример

Эта функция принимает два параметра, объединяет их и возвращает результат в вызывающей программе. В VBScript значения возвращаются из функции с использованием имени функции. В случае, если вы хотите вернуть два или более значений, тогда имя функции возвращается с массивом значений. В вызывающей программе результат сохраняется в переменной результата.

<!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>

Теперь мы можем вызвать эту функцию следующим образом:

<!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>

Подпроцедуры

Подпроцедуры похожи на функции, но есть несколько отличий.

  • Подпроцедуры DONOT Возвращают значение, в то время как функции могут возвращать или не возвращать значение.

  • Подпроцедуры могут быть вызваны без ключевого слова вызова.

  • Подпроцедуры всегда заключены в инструкции Sub и End Sub .

Подпроцедуры DONOT Возвращают значение, в то время как функции могут возвращать или не возвращать значение.

Подпроцедуры могут быть вызваны без ключевого слова вызова.

Подпроцедуры всегда заключены в инструкции Sub и End Sub .

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Sub sayHello()
            msgbox("Hello there")
         End Sub

      </script>
   </body>
</html>

Процедуры вызова

Чтобы вызвать процедуру где-то позже в скрипте, вам просто нужно написать имя этой процедуры с ключевым словом Call или без него.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Sub sayHello()
            msgbox("Hello there")
         End Sub
         sayHello()

      </script>
   </body>
</html>

Расширенные понятия для функций

Существует много узнать о функциях VBScript. Мы можем передать параметр по значению или по ссылке. Пожалуйста, нажмите на каждый из них, чтобы узнать больше.

ByVal — передать параметры по значению

ByRef — передать параметры по ссылке