RSS

Компьютерная терминология    1_9  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  .....  A  Б  В  Г  Д  Ж  З  И  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц  Ч

VBScript

VBScript (Visual Basic Scripting Edition), член обширного семейства Visual Basic (VB), является важным средством создания программ для широкого спектра сетевых сред, включая поддержку клиентской части браузеров и серверной части в Microsoft Internet Information Server. Хотя VBScript не имеет столь широких возможностей, как исходный VB, он тем не менее является весьма эффективным инструментом для создания интерактивных web-страниц. Одним из важнейших преимуществ языка (в сравнении с тем же JavaScript) является его простота. Приобретя небольшой опыт и первоначальные сведения о VBScript, программы на нем можно писать почти не задумываясь. Если же вы знакомы с VB или VBA (VB for Applications - встроенной средой программирования Microsoft Office и некоторых других пакетов), то начать писать сценарии в VBScript можно практически сразу.

К сожалению, в данный момент не все браузеры (даже довольно распространенные) поддерживают VBScript. Основным браузером-клиентом при использовании VBScript в течение нескольких лет продолжает оставаться MS Internet Explorer (его мы и использовали для демонстрации примеров), но все же надеемся, что и остальные производители web-обозревателей в будущем поддержат эту передовую технологию.

Программа на VBScript и ее место в документе

Включить программу на VBScript в HTML-документ очень просто. Для этого код программы помещают между SCRIPT-тэгами (точно таким же образом, как и сценарии на JavaScript). Простейший пример выглядит так:

  
 

Новости

 

Загрузив страничку с таким фрагментом, на экране увидим модальное окно сообщения (Рис. 1).

Заметим, что при включении программы на VBScript в HTML-страницу необходимо явно указать язык сценария в качестве атрибута language. В противном случае браузер будет воспринимать код как сценарий на JavaScript, что приведет к ошибке выполнения. Другой важный момент: код программы мы поместили в тэги комментария (<!-- и -->) для того, чтобы браузеры, не воспринимающие VBScript, не отобразили на странице сценарий как текст. Разумеется, комментарии не нужны, если вы уверены, что браузер клиента работает с VBScript адекватно. В дальнейшем для экономии места в наших примерах SCRIPT-тэги мы будем опускать, но не забывайте их записывать в своих программах!

Располагать программу на VBScript можно практически в любом тексте документа. Код начинает выполняется сразу же по мере считывания его браузером. Однако при размещении программы обычно придерживаются следующего правила: фрагменты кода повторного использования (т.е. процедуры и функции, о которых речь пойдет ниже) помещают в HEAD-секцию. Этот принцип обусловлен тем, что процедуры и функции желательно сделать доступными для вызова к моменту, когда в браузер начнет загружаться основная часть документа.

Переменные, константы и операторы

Переменные являются важнейшими элементами любого языка программирования. VBScript допускает два способа задания переменных: явный и неявный. При явном способе переменную объявляют перед ее использованием. Для этого используется оператор Dim, хорошо знакомый всем, кто хоть немного работал с Basic’ом:

В приведенном фрагменте объявляются две переменные, которым присваиваются некоторые значения различных типов: переменной Var1 — целое число, Var2 — строка символов. То, что обе переменные объявлены одинаково, неслучайно. VBScript поддерживает только один тип переменных — Variant, который и объявляется оператором Dim. Этот же тип всегда возвращается функциями. Однако наличие единственного типа вовсе не ограничивает свободы действий с данными различной природы: переменная Variant может содержать значения самого разного характера — целые и дробные (с плавающей точкой) числа, булевские значения, строки (длиной до 2 миллиардов символов), даты/времени и некоторые другие. Эти типы значений в VBScript называются подтипами. Как следует из нашего примера, строки в VBScript выделяются «двойными кавычками» — как и в основном варианте Basic'а.

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

С переменными также можно работать, не объявляя их явно. В этом случае VBScript создает переменную при первом ее появлении в качестве левой части оператора присваивания (=) и определяет ее тип так же, как и при явном использовании. И все же к этому способу создания переменных лучше не прибегать, чтобы уменьшить вероятность ошибок и облегчить отладку сценариев.

Константы являются объектами, значения которых не могут быть изменены после первоначального присвоения. Они имеют те же подтипы, что и переменные. Ввести константу в сценарий так же просто:

Важным типом объектов являются массивы. Объявляются массивы так же, как и переменные, но с указанием размерности:

В данном примере задана матрица размером 1020 (в VBScript индексы массивов всегда начинаются с 0), и ее элементу в третьей строке пятого столбца присвоено численное значение. Максимальное число размерности массивов VBScript равно 60. Кроме массивов фиксированной размерности, поддерживаются динамические массивы, размерность которых можно менять по ходу программы.

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

Операторы цикла и контроля выполнения (условного перехода)

Указанные конструкции являются необходимым элементом любого языка программирования, и VBScript — не исключение. Язык поддерживает разные варианты использования цикла — выполнение до определенного условия или фиксированное число шагов. Операторы условного перехода позволяют выполнять логические операции типа «если-то-иначе» или выбирать один вариант из нескольких альтернатив. На этих конструкциях мы задерживаться не будем, а приведем конкретный пример часто используемого в VBScript оператора цикла, осуществляющего перебор всех элементов массива или коллекции:

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

Процедуры и функции

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

Каждая процедура начинается со слова Sub, за которым идет ее название с заключенным в скобки списком аргументов, передаваемых в процедуру. Если этот список пуст, то скобки все равно остаются, хотя ничего и не содержат. Завершается процедура оператором End Sub. Между заголовком и завершающим оператором помещен код. В нашем примере он вызывает диалоговое окно ввода (Рис. 2), введенное в него значение передается в переменную n, после чего значение корня появляется в окне сообщения. Детали кода в данный момент несущественны, но вы можете обратить внимание, что в аргументе функции MsgBox численные и строковые значения объединены в одно выражение при помощи оператора конкатенации строк &. Такой код не приводит к ошибке, поскольку VBScript всегда преобразует переменные наиболее уместным в текущем контексте способом (в данном случае — к строковым значениям).

Рис. 2.

С написанием процедуры мы справились, посмотрим теперь, как ее вызвать. VBScript позволяет делать это двумя способами: с использованием оператора Call и без него. Единственным отличием между этими вариантами является то, что при использовании Call список аргументов процедуры должен быть заключен в скобки (а аргументы должны быть перечислены в списке через запятую в том же порядке, в каком они определены в процедуре), а без Call скобки вокруг аргументов можно опустить. Если список аргументов пуст, как в нашем случае, то достаточно задать имя процедуры в соответствующем месте сценария. При этом явное описание пустого аргумента (в виде пары открывающей и закрывающей скобок) также не будет ошибкой. Таким образом, вызов написанной выше процедуры можно осуществить следующими четырьмя эквивалентными способами:

Другой вид конструкций VBScript называется функцией. Единственным существенным отличием функции является возвращение вычисленного значения. Опять обратимся к примеру.

Функция Max возвращает наибольшее из двух чисел х1 и х2. Общий подход к созданию функции тот же, что и для процедуры: в первой строке определяется имя функции с аргументами, в последней идет оператор завершения. В теле функции должен присутствовать оператор присвоения имени функции вычисленного значения. Типичный (хотя и не единственно возможный) вызов функции выглядит следующим образом:

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

В заключение скажем несколько слов о встроенных функциях InputBox и MsgBox, с которыми мы уже встречались. Выше мы использовали MsgBox только для вывода сообщений средствами VBScript. Однако эта функция допускает значительно более широкое применение и позволяет принимать сообщение пользователя. Так, следующая строка кода вызывает диалоговое окно с пиктограммой (Рис. 3), позволяющее пользователю выбрать ответ на поставленный вопрос и передать его в переменную Answer:

Функция InputBox принимает от пользователя строку ввода (простейший вариант продемонстрирован на Рис.2. Кроме того, можно задать заголовок окна, инициализировать строку ввода и установить позицию окна.

MsgBox

Следующий урок мы посвятим взаимодействию VBScript с элементами управления форм, встраиваемых в web-страницы.

seo & website usability   inet   os faq   hardware faq   memory   video   cpu   hdd   mainboard faq   printer & scaner   modem   mobiles   hackzone

Технологии поискового маркетинга
Практика поискового маркетинга
Flash
Тэги
XML
DHTML
PHP
MySQL
WebMail
.NET
VBScript
CGI
Графические форматы Интернета
WEB-сайт шаг за шагом
CMS faq
FRAME faq
CSS faq
SSI faq
RSS faq
WAP faq
Web-Designed
Webhints
Файл настроек .htaccess
Настройка robots.txt

На главную | Cookie policy | Sitemap