Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по VB.doc
Скачиваний:
9
Добавлен:
10.11.2018
Размер:
5.02 Mб
Скачать

Задание 3. Модули, процедуры и функции

Чтобы продолжить работу с проектом, необходимо загрузить файл с расширением vbp. Этот файл содержит структуру всего проекта.

Если после загрузки окно формы отсутствует, выберите в окне менеджера проекта (рис. 23) строку формы и щёлкните по ней кнопкой мыши. Для просмотра составляющих проекта используют кнопки Показать объект, Показать Код, которые расположены в левом верхнем углу окна (рис. 23).

Рис. 23. Окно менеджера проекта.

До сих пор мы использовали только визуальные средства программирования. Однако, этого недостаточно для создания полноценного проекта. Необходимо овладеть технологией написания программного кода (программы). Программный код состоит из модулей. Различают три типа модулей:

  • модули формы – основа проекта;

  • стандартные модули – доступны всем модулям проекта;

  • модули классов – используются для создания новых классов, объектов, свойств и методов.

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

В нашем случае Форма1 является модулем формы, который пока не содержит процедур и функций.

Любое приложение Windows после загрузки сохраняет состояние покоя до тех пор, пока не произойдёт внешнее воздействие на один из элементов управления. Такое воздействие называют событием. Реакция на событие – методом. Рассмотрим технологию создания и структуру процедуры обработки событий на конкретном примере.

Активизируйте окно формы, если оно не активное. Выделите текстовое поле Тext1 и разместите его в центре формы. Для этого используйте функциональное меню: Формат \ Центрировать в Форме \ Горизонтально; Формат \ Центрировать в Форме \ Вертикально.

На панели элементов утопите кнопку CommandButton (кнопка управления). Удерживая левую кнопку мыши, очертите на форме пространство ниже текстового поля. Свойству Caption данного объекта присвойте значение «Восстановить». Аналогичным образом создайте рядом вторую кнопку в соответствие с рис. 24.

Рис. 24. Форма Редактор текстов.

Выделите обе кнопки, удерживая клавишу CTRL. Отформатируйте их размеры с помощью функционального меню: Формат \ Сделать одного Размера \ Ширина; Формат \ Сделать одного Размера \ Высота.

Выделите текстовое поле Тext1. В окне свойств данного объекта выберите свойство Visible. Установите для этого свойства значение «False» (Нет), как показано на рис. 25.

Рис. 25. Свойство Visible.

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

Необходимо создать процедуру, которая при нажатии на кнопку «Восстановить» (событие Click), обеспечила видимость текстового поля.

Установите указатель на кнопку «Восстановить» и дважды щёлкните по левой кнопке мыши. Автоматически откроется окно Редактора кода, в котором будет сформированы первая и последняя строчки процедуры обработки события Click:

Private Sub Command1_Click()

End Sub

Первая строка процедуры должна обязательно содержать зарезервированное слово Sub и имя процедуры, которое состоит из наименования объекта Command1 и наименования события Click, разделённых знаком подчёркивания. Private – обозначает то, что данная процедура доступна только для модуля Form1. Последняя строка процедуры содержит зарезервированные слова End Sub. Обратите внимание, что курсор расположен между первой и последней строками процедуры.

Нажмите клавишу Tab и наберите на клавиатуре выражение следующего содержания:

Text1.Visible = True

В этом выражении использован оператор присвоения – знак равно. Свойству Visible объекта Text1 присваивается значение True – истина. При этом объект следует отделить от его свойства точкой. Такая запись позволяет обеспечить видимость текстового поля.

Общий вид процедуры обработки события нажатия на клавишу «Восстановить»:

Private Sub Command1_Click()

Text1.Visible = True

End Sub

Самостоятельно создайте процедуру обработки события нажатия на клавишу «Удалить». Программный код этой процедуры должен выглядеть следующим образом:

Private Sub Command2_Click()

Text1.Visible = False

End Sub

Проверьте результаты программирования в режиме интерпретации.

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

  • функции всегда возвращают значения, процедуры никогда;

  • первая строка функции начинается с зарезервированного слова Function, за которым следует её наименование;

  • последняя строка функции завершается фразой End Function;

  • функция не связана с обработкой событий и может быть вызвана из процедуры.

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

Используя кнопку Label (Метка), расположенную на панели элементов, отобразите в правом верхнем углу формы (над текстовым полем) прямоугольник. Этот элемент управления будет использоваться для отображения системной даты. Установите для его свойства Caption значение пробел, а для свойства BorderStyle значение 1- Fixed Single как указано на рис. 26.

Рис. 26. Свойства элемента управления.

Откройте Окно формы, если оно закрыто. Установите указатель на кнопку «Восстановить». Двойным щелчком по кнопке мыши откройте Редактор кода. Введите в тело процедуры обработки текущего события выражение вызова стандартной функции Date: Label1.Caption = Date. Функция Date всегда возвращает системную дату, которая присваивается свойству Caption объекта Label1. Теперь процедура будет выглядеть следующим образом:

Private Sub Command1_Click()

Text1.Visible = True

Label1.Caption = Date

End Sub

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

Для этого в последней, свободной строке Редактора кода наберите на клавиатуре первую строку функции titul: Function titul() и нажмите клавишу Enter. Последняя строка функции будет создана автоматически. Нажмите клавишу Tab и введите выражение Print "Первая программа на VB". Оператор Print позволяет выводить на экран текстовую константу, заключённую в двойные кавычки.

Function titul()

Print "Первая программа на VB"

End Function

Аналогичным образом создайте функцию гашения экрана. При этом можно использовать обычные средства Копирования и Вставки фрагментов текста через буфер обмена.

Function cle()

Cls

Label1.Caption = ""

End Function

Функция с наименованием cle содержит оператор гашения экрана Cls. В следующей строке свойству Caption объекта Label1 присваивается пустое значение, что соответствует двум последовательно набранным двойным кавычкам.

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

Private Sub Command1_Click()

Text1.Visible = True

Label1.Caption = Date

titul

End Sub

Private Sub Command2_Click()

Text1.Visible = False

cle

End Sub

Проверьте результаты программирования в режиме интерпретации.

Вернитесь в Редактор кода. Разверните окно редактора на весь экран с помощью кнопки Развернуть (средняя из трёх кнопок, расположенных в правом верхнем углу окна). Созданный программный код, состоящий из процедур обработки событий и функций называется Модулем Формы 1.

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

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

'Процедура обработки щелчка по кнопке Восстановить

Private Sub Command1_Click()

Text1.Visible = True

Label1.Caption = Date 'вызов стандартной функции

titul 'вызов функции titul

End Sub

'Процедура обработки щелчка по кнопке Удалить

Private Sub Command2_Click()

Text1.Visible = False

cle 'вызов функции cle

End Sub

'Функция вывода текста на экран

Function titul()

Print "Первая программа на VB"

End Function

'Функция очистки экрана

Function cle()

Cls 'очистка экрана

Label1.Caption = "" 'очистка объекта Label1

End Function

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

Рассмотрим пример готового программного кода.

Используя проводник Windows, загрузите проект:

VB Учебные \ Проекты \ 01 Вызов процедуры \ Проект1.vbp

Откройте окно Редактора кода. Код приложения приведён ниже:

'Общая процедура присвоения значения текстового поля

'Text5 свойствам текстовых полей Text1,2,3,4

Sub Процедура()

Text1.Text = Text5

Text2.Text = Text5

Text3.Text = Text5

Text4.Text = Text5

End Sub

'Процедура обработки события: Щелчок по кнопке Command1

Private Sub Command1_Click()

Процедура

End Sub

В данном примере рассмотрены две процедуры:

  • общая процедура;

  • процедура обработки события.

Рассмотрите структуру общей процедуры и технологию обращения к ней. Определите, чем общая процедура отличается от процедуры обработки событий.

Просмотрите работу приложения в режиме интерпретации.

Закройте Visual Basic

Задание 4. Переменные, константы, объявление переменных

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

Процесс резервирования участка памяти под переменную называется объявлением переменной. При объявлении переменных тип данных может быть обозначен знаком – идентификатором. Справочная информация о типах данных и идентификаторах приведена в приложении 1. Рассмотрим на конкретных примерах использование переменных в программном коде.

Создайте Новый проект Visual Basic.

Свойству Caption присвойте значение: Сложение двух чисел.

Аналогичный алгоритм рассмотрен в теоретической части второго раздела.

Для свойства Icon загрузите пиктограмму VB Учебные \ Фотогаллерея \ ico \ Mycomp.ico.

Command1

Рис. 25. Окно формы.

Разместите на форме три текстовых поля (TextBox) и одну кнопку управления (CommandButton).

Переместите форму в центр экрана.

Удерживая клавишу CTRL, выделите три текстовых поля. Отформатируйте их, используя меню Формат.

Снимите выделение трёх текстовых полей, щелчком мыши на свободном пространстве формы.

Последовательно выделяя каждое текстовое поле, установите для каждого из них значение свойства Text равным нулю. Для свойства MaxLength (максимальное количество вводимых символов) значение равное 4 для первых двух полей и значение равное 5 для третьего поля.

Свойству Caption элемента управления Command1присвойте значение: Вычислить.

Используя элемент управления Label (Label) разместите на форме подписи полей как показано на рис. 26.

Рис. 26. Интерфейс приложения.

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

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

Переменные должны быть объявлены. Иногда возникают ошибки при использовании не объявленных переменных. Во избежание такого рода проблем в начале модуля устанавливается оператор Option Explicit, который предупреждает программиста, когда встретится имя переменной, не объявленной явно. Если установить опцию Требуется переменные объявле (Инструменты \ Опции \ вкладка Редактор), то этот оператор будет добавляться автоматически в каждый вновь создаваемый модуль.

Откройте окно Редактора кода и проверьте наличие этого оператора. Если он отсутствует, наберите его на клавиатуре.

Объявите переменные, используя оператор Dim (см. приложение1):

Option Explicit

Dim a As Integer 'число 1

Dim b As Integer 'число 2

Dim c As Integer 'результат

Все переменные объявлены как целые числа.

Второй вариант объявления переменных с помощью идентификатора приведён ниже:

Option Explicit

Dim a % 'число 1

Dim b % 'число 2

Dim c % 'результат

Откройте Окно формы и дважды щёлкните по объекту Command1. В Редакторе кода будут сформированы первая и последняя строки процедуры обработки событий (щелчок по кнопке «Вычислить»):

Private Sub Command1_Click()

End Sub

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

Private Sub Command1_Click()

a = CInt(Text1)

b = CInt(Text2)

c = a + b

Text3.Text = CStr(c)

End Sub

a = CInt(Text1) – присвоение значений данных, занесённых в текстовое поле Text1 переменной a.

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

Для этих целей использована стандартная функция CInt. В скобках указан аргумент – текстовое поле.

b = CInt(Text2) – присвоение значений данных, занесённых в текстовое поле Text2, переменной b.

c = a + bсуммирование и пересылка результата в переменную c.

CStr(c) – функция преобразования числового значения, содержащегося в переменной, в текстовую информацию. Cstr – функция, с – аргумент (переменная).

Text3.Text = CStr(c) – присвоение значения, возвращаемого функцией, свойству Text текстового поля Text3.

Программный код модуля формы содержит одну процедуру обработки событий:

Option Explicit

Dim a As Integer 'число 1

Dim b As Integer 'число 2

Dim c As Integer 'результат

Private Sub Command1_Click()

a = CInt(Text1)

b = CInt(Text2)

c = a + b

Text3.Text = CStr(c)

End Sub

Проверьте работу приложения в режиме интерпретации.

Создайте в собственной папке папку Переменные. Сохраните в ней проект. Выполните компиляцию. Закройте Visual Basic.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]