Çàî÷íîå äèñòàíöèîííîå îáðàçîâàíèå ñ ïîëó÷åíèåì ãîñóäàðñòâåííîãî äèïëîìà ÷åðåç Internet










Ïîëó÷èòü èíôîðìàöèþ î ïîñòóïëåíèè
 
Ãëàâíàÿ Íîâîñòè Êàðòà ñàéòà Ôîòîàëüáîì Ãîñòåâàÿ êíèãà Êîíòàêòû

 

Óïðàæíåíèå 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.

Ñîõðàíèòå òåêñò ïðèëîæåíèÿ, îòêîìïèëèðóéòå è ïðîâåðüòå åãî ðàáîòó. Óáåäèòåñü, ÷òî â îêíå ïðèëîæåíèÿ âûïîëíÿåòñÿ ìíîãîêðàòíîå ïåðåðèñîâûâàíèå îêðóæíîñòè ñî ñìåùåíèåì ïîëîæåíèÿ öåíòðà.



 
     
   
 


Ïðèãëàøàåì ïðèíÿòü ó÷àñòèå â êðóãëîì ñòîëå!
ïîäðîáíåå   >>>
 

Èíñòèòóò Ìåíåäæìåíòà, Ýêîíîìèêè è Èííîâàöèé íà÷èíàåò íàáîð íà êóðñû ïîâûøåíèÿ êâàëèôèêàöèè!
ïîäðîáíåå   >>>
 

Óâàæåìûå ñòóäåíòû ÀÍÎ ÂÏÎ ÈÌÝèÈ!
ïîäðîáíåå   >>>
 

Íà÷èíàåòñÿ íàáîð íà êóðñû ïîâûøåíèÿ êâàëèôèêàöèè!
ïîäðîáíåå   >>>
 

Ïðèãëàøàåì ïðèíÿòü ó÷àñòèå â êîíôåðåíöèÿõ!
ïîäðîáíåå   >>>
 


âñå íîâîñòè...

 


Ðàññûëêè Subscribe.Ru
Ñîâðåìåííîå îáðàçîâàíèå
Ïîäïèñàòüñÿ ïèñüìîì