• Viernes 3 de Mayo de 2024, 12:56

Autor Tema:  Re: Como parar un bucle?  (Leído 1706 veces)

Norreas

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Como parar un bucle?
« en: Miércoles 14 de Mayo de 2003, 00:01 »
0
Que hacen...
 
Tengo una fución que recibe dos parametros (un entero y un nombre de archivo) y que la llamo y ejecuto cuando doy click en un boton. La función escribe 1 y/o 0 aleatoriamente en un archivo. El total de datos varia de acuerdo a NFR:

void TForm1::SRand(int NFR char *filen)
{
TMemoryStream* Frames = new TMemoryStream;
char dt;
randomize();
Frames->Position = 0;
for (unsigned long i=0;i<268*NFR*1.0;i++)
    {
     if (random(2)==1)
         dt=49;
     else
         dt=48;
     Frames->Write(&dt, 1);
    }
Frames->Position = 0;
Frames->SaveToFile(filen);

delete Frames;
}


Hasta aqui, todo bien. Mi problema es que NFR puede hacer que la cantidad de datos supere el millon. Asi que necesito a traves de otro boton, parar esta funcion, algo asi como un PARAR o ABORTAR, pero no se como hacerlo. Hacerlo con un Timer no es lo que necesito, tengo entendido que esto se hace con Thread (hilos). Si alguien tiene una solucion la agradezco desde ahora.

Gracias a todos.

cancun

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Como parar un bucle?
« Respuesta #1 en: Miércoles 14 de Mayo de 2003, 18:41 »
0
Hola


Para detener el ciclo puedes usar un boton que asigne un valor a variable y la validas en cada ciclo, para que el click funcione tienes que llamar a Application->ProcessMessages();
Roger Ruiz
Cancun, México
IMACO SC