Cesta » Počítač » Delphi » Semafor


Hlavní menu:

Počítač


Partneři


Anketa

Kam vyrážíte v létě na dovolenou?





Semafor

funkce

Virtuální semafor. Je použito časovače, který je má nastavení impuzlu na 1 sekundu.

použité objekty

TForm1 = class(TForm)

ShRed: TShape;

ShOrange: TShape;

ShGreen: TShape;

Tcas: TTimer;

Shape1, Shape2, Shape3, Shape4: TShape;

deklarace

Form1: TForm1;

i: integer;

procedury

procedura při vytvoření formuláře

i:= 0;

Tcas.Enabled := true;

procedura pro Timer

Proměnná i se při každém průchodu zvyšuje, tj. při každém novém impuzu hodin se zvýší. Vždy se udělá zbytek po celočíselném dělení, abychom nedostali číslo větší než 21 a semofaor fungoval stále dokola.

i:=(i+1) mod 22;

Časové intevaly jsou 4 (viz. obrázek). V každém intevalu se nastavuje barva světla.

case i of

0..7: begin

ShRed.Brush.Color := ClRed;

ShOrange.Brush .Color := ClBlack;

ShGreen.Brush.Color := ClBlack;

end;

8..9: begin

ShRed.Brush.Color := ClRed;

ShOrange.Brush .Color := ClYellow;

ShGreen.Brush.Color := ClBlack;

end;

10..17: begin

ShRed.Brush.Color := ClBlack;

ShOrange.Brush .Color := ClBlack;

ShGreen.Brush.Color := ClLime;

end;

18..21: begin

ShRed.Brush.Color := ClBlack;

ShOrange.Brush .Color := ClYellow;

ShGreen.Brush.Color := ClBlack;

end;

 


Akce: Otevřít verzi pro tisk


Soubory: