Designing the Application
  1. Start Borland C++ Builder with the default form
  2. Change the Caption of the form to Traffic Light
  3. Change its BorderStyle property to bsDialog
  4. Change its dimensions to Height = 256 and Width = 112
  5. From the Statndard tab of the Component Palette, double-click the Panel control
  6. Change the properties of the panel as follows:
       BevelInner = bvNone
       BevelOuter = bvLowered
       BevelWidth = 5
       Caption     = Empty
       Color      = clBlack
       Height      = 209
       Left        = 17
       Top         =8
       Width       = 81
  7. While the panel is still selected on the form, from the Additional tab of the Component
     Palette, double-click the Shape control
  8. Change the following properties for the new Shape:
       Brush: Color = clGray
       Brush: Style = bsSolid
       Height          = 65
       Left             =8
       Top             =8
       Width            = 65
  9. On the panel, click the newly added Shape to make sure it is selected. Press Ctrl + C to
     copy it to the clipboard
  10. Click anywhere on the panel to select it.
  11. Press Ctrl + V to paste the Shape
  12. While the new Shape is still selected, change its Left value to 8 and its Top value to 72
  13. Click an empty area on the panel to select it and press Ctrl + V.
  14. While the new shape is still selected, change its Left value to 8 and its Top value to 136
  15. Click the panel on the form and ress Ctrl + V again
  16. Change the properties of the new shape as follows:
        Brush: Color = clRed
        Height        = 57
        Left          =8
        Name          = shpRed
        Shape         = stCircle
        Top           = 12
  17. On the form, click the red circle and press Ctrl + C. Then press Ctrl + V to add a new Shape
  18. Change its properties as follows:
        Brush: Color = clSilver
Height         = 57
        Left           =8
        Name            = shpYellow
        Shape            = stCircle
        Top              = 76
  19. On the form, click the Panel and press Ctrl + V
  20. Change the properties of the new Shape to:
        Brush: Color = clSilver
        Height        = 57
        Left          =8
        Name         = shpGreen
        Shape         = stCircle
        Top           = 140
  21. From the System tab of the Component Palette, double-click Timer

Coding the Application
  1. On the Object Inspector, click the Events tab
  2. Although the dialog box will be equipped with the system Close button, we should provide
     our own meand of closing the application.
     On the form, click the red circle.
  3. Press and hold Shift, then click the other two circles
  4. On the Object Inspector, double-click the empty area on the right side of OnMouseDown
  5. Change the event as follows:


      //---------------------------------------------------------------------------
      void __fastcall TForm1::shpGreenMouseDown(TObject *Sender,
            TMouseButton Button, TShiftState Shift, int X, int Y)
      {
          Close();
      }
      //---------------------------------------------------------------------------

  6. Press F12 to display the form.
  7. Double-click the Timer on the form to access its OnTimer event
  8. Change its code as follows:


      //---------------------------------------------------------------------------
      void __fastcall TForm1::Timer1Timer(TObject *Sender)
      {
          // If the current color is red
          if( shpRed->Brush->Color == clRed )
          {
              // Change the color to green
              Timer1->Interval        = 3500;
              shpRed->Brush->Color    = clSilver;
              shpYellow->Brush->Color = clSilver;
              shpGreen->Brush->Color = clGreen;
}
        // But if the color is green
        else if( shpGreen->Brush->Color == clGreen )
        {
            // Change the color to yellow
            Timer1->Interval         = 2000;
            shpRed->Brush->Color     = clSilver;
            shpYellow->Brush->Color = clYellow;
            shpGreen->Brush->Color = clSilver;
        }
        // Otherwise, if the color is yellow
        else // if(shpYellow->Brush->Color == clYellow
        {
            // Change the color to red
            Timer1->Interval         = 5000;
            shpRed->Brush->Color     = clRed;
            shpYellow->Brush->Color = clSilver;
            shpGreen->Brush->Color = clSilver;
        }
   }
   //---------------------------------------------------------------------------

9. Test your program.

C++ program for TRAFFIC LIGHT

  • 1.
    Designing the Application 1. Start Borland C++ Builder with the default form 2. Change the Caption of the form to Traffic Light 3. Change its BorderStyle property to bsDialog 4. Change its dimensions to Height = 256 and Width = 112 5. From the Statndard tab of the Component Palette, double-click the Panel control 6. Change the properties of the panel as follows: BevelInner = bvNone BevelOuter = bvLowered BevelWidth = 5 Caption = Empty Color = clBlack Height = 209 Left = 17 Top =8 Width = 81 7. While the panel is still selected on the form, from the Additional tab of the Component Palette, double-click the Shape control 8. Change the following properties for the new Shape: Brush: Color = clGray Brush: Style = bsSolid Height = 65 Left =8 Top =8 Width = 65 9. On the panel, click the newly added Shape to make sure it is selected. Press Ctrl + C to copy it to the clipboard 10. Click anywhere on the panel to select it. 11. Press Ctrl + V to paste the Shape 12. While the new Shape is still selected, change its Left value to 8 and its Top value to 72 13. Click an empty area on the panel to select it and press Ctrl + V. 14. While the new shape is still selected, change its Left value to 8 and its Top value to 136 15. Click the panel on the form and ress Ctrl + V again 16. Change the properties of the new shape as follows: Brush: Color = clRed Height = 57 Left =8 Name = shpRed Shape = stCircle Top = 12 17. On the form, click the red circle and press Ctrl + C. Then press Ctrl + V to add a new Shape 18. Change its properties as follows: Brush: Color = clSilver
  • 2.
    Height = 57 Left =8 Name = shpYellow Shape = stCircle Top = 76 19. On the form, click the Panel and press Ctrl + V 20. Change the properties of the new Shape to: Brush: Color = clSilver Height = 57 Left =8 Name = shpGreen Shape = stCircle Top = 140 21. From the System tab of the Component Palette, double-click Timer Coding the Application 1. On the Object Inspector, click the Events tab 2. Although the dialog box will be equipped with the system Close button, we should provide our own meand of closing the application. On the form, click the red circle. 3. Press and hold Shift, then click the other two circles 4. On the Object Inspector, double-click the empty area on the right side of OnMouseDown 5. Change the event as follows: //--------------------------------------------------------------------------- void __fastcall TForm1::shpGreenMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { Close(); } //--------------------------------------------------------------------------- 6. Press F12 to display the form. 7. Double-click the Timer on the form to access its OnTimer event 8. Change its code as follows: //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { // If the current color is red if( shpRed->Brush->Color == clRed ) { // Change the color to green Timer1->Interval = 3500; shpRed->Brush->Color = clSilver; shpYellow->Brush->Color = clSilver; shpGreen->Brush->Color = clGreen;
  • 3.
    } // But if the color is green else if( shpGreen->Brush->Color == clGreen ) { // Change the color to yellow Timer1->Interval = 2000; shpRed->Brush->Color = clSilver; shpYellow->Brush->Color = clYellow; shpGreen->Brush->Color = clSilver; } // Otherwise, if the color is yellow else // if(shpYellow->Brush->Color == clYellow { // Change the color to red Timer1->Interval = 5000; shpRed->Brush->Color = clRed; shpYellow->Brush->Color = clSilver; shpGreen->Brush->Color = clSilver; } } //--------------------------------------------------------------------------- 9. Test your program.