Урок 2 по VBScript: Переменные

Урок 2 по VBScript: Переменные Программирование на VBSCRIPT

В этой статье мы изучим переменные vbscript языка, рассмотрим способы их объявления – явный (с помощью оператора dim) и неявный, ограничения, которые накладываются на переменные в сценариях, как определяется их сфера влияния (глобальные и локальные vbscript переменные), ну, и естественно, напишем несколько простых примеров для лучшего понимания.

И так, давайте начнём. Сначала, рассмотрим основные ограничения, которые распространяются на переменные в vbscript сценариях:

  • Имя должно начинаться с латинской буквы;
  • В имени нельзя использовать пробелы;
  • Ограничение на длину составляет не больше 255 знаков;
  • Нельзя использовать в качестве имени ключевые слова;
Ограничения в имени переменной VBScript

Хорошо, теперь давайте рассмотрим процесс явного и неявного объявления переменных, напишем простенький vbs скрипт:

'***********************************' variable.vbs' переменные vbscript'*********************************** dim var_a,var_123var_123=222var_a="строка"var_date = #12/05/2013# MsgBox("1 var_a: " & var_a)MsgBox("2 var_123: " & var_123)MsgBox("3 var_date: " & var_date) dim aa=33333 MsgBox("4 a: " & a)b=9.5MsgBox("5 b: " & b)

Сначала с помощью ключевого слова dim мы объявляем две переменные: var_a и var_123, далее им присваиваем значения, первой – число, а второй – строку, var_date – присвоено значение типа Дата, признаком является символ решётки, данная vbscript переменная объявлена не явно, так как не используется ключевое слово Dim. С помощью встроенной функции MsgBox можно произвести вывод значения, которое хранится в наших переменных. Далее мы снова производим явное объявление с помощью ключевого слова dim переменной a, выводим ее значение и производим неявное объявление для b, выводим значение.

С точки зрения программирования, данный сценарий содержит следующие недочёты:

  • Переменные, объявленные не явно, могут сильно запутать понимание кода;
  • Лучше всего производить объявление вначале сценария;

Теперь давайте рассмотрим этот же сценарий, но написанный по-другому:

'***********************************' variable_1.vbs' переменные vbscript'***********************************OptionExplicit dim var_123, var_a, var_date, a, b 'Присваиваем значенияvar_123=222var_a="строка"var_date = #12/05/2013#a=33333b=9.5 'выводим значенияMsgBox("1 var_a: " & var_a):MsgBox("2 var_123: " & var_123)MsgBox("3 var_date: " & var_date):MsgBox("4 a: " & a):MsgBox("5 b: " & b)

Тут мы использовали конструкцию Option Explicit языка VBScript, которая запрещает использовать в сценарии переменные, объявленные неявным способом (без ключевого слова dim). Также, мы видим, что язык VBScript позволяет выводить в одну строку несколько операторов, разделителем служит двоеточие.

dim - отвечает за явное объявление переменной языка VBScript

Хорошо, теперь давайте рассмотрим сферу влияния (область видимости), для этого напишем простой скрипт:

'***********************************' variable_2.vbs'переменные vbscript и их сфера влияния'***********************************OptionExplicit dim var_1, var_2 var_1 = "первая глобальна переменная vbscript"var_2 = "вторая глобальна переменная vbscript" Function my_function_1()dim var_1    var_1 = "первая локальная переменная в vbs "    my_function_1 = var_1EndFunction Function my_function_2()dim var_1    var_1=var_2    my_function_2 = var_1EndFunction 'происходит переопределениеFunction my_function_3()    var_1 = "вторая  локальная переменная в vbs"    my_function_3 = var_1EndFunction 'происходит переопределениеFunction my_function_4()    var_1=var_1    my_function_4 = var_1EndFunction ' Производим вывод данныхMsgBox(var_1)                                     MsgBox(my_function_1)MsgBox(my_function_2)MsgBox(my_function_3)MsgBox(my_function_4)MsgBox(var_1)

Скачать архив с примерами

Вначале с помощью ключевого слова dim мы объявили var_1 и var_2 – они являются глобальными, то есть, доступны из любого места в сценарии. Далее прописали четыре пользовательские функции, функция будет возвращать то значение, которое присвоено ее имени (my_function_1 = var_1, my_function_2 = var_1,…),:

  • my_function_1 – будет возвращать значение уже локальной переменной vbscript – var_1.
  • my_function_2 – тут мы локальной переменной var_1 присвоили значение глобальной var_2.
  • my_function_3 – тут мы неявно допускаем ошибку программирования, так как ключевое слово dim не используется, то мы переопределяем значение глобальной var_1.
  • my_function_4 – тут вопреки логике, значение var_1 будет ровно не «первая глобальна переменная vbscript», а «вторая локальная переменная vbscript», так как мы изменили глобальное значение из тела функции my_function_3.

Помимо строковых и числовых данных, переменной можно присвоить дату – для этого используется символ решетки (#) вместо кавычек, и формат вида месяц/день/год. Помимо этого можно использовать 16-ричные значения, перед значением ставится &H, а если 8-ричное значение, то — &O.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий