что такое vbs скрипт

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

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

что такое vbs скрипт

И так, давайте рассмотрим базовый синтаксис 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: Объекты и классы)

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

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

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

Источник

Скриптовый язык для 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.

Источник

VBScript. Основы VBScript

Содержание

Основы VBScript

Типы данных

В языке VBScript используется единственный тип данных – Variant (Вариант), который позволяет хранить в переменной число, строку, дату, булевское значение, ссылку на объект и другую информацию. Определить тип содержимого переменной можно с помощью набора функций: VarType, TypeName, IsArray, IsDate, IsEmpty, IsNull, IsNumeric, IsObject, которые будут рассмотрены ниже. Тип содержащейся информации еще называется подтипом варианта. Полный список подтипов приведен в следующей таблице:

DoubleЧисло с плавающей точкой двойной точности. Для отрицательных значений допустимый диапазон от

Date (Time)Содержит число, представляющее дату в диапазоне от 1-го января 100 года, до 31 декабря 9999 года.StringПоследовательность символов. Максимальная длина в районе 2-х миллиардов знаков.ObjectОбъект.ErrorНомер ошибки.

В зависимости от выражения, в котором участвует переменная, ее содержимое будет автоматически приведено к нужному типу. Рассмотрим такой пример:

Так как в выражении участвует числовая переменная A, интерпретатор преобразует значение переменной B из строки «12» в число и просуммирует их:

что такое vbs скрипт

Изменим макрос так, чтобы переменная А тоже содержала строку:

Запустим его на выполнение. Теперь на экране появится результат слияния (конкатенции) двух строк, а не сумма их числовых представлений:

что такое vbs скрипт

Во избежании путаницы с автоматическим приведением типов, рекомендуется использовать функции конверсии: CBool, CByte, CCur, CDate, CDbl, CInt, CLng, CSng, CStr.

Если результатом выражения должно быть именно слияние строк, а не сумма их числовых представлений, то следует использовать оператор & вместо +.

Переменные

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

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

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

Если в первой строке текста скрипта не указано Option Explicit, то использовать переменные можно без объявления. Но, такой путь может привести к трудно выявимым ошибкам. Достаточно один раз ошибиться в написании имени переменной в тексте программы, чтобы получить непредсказуемый результат. Мы рекомендуем всегда указывать Option Explicit и объявлять переменные.

Имя переменной должно соответствовать следующим требованиям:

Область видимости и время жизни

В дереве Проводника окна Редактора скрипт-объектов присутствует специальный раздел – Константы и переменные – для объявления глобальных переменных, видимых для всех скрипт-функций проекта.

Интерпретатор выделяет память для локальных переменных в момент их объявления и высвобождает по выходу из процедуры. Глобальные переменные существуют с момента их объявления и пока скрипт не закончит свое выполнение. Применительно к Гедымину это означает, что глобальные переменные существуют на протяжении всего времени выполнения программы.

Присваивание значения переменной

Значение объявленной переменной присваивается с помощью оператора =. Имя переменной указывается слева от оператора, новое значение – справа. Например:

Скалярные переменные и массивы

Переменная содержащая единственное значение называется скалярной. Иногда, возникает необходимость хранить несколько значений в одной переменной. В этом случае следует объявить массив. Синтаксис объявления идентичен объявлению скалярной переменной за тем исключением, что после имени в круглых скобках мы задаем размерность массива. Следующее объявление создаст массив из 12 элементов:

В языке VBScript левая граница индекса массива всегда 0. Таким образом размер массива вычисляется, как число указанное в скобках плюс один. При присваивании значения элементу массива следует указать его индекс в круглых скобках:

Аналогично, при обращении к значению элемента мы используем его индекс:

Массив не обязательно должен быть одномерным. VBScript позволяет нам задать до 60 размерностей при объявлении массива. Например, следующий оператор создаст двумерный массив из 12 строк и двух колонок [2] :

При обращении к элементам многомерного массива следует указывать все индексы:

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

Перед использованием следует установить размер динамического массива с помощью оператора ReDim:

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

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

Константы

Несколько констант могут быть объявлены в рамках одного оператора, через запятую. Как и переменная, константа обладает своей областью видимости в зависимости от того, где (в процедуре или за ее пределами) и как (Public или Private) она была объявлена. Константы, созданные оператором Const без указания Public или Private являются общедоступными по-умолчанию.

В дереве Проводника окна Редактора скрипт-объектов присутствует специальный раздел – Константы и переменные – для объявления глобальных констант, видимых для всех скрипт-функций проекта.

Значения строковых констант заключаются в двойные кавычки.

Значения типа Дата следует обрамлять символами решетки (#) и использовать американский формат: месяц/день/год. Например:

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

Для облегчения труда программиста VBScript содержит набор предопределенных констант.

Операторы

Операторы VBScript подразделяются на пять категорий: арифметические, сравнения, слияния, логические и присваивания.

Арифметические операторы

Операторы сравнения

Формат использования операторов сравнения:

где используются следующие операторы сравнения: (больше), >= (больше или равно), = (равно), <> (не равно).

В зависимости от типов и значений операндов, сравнение осуществляется следующим образом:

ЕслиТо
Оба операнда числа.Выполняется сравнение двух чисел.
Оба операнда строки.Выполняется сравнение двух строк.
Один из операндов число, а второй строка.Строковый операнд приводится к числу и выполняется сравнение двух чисел.
Один из операндов Empty, а второй число.Операнд со значением Empty принимается равным 0.
Один из операндов Empty, а второй строка.Операнд со значением Empty принимается равным пустой строке «». Осуществляется сравнение двух строк.
Оба операнда Empty.Операнды считаются равными.
Хотя бы один из операндов Null.Результат принимает значение Null.

Специальный оператор Is применяется для сравнения двух объектных переменных и возвращает Истину, если обе переменных ссылаются на один и тотже экземпляр объекта.

Операторы конкатенции

В данной категории находятся два оператора: + и &. Первый подробно описан в разделе «Арифметические операторы» выше. Рассмотрим использование оператора &.

Если операнд не является строкой, он приводится к строковому типу. Если оба операнда Null, то результат также принимает значение Null, однако, в отличие от остальных операторов, если только один операнд Null, то он принимается равным пустой строке. Операнд, имеющий значение Empty, также воспринимается как пустая строка «».

Логические операторы

VBScript предоставляет нам следующие логические операторы:

В качестве операндов логических операторов могут выступать булевские выражения или числовые значения. В первом случае результатом будет булевская константа, во втором – число. В зависимости от оператора подача на вход одного или двух значений Null может приводить к Null результату. Оператор Not является унарным и возвращает логическое отрицание выражения. Над числовым операндом оператор Not производит побитовую инверсию. Остальные логические операторы являются бинарными. В таблице ниже приведены результаты выполнения каждого из операторов в зависимости от значения операндов Exp1 и Exp2:

Exp1Exp2AndOrXorEqvImp
TrueTrueTrueTrueFalseTrueTrue
TrueFalseFalseTrueTrueFalseFalse
FalseTrueFalseTrueTrueFalseTrue
FalseFalseFalseFalseFalseTrueTrue
TrueNullNullTrueNullNullNull
FalseNullFalseNullNullNullTrue
NullTrueNullTrueNullNullTrue
NullFalseFalseNullNullNullNull
NullNullNullNullNullNullNull

В жизни чаще всего используются операторы And и Or и гораздо реже – Xor. Нам не приходилось сталкиваться с использованием на практике операторов Eqv и Imp. Если вам тяжело разбираться с приведенной выше таблицей резюмируем действие данных операторов:

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

Exp1Exp2AndOrXorEqvImp
0000011
0101101
1001100
1111011

Оператор присваивания

Оператор присваивания (=) подробно описан в разделе «Переменные».

Очередность применения операторов

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

Если умножение и деление встречаются в одном выражении, то операции выполняются в порядке следования слева-направо. Аналогичное правило действует в случае одновременного присутствия операторов сложения и вычитания.

Оператор слияния строк (&) не является арифметическим и по приоритету располагается между арифметическими операторами и операторами сравнения.

Очередность для логических операторов установлена следующая:

Условные выражения

Условные выражения применяются для управления порядком выполнения команд программы и позволяют организовать переходы (ветвления) и повторения команд. Как правило, операторы сравнения используются вместе с условными выражениями.

Выражение If..Then..Else

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

Для выполнения единственной команды при выполнении заданного условия используется однострочный синтаксис выражения:

Обратите внимание, что секция Else в этом случае опущена. Для выполнения группы операторов следует заключить их между ключевыми словами Then и End If.

Если при выполнении условия требуется выполнить один код, а при невыполнении – другой, то используется синтаксис выражения с секцией Else:

При необходимости выбора из нескольких альтернатив подойдет синтаксис с конструкцией ElseIf:

Выражения If могут быть вложенными:

Хотя количество секций ElseIf в условном выражении не ограничено, интенсивное их использование может привести к запутанному, неудобочитаемому коду. В случае выбора одной альтернативы из множества возможных в зависимости от значения некоторого селектора рекомендуется использовать выражение Select Case.

Выражение Select..Case

Перепишем пример с днями недели с использованием выражения выбора:

Так как выражение селектора вычисляется только один раз, использование Select..Case приводит к более эффективному коду. Рекомендуется всегда использовать секцию Case Else для отлавливания некорректных или необработанных значений селектора.

Операторы цикла

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

Оператор Do..Loop

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

Команда Exit Do может встречаться неограниченное число раз в теле цикла. Обычно она используется вместе с условным выражением If..Then и позволяет передать управление на оператор, следующий непосредственно за циклом. При использовании Exit Do внутри вложенного цикла, управление перейдет во внешний цикл.

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

While..Wend

Представляет собой усеченную версию оператора Do..Loop и позволяет выполнять группу команд пока условие Истинно. Синтаксис оператора:

Обратите внимание, что Exit Do не действует внутри данного цикла. Циклы While..Wend могут быть вложенными.

For..Next

Данный цикл повторяет заданный набор команд указанное число раз. Синтаксис оператора имеет вид:

Перед стартом цикла переменной counter присваивается значение start. Далее проверяется выполнение условия counter = 0, или counter >= end, при отрицательном шаге. После выполнение блока команд переменная counter увеличивается на значение step и все повторяется сначала.

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

Exit For может встречаться в теле цикла произвольное число раз. Циклы могут быть вложенными. Например, такой цикл инициализирует трехмерный массив:

For Each..Next

Оператор цикла For Each..Next повторяет заданный набор команд для каждого элемента массива или коллекции и имеет следующий синтаксис:

Цикл выполняется, если в массиве или коллекции присутствует хотябы один элемент. Exit For может встречаться в теле цикла произвольное количество раз.

Проиллюстрируем использование For Each..Next на примере следующего кода, который выводит на экран список файлов из корневого каталога диска с:\

Процедуры

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

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

Список параметров имеет следующий синтаксис:

Параметры могут передаваться по значению (ByVal) или по ссылке (ByRef). По-умолчанию все параметры передаются по значению. Константы, результаты вычисления выражений могут быть переданы только по значению. Изменение параметра, переданного по ссылке, приведет к изменению значения наружной переменной. Поясним передачу параметров внутрь процедуры на следующем примере:

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

Выражение Execute

Классы VBScript

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

Определение класса осуществляется с помощью следующей конструкции:

где name — это имя класса, а statements — это одно или несколько определений переменных, свойств, процедур или функций, называемых так же членами класса. Обратите внимание, что в отличие от Delphi, где код определения класса содержит только объявления процедур и функций, в VB классе код членов прописывается прямо в тексте класса.

Члены класса могут быть объявлены как Private или Public. Первые видны только внутри кода данного класса, вторые же доступны как для внутреннего кода, так и снаружи. Если переменная или функция (процедура) не содержат явного определения Public или Private, то они считаются общедоступными. Процедуры или функции объявленные как Public внутри блока класса становятся методами данного класса.

Переменные, объявленные как общедоступные, становятся свойствами класса наравне со свойствами объявленными непосредственно с помощью конструкций Property Get, Property Let, Property Set.

Определение свойств класса

Выше мы уже говорили о том, что поля класса явно или не явно объявленные как Public, становятся его свойствами. Кроме этого, создать свойство класса можно определив специальные функции для считывания значения свойства (Property Get), а также для его присвоения (Property Let или Property Set).

Синтаксис определения таких функций следующий:

Определив только одну функцию, считывания или присвоения, можно создать свойство, соответственно, только для чтения или записи. Процедура Property Let используется для присвоения простых типов данных, а Property Set для передачи ссылки на объект. Обратите внимание, что все три функции могут принимать на вход произвольный список параметров. Таким образом можно организовать, например, свойства-массивы, передавая в качестве аргумента индекс элемента.

Создание и уничтожение экземпляра VB класса

Создание экземпляра VB класса осуществляется с помощью оператора New.

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

События Initialize и Terminate

Событие Initialize происходит при создании экземпляра класса, а Terminate — при его уничтожении. Разработчик может определить свои обработчики данных событий. Ниже приведен пример использования событий создания и удаления объекта:

Источник

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

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