FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Interrumpir un for
Hola amigos
Tengo la siguiente duda... Tengo un ciclo que realiza cierto proceso, resulta que quiero mostrar el proceso paso a paso, es decir, iteración por iteración. por ejemplo for i :=0 to n-1 do begin {Lineas de algunos cálculos} .... {Mostrar ciertos resultados de los cálculos en un memobox}... {el proceso se continúa por ejemplo haciendo click en un botón} {Continuar ejecutando otras lineas del ciclo para hacer mas cálculos} .... {Mostrar ciertos resultados de los Nuevos calculos en un memobox}... {el proceso se continúa por ejemplo haciendo click en un botón} end; Alguien puede decirme como puedo hacer lo anterior? Gracias de antemano |
#2
|
|||
|
|||
Quizás esto?
memo.lines.Add('lo que quiera añadir'); |
#3
|
|||
|
|||
En realidad lo que quiero es detener la ejecución del ciclo.
Como un "PARE" en cierta linea... Ejecutar una form con un botón.... esperar a que se de click sobre el boton.... y solo despues del click "CONTINUE" con la ejecución del ciclo.... |
#4
|
||||
|
||||
Además de lo que dice el amigo Cadetill, tendrías que poner dentro del bucle:
Código:
Application.ProcessMessages Mirate la ayuda sobre Continue y también como abandonar un bucle en el supuesto de quisieras abandonar el ciclo antes de que finalice. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
|||
|
|||
Vale, creo que no te entendí
a ver ahora (y teniendo en cuenta lo comentado por Marcos.....) Código:
var Preguntar: boolean; procedure TMiForm.ProcesoQueSeaQueHaceBucle(parametros); begin Preguntar := false; for i :=0 to n-1 do begin if Preguntar then Application.MessageBox('Desea cancelar el proceso?', 'Atención', MB_APPLMODAL or MB_ICONQUESTION or MB_YESNO) = mrYes then Break; // proceso del bucle Application.ProcessMessages; end; end; procedure TMiForm.BotonClick(Sender: TObject); begin Preguntar := true; end; |
#6
|
||||
|
||||
¿Qué no basta mostrar el formulario del memo con ShowModal? Juaría que con esto, sin continue ni ProcessMessages bastaría.
// Saludos |
#7
|
||||
|
||||
Te me adelantaste cadetill. Pero reitero lo dicho. No considero necesario ProcessMessages. Dicha línea no se ejecutará mientras esté desplegada la ventana modal. Y en el supuesto de que se ejecutara querría decir que el ciclo sigue corriendo mientras se muestra en lugar de pausarse como se requiere.
// Saludos |
#8
|
|||
|
|||
Cita:
|
|
|
|