Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2013-05

about delay

11 messages · 6 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

German
to Héctor F. Fiandor Rosario: Estimados colegas: estoy trabajando en una aplicacion, en una unit donde se hacen varios…

Podes usar el comando delay() y como parametro le pones la cantidad de microsegundos de espera, por ejemplo delay(5000) seria una espera de 5 segundos.

Saludos!

German

El 18/05/2013 06:19 p.m., H�ctor F. Fiandor Rosario escribi�:

Show quoted text 19 lines
Estimados colegas: estoy trabajando en una aplicacion, en una unit donde se hacen varios calculos, uno detras de otro. tengo un label donde puedo escribir, al final de cada rutina de calculo, algo similar a esto: lSecuencia.caption:=�Termine el calculo 1�; pero necesito un comando que detenga el avance del programa por lo menos 500 milisegundos, para que de tiempo a leer mensaje del label. conozco que hay un comando Delay(), pero no se como usarlo. Si me pueden ayudar, se los voy a agradecer.� saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu <mailto:hfiandor en infomed.sld.cu> _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130518/6f1c3e2f/attachment.html>

Reply by email

Martin Gomez
to German

Para esos casos siempre me result� mejor usar DoEvents (VB6 o C#) o Application.ProcessMessages (Delphi), ya que lo que necesitas no es una pausa en tu proceso sino una indicaci�n de que hay que prestarle atenci�n a la interfaz gr�fica.

Si el calculo es demasiado largo, te recomiendo correrlo en un thread separado para que tu aplicaci�n no parezca congelarse.

2013/5/18 German <german_morre en yahoo.com.ar>

Show quoted text 41 lines
Podes usar el comando delay() y como parametro le pones la cantidad de microsegundos de espera, por ejemplo delay(5000) seria una espera de 5 segundos. Saludos! German El 18/05/2013 06:19 p.m., H�ctor F. Fiandor Rosario escribi�: Estimados colegas: estoy trabajando en una aplicacion, en una unit donde se hacen varios calculos, uno detras de otro. tengo un label donde puedo escribir, al final de cada rutina de calculo, algo similar a esto: lSecuencia.caption:=�Termine el calculo 1�; pero necesito un comando que detenga el avance del programa por lo menos 500 milisegundos, para que de tiempo a leer mensaje del label. conozco que hay un comando Delay(), pero no se como usarlo. Si me pueden ayudar, se los voy a agradecer.� saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu _______________________________________________ Lazarus-es mailing listLazarus-es en lists.lazarus.freepascal.orghttp://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Try not to become a man of success but rather to become a man of value. *Albert Einstein* ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130518/11ffcef4/attachment.html>

Reply by email

Héctor F. Fiandor Rosario

Estimados colegas:
estoy trabajando en una aplicacion, en una unit donde se hacen varios calculos, uno detras de otro.

tengo un label donde puedo escribir, al final de cada rutina de calculo, algo similar a esto:
lSecuencia.caption:=�Termine el calculo 1�;

pero necesito un comando que detenga el avance del programa por lo menos 500 milisegundos, para que de tiempo a leer mensaje del label.

conozco que hay un comando Delay(), pero no se como usarlo. Si me pueden ayudar, se los voy a agradecer.�

saludos,

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistem a Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130518/d9d397ab/attachment.html>

Reply by email

Ulises Díaz
to Héctor F. Fiandor Rosario: Estimado German y otros colegas: Estoy usando la version del Lazarus 1.0.4 parece que…
HolaC�mo respondieron anteriormente  Application.ProcessMessages es la mejor soluci�n. Colocandola en el lugar correcto el caption se ir� actualizando.
Ejemplo...Instrucciones....ISecuencia.caption:='texto';Application.ProcessMessages;...Instrucciones...
Earlier message 39 lines
From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Sat, 18 May 2013 16:13:51 -1200 Subject: Re: [Lazarus-es] about delay Estimado German y otros colegas: Estoy usando la version del Lazarus 1.0.4 parece que hago algo mal, porque me da un error. yo escribo: lSecuencia.Caption:='Termine traspaso por no ingresos'; Delay(10000); y me dice Identifier not found "Delay" parece que me tienes que indicar completo como hacerlo. Ya probe con lSecuencia.Delay y no funciona. espero tu ayuda, mientrs tanto estoy usando un ShowMessagePos(); que realmente no es elegante. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu

Reply by email

Alonso Cárdenas Márquez
to Ulises Díaz

Tambi�n podr�as utilizar sleep(milisegundos). Si no estoy equivocado es parte de la unit sysutils

Ejemplo:

Para una pausa de tres segundos

sleep(3000);

Saludos

El 18 de mayo de 2013 17:11, Ulises D�az <udiaz60 en hotmail.com> escribi�:

Show quoted text 52 lines
Hola C�mo respondieron anteriormente Application.ProcessMessages es la mejor soluci�n. Colocandola en el lugar correcto el caption se ir� actualizando. Ejemplo ...Instrucciones.... ISecuencia.caption:='texto'; Application.ProcessMessages; ...Instrucciones... ------------------------------ From: hfiandor en infomed.sld.cu To: lazarus-es en lists.lazarus.freepascal.org Date: Sat, 18 May 2013 16:13:51 -1200 Subject: Re: [Lazarus-es] about delay Estimado German y otros colegas: Estoy usando la version del Lazarus 1.0.4 parece que hago algo mal, porque me da un error. yo escribo: lSecuencia.Caption:='Termine traspaso por no ingresos'; Delay(10000); y me dice Identifier not found "Delay" parece que me tienes que indicar completo como hacerlo. Ya probe con lSecuencia.Delay y no funciona. espero tu ayuda, mientrs tanto estoy usando un ShowMessagePos(); que realmente no es elegante. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130518/f250126e/attachment.html>

Reply by email

German
to Héctor F. Fiandor Rosario: Estimado German y otros colegas: Estoy usando la version del Lazarus 1.0.4 parece que…

Mil perdones! la funcion es "sleep" no delay! ja, por eso no te funciono.

El 19/05/2013 01:13 a.m., H�ctor F. Fiandor Rosario escribi�:

Show quoted text 20 lines
Estimado German y otros colegas: Estoy usando la version del Lazarus 1.0.4 parece que hago algo mal, porque me da un error. yo escribo: lSecuencia.Caption:='Termine traspaso por no ingresos'; Delay(10000); y me dice Identifier not found "Delay" parece que me tienes que indicar completo como hacerlo. Ya probe con lSecuencia.Delay y no funciona. espero tu ayuda, mientrs tanto estoy usando un ShowMessagePos(); que realmente no es elegante. saludos, Ing. H�ctor F. Fiandor Rosario hfiandor en infomed.sld.cu <mailto:hfiandor en infomed.sld.cu> _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130518/894818b8/attachment.html>

Reply by email

Héctor F. Fiandor Rosario
to Martin Gomez: Para esos casos siempre me result� mejor usar DoEvents (VB6 o C#) o…

Estimados colegas, muchas gracias por su respuestas.

creo que con el delay() debe ser suficiente, le voy a poner un numero grande para ver el efecto.

saludos,

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Este mensaje le ha llegado mediante el servicio de correo electr onico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el comprom iso de usar el servicio a tales fines y cumplir con las regulaciones estable cidas Infomed: http://www.sld.cu/ ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130518/2fd6eaec/attachment.html>

Reply by email

Héctor F. Fiandor Rosario
to German: Podes usar el comando delay() y como parametro le pones la cantidad de microsegundos de…

Estimado German y otros colegas:

Estoy usando la version del Lazarus 1.0.4

parece que hago algo mal, porque me da un error.

yo escribo:

  lSecuencia.Caption:='Termine traspaso por no ingresos';
  Delay(10000);

y me dice Identifier not found "Delay"

parece que me tienes que indicar completo como hacerlo. Ya probe con lSecuencia.Delay y no funciona.

espero tu ayuda, mientrs tanto estoy usando un ShowMessagePos(); que realmente no es elegante.

saludos,

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistem a Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130518/a747ff08/attachment.html>

Reply by email

Jesus Reyes
to Héctor F. Fiandor Rosario: Estimados colegas, para cerrar este capitulo les contare que mi interes es que aparezcan,…

--- 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.freepascal.org/pipermail/lazarus-es/attachments/20130520/b9e451ce/attachment.html>

Reply by email

Héctor F. Fiandor Rosario
to German: Podes usar el comando delay() y como parametro le pones la cantidad de microsegundos de…

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.

quizas esto les sea util a otros, que como yo, no tienen mucha experiencia.

saludos y mi agradecimiento.

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistem a Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130520/1a15e9b9/attachment.html>

Reply by email

Héctor F. Fiandor Rosario
to Jesus Reyes: --- El lun 20-may-13, H�ctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribi�:

Estimado Reyes y dem�s colegas:

ante todo, mis saludos y los mejores deseos para todos.

ya implemente su ayuda y me quedo bien.

creo que mejor� enormemente.

saludos a todos,

Ing. H�ctor F. Fiandor Rosario
hfiandor en infomed.sld.cu

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistem a Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20130521/1ebdc0c0/attachment.html>

Reply by email