ВИЗУАЛ БЕЙСИК ДЛЯ ДЕТЕЙ

ОСНОВЫ ПРОГРАММИРОВАНИЯ

Класс 4

4. Создание Проекта, Формы, Кнопки

Создание Проекта, Сохранение Проекта, Интерактивная Справка,Управление Форма, Свойства, Пример 1, События, Управление Командная Кнопка, Пример 2, СобытияК, БЕЙСИК - Первый Урок, Структура Процедуры События, Инструкция Назначения, Типы Свойств, Целочисленный (Integer) тип, Длинный Целочисленный (Long Integer) тип, Булев (Boolean) тип, Строчный (String) тип, Комментарии, Забавная Форма, Запись Процедуры События, Запуск Проекта, Резюме.

Обзор и Предварительный просмотр

Вы изучили некоторые части проекта Визуал Бейсик и три этапа создания проекта:

  1. Расположение управлений на форме.
  2. Назначение свойств для управлений.
  3. Запись процедур события.

Есть ли у Вас какие-либо идеи, которые Вы хотели бы использовать при создании проекта Визуал Бейсик? Если так, то прекрасно. В этом классе, Вы начнете развивать Ваши навыки программирования. Вы узнаете, как создавать проект, форму и средства управления и начнете формировать полный проект.

Создание Проекта

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

Основная идея состоит в том, чтобы создать проект, который является легким в использовании, простым для понимания и без ошибок. Подумайте о том, в какой информации нуждается программа? Какую информацию компьютер определяет? Решите также, какие средства управления Вы должны использовать, чтобы обеспечить эти установки информации. Разработайте хороший интерфейс для пользователя (размещение средств управления на форме). Сделайте интерфейс, который не противоречил бы с другими прикладными программами Windows.

Делайте код БЕЙСИКА, в Ваших процедурах события, хорошо читаемым и простым для понимания. Это сделает Вашу работу по внесению более поздних изменений намного проще. Следуйте за принятыми правилами программирования - Вы узнаете эти правила, при дальнейшем изучении БЕЙСИКА. Удостоверитесь, что нет никаких ошибок в Вашем проекте. Возможно, это походит на нудную инструкцию, но множество программ содержит ошибки. Windows 95 имеет несколько сотен ошибок!

Значение этих немногих инструкций по созданию проекта сейчас, может быть, не имеет особого смысла, но в дальнейшем выполнение этих инструкций будет необходимым. Идея состоит в том, чтобы сделать проект полезным, ясным, свободным от ошибок, а также легким и простым в использовании. Тщательное планирование поможет Вам достигнуть этой цели. Для каждого проекта в нашем курсе, мы будем пытаться давать Вам некоторое понимание процесса создания проекта. Мы будем объяснять, почему мы делаем то, что мы делаем.

Сохранение Проекта Визуал Бейсик

В Классе 1, Вы изучили, как открывать, выполнять и закрывать проект Визуал Бейсик, который уже был сохранен до того, как Вы его использовали, но мы никогда не говорили о том, как этот проект был сохранен. Теперь, когда Вы начинаете создавать Ваши собственные проекты, Вы должны знать, как их сохранить. Это очень просто. Мы используем основную инструментальную панель. Ищите кнопку, которая походит на маленький флоппи диск (дискета). Эта кнопка называется Сохранить Проект (Save Project):

Кнопка "Сохранить прект" (Image88.gif - 2Kb)

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

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

Окно "Сохранить как" (Image89.gif - 6Kb)

Это окно спрашивает Вас, где Вы хотите сохранить Вашу форму и как Вы хотите назвать ее (это - файл с расширением .frm). Перейдите в нужную папку, назначьте имя файла формы (имейте в виду, что название, в дальнейшем, может быть важным) и щелкните по клавише Сохранить (Save).

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

Окно "Сохранить как" (Image90.gif - 6Kb)

Это окно спрашивает, где Вы хотите сохранять файл проекта и как Вы хотите называть этот файл (расширение .vbp). Снова выберите папку (обычно та же самая папка, где сохранен файл формы), назначьте имя проекта и щелкните по клавише Сохранить (Save). В этом месте, Ваш проект сохранен в двух файлах: файл формы и файл проекта.

Если Вы работаете над проектом, который уже был сохранен, и Вы снова нажимаете на кнопку Save Project, Визуал Бейсик автоматически сохраняет оба файла (Форма и проект), используя те же самые имена. Визуал Бейсик всегда сохраняет Ваш проект перед его выполнением (переход в режим [run]), а также перед выходом из Визуал Бейсик. Когда Вы хотите открыть сохраненный проект, только нажмите на кнопку Open Project на инструментальной панели Windows выберите файл проекта, затем нажмите Open (Открыть). Файл проекта откроется и появится связанная с ним Форма.

Интерактивная Справка (on-line Help)

Часто, при работе в среде Визуал Бейсик, у Вас будут возникать вопросы по решению тех или иных задач. Хороший способ получить справку состоит в том, чтобы спросить у того, кто знает ответ. Люди, обычно, с удовольствием приходят на помощь. Вы можете также попробовать найти ответ в книге, есть довольно большое количество книг по Визуал Бейсик. Или, другой хороший способ найти ответ состоит в том, чтобы использовать Интерактивную систему Справки для Визуал Бейсик через Интернет.

Большинство прикладных программ Windows, включая Визуал Бейсик, имеют справочные файлы доступные для Вашего использования. Чтобы обратиться к системе справки Визуал Бейсик, нажмите на слово Помощь (Help) в основном меню. Здесь Вы можете искать тему или раздел, который Вам необходим. Система помощи в Визуал Бейсик - точно такая же, как и все другие системы помощи в Windows. Если вы когда-либо использовали любую систему интерактивной справки, использование справки в Визуал Бейсик будет для Вас простым. Если вы никогда не использовали систему интерактивной справки, спросите кого - ни будь о справке. Она довольно легка в использовании. Или нажмите на Start на панели задач Windows, затем выберите Help. Вы можете использовать эту систему интерактивной справки, чтобы узнать о том, как вообще пользоваться справкой!

Теперь, давайте внимательно посмотрим, на два важных средства управления: Form и Command Button. Затем мы начнем изучение языка БЕЙСИК и будем создавать полный проект.

Управление Форма

Мы видели, что Форма – центральное средство управления в создании проекта Визуал Бейсик. Без формы, не может быть никакого проекта! Давайте рассмотрим некоторые важные свойства и события для формы. Форма появляется, когда Вы запускаете новый проект.

Форма (Image91.gif - 3Kb)

Свойства

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

Свойство (Property)................Описание (Description)

Name (Имя)............................. используется, чтобы идентифицировать форму. Три символа (префикс) для имени формы - frm.

Caption (Заголовок).................текст, который появляется в области Заголовка формы.

Icon (Иконка)...........................ссылка к иконке, которая появляется в области заголовка формы (мы рассмотрим создание иконок в Классе 7).

Left (Левый)............................расстояние от левого края экрана компьютера до левого края формы.

Top (Верх)..............................расстояние от верхнего края экрана компьютера до верхнего края формы.

Width (Ширина) .....................ширина формы.

Height (Высота).....................высота формы.

BackColor (Цвет Фона) ........цвет фона формы.

BorderStyle (Стиль Границ)..изменение размеров формы с использованием мышки или установка неизменяемого размера.

Пример 1

Чтобы лучше узнать эти свойства, запустите Визуал Бейсик и откройте новый проект. Установите свойства Top, Left, Height и Width, и понаблюдайте их влияние на позицию формы на экране и размеры. Измените размеры, переместите форму и посмотрите, какие произошли изменения в окне свойств. Установите свойство Заголовка. Выберите новый цвет фона, используя методы выбора рассмотренные в Классе 3. Чтобы увидеть эффект свойства BorderStyle, установите значение (или 1-фиксированный одиночный размер или 2-возможность изменения размера; это те значения, которые мы будем использовать в нашем курсе) и запустите проект (режим [run]). Вы можете запустить проект только с формой! Попробуйте изменять размеры формы. Обратите внимание на различия. Остановите проект.

События

Прежде всего, Форма действует как "контейнер" для других средств управления, но она также и поддерживает события. То есть она может отвечать на некоторые Ваши (пользователя) действия. Мы, в этом курсе, коснемся только двух событий для формы:

Событие (Event) ...............Описание (Description)

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

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

Пару слов о наименовании формы. Вспомните, мы видели в прошлом классе, что имена управлений используются в процедурах события. Для форм это не так. Все процедуры события формы имеют Формат:

Form_EventName

То есть, независимо от того, какое Имя Вы назначаете форме, процедуры события перечислены под словом Форма. Так, при поиске процедур события для формы в окне кодирования (Code Window), пройдите по Списку Объектов, пока Вы не найдете Форму. Попробуйте это с примером, который предназначен только для того, чтобы поиграть со свойствами. Обратите внимание, если мы назначаем имя frmFirstCode для формы, окно кодирования будет выглядеть так:

VB4: Окно кодирования (Image83.gif - 4Kb)

VB5, VB6: Окно кодирования (Image92.gif - 4Kb)

Обратите внимание, что в списке объектов появляется слово Form, но не frmFirstCode. Мы всегда должны помнить об этой особенности при работе с процедурами события формы. Все другие средства управления появятся в списке объектов с назначенным для них Именем.

Управление Командная Кнопка

Командная Кнопка - одно из наиболее широко используемых средств управления в Визуал Бейсик. Командные Кнопки используются, чтобы запустить, приостановить (пауза) или закончить отдельные процессы. Командная Кнопка выбирается из набора инструментов и выглядит так:

Командная кнопка на панели инструментов (Image93.gif - 2Kb)

Командная кнопка на форме (Image94.gif - 2Kb)

Свойства

Несколько свойств для Командной Кнопки:

Свойство......................... Описание

Name (Имя).......................используется, чтобы идентифицировать кнопку. Три символа (префикс) для имен кнопки - cmd.

Caption (Заголовок) .........надпись, которая появляется на кнопке.

Font (Шрифт)....................устанавливает размер и тип шрифта заголовка.

Left (Левый)......................расстояние от левого края формы до левого края кнопки.

Top (Верх)........................расстояние от верхнего края формы до верхнего края кнопки.

Width (Ширина)................ширина кнопки.

Height (Высота)...............высота кнопки.

Enabled (Допускается)....определяет, может ли кнопка отвечать на события пользователя (в режиме работы [run]).

Visible (Видимый)............определяет, становится ли кнопка видимой на форме (в режиме работы [run]).

Пример 2

Запустите Визуал Бейсик и откройте новый проект. Поместите Командную Кнопку на форме. Переместите кнопку и обратите внимание на изменения в свойствах Сверху (Top) и Слева (Left). Измените размеры кнопки и наблюдайте, как изменяются свойства Ширина (Width) и Высота (Height). Установите свойство Заголовок.

Много средств управления, в дополнение к кнопке, имеют свойство Шрифт (Font), так что давайте, потратим немного времени, чтобы посмотреть, как его можно изменить. Свойство Шрифт устанавливает размер и тип букв Заголовка. Когда Вы нажимаете на Шрифт (Font) в окне свойств, появится кнопка с многоточием справа от окна:

Кнопка выбора (Image95.gif - 2Kb)

Нажмите на эту кнопку, и появится Окно Шрифтов:

Окно шрифтов (Image96.gif - 8Kb)

В этом окне Вы можете выбрать три главных установки: Шрифт (Font), Стиль шрифта (Font Style), и Размер шрифта (Size). Вы можете также назначить подчеркнутый шрифт. Это окно содержит информацию обо всех шрифтах, которые установлены на Вашем компьютере. Чтобы установить новые свойства Шрифта, выберите новые значения в этом окне и щелкните ОК. Попробуйте различные шрифты, различные начертания шрифта и размеры для свойства кнопки Заголовок.

Два других свойства для Командной Кнопки – Допускается (Enable) и Видимый (Visible). Каждое из этих свойств может иметь значение либо Верно (True) или Неверно (False). Большинство других средств управления также имеет эти свойства. Для чего они?

Если свойство управления Допускается (Enable) стоит в значении Неверно (False), Вы (пользователь) не можете обратиться к этому управлению, другими словами управление не будет реагировать на события.

Допустим, что Вы имеете проект "Секундомер" с управлениями Старт и Стоп:

Вы хотите, чтобы пользователь нажал Старт, затем Стоп, чтобы найти прошедшее время. Вы не хотели бы, чтобы пользователь имел возможность нажать кнопку Стоп до того, как он нажмет на кнопку Старт. Таким образом, вначале, Вы должны были бы установить кнопку Старт со свойством Допускается (Enable) Верно (True) и кнопку Стоп со свойством Допускается (Enable) Неверно (False).

При таком назначении свойств управлений, пользователь может начать работу с секундомером только нажав на кнопку Старт. После того, как пользователь нажал на кнопку Старт, Вы должны изменить значения свойств управлений. То есть, назначить для кнопки Старт свойство Допускается (Enable) Неверно (False) и для кнопки Стоп Допускается (Enable) Верно (True).

Таким образом, теперь (в режиме подсчета времени) пользователь может нажимать только кнопку Стоп.

Результат свойства Допускается Неверно (Enable False) виден только в режиме работы [run]. Когда кнопка находится в режиме Допускается Неверно (Enable False), заголовок на ней становится бледным, и она не реагирует на нажатие:

Используйте свойство Допускается (Enable), когда Вы хотите временно заблокировать какое-либо управление на форме.

Свойство Видимый (Visible) - немного сильнее свойства Допускается (Enable). Когда свойство управления Видимый (Visible) установлено в значении Неверно (False), управление даже не появится на форме!

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

Часто в проекте, Вы будете нуждаться в том, чтобы управление временно становилось невидимым. Помните, проект Образец (Sample) в Классе 1, где управление Переключатель (Check Box) использовалось для того, чтобы доставать и прятать игрушки, то есть делать их видимыми (Visible True) и невидимыми (Visible False).

Показ игрушек управлялся через свойство Видимый (Visible) для управления Изображение (Image). Также, небольшие часы. Вместо того, чтобы устанавливать свойство кнопки Допускается Неверно (Enabled False) и делать ее, не реагирующей на нажатие, мы установили свойство Видимый в значении Неверно (False), так что часы вообще не появляются на форме, но при этом выполняют поставленную перед ними задачу.

Установка свойств некоторых управлений в значение Видимый Неверно (Visible False), позволяет нам освобождать видимую часть проекта от тех управлений, которые выполняют свою работу без прямых команд пользователя. В результате проект становится более простым, то есть таким к которому мы и должны стремиться.

Теперь, поиграем со свойствами Командной Кнопки Допускается (Enable) и Видимый (Visible) в примере, с которым Вы работали - "Секундомер".

Устанавливайте любые свойства, запускайте проект в рабочий режим [run] и смотрите на результаты.

События

Есть еще одно, очень важное, событие Командной Кнопки:

Событие .......................Описание

Click (Щелчок)...............событие выполняется, когда пользователь нажимает на кнопку мышкой.

Каждая кнопка должна иметь процедуру события, соответствующую событию Щелчка (Click).

БЕЙСИК - Первый Урок

Сейчас, мы готовы войти в основы проекта Визуал Бейсик - язык БЕЙСИКА. Вы видели, что в проекте Визуал Бейсик, процедуры события используются, чтобы подключить события управления к фактическим действиям компьютера. Эти процедуры события написаны с использованием языка БЕЙСИК. То есть, Вы должны знать БЕЙСИК, чтобы знать Визуал Бейсик. В каждом последующем классе этого курса, Вы будете узнавать что - нибудь новое о языке БЕЙСИК.

Структура Процедуры События

Вы знаете, что процедуры события записываются и находятся в окне кодирования (Code Window). Каждая процедура события имеет одну общую структуру. Сначала, имеется строка Верхней Линии (Header Line) формы:

Private Sub ControlName_EventName()

Эта строка сообщает компьютеру, что он работает с Частной Подпрограммой (Private Sub), которая доступна только для формы, и которая выполняется, когда событие EventName происходит для управления ControlName.

Код процедуры события начинается после строки Верхней Линии. Код процедуры события - это просто набор следующих друг за другом (line-by-line) инструкций для компьютера, которые указывают ему, что делать. Компьютер обрабатывает первую строку, затем вторую и так до конца. Пока не достигнет строки Нижней Линии (Footer Line) процедуры события:

End Sub

Эта строка сообщает компьютеру, что событие закончилось.

Код процедуры события написан на языке БЕЙСИК. БЕЙСИК - это набор ключевых слов и символов, которые используются, чтобы заставить компьютер делать то, что мы хотим.

БЕЙСИК содержит много кодов. Мы рассмотрим некоторые из них в этом курсе. Только одно предупреждение. Мы говорили об этом раньше, но это стоит того, чтобы повторить.

Программирование требует точности и не допускает ошибок! Вы должны быть особенно точны при печати процедур события.

Инструкция Назначения

Самая простая, и наиболее используемая инструкция в БЕЙСИКЕ - это инструкция назначения. Она выглядит так:

LeftSide = RightSide

(ПраваяСторона = ЛеваяСторона)

Инструкция говорит о том, что левая сторона определяется значением, которое стоит с правой стороны. Символ = называется Оператором Назначения (Assignment Operator). Вы можете узнать этот символ как знак равно '=', который используется в математике, но он не является знаком равно '=' в программировании. Почему так?

В инструкции назначения LeftSide = RightSide, мы указываем любому значению слева, измениться на значение установленное справа.

Левая сторона инструкции назначения может быть только одиночным выражением, как и свойство управления. Правая сторона может быть любым допустимым выражением БЕЙСИКА.

Сейчас мы говорим об очень общих условиях. Смысл инструкции назначения станет очевидным, когда Вы узнаете немного больше о БЕЙСИКЕ.

Типы Свойств

Вспомним, что свойства говорят что-нибудь об управлениях, например: размер, цвет, появление и тд.. Каждое свойство имеет свой особенный тип, который зависит от вида информации, которую оно представляет. Когда мы используем окно свойств, чтобы установить значения в режиме проекта [design], Визуал Бейсик автоматически обеспечивает соответствующий тип. Если мы хотим изменить свойство в процедуре события, используя инструкцию назначения БЕЙСИКА, мы должны знать тип свойства, и только тогда мы можем установить правильное значение. Помните, мы использовали "точечную запись" (dot notation), чтобы изменить свойства в режиме работы проекта [run]:

ControlName.PropertyName = PropertyValue

ControlName – Имя управления, PropertyName - имя Свойства, и PropertyValue – это свойство значения, которое мы назначаем для PropertyName. Мы рассмотрим четыре типа свойств.

Свойства первого типа - это Целочисленность (Integer). Это те свойства, которые представляются целым (недесятичным) числом. Такие свойства как Сверху (Top), Слева (Left), Высота (Height) и Ширина (Width) – это свойства Целого или Целочисленного (Integer) типа.

Так, если мы устанавливаем значение к свойству Целого (Integer) типа, мы используем целые числа. Например, чтобы изменить свойство ширины формы с названием frmExample на 4,000 твип (twips), мы запишем на БЕЙСИКЕ:

frmExample.Width = 4000

Это говорит, что мы изменяем существующую ширину формы на новое значение - 4000. Обратите внимание, что Вы записываете число 4,000 как 4000. В БЕЙСИКЕ мы не можем использовать запятые в больших числах, которые, как правило, употребляются при обычной записи.

Свойства второго типа - это Длинный Целочисленный (Long Integer) тип. Свойство Целого типа может иметь значения до 32,767. Иногда, мы нуждаемся в числах больших, чем это число, следовательно, мы нуждаемся в длинном целом типе. Длинное целое число (Long Integer) может иметь значение до 2,147,483,647. Это довольно много, но Вы понимаете, что существуют числа гораздо больше. Поэтому был изобретен тип - очень длинное целое число (very long integer). Наиболее распространенные свойства, которые используют очень длинные целые числа - это цвета, например Цвет Фона (BackColor), который Вы уже видели для некоторых средств управления. Помните, в прошлом классе, мы видели, что значение свойства для серого цвета записано как H8000000F – это краткая запись шестнадцатеричного номера для длинного целого числа. При назначении свойств цвета, мы должны использовать длинные целых числа.

К счастью, Визуал Бейсик дает нам большое количество простых способов обратиться к длинным целым числам для цветов, что делает работу с длинными целыми числами довольно простой. Один из способов - это использовать цвета с символическими константами (Symbolic Constans). Константа – это слово служит для обозначения какой-либо постоянной, не изменяющейся величины. Символические константы часто используются в Визуал Бейсик. Вы увидите большое их количество в дальнейшем изучении курса. Все символические константы начинаются с двух символов vb, по начальным буквам фразы Visual Basic.

Некоторые символические константы для цветов:

vbBlack - Черный_____________vbRed - Красный

vbGreen - Серый_____________ vbYellow - Желтый

vbBlue - Синий_______________ vbMagenta - Сиреневый

vbCyan - Голубой (небесный)___ vbWhite - Белый

Каждая из этих констант хранит в себе соответствующее значение длинного целого числа для цвета, который она представляет. Для того чтобы в нашей форме изменить свойство BackColor на синий (blue), Вы записали бы следующую инструкцию назначения:

frmExample.BackColor = vbBlue

Эта инструкция указывает компьютеру, что свойство формы Цвет Фона (BackColor) изменено на значение длинное целое число, представленное символической константой vbBlue.

Свойства третьего типа – это Булев (Boolean) тип, назван так по имени знаменитого математика Буля. Булев тип может иметь одно из двух значений: Верно (True) или Неверно (False). Мы видели, что свойства Допускается и Видимый для Командной Кнопки имеют Булевы (Boolean) значения. Так, при работе со свойствами Булевого типа, мы должны назначать одно из двух значений: Верно или Неверно.

Чтобы сделать нашу форму примера невидимой (честно говоря, это не очень хорошая идея), мы использовали бы следующую инструкцию назначения:

frmExample.Visible = False

Это говорит, что текущее свойство формы Видимый заменено Булевым (Boolean) значением Неверно (False). Мы можем вернуть свойство формы в исходное положение:

frmExample.Visible = True

Свойства четвертого типа - это Строчный (String) тип (от слова строка). Свойство этого типа довольно просто, оно определяется строкой символов.

Строка может содержать в себе имена, числа, предложения и вообще любые символы. Иногда, строка не содержит никаких символов (пустая строка). Свойство Заголовка - это свойство строчного (string) типа. Мы будем выполнять много работы со строчками в Визуал Бейсик, так что Вы хорошо познакомитесь с этим свойством. При назначении свойств строчного (string) типа, Вы обязательно должны удостовериться, что строка заключена в кавычки (" ").

frmExample.Caption = "Type Your name"

Эта инструкция назначения говорит, что свойство Заголовка (Caption) формы заменяется на строчное значение справа от инструкции. Запустите Ваш проект в режим работы [run], и посмотрите, как изменился заголовок формы.

Комментарии (Comments)

Когда мы говорили о создании проекта, было сказано, что Вы должны следовать за соответствующими правилами программирования при записи Вашего кода БЕЙСИКА. Одно из таких правил - это запись комментариев (пояснений) для кодов. Вы можете вносить инструкции, которые не будут выполняться компьютером в Вашем коде, но которые будут объяснять назначение кода. Они также сделают будущие изменения для Вашего кода намного проще.

Чтобы поместить комментарий в Вашем коде, используйте символ комментария, апостроф ( ' ). На большинстве клавиатур этот символ находится слева от клавиши <Enter>. Все напечатанное после символа комментария ( ' ) будет игнорироваться компьютером. Вы можете внести, к примеру, такой комментарий, который напомнит Вам, что расположенный за комментарием код предназначен для изменения цвета формы на Синий:

'Change form to blue

frmExample. BackColor = vbBlue

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

frmExample. BackColor = vbBlue 'Makes form blue

Вы, как программист, должны решить, какие коды Вы хотите комментировать.

Проект - Забавная Форма (Form Fun)

Создание Проекта

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

Размещение Управлений на Форме

Запустите новый проект в Визуал Бейсик. Установите размеры формы так, чтобы шесть кнопок могли разместиться на форме. Поместите шесть Командных Кнопок (Command Buttons) на форму. Разместите кнопки на форме примерно в таком порядке:

Одно предупреждение. Если вы использовали прикладные программы Windows, Вы, возможно, использовали свойства редактирования, известные как Копировать (Copy) и Вставить (Paste). При размещении управлений на форме этого делать нельзя. По той простой причине, что при копировании у Вас на форме будут копии одного и того же управления, а нам нужно, чтобы каждое управление было самостоятельным оригиналом.

Установите Свойства Управлений

Установите свойства управлений, используя окно свойств (properties window). Не забудьте, для того, чтобы найти выбранное управление в окне свойств, Вы можете использовать список средств управления в верхнем поле окна или просто нажать на нужное Вам управление (сделать его активным). Для назначения свойств управлений, мы всегда будем использовать список средств управлений с заданными по умолчанию именами свойств, которые назначаются самим Визуал Бейсик, при установке управлений на форму.

Form1 Form:

Имя Свойства(Property Name)....Значение Свойства(Property Value)

Name ...........................................frmFormFun

Caption ........................................Form Fun

Command1 Command Button:

Property Name............................. Property Value

Name ...........................................cmdShrink

Caption ........................................Shrink Form (Уменьшение Формы)

Command2 Command Button:

Имя Свойства ............................Значение Свойства

Name ...........................................cmdGrow

Caption ........................................Grow Form (Увеличение Формы)

Command3 Command Button:

Property Name ...........................Property Value

Name ..........................................cmdHide

Caption .......................................Hide Buttons (Спрятать Кнопки)

Command4 Command Button:

Имя Свойства ..........................Значение Свойства

Name ........................................cmdRed

Caption .....................................Red Form (Красная Форма)

Command5 Command Button:

Property Name .........................Property Value

Name ........................................cmdBlue

Caption .....................................Blue Form (Синяя Форма)

Command6 Command Button:

Имя Свойства ........................Значение Свойства

Name ......................................cmdShow

Caption ...................................Show Buttons (Показать Кнопки)

Visible .....................................False

Вы можете назначить другие свойства, например, изменить шрифт на кнопках или назначить другие цвета форм. Когда все выполнено, Ваша Форма примет следующий вид:

Что мы имеем? Шесть кнопок. Две, чтобы изменить размер формы, две, чтобы изменить цвет формы, одну, чтобы спрятать кнопки и одну, чтобы заставить кнопки вновь появиться. Обратите внимание, что кнопка Показать (Show Buttons) имеет свойство Видимый Неверно (Visible False). Мы не хотим ее видеть на форме вначале, так как все кнопки уже будут там. Когда мы даем команду кнопкам спрятаться, щелкая по кнопке Скрыть Кнопки (Hide Buttons), одновременно мы даем команду появиться кнопке Показать Кнопки (Show Buttons). Удобно, не так ли? Но, почему кнопка Показать Кнопки (Show Buttons) становится видимой, если свойство ее определено как Неверно (False)? Вспомните (проект Секундомер), что свойство Видимый Неверно (Visible False) будет действительным только в режиме работы проекта [run].

Запись Процедуры События

Давайте запишем код процедуры события Щелчок (Click) для каждой из этих кнопок. Мы также запишем процедуру события Щелчок для формы и объясним почему. У нас есть кнопка на форме, которая выполняет уменьшение формы. Что будет, если мы сократим форму настолько, что не сможем нажимать на кнопку, чтобы заставить форму увеличиваться. Мы можем избежать этого, позволяя щелчку по форме также увеличивать форму. Это "предварительное размышление" является одним из понятий (концепций) в создании проектов, о которых мы говорили.

Для каждой процедуры события, Вы используете окно кодирования (Code Window). Выберите управление в списке объектов и событие в списке процедур. Для Командных Кнопок событие в списке процедур определяется по умолчанию как Щелчок (Click). Затем щелкните мышкой (поставьте курсор) в области между строкой Верхней Линии и строкой Нижней Линии и начинайте печатать код.

Печатайте внимательно, Вы должны быть точны!

Сначала, давайте напечатаем процедуру события (Event Procedure) для Командной Кнопки Уменьшение Формы (cmdShrink). В этой процедуре, мы уменьшаем высоту формы на 100 твип (twips) и уменьшаем ширину формы на 100 твипс (twips):

Private Sub cmdShrink_Click()

'Shrink the form

'Shrink the form height by 100 twips

frmFormFun.Height = frmFormFun.Height - 100

'Shrink the form width by 100 twips

frmFormFun. Width = frmFormFun. Width - 100

End Sub

Перед просмотром других процедур события, давайте посмотрим немного ближе на несколько идей, которые мы недостаточно обсудили. Это - выполнение процедуры события, при нажатии на кнопку Уменьшить Форму (Shrink Form). Вы должны узнать инструкцию комментария (впереди апостроф). Инструкции назначения изменяют высоту и ширину формы. Рассмотрите инструкцию для изменения высоты:

frmFormFun.Height = frmFormFun.Height - 100

Вспомните, как работает оператор назначения (=) . Сначала определяется правая сторона. 100 твипс вычтено (используя знак минус) из текущей высоты формы и это значение (на 100 твипс меньше) назначено для левой стороны выражения - frmFormFun.Height. В результате - свойство Высота для формы, заменено свойством Высота минус 100 твипс. После этой строки кода, свойство Высота уменьшилось на 100 твипс и, соответственно, уменьшается Форма.

Это выражение также показывает, почему мы называем знак = оператором назначения. Сразу можно увидеть, что левая сторона этого выражения не равна правой стороне. Независимо от того, что представляет собой Высота формы frmFormFun. Height, правая сторона инструкции назначения будет всегда на 100 твипс меньше, чем левая сторона.

Теперь, давайте рассмотрим другие процедуры события. Процедура cmdGrow_Click увеличивает высоту формы на 100 твип и ширину формы также на 100 твип:

Private Sub cmdGrow_Click()

'Grow the form

'Grow the form height by 100 twips

frmFormFun.Height = frmFormFun.Height + 100

'Grow the form width by 100 twips

frmFormFun.Width = frmFormFun.Width + 100

End Sub

Процедура события cmdRed_Click изменяет свойство цвет фона формы на красный:

Private Sub cmdRed_Click()

'Make form red

frmFormFun. BackColor = vbRed

End Sub

Процедура события cmdBlue_Click изменяет свойство цвет фона формы на синий:

Private Sub cmdBlue_Click()

'Make form blue

frmFormFun. BackColor = vbBlue

End Sub

Процедура события cmdHide_Click используется, чтобы спрятать (устанавливает для свойства Видимый значение Неверно) все кнопки за исключением cmdShow, которая становится видимой:

Private Sub cmdHide_Click ()

'Hide all buttons but cmdShow

cmdGrow. Visible = False

cmdShrink. Visible = False

cmdHide. Visible = False

cmdRed. Visible = False

cmdBlue. Visible = False

'Show cmdShow button

cmdShow. Visible = True

End Sub

Процедура события cmdShow_Click действует наоборот:

Private Sub cmdShow_Click ()

'Show all buttons but cmdShow

cmdGrow. Visible = True

cmdShrink. Visible = True

cmdHide. Visible = True

cmdRed. Visible = True

cmdBlue. Visible = True

'Hide cmdShow button

cmdShow. Visible = False

End Sub

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

Private Sub Form_Click ()

'Grow the form

'Grow the form height by 100 twips

frmFormFun.Height = frmFormFun. Height + 100

'Grow the form width by 100 twips

frmFormFun.Width = frmFormFun.Width + 100

End Sub

Убедитесь, что здесь у Вас правильная процедура. Когда Вы выберете управление Формы в списке объектов, отображаемой процедурой будет Загрузка (Load). Вы должны назначить процедуру события Щелчок (Click), используя список процедур.

Сохраните Ваш проект.

Вы должны легко увидеть то, что происходит в каждой из этих процедур. Обратите особое внимание на то, как свойство Видимый (Visible) использовалось в событиях Щелчок (Click) для кнопок cmdHide и cmdShow. Обратите также внимание, что для многих процедур события очень похожа запись при кодировании. Например, событие Form_Click идентично cmdGrow_Click событию. Это часто бывает в проектах Визуал Бейсик.

В отличие от запрета на копирование при размещении управлений на форме, использование команд текстового редактора, таких как Копировать (Copy) и Вставить (Paste) разрешается при записи кода.

Копирование и Вставка сохранит Вам большое количество времени при записи кода. Применяйте также такие команды как Найти (Find) и Заменить (Replace). Используйте их, когда можете.

VB5 и VB6 предлагают другой способ уменьшить число ошибок, которые Вы могли бы делать. Если Вы нажимаете на Инструментальные средства (Tools) в основном меню, затем нажимаете на Параметры (Options) и выбираете Редактор (Editor) Вы увидите опцию по имени Список Авто-Элементов (Auto List Members). Если эта опция выделена (галочка в квадрате), то во время записи процедур назначения, в некоторых пунктах, несколько рамок предоставят Вам информацию, которая логически могла бы завершить инструкцию, над которой Вы работаете. Вы можете выбрать желательное завершение быстрее, чем напечатаете и, к тому же, гарантированно от ошибок печати.

Запустите Проект

Запустите Ваш проект. Если проект не выполняется правильно, единственное, что можно сделать - это повторно проверить Вашу печать и попытаться снова.

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

Другие действия

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

Попробуйте изменить величину Уменьшения и Увеличения формы за один щелчок, назначьте другие цвета, добавьте кнопку Гудок (Beep).

Резюме

Поздравляем! Теперь Вы завершили более-менее подробный проект, по крайней мере, здесь имеется больше, чем одно управление. Вы изучили, как создавать и сохранять проект, изучили подробности формы и средство управления Командная Кнопка, а также как создавать полный проект. Теперь Вы должны чувствовать себя уверенно в тех трех пунктах создания проекта, о которых мы говорили вначале:

  1. размещение средств управления
  2. назначение свойств
  3. запись процедур события

Мы продолжим использовать эти пункты в следующих классах, при создании других проектов, в которых будут использоваться новые средства управления и большее количество знаний о языке БЕЙСИК.

Наверх

Назад   Вперед

Hosted by uCoz