Como Pausar un Ciclo "WHILE"
Hola a todos, no se si esta se el foro correcto, pero creo que tiene algo que ver. ¿Es posible pausar un ciclo en un procedimiento determinado desde otro procedimiento?, por ejemplo:
BUTTON1(on click): begin while a<100000 do inc (a) end; Ahora, cuando haga click en BUTTON2, entonces el ciclo se ponga en "BREAK", y cuando clikee de nuevo, en "CONTINUE". Además de que no se como se hace esto, cuando un ciclo está en proceso y se clikea un Tbotton, no ocurre nada, es como si la aplicación no respondiera, cuando en verdad si lo está haciendo. Gracias por adelantado, un saludo a todos:) |
Cita:
Cita:
|
Gracias neftalí, esto de application.ProcessMessages, no atrazará un poco el ciclo?, según parece, lo que hace ese procedimiento es; dentro del mismo ciclo, revisar el estado de los controles no?. Tengo otro problemita: la aplicación, no cierra hata que no termina el ciclo, que puedo hacer?,
Gracias otra vez neftalí.;) |
Hola, debes usar dos variable globales, una que te indicará cuando debes parar el ciclo y otra que te guardará el valor del contador en el momento que se ha hecho la pausa.
Dentro del siclo debes poner Application.ProcessMessages para que la aplicación te responda a los eventos y ... Bueno mejor te escribo un ejemplo:
es todo, espero haberte ayudado Saludos Yusnerqui |
Cita:
|
OK, Muchas gracias Neftalí y Yusnerqui, solo me queda una preguntica: Que es Try....Finally?:rolleyes:
|
Cita:
Saludos. |
Bueno, eso esta un poco complicado, pero bueno lo importate que quiero decirte es, que en el codigo que me diste, Quitando Try y Finally, entonces el codigo funciona igual, en la página que me dices, dice Try y Exeption, y habla de las exepciones, lo que quiero saber es...mira por ejemplo:
While ...Do begin Realiza la acción hasta que se cumpla la condicón. end; Ya entiendes?, de todas formas, muchas gracias por la página de exepciones, no sabía nada de lo que se narra en ese lugar. Bueno. Un saludo Brother;) |
El try .. finally es un "seguro de vida".
Imagina que dentro del bucle while haces cálculos numéricos y se produce una división por cero, en este caso, se corta la ejecución en esa linea y el cursor de la pantalla se queda con el reloj de arena. Al colocar un Try .. finally, aunque se produzca un error, siempre ejecutará el código existente en el Finally, por tanto, se restaura siempre el cursor a la típica flecha. Cita:
Saludos |
Muchas gracias Lepe, ahora entiendo.
Un saludo;) |
La franja horaria es GMT +2. Ahora son las 11:20:52. |
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