Π Π°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠΎΡΠΌΠ΅ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Label ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ°Π±Π». 8.3.
Π’Π°Π±Π»ΠΈΡΠ° 8.3. Π‘Π²ΠΎΠΉΡΡΠ²Π° Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Label
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ Name popad ΠΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Caption 0 ΠΠ°Π΄ΠΏΠΈΡΡ ΠΌΠ΅ΡΠΊΠΈ Font.Color clRed Π¦Π²Π΅Ρ ΡΡΠΈΡΡΠ° β ΠΊΡΠ°ΡΠ½ΡΠΉ Font.Name Courier New ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠΈΡΡΠ° Font.Size 16 Π Π°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ° Font.Style [fsBold] ΠΠ°ΡΠ΅ΡΡΠ°Π½ΠΈΠ΅ ΡΡΠΈΡΡΠ° β ΠΏΠΎΠ»ΡΠΆΠΈΡΠ½ΠΎΠ΅ Left 120 ΠΡΡΡΡΠΏ ΡΠ»Π΅Π²Π° Top 16 ΠΡΡΡΡΠΏ ΡΠ²Π΅ΡΡ ΡΠ Π°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠΎΡΠΌΠ΅ ΡΡΠ΅ΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Label, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ "ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΉ", ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ°Π±Π». 8.4.
Π’Π°Π±Π»ΠΈΡΠ° 8.4. Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Label
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ Caption /10 ΠΠ°Π΄ΠΏΠΈΡΡ ΠΌΠ΅ΡΠΊΠΈ Font.Color clRed Π¦Π²Π΅Ρ ΡΡΠΈΡΡΠ° β ΠΊΡΠ°ΡΠ½ΡΠΉ Font.Name Courier New ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠΈΡΡΠ° Font.Size 16 Π Π°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ° Font.Style [fsBold] ΠΠ°ΡΠ΅ΡΡΠ°Π½ΠΈΠ΅ ΡΡΠΈΡΡΠ° β ΠΏΠΎΠ»ΡΠΆΠΈΡΠ½ΠΎΠ΅ Left 144 ΠΡΡΡΡΠΏ ΡΠ»Π΅Π²Π° Top 16 ΠΡΡΡΡΠΏ ΡΠ²Π΅ΡΡ ΡΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠΎΡΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Timer ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ System. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΈΡ. 8.1.
Π ΠΈΡ. 8.1. Π€ΠΎΡΠΌΠ° Π΄Π»Ρ ΠΈΠ³ΡΡ "Π£ΡΠΏΠ΅ΠΉ ΡΠ΅Π»ΠΊΠ½ΡΡΡ"
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ ΠΎΠΊΠ½Π° Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ OnCreate ΡΠΎΡΠΌΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ forma ΡΠΈΠΏΠ° HRGN, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π°:
var
Form1: TForm1;
forma: HRGN;
Π ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ OnCreate Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
procedure TForm1.FormCreate(Sender: TObject)
begin
Randomize;//Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π»
forma:= CreateEllipticRgn(0, 0, Form1.Width, Form1.Height); //Π²ΠΈΠ΄ ΠΎΠΊΠ½Π°
//ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ Π²ΠΈΠ΄ ΠΎΠΊΠ½Π°
SetWindowRgn(Handle, forma, True);
end;
ΠΠ΄Π΅ΡΡ ΠΌΡ Π·Π°Π΄Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ Π² Π²ΠΈΠ΄Π΅ ΡΠ»Π»ΠΈΠΏΡΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ Π²ΠΈΠ΄ ΠΎΠΊΠ½Π°.
ΠΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ ΡΠΎΡΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠ΅Π½ΡΡΡ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠΊΡΠ°Π½Π°. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Timer1.OnTimer:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form1.Top:= Random(Screen.Height) + 1; //ΡΠ»ΡΡΠ°ΠΉΠ½Π°Ρ Π²ΡΡΠΎΡΠ°
Form1.Left:= Random(Screen.Width) + 1; //ΡΠ»ΡΡΠ°ΠΉΠ½Π°Ρ ΡΠΈΡΠΈΠ½Π°
end;
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π²ΡΡΠΎΡΡ ΠΈ ΡΠΈΡΠΈΠ½Ρ ΡΠΊΡΠ°Π½Π°, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ, Π½Π΅ Π²ΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠΊΡΠ°Π½Π°, ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ Π² Π½ΠΈΡ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΠ΅ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΡΠ°ΠΌΡ ΡΠΎΡΠΌΡ ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄Π»Ρ Π½ΠΈΡ ΠΎΠ±ΡΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ OnMouseDown:
procedure TForm1.popadMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if StrToInt(popad.Caption) < 10 then begin //Π΅ΡΠ»ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΉ ΠΌΠ΅Π½ΡΡΠ΅ 10
//ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ
Form1.Top:= Random(Screen.Height) + 1;
//ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ
Form1.Left:= Random(Screen.Width) + 1;
//Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ "ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΉ" Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ
popad.Caption:= IntToStr(StrToInt(popad.Caption) + 1);
//Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠΊΠ½Π° Π½Π° 100 ΠΌΡ
Timer1.Interval:= Timer1.Interval β 100;
end;
if popad.Caption = '0' then begin //Π΅ΡΠ»ΠΈ ΠΈΠ³ΡΠΎΠΊ ΠΏΠΎΠΏΠ°Π» 10 ΡΠ°Π·
Timer1.Enabled:= False; //ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈΠ³ΡΡ
Form1.Position:= poDesktopCenter; //ΠΎΠΊΠ½ΠΎ β Π² ΡΠ΅Π½ΡΡ ΡΠΊΡΠ°Π½Π°
//ΡΠΎΠΎΠ±ΡΠ°Π΅ΠΌ ΠΎ ΠΏΠΎΠ±Π΅Π΄Π΅
ShowMessage('ΠΡ ΠΏΠΎΠΏΠ°Π»ΠΈ ΠΏΠΎ ΠΎΠΊΠ½Ρ 10 ΡΠ°Π·!');
if Application.MessageBox('ΠΠ³ΡΠ°', 'ΠΠ³ΡΠ°ΡΡ Π΅ΡΠ΅ ΡΠ°Π·?', mb_yesno + mbtaskmodal + mb_iconQuestion) = idYes
then {ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΡΡΠ³ΡΠ°ΡΡ Π΅ΡΠ΅ ΡΠ°Π·}
begin
popad.Caption:= '0'; //ΡΠ±ΡΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
//ΠΡΠΈΠ΄Π°Π΅ΠΌ ΠΎΠΊΠ½Ρ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΎΡΠΌΡ
forma:= CreateEllipticRgn(0, 0, Form1.Width, Form1.Height);
SetWindowRgn(Handle, forma, True);
//Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠΊΠ½Π°
Timer1.Interval:= 1000;
Timer1.Enabled:= True; //Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΈΠ³ΡΡ
end
else Halt; //Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΠΈΠ³ΡΡ
end;
end;
ΠΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ "ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ" Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°: Π±ΡΠ»ΠΎ Π»ΠΈ ΡΡΠΎ "ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅" ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ. ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΉ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΡ Π½Π° 100 ΠΌΡ. ΠΡΠ»ΠΈ ΠΈΠ³ΡΠΎΠΊ ΡΠ΄Π΅Π»Π°Π» ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ "ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅", ΡΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈΠ³ΡΡ, Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΎΠΊΠ½ΠΎ Π² ΡΠ΅Π½ΡΡ ΡΠΊΡΠ°Π½Π° ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠ³ΡΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ: ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΈΠ³ΡΡ Π·Π°Π½ΠΎΠ²ΠΎ. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ³ΡΠ°ΡΡ, ΡΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΡΠ΅Ρ ΡΡΠ³ΡΠ°ΡΡ ΡΠ½Π°ΡΠ°Π»Π°, ΡΠΎ ΠΎΠ±Π½ΡΠ»ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΈΠ³ΡΡ Π·Π°Π½ΠΎΠ²ΠΎ.
ΠΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΠ³ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π½Π° ΡΠΈΡ. 8.2.
Π ΠΈΡ. 8.2. ΠΠ³ΡΠ° "Π£ΡΠΏΠ΅ΠΉ ΡΠ΅Π»ΠΊΠ½ΡΡΡ" Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ
ΠΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ
ΠΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ³ΡΡ "Π£ΡΠΏΠ΅ΠΉ ΡΠ΅Π»ΠΊΠ½ΡΡΡ" ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 8.1.
ΠΠΈΡΡΠΈΠ½Π³ 8.1. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ³ΡΡ "Π£ΡΠΏΠ΅ΠΉ ΡΠ΅Π»ΠΊΠ½ΡΡΡ"unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type TForm1 = class(TForm)
Label2: TLabel;
popad: TLabel;
Label3: TLabel;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure popadMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
forma: HRGN;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject)
begin
Randomize;//Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π»
forma:= CreateEllipticRgn(0, 0, Form1.Width, Form1.Height); //Π²ΠΈΠ΄ ΠΎΠΊΠ½Π°
//ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ Π²ΠΈΠ΄ ΠΎΠΊΠ½Π°
SetWindowRgn(Handle, forma, True);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form1.Top:= Random(Screen.Height) + 1; //ΡΠ»ΡΡΠ°ΠΉΠ½Π°Ρ Π²ΡΡΠΎΡΠ°
Form1.Left:= Random(Screen.Width) + 1; //ΡΠ»ΡΡΠ°ΠΉΠ½Π°Ρ ΡΠΈΡΠΈΠ½Π°
end;
procedure TForm1.popadMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if StrToInt(popad.Caption) < 10 then begin //Π΅ΡΠ»ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΉ ΠΌΠ΅Π½ΡΡΠ΅ 10
//ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ
Form1.Top:= Random(Screen.Height) + 1;
//ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ
Form1.Left:= Random(Screen.Width) + 1;
//Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ "ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΉ" Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ
popad.Caption:= IntToStr(StrToInt(popad.Caption) + 1);
//Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠΊΠ½Π° Π½Π° 100 ΠΌΡ
Timer1.Interval:= Timer1.Interval β 100;
end;
if popad.Caption = '0' then begin //Π΅ΡΠ»ΠΈ ΠΈΠ³ΡΠΎΠΊ ΠΏΠΎΠΏΠ°Π» 10 ΡΠ°Π·
Timer1.Enabled:= False; //ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈΠ³ΡΡ
Form1.Position:= poDesktopCenter; //ΠΎΠΊΠ½ΠΎ β Π² ΡΠ΅Π½ΡΡ ΡΠΊΡΠ°Π½Π°
//ΡΠΎΠΎΠ±ΡΠ°Π΅ΠΌ ΠΎ ΠΏΠΎΠ±Π΅Π΄Π΅
ShowMessage('ΠΡ ΠΏΠΎΠΏΠ°Π»ΠΈ ΠΏΠΎ ΠΎΠΊΠ½Ρ 10 ΡΠ°Π·!');
if Application.MessageBox('ΠΠ³ΡΠ°', 'ΠΠ³ΡΠ°ΡΡ Π΅ΡΠ΅ ΡΠ°Π·?', mb_yesno + mbtaskmodal + mb_iconQuestion) = idYes
then {ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΡΡΠ³ΡΠ°ΡΡ Π΅ΡΠ΅ ΡΠ°Π·}
begin
popad.Caption:= '0'; //ΡΠ±ΡΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
//ΠΡΠΈΠ΄Π°Π΅ΠΌ ΠΎΠΊΠ½Ρ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΎΡΠΌΡ
forma:= CreateEllipticRgn(0, 0, Form1.Width, Form1.Height);
SetWindowRgn(Handle, forma, True);
//Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠΊΠ½Π°