• Lunes 29 de Abril de 2024, 06:43

Autor Tema:  Tiempo Espera  (Leído 1772 veces)

miglon2

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Tiempo Espera
« en: Martes 3 de Febrero de 2004, 22:56 »
0
Hola,

   Necesito visualizar en un cuadro de texto un texto y al cabo de un tiempo, por ejemplo 2 segundos, visualizar otro distinto: ¿Cómo puedo hacerlo?

Gracias

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Re: Tiempo Espera
« Respuesta #1 en: Miércoles 4 de Febrero de 2004, 02:14 »
0
Hola, si lo que quieres son textos aleatorios en un Edit cada cierto intervalo de tiempo, puedes hacer lo siguiente... tan solo necesitas un TEdit y un TTimer, luego en el evento OnTimer del Timer1 pones los siguiente:

Código: Text
  1.  
  2. void __fastcall TForm1::Timer1Timer(TObject *Sender)
  3. {
  4.  String Textos[]={"Cadena1","Cadena2","Cadena3","Cadena4","Cadena5"};
  5.  int cual = random(5);
  6.  Edit1->Text = Textos[cual];
  7.  
  8. }
  9.  
  10.  

Si no es eso lo que buscas, hasmelo saber ya que si quieres algo mas avanzado puedo darte un ejemplo utilizando Thread's, seria bueno que me dijeras de donde estas sacando el texto que quieres mostrar en el Edit, tambien si quieres que sea aleatorio o siguiendo un orden en especial...

Ok?

Saludos!!!
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]

miglon2

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Tiempo Espera
« Respuesta #2 en: Miércoles 4 de Febrero de 2004, 23:08 »
0
Hola de nuevo,

   Lo que realmente quiero es lo siguiente:

   Tengo un TEdit, cuando el usuario hace click en un botón, se debe mostrar un mensaje en él, por ejemplo "primer mensaje", y a continuación (2 segundos por ejemplo) en ese mismo TEdit mostrar otro mensaje, por ejemplo "mensaje 2".

    Los mensajes que muestro son cadenas que escribo directamente en el TEdit, no las almaceno en ningún lugar:
    TEdit->Text = "primer mensaje"

Gracias _Viktor por toda la ayuda que me estás prestando.

Saludos!!!

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Re: Tiempo Espera
« Respuesta #3 en: Jueves 5 de Febrero de 2004, 04:58 »
0
Hola, realmente no logro entenderte:

Citar
Tengo un TEdit, cuando el usuario hace click en un botón, se debe mostrar un mensaje en él, por ejemplo "primer mensaje", y a continuación (2 segundos por ejemplo) en ese mismo TEdit mostrar otro mensaje, por ejemplo "mensaje 2".

Ahi dices que quieres mostrar un mensaje diferente cada dos segundos en un Edit, luego dices:

Citar
Los mensajes que muestro son cadenas que escribo directamente en el TEdit, no las almaceno en ningún lugar:
TEdit->Text = "primer mensaje"

Dices que los mensajes no los guardas en ningun lado... de donde salen entonces ?, ademas que asignas directamente el mensaje en el Edit ... te estas contradiciendo...  :blink:

Ve si puedes encontrar una mejor forma de explicarte... de seguro puedo ayudarte.

Saludos!
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]

miglon2

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Tiempo Espera
« Respuesta #4 en: Jueves 5 de Febrero de 2004, 23:25 »
0
Hola,

    Puede que no me explicara muy bien, pero a ver ahora si logro que me entiendas:

     Tengo 2 cadenas que almacenan 2 mensajes distintos:

Citar
   String cadena1 = "Primer mensaje"
   String cadena2 = "Segundo mensaje"   
    Cuando el usuario pulsa un botón, quiero:
   
   1.- Visualizar en el TEdit el mensaje almacenado en cadena1
Citar
                   TEdit->Text=cadena1
   2.- Al cabo de un tiempo (2 segundos por ejemplo) visualizar en ese TEdit el mensaje almacenado en cadena2
Citar
                   TEdit->Text=cadena2
   A ver si viendo un esqueleto de lo que quiero logramos entendernos:

Código: Text
  1. void __fastcall TForm1::Button1Click(TObject *Sender)
  2.     {
  3.   String cadena1 = "Primer mensaje";
  4.   String cadena2 = "Segundo mensaje";
  5.   TEdit1->Text = cadena1;
  6.  
  7.     /**************************************************/
  8.     //Aquí introducir un retardo de 2 segundos
  9.     /**************************************************/
  10.  
  11.   TEdit1->Text = cadena2;
  12.     }
  13.  
  14.  
Citar
P.D.: vi en un mensaje del foro que buscabas el libro "C++ builder 5 Developer's guide", yo lo tengo, pero sólo el archivo pdf ocupa casi 14 MB.

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Re: Tiempo Espera
« Respuesta #5 en: Viernes 6 de Febrero de 2004, 23:39 »
0
Hola, haber si esto te sirve:

Unit1.h

Código: Text
  1.  
  2. public:  // User declarations
  3.         bool bMen;
  4.  

Unit1.cpp


Código: Text
  1. //---------------------------------------------------------------------------
  2. __fastcall TForm1::TForm1(TComponent* Owner)
  3.         : TForm(Owner)
  4. {
  5.  bMen=true;
  6.  Timer1->Enabled = false;
  7. }
  8. //---------------------------------------------------------------------------
  9. void __fastcall TForm1::Timer1Timer(TObject *Sender)
  10. {
  11.  String sCadena1 = "Mensaje1";
  12.  String sCadena2 = "Mensaje2";
  13.  
  14.  if(bMen)
  15.   Edit1->Text = sCadena1;
  16.  else
  17.   Edit1->Text = sCadena2;
  18.  
  19.  bMen = !bMen;
  20.  
  21. }
  22. //---------------------------------------------------------------------------
  23. void __fastcall TForm1::Button1Click(TObject *Sender)
  24. {
  25.  Timer1->Enabled = true;
  26. }
  27. //---------------------------------------------------------------------------
  28.  

Si es que logre entender tu duda, lo que hace es que al presionar el botton activas el Timer, el que se encarga de intercambiar cada dos segundos el contenido del Edit entre los dos mensajes.

Eso era ?

Saludos!
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]

miglon2

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Tiempo Espera
« Respuesta #6 en: Sábado 7 de Febrero de 2004, 00:00 »
0
Hola

    Al final conseguí que me entendieras y tu conseguiste entenderme.

MUCHAS GRACIAS.