FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como parar un programa en ejecucion???
Hola, mi problema es que tengo un programa que realiza unas operaciones muy lentas dependiendo del tamaño de matrices que meta, vamos que cuando esta el programa calculando puede tirarse varios minutos ya que son varios bucles for anidados, la cosa es que me gustaria poder poner un boton del tipo cancelar, que pueda interrumpir la operacion en cualquier momento, esto siempre lo he hecho en c++ con la funcion kbhit() dentro de un while, pero aqui no veo la forma, y es que me da la impresion de que el programa se queda ahi calculando y no me deja dar ni al boton salir, alguna sugerencia?, gracias y salu2.
|
#2
|
||||
|
||||
Puedes colocar una variable de tipo flag que se active al presionar el boton salir, y en cada bucle del for mas interno validas si se activo si se activo paras el bucle y listo, yo lo haria asi no se si exista el equivalente a esa instruccion
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#3
|
|||
|
|||
hola
Pues en Delphi has de hacerlo más o menos de la siguiente manera:
Mas o menos Espero te sirva |
#4
|
||||
|
||||
Además de lo que dice eduarcol habrá que agregar un Application.ProcessMessages en algún punto de cada ciclo para que se pueda procesar el click del botón.
// Saludos |
#5
|
||||
|
||||
Cita:
Gracias a Cadetill por la explicacion grafica
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#6
|
|||
|
|||
Muchas gracias por contestar tan rapido, de la forma que decis eduarcol y cadetill, ya lo hice, pero sin resultado, ya que como dije se queda como pillado y no me deja pulsar el boton, probare lo que dice roman, muchas gracias a todos, salu2
|
#7
|
||||
|
||||
A lo que se refiere Roman
Cita:
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#8
|
|||
|
|||
Cita:
¿Tal vez el problema es el lugar donde ubicaste la llamada a procesar mensajes? Mejor si te asegures que se lo llame alrededor de unas 4 a 8 veces por segundo. Ni muy seguido en lo posible ni tan poco frecuente que aún tengas que esperar un rato hasta que se procesen los mensajes. |
#9
|
|||
|
|||
Pues ya me va perfectamente con el ejemplo que me habeis puesto, muchas gracias de new, salu2
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|