Тема Проектирование многооконных приложений
Цель работы: Получить навыки добавления новых форм к проекту.
Пояснения к работе
Проект приложения, включающий несколько окон, создается поэтапно. Шаги подключения новой формы к проекту:
- создание новой формы в действующем проекте
File / New/ Form
- сохранение формы, как файла модуля *. pas
- подключение нового файла к проекту
Project / Add to Project…, открыть
- создание ссылки на новый модуль, с той формы, которая будет его использовать
File / Use Unit,
в открывшемся диалоговом окне выбрать нужный модуль и нажать Ок.
Методы, используемы при работе с формой
имя_формы. Show – отображение на экране окна формы, до этого невидимого;
имя_формы. Hide – скрыть форму, вернуться на предыдущую;
имя_формы. Update принудительная прорисовка формы;
имя_формы. Free удаление из памяти формы.
Компонент StringGrid
Компонент StringGrid расположен на вкладке Additional и представляет собой таблицу, ячейки которой содержат строки символов. Свойства компонента приведены в таблице:
|
|
ColCount | Количество столбцов таблицы |
RowCount | Количество строк таблицы |
DefaultColWidth | Ширина столбцов |
DefaultRowHeight | Высота строк |
FixedCols, FixedRows | Количество зафиксированных слева столбцов, сверху строк |
Cells | Обращение к ячейке таблицы |
Options.goEditing | Признак допустимости редактирования содержимого ячеек |
Постановка задачи
Разработать приложение «Тригонометрические функции». Приложение должно работать следующим образом:
- после загрузки на экран выводится окно-заставка, которое отображается 5 сек;
- через 5 секунд заставка пропадает, на экран выводится основное окно;
- в основном окне отображается таблица со значениями тригонометрических функций с заданным шагом.
Порядок выполнения
1. Загрузить Delphi, сохранить проект.
2. Изменить свойства главной формы в соответствии с таблицей:
BorderIcons | biMaximize=False |
BorderStyle | bsSingle |
Position | poScreenCenter |
3. Добавить на форму компонент StringGrid (Additional)и изменить свойства в соответствии с таблицей:
Align | alClient |
ColCount | 5 |
RowCount | 2 |
DefaultColWidth | 120 |
DefaultRowHeight | 18 |
ScrollBars | ssVertical |
Options.goRangeSelect | False |
4. Для события OnCreate ввести код:
Var
t:longint; i,n:integer; step,x,sx,cx: double;
Begin
step:=0.01;
n:=round(90/step)+1;
With stringgrid1 do
Begin
cells[0,0]:='x'; cells[1,0]:='sin(x)';
cells[2,0]:='cos(x)'; cells[3,0]:='tg(x)';
cells[4,0]:='ctg(x)'; colwidths[0]:=colwidths[0] div 2;
rowcount:=n+1;
For i:=1 to n do
Begin
x:=(i-1)*step;
sx:=sin(x*pi/180); cx:=cos(x*pi/180);
cells[0,i]:=floattostr(x); cells[1,i]:=floattostr(sx);
cells[2,i]:=floattostr(cx);
if cx <> 0 then cells[3,i]:=floattostr(sx/cx)
else cells[3,i]:= не существует;
if sx<>0 then cells[4,i]:=floattostr(cx/sx)
else cells[4,i]:= 'не существует';
end; end; end;
5. Проверить работу приложения.
6. Добавить новую форму (заставка), для этого:
|
|
· выбрать в меню File / New/ Form;
· сохранить новую форму с именем Unit2.pas;
· подключить новый файл к проекту, выбрав в меню
Project / Add to Project…, открыть Unit2.pas;
· создать ссылку на новый модуль, с той формы, которая будет его использовать:
o выбрать в меню File / Use Unit,
o в открывшемся диалоговом окне выбрать модуль Unit2 и нажать Ок.
7. Изменить свойства Form2 в соответствии с таблицей:
BorderIcons | biSystemMenu=False biMinimize=False biMaximize=False |
BorderStyle | bsNone |
Position | poScreenCenter |
FormStyle | fsStayOnTop |
8. На форму Form2 добавить метку, ввести для нее заголовок ТРИГОНОМЕТРИЧЕСКИЕ ФУНКЦИИ
9. Загрузить в редактор файл проект, для этого выбрать в меню Project/ View Source.
10. Откорректировать файл проекта следующим образом:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
Begin
Application.Initialize;
form2:=tform2.create(application); form2.Show;
form2.Update; form2.Label1.Update;
Application.CreateForm(TForm1, Form1);
form2.Hide; form2.Free;
Application.Run;
end.
11. Для того, чтобы заставка задерживалась на экране 5 секунд в начало процедуры Form1Create добавить:
t:=gettickcount div 1000;
while (gettickcount div 1000)<t+5 do
12. Проверить работу приложения
ПРАКТИЧЕСКАЯ РАБОТА № 12
Тема Анимация
Цель работы: Получить навыки использования анимационных компонентов.
Пояснения к работе
Компонент Animate расположен на вкладке Win32 и позволяет воспроизвести только простую, не сопровождаемую звуком анимацию, кадры которой находятся в AVI-файле. Свойства компонента приведены в таблице:
FileName | Имя AVI-файла |
StartFrame | Номер кадра, с которого начинается отображение анимации |
StopFrame | Номер кадра, на котором заканчивается отображение анимации |
Activate | Признак активации процесса отображения |
Color | Цвет фона, на котором воспроизводится анимация |
Transparent | Режим использования «прозрачного» цвета при отображении анимации |
Repetitions | Количество повторов отображения |
Постановка задачи
Разработать приложение позволяющее выбирать и воспроизводить AVI-файлы в двух режимах: непрерывном и покадровом.
Порядок выполнения
1. Загрузить Delphi, сохранить проект.
2. Расположить на форме компонент Animate (Win32).
3. Для свойства FileName выбрать имя Avi-файла.
4. В процедуру TForm1.FormCreate ввести код:
animate1.Play(0,animate1.FrameCount,1);
5. Проверить работу приложения.
6. Самостоятельно изменить программу для того, чтобы количество повторов было 3. Проверить.
7. Привести форму в соответствие с образцом, для этого добавить компоненты и изменить им свойство Caption:
· Label и Edit;
· GroupBox, RadioButton
· OpenDialogs;
· командные кнопки.
8. Объявить глобальную переменную