| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Mariana Invitado
|
Publicado: Lun 03 Mar, 2003 11:00 pm Asunto: Ejecutar una accion mientras un boton este presionado |
|
|
Hola, necesito incrementar el valor de una variable tipo entero en 1 mientras un boton llamado incremeto este presionado. Se debe hacer con un timer, o en el evento onMouseDown del boton ???
De antemano gracias...
Saludos.. |
|
| Volver arriba |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Mar 04 Mar, 2003 4:52 am Asunto: |
|
|
ya checaste el control UpDown, folder Win32 el septimo de izq a derecha? _________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com |
|
| Volver arriba |
|
 |
Mariana Invitado
|
Publicado: Mar 04 Mar, 2003 4:59 am Asunto: ... |
|
|
Hola, gracias por responder, pero realmente el asunto no es incrementar una variable, fue un ejemplo para que me entendieran lo que queria, realmente necesito eliminar una secuencia de archivos conforme tenga presionado el boton.. por esto necesito saber como ejecutar una accion mientras un boton este presionado...
Gracias por responder...
Saludos.,
Mariana. |
|
| Volver arriba |
|
 |
joseluisbz Lt Cmdr

Registrado: 31 Ene 2003Mensajes: 101Ubicación: Medellín - Colombia de Barranquilla
|
Publicado: Vie 07 Mar, 2003 12:14 am Asunto: La solución es Hilos... TThread |
|
|
Hola:
Utiliza un evento BottonDown(no sé como se llama) que te dispare un proceso de algún hilo que hace la tarea encomendada (En este caso eliminar la secuencia de archivos) y que esté chequeando el estado del hilo, o mejor el evento BottonUp(tampoco sé como se llama) detenga el procesamiento del hilo... Suspend, Terminate
Fíjate a ver...
Espero que te sirva.... _________________ Please Response to:joseluisbz@bigfoot.com |
|
| Volver arriba |
|
 |
Mariana Invitado
|
Publicado: Vie 07 Mar, 2003 7:31 am Asunto: ... |
|
|
Hola, gracias por responder, pense que habia algun evento directamente o un forma mas sencilla de hacer esto..
Si alguien tiene alguna otra sugerencia..
Saludos.
Gracias |
|
| Volver arriba |
|
 |
Scooby Ens


Registrado: 25 Sep 2002Mensajes: 49Ubicación: Nunca Máis
|
Publicado: Vie 07 Mar, 2003 5:05 pm Asunto: |
|
|
Todo puede resultar sencillo a ojos del espectador.
Yo me decantaría por el uso de hilos. Puede que su uso parezca complicado pero no es para tanto. Crea un hilo en el evento OnMouseDown que eliminie o haga lo que deseas y destruye el hilo en el evento OnMouseUp. Por otro lado la manera más sencilla de hacerlo es la siguiente, aunque debes tener cuidado de no entrar en un bucle sin fin que bloquearía la aplicación. Recuerda que lo sencillo no siempre es lo mejor.
BotonPulsado es una variable boleana pública para todos los elementos de la clase TForm1.
void __fastcall TForm1::Button1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
int i = 0;
BotonPulsado = true;
while (BotonPulsado)
{
Application->ProcessMessages();
i++;
Label1->Caption = IntToStr(i);
Label1->Repaint();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1MouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
BotonPulsado = false;
} _________________ Iré a cualquier sitio siempre y cuando sea hacia delante.
Livingstone |
|
| Volver arriba |
|
 |
|