«аочное дистанционное образование с получением государственного диплома через Internet










ѕолучить информацию о поступлении
 
√лавна€ Ќовости  арта сайта ‘отоальбом √остева€ книга  онтакты

{LTS}

 

”пражнение 5

—оздайте форму, дл€ свойства Caption которой задайте значение Ђƒвижуща€с€ окружностьї. ѕоместите на форму компонент Timer из палитры System. ƒл€ задани€ темпа смены кадров присвойте свойству Timerl.Interval значение 50 мс (0,05 с).

ƒл€ запуска анимации создайте обработчик событи€ OnActivate, наступающего, когда форма получает или тер€ет фокус, например, при щелчке по ней мышью. „тобы создать обработчик событи€, выберите в окне »нспектора объектов объект Form1 и на странице Events произведите двойной щелчок на пустом поле списка в событии OnActivate. ѕосле этого в окне –едактора кода будет сгенерирована заготовка процедуры обработчика событи€ procedure TForm1.FormActivate(Sender: TObject);

ƒобавьте в раздел описани€ переменных переменные целого типа х и у Ц координаты центра окружности и dx Ц приращение координаты х при движении окружности.

var
Forml: TForml;
х,у: byte; {координаты центра окружности} dx: byte; {приращение координаты х при движении окружности}

ќтредактируйте текст процедуры следующим образом:

procedure TForm1.FormActivate(Sender: TObject);
begin
x:=0; {начальна€ позици€ рисунка}
y:=30;
dx:=3; {шаг изменени€ координаты х}
Timerl.Interval:=50; {период возникновени€ событи€ OnTimer Ц 0.5 сек}
Form1.Canvas.Brush.Color:=Form1.Color; {цвет окраски канвы}
end;

—оздайте процедуру обработчика событи€ OnTimer, дл€ чего выберите в окне »нспектора объектов объект Timer1 и на странице Events произведите двойной щелчок на пустом поле списка в событии Timer1Timer. ¬ тело процедуры добавьте вызов процедуры рисовани€ Ris.

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Ris;
end;

“ак как процедура должна быть описана до ее вызова, то выше этой процедуры в тексте программного модул€ опишите процедуру рисовани€ Ris:

procedure Ris; {рисование}
begin
Form1.Canvas.Pen.Color:=Form1.Color; {задать перу цвет формы}
Form1.Canvas.Ellipse(x,у,х+20,у+20); {стереть окружность Ц нарисовать ее цветом формы}
x:=x+dx; {перейти в следующую позицию}
Form1.Canvas.Pen.Color:=clBlack; {задать перу черный цвет}
Form1.Canvas.Ellipse(x,у,х+20,у+20); {нарисовать окружность на новом месте}
end;

ѕолный текст программного модул€ будет выгл€деть следующим образом:

unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x,y: byte; {координаты центра окружности}
dx: byte; {приращение координаты х при движении окружности}
implementation
{$R *.DFM}
procedure Ris; {рисование окружности}
begin
Form1.Canvas.Pen.Color:=Form1.Color: {задать перу цвет формы}
Form1.Canvas.Ellipse(x,у,х+20,у+20); {стереть окружность Ц нарисовать ее цветом формы}
x:=x+dx; {перейти в следующую позицию}
Form1.Canvas.Pen.Color:=clBlack; {задать перу черный цвет}
Form1.Canvas.Ellipse(x,у,х+20,у+20); {нарисовать окружность на новом месте}
end;
procedure TForm1.TimerlTimer(Sender: TObject);
begin
Ris; {вызов процедуры рисовани€ окружности}
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
x:=0; {начальна€ позици€ рисунка}
y:=30;
dx:=3; {шаг изменени€ координаты х}
Timer1.Interval:=50; {период возникновени€ событи€ OnTimer Ц 0.5 сек}
Form1.Canvas.Brush.Color:=Form1.Color; {цвет окраски канвы}
end;
end.

—охраните текст приложени€, откомпилируйте и проверьте его работу. ”бедитесь, что в окне приложени€ выполн€етс€ многократное перерисовывание окружности со смещением положени€ центра.


”знать как сэкономить в кризис моно на сайте ekonom-it.ru

√рафика в Delphi ”пражнение 1 ”пражнение 2 ”пражнение 3 ”пражнение 4 ѕрограммы на Pascal «адачи на тему "ѕроизвод€щие функции и р€ды" ”пражнение 1 (ѕроизвод€щие функции и р€ды) ”пражнение 2 (ѕроизвод€щие функции и р€ды) ”пражнение 3 (ѕроизвод€щие функции и р€ды) 


 
     
   
 


ѕриглашаем прин€ть участие в круглом столе!
подробнее   >>>
 

»нститут ћенеджмента, Ёкономики и »нноваций начинает набор на курсы повышени€ квалификации!
подробнее   >>>
 

”важемые студенты јЌќ ¬ѕќ »ћЁи»!
подробнее   >>>
 

Ќачинаетс€ набор на курсы повышени€ квалификации!
подробнее   >>>
 

ѕриглашаем прин€ть участие в конференци€х!
подробнее   >>>
 


все новости...

 


–ассылки Subscribe.Ru
—овременное образование
ѕодписатьс€ письмом