ттттт. Практическая работа Работа с интерфейсом среды программирования Delphi. Создание простого проекта. Запуск программ на выполнение
Скачать 2.63 Mb.
|
Практическая работа №10. Создание и использование форм.Цель: научиться создавать и использовать формы. Задание. Создать форму для просмотра анимации. Л истинг . unit ShowAVI_; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls; type TForm1 = class(TForm) Animate1: TAnimate; // компонент Animate Button1: TButton; // кнопкаПуск-Стоп Button2: TButton; // следующийкадр Button3: TButton; // предыдущийкадр RadioBut unit ShowAVI_; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls; type TForm1 = class(TForm) Animate1: TAnimate; // компонент Animate Button1: TButton; // кнопкаПуск-Стоп Button2: TButton; // следующийкадр Button3ton1: TRadioButton; // просмотрвсейанимации RadioButton2: TRadioButton; // покадровыйпросмотр procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); private { Private declarations } public { Public declarations ) end; var Form1: TForm1; // форма CFrame: integer; // номер отображаемого кадра // в режиме покадрового просмотра implementation {$R *.DFM} // к следующему кадру procedure TForm1.Button2Click(Sender: TObject); begin if CFrame = 1 then Button2.Enabled := True; if CFrame < Animate1.FrameCount then begin CFrame := CFrame + 1; // вывестикадр Animate1.StartFrame := CFrame; Animate1.StopFrame := CFrame; Animate1.Active := True; if CFrame = Animatel.FrameCount // текущийкадр — последний then Button2.Enabled:=False; end; end; // к предыдущемукадру procedure TForm1.Button3Click(Sender: TObject); begin if CFrame = Animate1.FrameCount then Button2.Enabled := True; if CFrame > 1 then begin CFrame := CFrame — 1; // вывестикадр Animate1.StartFrame := CFrame; Animate1.StopFrame := CFrame; Animate1.Active := True; if CFrame = 1 // текущийкадр — первый then Form1.Button3.Enabled := False; end; end; // активизация режима просмотра всей анимации procedure TForml.RadioButtonlClick(Sender: TObject); begin Buttonl.Enabled:=True; //доступна кнопка Пуск // сделать недоступными кнопки покадрового просмотра Form1.Button3.Enabled:=False ; Form1.Button2.Enabled:=False; end; // активизациярежимапокадровогопросмотра procedure TForm1.RadioButton2Click(Sender: TObject); begin Button2.Enabled:=True; // кнопка Следующий кадр доступна Buttons.Enabled:=False; // кнопка Предыдущий кадр недоступна // сделать недоступной кнопку Пуск — вывод всей анимации Buttonl.Enabled:=False; end; // пуск и остановка просмотра анимации procedure TForm1.ButtonlClick(Sender: TObject); begin if Animate1.Active = False // в данный момент анимация не выводится then begin Animate1.StartFrame:=l; // выводспервого Animate1.StopFrame:=Animate1.FrameCount; // попоследнийкадр Animate1.Active:=True; Button1.caption:='Стоп'; RadioButton2.Enabled:=False; end else // анимация отображается begin Animate1.Active:=False; // остановитьотображение Button1.caption:='Пуск'; RadioButton2.Enabled:=True; end; end; end. Контрольные работы. Как можно открыть существующий проект в Delphi? Сколько файлов создается при сохранении проекта? Как выделить несколько объектов на форме? Как можно изменить значение свойства объекта? Как загрузить проект на выполнение? Как формируется имя процедуры обработки события? Когда происходит событие KeyPress? Значения какого типа возвращают объекты Edit, Label? Какие объекты позволяют вводить (выводить) значения? Можно ли для одного объекта создать две процедуры обработки события? |