ПРАКТИЧЕСКАЯ РАБОТА № 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. Проверить работу приложения

 


 

Тема Анимация

Цель работы:Получить навыки использования анимационных компонентов.