[Lazarus-es] about delay
Jesus Reyes
jesusrmx en yahoo.com.mx
Mar Mayo 21 02:56:16 CEST 2013
--- El lun 20-may-13, Héctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribió:
De: Héctor F. Fiandor Rosario <hfiandor en infomed.sld.cu>
Asunto: Re: [Lazarus-es] about delay
A: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org>
Fecha: lunes, 20 de mayo de 2013, 21:27
Estimados colegas, para cerrar este capitulo les
contare que mi interes es que aparezcan, al terminar un grupo de operaciones, un
letrero que lo indique, hasta que se realize la última.
redacte un label y cambiandole el caption, debia
salir el mensaje.
finalmente, siguiendo las indicaciones de
german, ulises y otros y la cosa quedo así
lSecuencia.Caption:='Terminé prorrateo de
indirectos Com';
Application.ProcessMessages;
sleep(3000);
y con esto, hizo lo que quería, que apareciera el mensaje
y diera un tiempo para leerlo, y despues siguiera trabajando hasta el
proximo mensaje.
Hola Héctor,
Otra forma de hacerlo es usar un TMemo en lugar de un TLabel, en un label solo puedes mostrar un mensaje de avance a la vez (y quizás es por eso que quieres introducir una demora y dar la oportunidad de leer el mensaje antes del siguiente), en un memo puedes ir agregando líneas de texto con el mensaje de avance conforme las etapas en tus cálculos vayan progresando, por ejemplo:
En lugar de:
lSecuencia.Caption:='Terminé prorrateo de
indirectos Com';
Application.ProcessMessages;
sleep(3000);
Harías:
Memo.Lines.Add(
'Terminé prorrateo de
indirectos Com');
Application.ProcessMessages;
Al final quizás quieras agregar un método "log" a tu formulario, algo como esto:
procedure Form1.Log(s:string);
begin
Memo.Lines.Add(s);
Application.ProcessMessages;
end;
Luego al finalizar cada etapa harías algo como esto:
Log(
'Terminé prorrateo de
indirectos Com');
La ventaja que tiene esto es que no introduces demoras artificiales en el código y el usuario aun puede ver que los cálculos se van haciendo a la velocidad real. La desventaja es que probablemente un TMemo ocupe mas espacio que un TLabel :)
Saludos.
Jesus Reyes A.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20130520/b9e451ce/attachment-0002.html>
More information about the Lazarus-es
mailing list