logo
лекцииИТвМенеджменте -аудитория

Integer Короткое целое числовое значение, занимает 2 байта. Используется для представления целых чисел в диапазоне от –32768 до 32767.

Long Длинное целое число, занимает 4 байта. Используется для представления целых чисел в диапазоне от –2147483648 до 2147483647.

Single Десятичное число обычной точности, занимает 4 байта. Используются для представления отрицательных чисел в диапазоне от –3.402823E 38 до –1.401298E-45 и для представления положительных чисел в диапазоне от 1.401298E-45 до 3.402823E 38.

String Строка переменной длины. Занимаемая память линейно зависит от числа символов в строке.

String * длина Строка постоянной длины.

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

Object Объект. Используется только для хранения ссылок на объекты, занимает 4 байта.

Одним из самых важных понятий в языке программирования является понятие переменной.

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

Т.о., для доступа к содержимому этой области памяти достаточно знать имя переменной.

Имя переменной (идентификатор) - это строка символов, которая отличает эту переменную от других объектов программы (идентифицирует переменную в программе).

Правила задания имен переменных:

  1. Первым символом имени должна быть буква.

  2. Остальные символы - буквы и цифры. (Прописные и строчные буквы различаются). Может использоваться символ "_"

  3. Нельзя использовать символ "."

  4. Число символов не должно превышать 255.

  5. Имя переменной не должно совпадать с зарезервированными (служебными) словами языка.

В VISAUL BASIC существуют следующие возможности объявления типа переменной (все объявления переменных должны находиться в начале программного кода):

1) переменная может вообще не объявляться. В этом случае по умолчанию будет установлен тип Variant. Однако это может привести к медленной неэффективной работе программы и нерациональному использованию памяти.

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

Dim имяПеременной [ As типПеременной]

Например:

Dim My_name As String

Dim Число_ворон As Integer, Пи As Double

Dim Яблоко

Dim НомерТелефона As String*12

Чтобы переменные всегда объявлялись явно, нужно использовать опцию Option Explicit в секции (General) (Declarations) существующих форм, модулей или классов (см. рис. 2.1).

После установки этой опции VISAUL BASIC требует явного описания переменных и при использовании в коде необъявленной переменной выдаст сообщение об ошибке.

Рис. 45. Модуль с опцией Option Explicit в окне редактора кода.

3) переменная может объявляться неявно:

a)с помощью оператора объявления типа:

DefТип Начальная буква [ - Конечная буква]

Вместо Тип в DefТип указывается одно из следующих ключевых слов:

Например:

' (General) (Declaration)

DefInt A - Z

Dim A, B As Byte

Dim С, D As Long

Здесь во второй строке определяется, что все переменные, не объявленные явно и начинающиеся с любой буквы в диапазоне от A до Z, будут по умолчанию иметь тип Integer. Т.о. в примере переменная B имеет тип Byte, переменная D имеет тип Long, а переменные A и C - тип Integer.

b) с помощью суффикса:

О типе переменной можно судить ( правда не всегда) по суффиксу, приписываемому к имени переменной. Суффиксы могут быть только у шести типов переменных:

Суффикс

%

&

!

#

$

@

Тип

Integer

Long

Single

Double

String

Currency

Например:

My_name$ - переменная типа String

Пи# - переменная типа Double

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

Константы - величины, значения которых не могут меняться.

Как и переменные, константы объявляются в начале текста программного кода оператором:

Const ИмяКонстанты [As Тип] = Значение

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

Например:

Const Pi = 3.1415926535

Const mName As Sring = "Maria"

Массив - это набор элементов определенного типа, каждый из которых имеет свой порядковый номер, называемый индексом.

Определение массива в операторе:

Dim ИмяПеременной ([НижнийПредел To] ВерхнийПредел) [As тип]

VISAUL BASIC индексирует всегда, начиная с нуля, т.е. индекс 0 обозначает первый элемент массива, индекс 1 - второй и так далее.

Например:

‘объявляется массив из 15 элементов (0-14)

Dim CN(14) As Integer

‘Объявляется массив из 15 элементов

Dim CM(1 To 15) As Integer

Оператор Option Base позволяет задать индексацию массива с единицы. Этот оператор должен находиться в секции (General) (Declarations):

' (General) (Declarations)

Option Base 1

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

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

В VISAUL BASIC весь программный код находится внутри процедур (подпрограмм). Общая структура описания подпрограммы VISAUL BASIC:

Sub имя_подпрограммы[(аргументы)]

операторы VISAUL BASIC

End Sub

Такие процедуры могут вызываться или самим VISAUL BASIC (процедуры обработки событий) или другими процедурами.

Вызов подпрограммы:

Call имя_подпрограммы[(параметры)]

или

имя_подпрограммы [параметры]

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

Общая структура описания функции:

Function имя_функции[(аргументы)][As Тип]

операторы VISAUL BASIC

имя_функции=выражение

End Function

Вызов функции:

переменная=имя_функции[(аргументы)]

Вывод данных в стандартное диалоговое окно.

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

Диалоговое окно MsgBox можно выводить как процедурой, так и как функцией MsgBox.

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

переменная = MsgBox(текст[, опция][, заголовок][, файл справки, контекст])

Здесь:

текст – строковое выражение, отображаемое как сообщение в диалоговом окне (максимальная длина 1024 символа);

опция – дополнительная информация. Эта опция представляет собой числовое значение, составленное как сумма значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку. (Значение по умолчанию=0).

опция = Button + Icon + Default (см. таблицу 7).

заголовок - строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, то в строку заголовка помещается имя приложения.

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

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

Примечание: Функцию MsgBox с двумя и более аргументами можно использовать только в выражении (присваивать переменной). Наличие «,», соответствующих отсутствующим аргументам, является обязательным.

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

На рис. 46 – 49 приведены примеры использования процедуры MsgBox для вывода диалоговых окон различных видов.

Константы функции MsgBox Таблица 7

Константа

Значение

Описание

Категория: Button(Кнопки)

vbOKOnly

0

Только кнопка OK

vbOKCancel

1

Кнопки ОК и Отмена

vbAbortRetryIgnore

2

Кнопки Стоп, Повторить, Пропустить

vbYesNoCancel

3

Кнопки Да, Нет, Отмена

vbYesNo

4

Кнопки Да и Нет

vbRetryCancel

5

Кнопки Повторить, Отмена

Категория: Icon (отображение пиктограммы)

vbCritical

16

Критическое сообщение

vbQuestion

32

Вопрос

vbExclamation

48

Предупреждение

vbInformation

64

Информация

Категория:Default (по умолчанию активна кнопка: )

vbDefaultButton1

0

первая

vbDefaultButton2

256

вторая

vbDefaultButton3

512

третья

vbDefaultButton4

768

четвертая

Значения, возвращаемые функцией MsgBox Таблица 8

Константа

Значение

Нажатая кнопка

vbOK

1

OK

vbCancel

2

Отмена

vbAbort

3

Стоп

vbRetry

4

Повторить

vbIgnore

5

Пропустить

vbYes

6

Да

vbNo

7

Нет

Рис. 46. Пример вывода диалогового информационного окна

Рис. 47. Пример вывода диалогового информационного окна

Рис. 48. Пример вывода диалогового информационного окна

Рис. 49. Пример вывода диалогового информационного окна

Вычисление арифметического выражения и оператор присваивания.

Для присвоения значения используется оператор присваивания. Синтаксис оператора присваивания:

[Let] ИмяПеременной = Выражение

Чаще всего используется арифметическое выражение.

Арифметическое выражение - это последовательность констант, переменных, функций, соединенных знаками арифметических операций.

Порядок вычислений арифметических выражений определяется следующим приоритетом арифметических операций:

возведение в степень (^)

умножение (*) и обычное деление (/)

целочисленное деление (\)

вычисление остатка от целочисленного деления (Mod)

сложение (+) и вычитание (-)

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

Некоторые встроенные математические функции:

Abs(x) - абсолютная величина числа x;

Sqr(x) - квадратный корень из числа x;

Fix(x) - целая часть числа x;

Int(x) - наибольшее целое число, не превышающее x.

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

Рис. 50. Пример записи арифметического выражения

Ввод данных в стандартное диалоговое окно IputBox

Используется для ввода небольших фрагментов текста. Окно InputBox состоит из четырех элементов:

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

InputBox(приглашение[, заголовок][, умолчание][, Xпоз][Yпоз] [,файл справки, контекст])

Где:

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

заголовок – строковое выражение, отображаемое в заголовке диалогового окна. Если параметр опущен, в строку заголовка помещается имя приложения.

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

Xпоз – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана (в твипах). Если параметр опущен, то диалоговое окно выравнивается по центру экрана по горизонтали.

Yпоз – числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и краем экрана (в твипах). Если опущен, то диалоговое окно помещается по вертикали примерно на 1/3 высоты экрана.

Примечание: Твип (twip) – единица измерения расстояния для VISAUL BASIC, устанавливаемая по умолчанию (1 дюйм = 1440 твип).

Возвращаемым значением данной функции является информация, вводимая пользователем. VISAUL BASIC автоматически приписывает этой информации тип String.

Примечание: Если нажимается кнопка «ОК» или клавиша «Enter», функция возвращает пустую строку(“”).

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

На рис. 52 – 54 приведен пример решения задачи, демонстрирующий использование стандартных диалоговых окон для ввода фамилии, имени и отчества.

Рис. 51. Пример использования функции InputBox для ввода значения

Рис. 52. Пример работы функции InputBox для ввода фамилии

Рис. 53. Пример работы функции InputBox для ввода имени

Рис. 54. Пример работы функции InputBox для ввода отчества

Рис. 55. Пример работы функции MsgBox для вывода фамилии, имя и отчества

На рис. 56 – 58 приведено решение той же задачи с использованием текстовых полей в форме:

Рис. 56. Структура формы с текстовыми полями для ввода фамилии, имени и отчества

Рис. 57. Процедура решения задачи

Рис. 58. Работа приложения

Обработка символьных данных