Опубликован: 04.07.2006 | Уровень: для всех | Доступ: свободно
Лекция 1:

Введение в Visual Basic

Лекция 1: 1234567 || Лекция 2 >

Основные понятия. Элементы грамматики языка.

Для выполнения программы Visual Basic нужно стартовать содержащую эту программу процедуру. Процедуры выполняют некоторые действия, могут иметь параметры, значения которых они могут изменять. Процедуры обработки событий описываются как Private ; их можно вызывать только внутри формы. Процедуры являются общими, если они содержатся в модуле, тогда они могут быть вызваны процедурами другого контейнера. При их описании используется ключевое слово Public.

Модуль

Модуль - это совокупность описаний и процедур, сохранeнный под общим именем. Сохраняется в виде файла с расширениями .BAS и .CLS. Существуют типы - стандартный модуль и модуль класса (модуль, в котором сохранeн класс).

Переменная

Переменная - программный объект, имеющий имя, тип, размер и значение, которое может быть присвоено/возвращено программой. Имя должно начинаться с буквы и содержать не более 256 символов. Для доступа к содержимому памяти достаточно знать имя переменой.

Тип данных - характеристика переменной, определяющая тип данных который может храниться в этой переменной. Типы данных даны в табл. 1.2.

Таблица 1.2. Типы данных
Тип данных Размер Диапазон значений
Byte (байт) 1 байт От 0 до 255
Boolean (логический) 2 байта True или False
Integer (целое) 2 байта От -32 768 до 32 767
Long (длинное целое) 4 байта От -2 147 483 648 до 2 147 483 647
Single (с плавающей точкой обычной точности) 4 байта От -3,402823E38 до -1,401298E-45 для отрицательных значений.От 1,401298E-45 до 3,402823E38 для положительных значений
Double (с плавающей точкой двойной точности) 8 байт От - 1,79769313486232E308 до -4,94065645841247E-324 для отрицательных значений; от 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений.
Currency (денежный) 8 байт От -922 337 203 685 477,5808 до 922 337 203 685 477,5807
Object (объект) 4 байта Любой указатель объекта
String (строка Переменной длины) 10 байт + длина строки От 0 до прибл. 2 млрд.
String (строка постоянной длины) длина строки От 1 до прибл. 65 400
Variant (числовые подтипы) 16 байт Любое числовое значение вплоть до границ диапазона типа Double
Variant (строковые подтипы) 22 байта + длина строки Как для строки (String) переменной длины.
Тип данных, определяемый пользователем (с помощью ключевого слова Type) объем определяется типом данных

Для решения вопроса о равенстве чисел с плавающей точкой можно сравнивать абсолютное значение их разности с некоторой наперед заданной величиной. Приведем пример.

Dim A As Single, B As Single, del As Single
del = Abs(A - B)
If del <= 0.01 Then
Label1.Caption = "Числа равны с точностью 0.01" 
Else
Label1.Caption = "Числа не равны"
End If

Описание переменных. Инструкцией описания сообщается имя и тип переменной; для описания переменных используется инструкция Dim, примеры:

Dim Price As Currency
Dim Name (15) As String ' описание массива

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

Dim x, y As Integer

Доступность. Доступность определяет, в каких разделах программы переменные могут использоваться. Локальными переменными являются переменные, описанные внутри процедуры, блока (блок заканчивается ключевыми словами End Sub, Next, Loop...). Переменные контейнера описываются в области описаний контейнера (формы, модуля). Глобальные переменные описываются в модуле с использованием ключевого слова Public, они доступны во всех модулях и процедурах проекта.

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

Идентификаторы типов. Тип данных при описании может устанавливаться добавлением знака типа к имени переменной. В табл. 1.3. приведены соответствующие символы

Таблица 1.3. Символы, используемые в качестве идентификаторов типов данных
Тип Символ Пример
Integer % -546%
Long & 2147483648&
Single ! -3.402823У+38!
Double # -1.79769313486232У308#
String $ ккккккккк$
Currency @ -922337203685477.5808@

Неявное описание переменных. Описание переменной может продлиться при появлении еe в коде. Например, две записи ниже эквивалентны:

Dim Price As Currency Price=9000
Price@=9000

Option Expliсit. Для того, чтобы устранить возможные ошибки в программе нужно описывать переменные. Для этого может использоваться опция Expliсit. Для работы с ней нужно установить флажок: меню Инструменты \to Опции Среда \to Требование описания переменных \to перезагрузить Visual Basic.

Необходимо перечислить некоторые функции, используемые при работе с данными. Функции Val(string), Str(number). Часто возникает необходимость преобразовать числовой тип в тип String и наоборот, например, при вводе чисел в текстовое поле. Для этого используются функции Val(string) и Str(number). Функция Val(string) возвращает число, содержащееся в строке. Функция Str(number) преобразует числовое выражение в тип String, являющийся строковым представлением числа. Функции преобразования типов данных. Если переданное в функцию значение аргумента, например, находится вне допустимого диапазона, то возникает ошибка. Чтобы избежать такого рода ошибок используют функции преобразования типов, в табл. 1.4., даны некоторые из них.

Таблица 1.4. Некоторые функции преобразования типов данных
Функция Диапазон аргумента выражения Возвращаемый тип
CCur(выражение) от -922 337 203 685 477,5808 до 922 337 203 685 477,5807 Currency
CLng(выражение) от -2 147 483 648 до 2 147 483 647 с округлением дробной части Long
CSng(выражение) от -3,402823E38 до -1,401298E-45 для отрицательных чисел, от 1,401298E-45 до 3,402823E38 для положительных чисел Single
CVar Диапазон значений Double для числовых значений. Диапазон значений String для нечисловых значений Variant
CStr(выражение) Возвращаемые значения функции CStr зависят от аргумента выражения String
Массив

Массив представляет собой переменную, которой соответствует множество ячеек памяти для хранения значений. Массив - это набор элементов, имеющих свой порядковый номер (индекс). Пример описания и инициализации массива:

Dim m(3) As Integer
For i = 0 To 2
m(i) = i
Next

Обозначения элементов данного массива: m(0), m(1), m(2); UBound = 3 - верхний индекс размерности; LBound = 0 - нижний индекс размерности; Length = 4 - наибольшее число элементов, которое можно разместить; Rank = 1 - ранг. При работе с массивами индексация элементов начинается с 0, однако можно формировать массив с другого индекса.

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

(General) (Declarations)
Rem описать массив без указания размерности
Dim mass() As Variant 
Private Sub Command1_Click()
...
Rem установить размерность массива с использованием инструкции ReDim
ReDim mass(17) 
:.
End Sub

При описании многомерных массивов индексы размерностей разделяются запятой, пример:

Dim maName (7, 7) As String
Dim maBea (5, 7, 9) As String

Имеется возможность указывать диапазоны индексов:

Dim massMain (5, 7 To 16, 9 To 25, 3, 15 To 20, 23 To 29, 2)

Можно использовать присваивание массивов (см. справочник).

Константа

Константа имеет символьное имя и значение. При описании констант используется ключевое слово Const. Синтаксис:

[Public | Private] Const имя_константы As тип_данных = Значение

Рассматриваются константы:

  • внутренние (определяемые системой). Информацию о существующих константах можно получить в Object Browser,
  • определяемые пользователем.

Внутренние константы записываются с префиксом из 2-х букв, обозначающих библиотеку объектов (например, префикс vb - библиотека объектов Visual Basic, префикс db - библиотека объектов Access, префикс xl - библиотека объектов Excel), пример: dbAppendOnly.

Лекция 1: 1234567 || Лекция 2 >
Константин Новков
Константин Новков
Как подключить библиотеку DLL ?
антонина квасова
антонина квасова
Что реализует инструкция Open - Open "a:\t.txt" For Output As #1
Светлана Ведяева
Светлана Ведяева
Россия, Саратов
Оксана Пагина
Оксана Пагина
Россия, Москва