Написание программы визуального отображения состояния кабины каждого лифта в девятиэтажном жилом доме, страница 4

        Panel26->Width = 9;

        napr4 = 0;

        Timer8->Enabled = false;

     }

   }

}

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

void __fastcall TForm1::Timer2Timer(TObject *Sender)

{

  EnterCriticalSection(&sect); //входим в критическую секцию

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

  { //приехали

    Timer2->Enabled = false; //останавливаем лифт

    //открываем двери

    open2 = true;

    tick2 = 0;

    Timer6->Enabled = true;

  }

  else

  if(Timer6->Enabled == false) //проверяем закрыты ли двери

  {

          //перемещение лифта

          if(napr2 == 1)

          {

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

                if(Panel2->Top >= nullet-delta*9)      //лифт на 9 этаже

                        stage2 = 9;

                if(Panel2->Top >= nullet-delta*8)       //лифт на 8 этаже

                        stage2 = 8;

                if(Panel2->Top >= nullet-delta*7)       //лифт на 7 этаже

                        stage2 = 7;

                if(Panel2->Top >= nullet-delta*6)      //лифт на 6 этаже

                        stage2 = 6;

                if(Panel2->Top >= nullet-delta*5)      //лифт на 5 этаже

                        stage2 = 5;

                if(Panel2->Top >= nullet-delta*4)      //лифт на 4 этаже

                        stage2 = 4;

                if(Panel2->Top >= nullet-delta*3)      //лифт на 3 этаже

                        stage2 = 3;

                if(Panel2->Top >= nullet-delta*2)      //лифт на 2 этаже

                        stage2 = 2;

                if(Panel2->Top >= nullet-delta)      //лифт на 1 этаже

                        stage2 = 1;

          }

          if(napr2 == -1)

          {

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

                if(Panel2->Top >= nullet-delta*8)      //лифт на 9 этаже

                        stage2 = 9;

                if(Panel2->Top >= nullet-delta*7)       //лифт на 8 этаже

                        stage2 = 8;

                if(Panel2->Top >= nullet-delta*6)       //лифт на 7 этаже

                        stage2 = 7;

                if(Panel2->Top >= nullet-delta*5)      //лифт на 6 этаже

                        stage2 = 6;

                if(Panel2->Top >= nullet-delta*4)      //лифт на 5 этаже

                        stage2 = 5;

                if(Panel2->Top >= nullet-delta*3)      //лифт на 4 этаже

                        stage2 = 4;

                if(Panel2->Top >= nullet-delta*2)      //лифт на 3 этаже

                        stage2 = 3;

                if(Panel2->Top >= nullet-delta)      //лифт на 2 этаже

                        stage2 = 2;

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

                        stage2 = 1;

         }

   }

   LeaveCriticalSection(&sect);

}

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

void __fastcall TForm1::Timer3Timer(TObject *Sender)

{

   EnterCriticalSection(&sect); //входим в критическую секцию

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

  { //приехали

    Timer3->Enabled = false; //останавливаем лифт

    //открываем двери

    open3 = true;

    tick3 = 0;

    Timer7->Enabled = true;

  }

  else

  if(Timer7->Enabled == false) //проверяем закрыты ли двери

  {

          //перемещение лифта

          if(napr3 == 1)

          {

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

                if(Panel3->Top >= nullet-delta*9)      //лифт на 9 этаже

                        stage3 = 9;

                if(Panel3->Top >= nullet-delta*8)       //лифт на 8 этаже

                        stage3 = 8;

                if(Panel3->Top >= nullet-delta*7)       //лифт на 7 этаже

                        stage3 = 7;

                if(Panel3->Top >= nullet-delta*6)      //лифт на 6 этаже

                        stage3 = 6;

                if(Panel3->Top >= nullet-delta*5)      //лифт на 5 этаже

                        stage3 = 5;

                if(Panel3->Top >= nullet-delta*4)      //лифт на 4 этаже

                        stage3 = 4;

                if(Panel3->Top >= nullet-delta*3)      //лифт на 3 этаже

                        stage3 = 3;

                if(Panel3->Top >= nullet-delta*2)      //лифт на 2 этаже

                        stage3 = 2;

                if(Panel3->Top >= nullet-delta)      //лифт на 1 этаже

                        stage3 = 1;

          }

          if(napr3 == -1)

          {

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

                if(Panel3->Top >= nullet-delta*8)      //лифт на 9 этаже

                        stage3 = 9;

                if(Panel3->Top >= nullet-delta*7)       //лифт на 8 этаже

                        stage3 = 8;

                if(Panel3->Top >= nullet-delta*6)       //лифт на 7 этаже

                        stage3 = 7;

                if(Panel3->Top >= nullet-delta*5)      //лифт на 6 этаже

                        stage3 = 6;

                if(Panel3->Top >= nullet-delta*4)      //лифт на 5 этаже

                        stage3 = 5;

                if(Panel3->Top >= nullet-delta*3)      //лифт на 4 этаже

                        stage3 = 4;

                if(Panel3->Top >= nullet-delta*2)      //лифт на 3 этаже

                        stage3 = 3;