GamerSK

Animacie

Mar 20th, 2018
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.68 KB | None | 0 0
  1. unit Unit1;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8.   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  9.   ExtCtrls;
  10.  
  11. type
  12.  
  13.   { TForm1 }
  14.  
  15.   TForm1 = class(TForm)
  16.   semaforStop: TButton;
  17.   semaforStart: TButton;
  18.   diskotekaStart: TButton;
  19.   diskotekaStop: TButton;
  20.     gulickaStop: TButton;
  21.     gulickaStart: TButton;
  22.     gulicka: TShape;
  23.     gulickaT: TTimer;
  24.     diskotekaT: TTimer;
  25.     Panel1: TPanel;
  26.     Shape1: TShape;
  27.     Shape2: TShape;
  28.     Shape3: TShape;
  29.     semaforT: TTimer;
  30.     procedure diskotekaStartClick(Sender: TObject);
  31.     procedure diskotekaStopClick(Sender: TObject);
  32.     procedure diskotekaTTimer(Sender: TObject);
  33.     procedure FormCreate(Sender: TObject);
  34.     procedure gulickaStartClick(Sender: TObject);
  35.     procedure gulickaStopClick(Sender: TObject);
  36.     procedure gulickaTTimer(Sender: TObject);
  37.     procedure semaforStartClick(Sender: TObject);
  38.     procedure semaforStopClick(Sender: TObject);
  39.     procedure semaforTTimer(Sender: TObject);
  40.   private
  41.  
  42.   public
  43.  
  44.   end;
  45.  
  46. var
  47.   Form1: TForm1;
  48.   sec:byte;
  49.   dole:boolean;
  50.  
  51. implementation
  52.  
  53. {$R *.lfm}
  54.  
  55. { TForm1 }
  56.  
  57. procedure TForm1.gulickaStartClick(Sender: TObject);
  58. begin
  59.   gulickaT.Enabled:=true;
  60. end;
  61.  
  62. procedure TForm1.gulickaStopClick(Sender: TObject);
  63. begin
  64.   gulickaT.Enabled:=false;
  65. end;
  66.  
  67. procedure TForm1.gulickaTTimer(Sender: TObject);
  68. begin
  69.   if gulicka.Top + gulicka.Height = Form1.Height then dole:=true;
  70.   if gulicka.Top = 0 then dole:=false;
  71.   if dole = true then gulicka.Top:=gulicka.Top-1;
  72.   if dole = false then gulicka.Top:=gulicka.Top+1;
  73. end;
  74.  
  75. procedure TForm1.diskotekaStartClick(Sender: TObject);
  76. begin
  77.   diskotekaT.Enabled:=true;
  78. end;
  79.  
  80. procedure TForm1.diskotekaStopClick(Sender: TObject);
  81. begin
  82.   diskotekaT.Enabled:=false;
  83.   Form1.Color:=clDefault;
  84. end;
  85.  
  86. procedure TForm1.diskotekaTTimer(Sender: TObject);
  87. begin
  88.   randomize;
  89.   Form1.Color:=random(16000000);
  90. end;
  91.  
  92. procedure TForm1.FormCreate(Sender: TObject);
  93. begin
  94.  dole:=false;
  95. end;
  96.  
  97. procedure TForm1.semaforStartClick(Sender: TObject);
  98. begin
  99.   semaforT.Enabled:=true;
  100.   sec:=0;
  101. end;
  102.  
  103. procedure TForm1.semaforStopClick(Sender: TObject);
  104. begin
  105.   semaforT.Enabled:=false;
  106. end;
  107.  
  108. procedure TForm1.semaforTTimer(Sender: TObject);
  109. begin
  110.   inc(sec);
  111.   if sec = 12 then sec:=0;
  112.   if sec < 6 then
  113.    begin
  114.      Shape1.Visible:=True;
  115.      Shape2.Visible:=False;
  116.      Shape3.Visible:=False;
  117.    end;
  118.   if sec = 7 then
  119.    begin
  120.      Shape1.Visible:=False;
  121.      Shape2.Visible:=True;
  122.      Shape3.Visible:=False;
  123.    end;
  124.   if sec > 7 then
  125.    begin
  126.      Shape1.Visible:=False;
  127.      Shape2.Visible:=False;
  128.      Shape3.Visible:=True;
  129.    end;
  130. end;
  131.  
  132.  
  133. end.
Advertisement
Add Comment
Please, Sign In to add comment