Разработка программы управления работой лифтов в четырехподъездном девятиэтажном доме, страница 3

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Timer7->Enabled=true;

Form1->Panel13->Color = clBtnFace;

dest_st3 = Edit3->Text.ToInt();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

Timer8->Enabled=true;

Form1->Panel14->Color = clBtnFace;

dest_st4 = Edit4->Text.ToInt();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)

{

Timer5->Enabled=false;

Timer6->Enabled=false;

Timer7->Enabled=false;

Timer8->Enabled=false;

Close();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Timer5Timer(TObject *Sender)

{

 EnterCriticalSection(&sect);

 {

        if (floor1==Edit1->Text.ToInt())

        {

        Form1->Panel11->Color=clYellow;

        }

        if (floor1<Edit1->Text.ToInt())

        {

         Form1->Panel11->Color = clBtnFace;

         Panel11->Top -= 5; //едем вверх

        if(Panel11->Top >= perv-prolet*9)      //лифт на 9 этаже

                        floor1 = 9;

        if(Panel11->Top >= perv-prolet*8)       //лифт на 8 этаже

                        floor1 = 8;

        if(Panel11->Top >= perv-prolet*7)       //лифт на 7 этаже

                        floor1 = 7;

        if(Panel11->Top >= perv-prolet*6)      //лифт на 6 этаже

                        floor1 = 6;

        if(Panel11->Top >= perv-prolet*5)      //лифт на 5 этаже

                        floor1 = 5;

        if(Panel11->Top >= perv-prolet*4)      //лифт на 4 этаже

                        floor1 = 4;

        if(Panel11->Top >= perv-prolet*3)      //лифт на 3 этаже

                        floor1 = 3;

        if(Panel11->Top >= perv-prolet*2)      //лифт на 2 этаже

                        floor1 = 2;

        if(Panel11->Top >= perv-prolet*1)      //лифт на 1 этаже

                        floor1 = 1;

        }

        if (floor1>Edit1->Text.ToInt())

        {

         Form1->Panel11->Color = clBtnFace;

         Panel11->Top += 5; //едем вниз

        if(Panel11->Top >= perv-prolet*8)      //лифт на 9 этаже

                        floor1 = 9;

        if(Panel11->Top >= perv-prolet*7)       //лифт на 8 этаже

                        floor1 = 8;

        if(Panel11->Top >= perv-prolet*6)       //лифт на 7 этаже

                        floor1 = 7;

        if(Panel11->Top >= perv-prolet*5)      //лифт на 6 этаже

                        floor1 = 6;

        if(Panel11->Top >= perv-prolet*4)      //лифт на 5 этаже

                        floor1 = 5;

        if(Panel11->Top >= perv-prolet*3)      //лифт на 4 этаже

                        floor1 = 4;

        if(Panel11->Top >= perv-prolet*2)      //лифт на 3 этаже

                        floor1 = 3;

        if(Panel11->Top >= perv-prolet*1)      //лифт на 2 этаже

                        floor1 = 2;

        if(Panel11->Top >= perv)                    //лифт на 1 этаже

                        floor1 = 1;

        }

}

LeaveCriticalSection(&sect);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Timer6Timer(TObject *Sender)

{

  EnterCriticalSection(&sect);

 {

        if (floor2==Edit2->Text.ToInt())

        {

        Form1->Panel12->Color=clYellow;

        }

        if (floor2<Edit2->Text.ToInt())

        {

         Form1->Panel12->Color = clBtnFace;

         Panel12->Top -= 5; //едем вверх

        if(Panel12->Top >= perv-prolet*9)      //лифт на 9 этаже

                        floor2 = 9;

        if(Panel12->Top >= perv-prolet*8)       //лифт на 8 этаже

                        floor2 = 8;

        if(Panel12->Top >= perv-prolet*7)       //лифт на 7 этаже

                        floor2 = 7;

        if(Panel12->Top >= perv-prolet*6)      //лифт на 6 этаже

                        floor2 = 6;

        if(Panel12->Top >= perv-prolet*5)      //лифт на 5 этаже

                        floor2 = 5;

        if(Panel12->Top >= perv-prolet*4)      //лифт на 4 этаже

                        floor2 = 4;

        if(Panel12->Top >= perv-prolet*3)      //лифт на 3 этаже

                        floor2 = 3;

        if(Panel12->Top >= perv-prolet*2)      //лифт на 2 этаже

                        floor2 = 2;

        if(Panel12->Top >= perv-prolet*1)      //лифт на 1 этаже

                        floor2 = 1;

        }

        if (floor2>Edit2->Text.ToInt())

        {

         Form1->Panel12->Color = clBtnFace;

         Panel12->Top += 5; //едем вниз

          if(Panel12->Top >= perv-prolet*8)      //лифт на 9 этаже

                        floor2 = 9;

        if(Panel12->Top >= perv-prolet*7)       //лифт на 8 этаже

                        floor2 = 8;

        if(Panel12->Top >= perv-prolet*6)       //лифт на 7 этаже

                        floor2 = 7;

        if(Panel12->Top >= perv-prolet*5)      //лифт на 6 этаже

                        floor2 = 6;

        if(Panel12->Top >= perv-prolet*4)      //лифт на 5 этаже

                        floor2 = 5;

        if(Panel12->Top >= perv-prolet*3)      //лифт на 4 этаже

                        floor2 = 4;

        if(Panel12->Top >= perv-prolet*2)      //лифт на 3 этаже

                        floor2 = 3;

        if(Panel12->Top >= perv-prolet*1)      //лифт на 2 этаже

                        floor2 = 2;

        if(Panel12->Top >= perv)                    //лифт на 1 этаже

                        floor2 = 1;

        }

}

LeaveCriticalSection(&sect);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Timer7Timer(TObject *Sender)

{

 EnterCriticalSection(&sect);

 {

        if (floor3==Edit3->Text.ToInt())

        {

        Form1->Panel13->Color=clYellow;