язык vbscript предоставляет способ передачи параметров

VBScript процедуры и функции

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

Процедуры в VBScript

Написание процедуры начинается с ключевого слова Sub затем идет наименование процедуры, перечисление параметров в скобках. Затем идет программный код и заканчивается код ключевыми словами End Sub которые обозначают конец процедуры.

Пример процедуры без параметров:

Пример процедуры с параметрами:

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

Вызов процедуры осуществляется одним из 2-х способов:

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

Передавать параметры в процедуру можно по ссылке и по значению, для чего перед именем параметра пишем:

Таким образом, если нужно в подпрограмме получить и вернуть в основную программу несколько значений, можно использовать передачу параметров по ссылке.

Пример возвращения нескольких значений из процедуры:

Функции в VBScript

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

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

Пример функции возвращающей значение:

Функцию можно использовать как процедуру, при этом параметры в нее можно передавать по тем же правилам, что и для процедуры и точно так же можно использовать ByVal и ByRef для передачи параметров по значению и по ссылке.

Пример использования функции как процедуры:

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

Источник

Язык vbscript предоставляет способ передачи параметров

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

Процедура Sub выполняет последовательность действий, но не возвращает никакого значения. Ее синтаксис следующий:

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

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

Результат просмотра документа в браузере изображен на рисунке 1:

Рис.1. Результат просмотра в браузере

Текст этого документа можно взять здесь.

При обращении к процедуре Summa ей передаются два параметра, которые затем складываются и полученный результат выводится на экран.

В заключение остановимся на способах передачи параметров в подпрограммы.

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

Результат просмотра документа в браузере изображен на рисунке 2:

Рис.2. Результат просмотра в браузере

Текст этой программы можно взять здесь.

Для контроля за правильностью обмена значениями двух переменных мы выводим значения до обмена и после. Все выполняется правильно. Однако стоит нам изменить заголовок процедуры Obmen следующим образом:

то обмена значениями не происходит! Дело в том, что наличие служебного слова ByVal приводит к отправке в подпрограмму копий значений параметров (в нашем случае – значений переменных A и B ). Поэтому в самой подпрограмме изменяются копии, а не сами значения!

На следующем шаге мы рассмотрим условные конструкции

Источник

Урок 1 по VBScript: Синтаксис vbs сценариев

В этом начальном уроке, мы изучим синтаксис vbscript языка. Синтаксис языка vbscript является таким же как и в языке Visual Basic и фактически, является подмножеством данного языка программирования. Основной упор в использовании vbscript – это возможность написания сценариев (расширение vbs) с открытым кодом для платформы Windows. Пользователю не нужно прибегать к установке дополнительного программного обеспечения, так как все сценарии выполняются под управлением сервера сценариев Windows Script Host.

язык vbscript предоставляет способ передачи параметров. Смотреть фото язык vbscript предоставляет способ передачи параметров. Смотреть картинку язык vbscript предоставляет способ передачи параметров. Картинка про язык vbscript предоставляет способ передачи параметров. Фото язык vbscript предоставляет способ передачи параметров

И так, давайте рассмотрим базовый синтаксис vbscipt и его возможности.

Можно прописать несколько операторов в одну строчку, для этого используется знак двоеточия (:). Сам язык нечувствителен к регистру символов.

Хорошо, давайте рассмотрим синтаксис языка vbscript на таком примере:

Видим, что тут, мы вначале прописали комментарии, далее объявили три переменные. Как видим, язык vbscript не требует назначения типа данных (более детально, работу с типами данных я рассмотрел в статье – «Урок 3 по VBScript: Типы данных»). В конце, для вывода данных мы использовали функцию MsgBox, в данном случае она прописана в упрощенном варианте. Давайте рассмотрим ее полный синтаксис:

MsgBox(prompt[, buttons] [, title ][, helpfile, context ] ) – видим, что тут, функции передаются пять параметров, последние два мы рассматривать не будет, так как они не являются актуальными и практически не применяются.

Работу с данной функцией я более детально рассмотрел в статье «Создание диалоговых окон».

Язык vbscript предоставляют также функции для работы со строками и датой, а также, ряд математических функций.

Sub MyProcedure(Param1, Param2)
Строки кода
End Sub

Если процедура не имеет параметров, то в скобках после имени ничего ука­зывать не нужно:

Sub MyProcedure()

End Sub

Function MyFunction(Param1, Param2) … End Function

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

Function MyFunction(Param1, Param2)
Dim Sum
Sum = Paraml+Param2
MyFunction = Sum
End Function

Если возвращаемое функцией значение не нужно присваивать никакой пе­ременной, то функция вызывается так же, как и процедура — пишется имя этой функции и через пробел указывается список ее аргументов: MyFunction 3,5

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

Вот простой пример синтаксиса vbscript для использования собственных процедур и функций:

Помимо процедур и функций, можно создавать собственные массивы (Урок 9 по VBScript: Массивы) и классы (Урок 8 по VBScript: Объекты и классы)

Ну что же, вдобавок, хотелось бы упомянуть две очень полезные функции:

Смотрим на третий пример:

Спасибо за внимание. Автор блога Владимир Баталий

Источник

Передача аргументов по значению и по ссылке (Visual Basic)

Различия

При передаче аргумента в процедуру следует учитывать несколько различных различий, взаимодействующих друг с другом:

Является ли базовый программный элемент изменяемым или неизменяемым

Является ли сам аргумент изменяемым или неизменяемым

Передается ли аргумент по значению или по ссылке

Является ли тип данных аргумента типом значения или ссылочным типом

Возможность выбора механизма передачи

Необходимо тщательно выбрать механизм передачи для каждого аргумента.

Для ссылочных типов копируются только указатель на данные (четыре байта на 32-разрядных платформах, восемь байт на 64-разрядных платформах). Таким образом, можно передавать аргументы типа String или Object по значению без ущерба для производительности.

Определение механизма передачи

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

по умолчанию в Visual Basic передаются аргументы по значению.

Когда следует передавать аргумент по значению

Если вызывающий элемент кода, лежащий в основе аргумента, является неизменяемым элементом, объявите соответствующий параметр ByVal. Код не может изменять значение неизменяемого элемента.

Когда следует передавать аргумент по ссылке

Если процедуре требуется подлинное изменение базового элемента в вызывающем коде, объявите соответствующий параметр ByRef.

Пример

Описание

Источник

Скриптовый язык для web-страниц VBScript

VBScript для начинающих

Программирование на Visual Basic Script для опытных программистов особой сложности не представляет. Достаточно почитать документацию, чтобы понять некоторые особенности языка и узнать отличия между VBScript и Visual Basic, а также между VBScript и VBA. Однако полная документация имеется, в основном, на английском языке. Да и начинающему разобраться в ней будет непросто. И если вы решили взяться за VBScript, то представленная ниже книга вам в этом поможет.

Где используется VBScript? Применений довольно много. Подробно об этом вы прочитаете в книге. А если коротко, то используется Visual Basic Script для написания сценариев, которые можно сохранить в файл и затем с их помощью выполнять различные рутинные процедуры. Например, очистку диска от ненужных файлов.

Кроме этого сценарии можно встраивать в веб-страницы. Поскольку VBScript является, пожалуй, самым простым в освоении языком сценариев, то он широко используется в различных приложениях, таких как SCADA-системы. Например, SCADA-система Reliance использует именно язык Visual Basic Script, который дополнен некоторыми специфическими для данной системы функциями.

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

С помощью VBScript вы можете быстро создавать собственные страницы или даже писать игры. И все это размещается внутри вашего HTML-документа. Если вы уже имели дело с Visual Basic или Visual Basic for Applications, то легко справитесь и с VBScript.

Создание скриптов

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

Процедуры


Виды процедур

В следующем примере функция Celsius переводит градусы Фаренгейта в градусы Цельсия. Когда вызывается функция из подпрограммы ConvertTemp, переменная, содержащая параметр-значение, передается в функцию. Результат вычисления возвращается в вызывающую процедуру и отображается в MsgBox.

Используйте функции вместо подпрограмм, если требуется возвратить некоторое значение.

Использование подпрограмм и функций

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

Обратите внимание, что круглые скобки опускаются при вызове подпрограммы, если оператор Call не применяется.

Объект


Объектная модель

Рассмотрим объект ActiveX Label (объект и элемент управления для VBScript фактически означают одно и то же). Он состоит из свойств и имеет один метод. Некоторые из его свойств включают заголовок (Caption), цвет фона (BackColor), цвет шрифта (ForeColor), размер (FontSize) и стиль шрифта (FontName). Его методом является About Box, отображающий при вызове окно с информацией об ActiveX. Событием для Label является перемещение указателя мыши над Label. Существует специальный тег

. Если вы имели дело с программированием на Visual Basic, то использование тегов

будет напоминать вам размещение какого-либо компонента или элемента управления на форме. Например, следующие значения тегов

Вы можете присваивать или устанавливать свойства, а также вызывать методы точно так же, как с любым средством управления формой. Следующий текст, например, включает элементы

Обработчик события нажатия кнопки cmdChangeIt изменяет текст объекта Label:

При интенсивном программировании лучше всего использовать программу Microsoft ActiveX Control Pad, великолепно выполняющую связывание команд Visual Basic с разными событиями и элементами управления на вашей страничке. Таким образом, вы можете больше внимания обращать на сам процесс разработки приложения.

Установка свойств для элементов управления и объектов

Установка свойств для разных объектов на странице является одной из простейших задач при программировании на VBScript. Стандартная схема этого действия выглядит так:

Свойству Caption (заголовок) присваивается строка «Watch me change!». Затем устанавливаются свойства ForeColor (цвет текста), BackColor (цвет фона) и FontName (стиль шрифта). Так можно устанавливать свойства для любого объекта на странице.

Обработка событий

FOR определяет имя элемента управления или объекта, для которого используется последующий код; EVENT задает событие, при возникновении которого следующий код будет вызван.

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

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

Объектная модель Internet Explorer 3.0

Таблица 1.
Свойства объекта Window.

СвойствоНазначение
FramesИспользуется, когда в текущем документе существует набор кадров (фреймов). Это свойство является массивом фреймов на странице
LocationОпределяет местоположение текущего окна
NameИмя того окна, чьи свойства определяются
ParentУказывает родительский фрейм или окно, чьи свойства определяются на данный момент

Таблица 2.
Несколько основных методов объекта Window.

Таблица 3.
События загрузки объекта Window.

СобытиеНазначение
OnLoadВызывается, когда загружается страница, содержащая данное событие. Используется в тэге как атрибут при вызове процедуры
OnUnLoadВызывается, когда выгружается страница, содержащая данное событие. Используется в тэге как атрибут при вызове процедуры

Объект Document

Объект Document имеет дело прежде всего с телом HTML-страницы. Он имеет три дочерних объекта: Link, Anchor и Form, каждый из которых является индексированным массивом объектов link, anchor и form. Кроме того, объект Form содержит подобъект Element, который является индексированным массивом всех объектов и элементов управления на странице. Некоторые важные свойства и методы перечислены в табл. 4. Для Document, заметим, не существует никаких событий.

Таблица 4.
Некоторые методы объекта Document.

МетодНазначение
BgColorУстанавливает цвет фона текущего документа. Этот цвет может иметь шестнадцатеричное представление #rrggbb или соответствующее название
FgColorУстанавливает цвет текста документа. Аналогичен по функциям свойству BgColor
ReferrerУказывает URL документа, на который ссылается пользователь в настоящее время. Например, если кто-то обратился по адресу: http://www.nm.org/welcome.htm с сервера http://www.someplace.com, то свойством Referrer будет: http://www.someplace.com, если это свойство было в странице вышеупомянутого расположения; в противном случае оно обращается в Null
LastModifiedПоказывает дату последней модификации документа
OpenОткрывает документ для записи дополнительных строк в формате HTML. Синтаксис: document.open()
WriteЗаписывает HTML-текст в текущий документ и должен вызываться, когда документ открывается для записи. Синтаксис: document.write(somestring), где somestring может быть одной строкой, переменной или же несколькими связанными строками в формате HTML, которые выводятся на экран
CloseЗакрывает документ после того, как имели место следующие вызовы: document.write, document.close.

Объект Frame


Объект History

Основной целью объекта History является доступ к списку введенных адресов в браузере. Существуют три метода, используемых для навигации по папке History. Наиболее важные методы перечислены в табл. 5. Объект History не генерирует никаких событий.

Таблица 5.
Некоторые методы объекта History.

Объект Location

Этот объект необходим для получения информации относительно текущего расположения Internet Explorer. Наиболее важные свойства перечислены в табл. 6. Этот объект не имеет никаких событий или методов.

Таблица 6.
Наиболее важные свойства объекта Location.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *