Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-05-2012
odiseeus odiseeus is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 31
Poder: 0
odiseeus Va por buen camino
repeticion no codificada de un ShowMessage()

buen día.
hace tiempos no entraba, que pena! ...
el problema es el siguiente:
tengo un Timer el cual me marca el tiempo de un cronometro, los valores del cronometro los guarda directamente en 4 Labels, uno por cada digito de los minutos y los segundo asi: 00:00, hasta el momento todo bien, el problema surge cuando quiero que a determinado tiempo aparezca un mensaje en pantalla y que el timer siga corriendo, pues el mensaje se muestra repetidamente sin control, aclaro que la orden de mostrar el mensaje esta dada para que la muestre una sola vez.. en un solo valor del contador del tiempo, asi va el codigo:

Código:
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
//cont esta anteriormente declarada e inicialmente bien.
//los componentes que empiezan con 'display' son Labels
//que guardan los valores de segundos y minutos cada uno con su digito.
//barraProgreso es un componente progressBar que no tiene ningun inconveniente. (hasta el momento)
if (cont%10==0)
{
	displaySeg1->Caption=(cont/10)%6;
   displaySeg1->Repaint();
}
displaySeg2->Caption=cont%10;
displaySeg2->Repaint();
if (cont%60==0)
{
	displayMin2->Caption=(cont/60);
	displayMin2->Repaint();
}
barraProgreso->Position=cont%300;
if (cont==270)
{
	reproductor->Play();
        ShowMessage("estas a menos de 30 segundos de pasarte!");
}
if (cont>=300)
{
	botonFin->Click();
}
cont++;
}
tambien lo he intentado haciendo el llamado al evento click de un boton no visible donde esta el mismo ShowMessage, colocando el condicional asi:
Código:
if (cont==270)
{
	reproductor->Play();
        botonAviso->Click();
}
a lo cual por si solo se le da click y me muestra solo una vez el mensaje, pero llamado desde el timer muestra tantas veces que puede hasta que logro parar o cerrar el programa
espero una ayuda gracias.
Responder Con Cita
  #2  
Antiguo 04-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Probá de este modo:
Código:
int swOpen = 0;

...

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
...
  if (cont == 270 && !swOpen) {
    swOpen = 1;  
    ...
  }
...
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 05-05-2012
odiseeus odiseeus is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 31
Poder: 0
odiseeus Va por buen camino
Gracias ecfisa... lo probaré, aunque lo corregí de una manera mas robusta.... deteniendo el Timer antes del mensaje y empezando un Timer temporal mientras el mensaje y despues volví al Timer inicial... éxitos!
Responder Con Cita
  #4  
Antiguo 06-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por odiseeus Ver Mensaje
Gracias ecfisa... lo probaré, aunque lo corregí de una manera mas robusta.... deteniendo el Timer antes del mensaje y empezando un Timer temporal mientras el mensaje y despues volví al Timer inicial... éxitos!
Hola odiseeus.

Me alegro que le dieras solución , en realidad te sugerí esa opción por que entendí, por tu primer mensaje,
Cita:
el problema surge cuando quiero que a determinado tiempo aparezca un mensaje en pantalla y que el timer siga corriendo
que deseabas no interrumpir el TTimer inicial.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
dblookupcombobox - Repeticion shoulder Varios 0 09-02-2011 17:46:12
insertar datos sin repeticion baby Varios 5 16-05-2007 01:37:28
repeticion de código pulsando un TButton. elcaracas C++ Builder 6 22-08-2006 19:11:15
buscar dentro de una cadena con repetición jzginez Varios 4 12-05-2006 22:40:18
Repetición en Rave Reports 6.0 paufra Impresión 0 03-06-2005 11:54:19


La franja horaria es GMT +2. Ahora son las 12:37:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi