ПРАКТИЧЕСКАЯ РАБОТА № 12
Begin
Var
Порядок выполнения
Постановка задачи
Компонент StringGrid
Методы, используемы при работе с формой
Пояснения к работе
ПРАКТИЧЕСКАЯ РАБОТА № 11
Тема Проектирование многооконных приложений
Цель работы:Получить навыки добавления новых форм к проекту.
Проект приложения, включающий несколько окон, создается поэтапно. Шаги подключения новой формы к проекту:
- создание новой формы в действующем проекте
File / New/ Form
- сохранение формы, как файла модуля *.pas
- подключение нового файла к проекту
Project / Add to Project…, открыть
- создание ссылки на новый модуль, с той формы, которая будет его использовать
File / Use Unit,
в открывшемся диалоговом окне выбрать нужный модуль и нажать Ок.
имя_формы.Show – отображение на экране окна формы, до этого невидимого;
имя_формы.Hide – скрыть форму, вернуться на предыдущую;
имя_формы.Update принудительная прорисовка формы;
имя_формы.Free удаление из памяти формы.
Компонент 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 | |
RowCount | |
DefaultColWidth | |
DefaultRowHeight | |
ScrollBars | ssVertical |
Options.goRangeSelect | False |
4. Для события OnCreate ввести код:
t:longint; i,n:integer; step,x,sx,cx: double;
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. Проверить работу приложения
Тема Анимация
Цель работы:Получить навыки использования анимационных компонентов.