Другие языки программирования и технологии

Доработать программу "Светофор" на Delphi.

Доработать программу "Светофор", организовав вывод и второй стороны устройства, управляющей движением транспорта в поперечном направлении. Приведите тексты измененных фрагментов.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
temp: integer;
vkl:boolean;
implementation

{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
const
Tk=5; {Время красного}
Tz=5; {Время зеленого}
Tp=2; {Время желтого}
procedure Lm1(cc:word);
begin
Shape1.brush.Color:=cc;
end;
procedure Lm2(cc:word);
begin
Shape2.brush.Color:=cc;
end;
procedure Lm3(cc:word);
begin
Shape3.brush.Color:=cc;
end;
begin
if temp =1 then
begin
Lm2(clBlack);
Lm1(clRed):
end;
if temp =Tk+1 then
begin
Lm2(clYellow);
end;
if temp =Tk+Tp+1 then
begin
Lm2(clBlack);
Lm1(clBlack);
Lm3(clGreen);
end;
if temp =Tk+Tp+Tz+1 then
begin
Lm3(clBlack);
Lm2(clYellow);
end;
if temp=Tk+Tp+Tz+Tp+1 then temp:=0;
if vkl then temp:=temp+1
end;

procedure Tform1.FormCreate(Sender: TObject);
begin
Temp:=0;
vkl:=false
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if vkl then
begin
vkl:=false;
Button1.Caption:='Пуск';
end;
else
begin
vkl:=true;
Button1.Caption:='Стоп';
end;
end;

end.
убил бы за такой код... и в частности за эти гробики:
const
Tk=5; {Время красного}
Tz=5; {Время зеленого}
Tp=2; {Время желтого}
procedure Lm1(cc:word);
begin
Shape1.brush.Color:=cc;
end;
procedure Lm2(cc:word);
begin
Shape2.brush.Color:=cc;
end;
procedure Lm3(cc:word);
begin
Shape3.brush.Color:=cc;
end;

ну да ладно... лирическое отступление...
сабж:

procedure TForm1.Timer1Timer(Sender: TObject);
const
Tk = 5; { Время красного }
Tz = 5; { Время зеленого }
Tp = 2; { Время желтого }
procedure Lm1(cc: word);
begin
Shape1.brush.Color := cc;
end;
procedure Lm2(cc: word);
begin
Shape2.brush.Color := cc;
end;
procedure Lm3(cc: word);
begin
Shape3.brush.Color := cc;
end;

begin
if temp = 1 then
begin
Lm2(clBlack);
Lm1(clRed);

Shape4.brush.Color := clBlack;
Shape5.brush.Color := clBlack;
Shape6.brush.Color := clGreen;
end;
if temp = Tk + 1 then
begin
Lm2(clYellow);

Shape5.brush.Color := clYellow;
Shape6.brush.Color := clBlack;
end;
if temp = Tk + Tp + 1 then
begin
Lm2(clBlack);
Lm1(clBlack);
Lm3(clGreen);

Shape4.brush.Color := clRed;
Shape5.brush.Color := clBlack;
end;
if temp = Tk + Tp + Tz + 1 then
begin
Lm3(clBlack);
Lm2(clYellow);

Shape4.brush.Color := clRed;
Shape5.brush.Color := clYellow;
Shape6.brush.Color := clBlack;
end;
if temp = Tk + Tp + Tz + Tp + 1 then
temp := 0;
if vkl then
temp := temp + 1
end;
Дамир Жукенов
Дамир Жукенов
3 147
Лучший ответ
Сержан Аманжолов Прошу прощения за тот кусок кода, но так написано в моём уроке по программированию. И прошу прощения что без файла Form.
Сержан Аманжолов Форма мне нафик не надо. Я им отошлю только текст, а что они с ним будут делать, это их проблемы. Спасибо
Петян, самый умный что ли? Кому это надо, здесь этим за бесплатно заниматься?
Сержан Аманжолов Если это для тебя сложно (для меня сложно), то чего писать чушь.