Toolbars - Панели инструментов
Открывать и настраивать панели инструментов Debug (Отладка), Edit (Правка), Form Editor (Редактор форм), Standard (Стандарт), а также Shortcut Menus (Сокращенные меню) можно с помощью команды View \ Toolbars ►.
Toolbox - Панель элементов управления
Панель содержит элементы управления, предназначенные для размещения на формах. Комплект содержащихся на панели элементов зависит от типа проекта. Открыть панель можно с помощью команды View \ Toolbox, настроить – с помощью контекстного меню (команды Components…, Add Tab…) и с помощью перетаскивания элементов между различными вкладками.
Project Explorer Window - Окно проекта
Приложение в Visual Basic реализуется в виде совокупности файлов, соответствующих различным компонентам проекта – формам, модулям, классам и другим, перечисленным в меню Project \ Addтип_компонента_проекта. Информация о файлах компонентов сохраняется в VBP-файле проекта. Если несколько проектов объединяются в группу, их имена сохраняются в файле с расширением .VBG. Одни и те же файлы компонентов могут быть использованы в различных проектах.
Открыть окно проекта можно с помощью команды View \ Project Explorer, добавить новый компонент в проект - с помощью команды Project \ Add тип_компонента_проекта.
Для сохранения компонента проекта необходимо выделить его в окне проекта и затем выполнить команду File \ Save имя_файла [As…], для исключения компонента из проекта - выполнить команду Project \ Remove имя_файла; при этом файл с диска удален не будет.
Для сохранения всего проекта совместно со всеми компонентами необходимо выполнить команду File \ Save Project [As…]. Команда File \ Remove Project закрывает проект, т.е. исключает проект из среды разработки; на диске все файлы проекта сохраняются.
Properties Window - Окно свойств
Открыть окно свойств выбранного компонента проекта или элемента управления можно с помощью команды View \ Properties Window. Список свойств состоит из двух столбцов – наименования и значения. Ввод значений осуществляется либо непосредственно с клавиатуры, либо выбором из выпадающего списка, либо при помощи вызова диалогового окна настройки свойства. Краткое описание выбранного свойства отображается в нижней части окна.
Object Browser - Каталог объектов
Открыть каталог доступных объектов можно с помощью команды View \ Object Browser. Каталог содержит информацию об объектах из всех библиотек типов, на которые ссылается проект (краткое описание классов, свойств, методов, событий, констант). Каталог имеет средства поиска членов классов по шаблонам имен с возможным использованием символов подстановки.
Form Designer - Конструктор форм
Открыть конструктор формы можно с помощью команды View \ Object, предварительно выделив наименование формы в окне проекта, или с помощью двойного щелчка по наименованию формы. Перетаскивание элементов управления на форму может сопровождаться установкой желаемых размеров элемента (щелчок по пиктограмме элемента управления, затем протягивание диагонали области элемента на форме) или установкой стандартных размеров (двойной щелчок по пиктограмме элемента управления).
Code Editor Window - Редактор кода
Открыть редактор кода можно с помощью команды View \ Code, предварительно выделив наименование компонента проекта в окне проекта, а также с помощью двойного щелчка по наименованию невидимого элемента или по изображению видимого элемента.
Form Layout Window - Окно размещения форм
Открыть окно размещения форм можно с помощью команды View \ Form Layout Window. Окно размещения позволяет визуально позиционировать формы относительно экрана.
Программирование на Visual Basic
Правила кодирования
Размещение операторов
В каждой строке кода размещается, как правило, один оператор, причем целиком. Однако иногда для улучшения читабельности одна логическая строка кода может быть разбита на несколько физических строк (с помощью символа продолжения строки – символа подчеркивания) или несколько логических строк могут быть объединены в одну физическую (с помощью символа объединения строк – символа двоеточия), например:
1. Text1.Text = ”Эта строка ” & _
”могла бы быть ” & _
”очень длинной.”
2. Text1.BackColor = vbYellow: Text1.ForeColor = vbRed
Комбинирование разбиений и объединений строк допускается, но не рекомендуется.
Комментарии
Комментарий начинается со знака апострофа и занимает всю оставшуюся часть строки. Редактор кода не допустит одновременное продолжение строки и ее комментирование. Примеры:
1. ’Это комментарий, занимающий целую строку без переноса
2. Text1.ForeColor = vbRed ’Описание констант ищите в _
Object Browser по шаблону vb*
Устанавливать и снимать знак комментария в текущей строке можно мышью при помощи кнопок Comment Block и Uncomment Block панели инструментов Edit (панель открывается по команде View \ Toolbars \ Edit). Для работы с блоком строк его следует предварительно выделить.
Использование оператора комментария Rem считается устаревшим.
Кнопки Comment Block и Uncomment Block можно, например, установить на панели инструментов Standard (команда View \ Toolbars \Customize… и последующее перетаскивание кнопок с вкладки Commands категории Edit на панель).
Переменные
Типы данных
Таблица -1. Типы данных
№ п/п | Тип | Размер, байт | Содержимое | Область значений | ||
Boolean | Логическое значение | True или False | ||||
Byte | Целое неотрицательное | 0 … 255 | ||||
Integer | Целое | -32768 … +32767 | ||||
Long | Длинное целое | -2147483648 … +2147483647 | ||||
Single | Число с плавающей точкой одинарной точности | -3.402823E+38 … -1.401298E-45; +1.401298E-45 … +3.402823E+38 | ||||
Double | Число с плавающей точкой двойной точности | -1.79769313486231E+308 … -4.94065645841247E-324; +4.94065645841247E-324 … +1.79769313486232E-308 | ||||
Currency | Число с фиксированной точкой (денежная величина) | -922337203685477.5808 … +922337203685477.5807 | ||||
Decimal (подтип Variant) | Десятичное целое | - 79228162514264337593543950335 … + 79228162514264337593543950335 | ||||
Десятичное с фиксированной точкой | -7.9228162514264337593543950335 … -0.0000000000000000000000000001; +0.0000000000000000000000000001 … +7.9228162514264337593543950335 | |||||
Date | Дата/время | #01/01/0100 00:00:00# … #12/31/9999 23:59:59# | ||||
String10 bytes + string length | Строка переменной длины | Длина >= 01 to approximately 65,400 | ||||
String * длинаLength of string | Строка фиксированной длины | длина = 1 … 65526 (= 2^16 - 10) | ||||
Object | Объект | Любая ссылка на объект | ||||
Variant | Все | Null, Error, ЧИСЛОВОЙ ДО Double, String, Object ИЛИ массив | ||||
имя_типа | Пользовательский тип (Type … End Type) | |||||
OLE объект типа имя_типа | ||||||
Данные типа Boolean представляют собой в Visual Basic интерпретацию числового типа. Однако это обстоятельство связано с историй развития языка и в современных редакциях программ его лучше не учитывать.
Byte/Integer/Long
Присваивание переменной целого типа вещественного значения сопровождается автоматическим округлением (по бухгалтерскому правилу – полуцелое число округляется до ближайшего четного).
Date
Литералы даты/времени могут задаваться, в частности, в американском формате (#[мм/дд/гг[гг]] [чч[:мм[:сс]] [AM | PM]]#). Если вместо знаков номера (#) использовать кавычки ("), то следует применять установленный в системе формат даты и времени.
String
Операции над строками:
& - сцепление (вместо знака амперсэнда можно использовать знак плюс, но это не рекомендуется).
Variant
Переменные типа Variant являются динамически типизируемыми, т.е. совместимыми по присваиванию с данными любых других типов. Однако их применение связано с потреблением дополнительных ресурсов и поэтому должно быть обоснованным.
Объявление переменных
Option Explicit
Для задания опции явного объявления переменных (что рекомендуется) необходимо включить оператор Option Explicit в секцию (General) (Declarations) кода.
Техника указания типа данных с использованием знака типа (%, &, !, #, @, $) считается устаревшей. Техника приписывания типа данных по первой букве идентификатора (операторы DefBool, DefByte, DefInt, …) вносит путаницу в текст программы.
Для автоматического включения в код оператора Option Explicit следует открыть диалоговое окно Options (команда меню Tools \ 0ptions...) и на вкладке Editor установить флажок Require Variable Declaration.
Dim
Для объявления переменных может использоваться оператор Dim со следующим синтаксисом:
Dim {имя_переменной As тип_данных},..
Имя (идентификатор) переменной должно начинаться с буквы и состоять из букв, цифр и символа подчеркивания (_). Длина имени – до 255 символов. Имя не может быть зарезервированным ключевым словом (например, Print).
Если конструкция As тип_данных будет опущена (что, однако, не рекомендуется), то по умолчанию будет применен тип Variant.
Область определения переменных
Локальные переменные
Локальные переменные определяются внутри процедуры и доступны только в ней.
Переменные контейнера
Переменные контейнера определяются в секции (General) (Declarations) и доступны только внутри соответствующего контейнера (формы, модуля, класса).
Глобальные переменные
Глобальные переменные определяются в секции (General) (Declarations) модуля. При этом вместо оператора Dim используется зарезервированное слово Public. Глобальные переменные доступны во всех модулях и процедурах проекта.
Время жизни переменных
Локальные переменные существуют в памяти с момента объявления до выхода из процедуры.
Статические переменные
Переменные, объявленные как статические, существуют в памяти и сохраняют свое значение в течение всего времени, пока существует в памяти форма или модуль. При объявлении статической переменной в операторе объявления вместо ключевого слова Dim используется слово Static:
Static {имя_переменной As тип_данных},..
Чтобы объявить статическими все локальные переменные процедуры, следует записать ключевое слово Static в заголовке процедуры:
Static {Sub | Function | Property} имя_процедуры([список_аргументов])
Массивы
В Visual Basic массивы могут быть объявлены как статические или динамические.
Статические массивы
В объявлении статического массива указываются границы индексов для каждого измерения:
{Dim | Public | Static} {имя_переменной({нижняя_гр To верхняя_гр},..) As тип_данных},..
Динамические массивы
Динамический массив объявляется без указания границ индексов и числа измерений:
{Dim | Public | Static} {имя_переменной() As тип_данных},..
В дальнейшем с помощью оператора ReDim устанавливается или изменяется его структура:
ReDim [Preserve] {имя_переменной({нижняя_гр To верхняя_гр},..)},..
Использование ключевого слова Preserve позволяет сохранить содержимое массива при изменении его структуры. Однако в этом случае можно изменять только верхнюю границу последнего измерения.
Присваивание массивов
Переменной, соответствующей динамическому массиву, может быть присвоено значение переменной, соответствующей статическому или динамическому массиву.
Пользовательский тип данных
Для определения пользовательского типа данных используется оператор Type, размещаемый в секции (General) (Declarations) модуля:
{Public | Private} Type имя_типа
имя_элемента [([нижняя_гр To верхняя_гр],..)] As тип_данных
…
End Type
Доступ к элементам переменной пользовательского типа осуществляется в следующей форме:
имя_переменной.имя_элемента[([идекс],..)]
Переменным пользовательского типа можно присваивать значения других переменных того же типа.
Константы
Для объявления констант используется оператор Const:
[Public | Private] Const имя_константы [As тип_данных] = выражение_константное
Константы могут быть определены как Public или Private в секции (General) (Declarations) модуля, или внутри процедуры (тогда они локальные).
Информацию о существующих константах, их значениях и применении можно получить из каталога объектов (Object Browser).
Процедуры
.В зависимости от назначения процедуры разделяются на процедуры обработки событий и процедуры общего назначения.
Процедуры в Visual Basic не могут быть вложенными.