Programación General > C++ Builder

 Intermitencias

(1/1)

sergiocg:
A ver si me explico tengo un formulario con dos Shape y un botón. Al pulsar el botón se debe poner en marcha los colores de los shapes de forma intermitente, pero no me sale. Alguna sugerencia.

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if (m = false)
{
Shape1->Brush->Color = clYellow;
Shape2->Brush->Color = clRed;
}
else
{
Shape1->Brush->Color = clRed;
Shape2->Brush->Color = clYellow;
}
m = true;
}

softevolutions:
Un par de cosas:

1) en el if, has metido una asignación y no una comparación
2) Tienes que cambiar el sitio donde cambias el valor de "m", ya que el cambio SOLO lo hará una vez o ninguna.

Te dejo una sugerencia para evitar el uso de una variable intermedia "m"

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
     if (Shape1->Brush->Color == clYellow) {
          Shape1->Brush->Color = clRed;
          Shape2->Brush->Color = clYellow;
     }
     else {
          Shape1->Brush->Color = clYellow;
          Shape2->Brush->Color = clRed;
     }
}

Navegación

[0] Índice de Mensajes

Ir a la versión completa