Цель: Создать собеседника, который при нажатии на кнопку моргает.

Ход работы:

Примерная компоновка «лица» собеседника

Запрограммируем простейшую анимацию – моргание веками. Для этого разместим в форме компонент Timer1 (Таймер). Его заготовка содержится на странице System. Этот компонент во время исполнения программы не видим, поэтому его можно разместить в любом месте формы. Назначение этого компонента оповещать систему каждый раз по прошествии определенного интервала времени. По умолчанию его интервал – 1000 миллисекунд.

Установим для моргания – 400 миллисекунд. Свойство Enabled (Разрешенный) таймера установим в false – изначально часы отключены.

Процесс моргания разобьем на два этапа:

опускание век; поднятие век по прошествии 400 миллисекунд.

Чтобы выполнить первый этап разместим в форме кнопку Button1. Дважды щелкнем по ней, открыв обработчик события OnClick этой кнопки.

И наберем программу либо для увеличения размеров век Shape7, Shape8 (свойство Height), либо для их перемещения (свойство Тор).

Например:

Shape7.Height:=58;

Shape8.Height:=58;

Timer1.Enabled:=true;  // Этот оператор запускает таймер

Возвращаемся в форму и дважды щелкаем по компоненту Таймер1, вызвав процедуру для задания реакции срабатывания таймера по прошествии 400 миллисекунд.

Пишем:

Shape7.Height:=25;

Shape8.Height:=25;

Timer1.Enabled:=false;  // восстанавливаем прежние значения и отключаем таймер

Все готово для запуска.

Самостоятельная работа:

Добавьте в проект еще один таймер и запрограммируйте для него открытие и закрытие рта собеседника. Для данной процедуры сделайте смену цвета рта и появление какой-либо приветственной надписи.

Практическая работа № 7-8

НЕ нашли? Не то? Что вы ищете?

Электронный альбом


       Объекты: панель, рисунок, OpenDialog – компонент открытия документа.

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

Задание 1.

       Ход работы:

       Переименуйте форму  - Электронный альбом. Вставьте в форму панель (Panel), задав ей размер: ширина – 241, высота – 185, ширина фаски – 2, внешнюю и внутреннюю фаску задайте самостоятельно. После этого добавьте компонент рисунок (Image). Задайте ему размеры: высота – 181, ширина – 237, свойствам Left, Top задайте значение 2, чтобы положение рисунка определяется относительно верхнего левого края панели. Чтобы изображение помещался в размеры рисунка свой2ству растяжка (Stretch) надо задать истина True.

       Чтобы в момент запуска программы ее окно было не пусто надо сразу загрузить в эту область какой-либо рисунок. Для этого надо выделить компонент рисунок (Image) в Инспекторе объектов найти свойство изображение (Picture) и щелкнуть на нем. Напротив свойства появится кнопка построителя, щелкнув по которой открывается диалоговое окно Редактора картинки (Picture Editor).

       Щелчком на кнопке Открыть (Load) – открывается окно Загрузка Картинки (Load Picture).

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

       Добавим в окно программы компонент OpenDialog. Этот компонент при запуске программы не виден, поэтому его можно расположить в любом месте формы.  Настроим некоторые свойства этого компонента. Для свойства Заголовок окна (Title) зададим выражение «Выбор изображения», В поле Имя файла (FileName) укажем имя выбранного файла.

Для открытия окна диалога используется метод компонента OpenDialog - Execute. Для изменения свойства Picture объекта Image используется метод LoadFromFile.

Чтобы защитить программу необходимо предусмотреть ввод имени несуществующего файла и вывод соответственно сообщения об ошибке. Для этого подсвойству Файл должен существовать (ofFileMustExist) свойства Параметры (Options) компонента OpenDialog надо задать истина (True).

       Делая двойной щелчок по рисунку набираем следующую процедуру:

procedure TForm1.Image1Click(Sender: TObject);

begin

OpenDialog1.Execute;

Image1.Picture. LoadFromFile(OpenDialog1.FileName);

end;

       Программа готова к работе, в случае если будет введено несуществующее имя появится следующее сообщение:

Задание 2

Ход работы:

       Можно открыть программу предыдущего проекта и переделать ее, можно проделать тоже, что и в предыдущем проекте, только вместо компонента OpenDialog вставить компоненты MainMenu, PopupMenu. Они также как и он не отображаются при запуске программы, поэтому их можно разместить где угодно.

       Чтобы запустить редактор меню, дважды щелкните на значке меню на форме. Открывается диалоговое окно, озаглавленное также, как объект меню. Оно содержит пустое место. Одновременно обратите внимание на окно Инспектора объектов. В нем не выбран никакой объект. Как только мы зададим текст пункта меню, система создаст нужный объект, описывающий данный пункт меню и начинает название объекта с буквы N.

       Щелкните в окне Инспектора объектов напортив свойства Заголовок (Caption), введите текст пункта меню  и нажмите Enter. Система тут же присвоит этому объекту имя N1 и создаст заготовку для нового пункта меню. Если необходимо создать подпункты, то нужно нажать комбинацию клавиш CTRL + → (стрелочка вправо). Система сформирует нужную заготовку подпункта.

       Для создания элементов меню надо точно знать названия используемых рисунков и их место нахождение. При обработке работы программы можно заметить, что главное меню автоматически присоединилось к программе, а контекстное меню не вызывается. Поэтому нужно в Инспекторе объектов свойству PopupMenu задать PopupMenu1.

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

       Итак, приступим к созданию процедуры, соответствующей пункту меню. Щелкните на пункте Утес в строке главного меню. В окне кода будет создана процедура-обработчик с именем N7Click.

procedure TForm1.N7Click(Sender: TObject);

begin

Image1.Picture. LoadFromFile('D:\Альбом\Утес. jpg');

end;

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

       Работающая программа имеет вид:

Практическая работа № 9

Задача табулирования функции


       Объекты: Многостраничное поле редактирования (Memo), главное меню (MainMenu), контекстное меню (PopupMenu), три флажка (CheckBox), панель группы объектов (GroupBox), три метки (Label), три поля ввода (Edit).

       Цель работы: Создать форму для решения задачи табулирования функции y=sin(x)+1. Создать главное меню, содержащее команды: выйти из программы, табулировать функцию, очистить поля вывода результатов, а также контекстное меню с командой для очистки поля вывода. Результаты табулирования вывести в многостраничное поле редактирования. В метках разместить пояснения к полям ввода: начальное значение, конечное значение, размер шага. Предусмотреть возможность вывода результатов на экран, в файл, в массив. Направление вывода задать с помощью трех флажков, расположенных на панели группы объектов (см. рисунок).

       Ход работы:

       Поменяйте заголовки компонентов и измените их необходимые свойства (см. рисунок). Чтобы удалить из многостраничного поля редактирования слово Memo1 необходимо в окне Object Inspector вызвать свойство строки (Lines) компонента Memo1 и в окне редактирования удалить это слово.

       Выровняйте вставленные компоненты. Сохраните проект.

Компонент MainMenu позволяет поместить главное меню в программу. При размещении на форме этот компонент выглядит как иконка. Размещать его на форме можно в любом месте, так как он не видим при работе программы. Создание меню включает в себя три шага:

    помещение MainMenu на форму; вызов Конструктора меню двойным щелчком по значку (или через свойство Items в Инспекторе объектов); определение пунктов меню.

Каждый пункт меню имеет свое имя (по умолчанию N1, N2 …) и название (свойство Caption). Но Конструктор меню так устроен, что сначала нужно ввести название пункта, только после этого пункт создается реально.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6