Srodne teme
Kliknite za generisanje liste srodnih tema...
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

da li enkapsulirati ili ne

[es] :: Pascal / Delphi / Kylix :: da li enkapsulirati ili ne

[ Pregleda: 1280 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

saxa
nikolina zorica
student
zagreb

Član broj: 266531
Poruke: 55
*.adsl.net.t-com.hr.



Profil

icon da li enkapsulirati ili ne20.05.2011. u 21:39 - pre 157 meseci
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
 
Odgovor na temu

MatezYU

Član broj: 4114
Poruke: 1586
*.otpbanka.rs.



+17 Profil

icon Re: da li enkapsulirati ili ne21.06.2011. u 14:54 - pre 156 meseci
Mogao si napraviti field-ove od varijabli koje si stavio u public sekciju

private
FXpos, FYpos: Integer;
public
property XPos: Integer read FXPos write FXPos;
property YPos: Integer read FXPos write FYPos;

Ideja je da tvoja klasa ima jedan property koji se zove XPos, a ti kasnije u svojoj klasi možeš da menjaš lokalne promenljive kako želiš.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: da li enkapsulirati ili ne

[ Pregleda: 1280 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Srodne teme
Kliknite za generisanje liste srodnih tema...
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.