[ saxa @ 20.05.2011. 21:39 ] @
ako bi neko imao volje da mi da upute na koji način da enkapsuliram naredne kodove pa da u ovom unitu bude sve nekako "finije" i dal se to uopće radi sa ovakvim primjerima Code: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Mmsystem; type TForm1 = class(TForm) A: TShape; B: TShape; C: TShape; D: TShape; Timer1: TTimer; Image1: TImage; Timer2: TTimer; procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Image1Click(Sender: TObject); procedure Timer2Timer(Sender: TObject); private { Private declarations } public { Public declarations } Xpos, Ypos: integer; ScreenShot: HDC; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin DoubleBuffered:= true; Xpos:= Left; Ypos:= Top; Image1.Left:= 0; Image1.Width:= Form1.Width; Image1.Top:= 0; Image1.Height:= Form1.Height; Hide; ScreenShot:= GetWindowDC(GetDesktopWindow); BitBlt(Image1.Canvas.Handle, 0, 0, Form1.Width, Form1.Height, ScreenShot, Xpos, Ypos, SRCCOPY); Show; Image1.Canvas.Pen.Mode:= pmMask; Image1.Canvas.Brush.Color:= $FFFF; Image1.Canvas.Rectangle(0, 0, Image1.Width, Image1.Height); Form1.Width := Form1.Height; A.Left:= 118; A.Top:= 118; B.Left:= 118; B.Top:= 118; C.Left:= 118; C.Top:= 118; D.Left:= 118; D.Top:= 118; A.Brush.Color:= RGB(Random(256), Random(256), Random(256)); B.Brush.Color:= RGB(Random(256), Random(256), Random(256)); C.Brush.Color:= RGB(Random(256), Random(256), Random(256)); D.Brush.Color:= RGB(Random(256), Random(256), Random(256)); end; procedure TForm1.Image1Click(Sender: TObject); begin Close; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if Timer2.Enabled = false then begin A.Left= A.Left+1; A.Top:= A.Top+1; B.Left:= B.Left+1; B.Top:= B.Top-1; C.Left:= C.Left-1; C.Top:= C.Top+1; D.Left:= D.Left-1; D.Top:= D.Top-1; end; if A.Left = D.Left then begin A.Brush.Color:= RGB(Random(256), Random(256), Random(256) ); B.Brush.Color:= RGB(Random(256), Random(256), Random(256)); C.Brush.Color:= RGB(Random(256), Random(256), Random(256)); D.Brush.Color:= RGB(Random(256), Random(256), Random(256)); end; if D.Left = 0 then begin PlaySound('aparicion-fuego.wav',0,SND_ASYNC ); Timer1.Enabled:= false; Timer2.Enabled:= true; end; end; procedure TForm1.Timer2Timer(Sender: TObject); begin A.Left:= A.Left-1; A.Top:= A.Top-1; B.Left:= B.Left-1; B.Top:= B.Top+1; C.Left:= C.Left+1; C.Top:= C.Top-1; D.Left:= D.Left+1; D.Top:= D.Top+1; if A.Left = 0 then begin PlaySound('aparicion-fuego.wav',0,SND_ASYNC ); Timer2.Enabled:= false; Timer1.Enabled:= true; end; end; end. tnx |