Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Progresbar Sincronizado con un proceso (https://www.clubdelphi.com/foros/showthread.php?t=27864)

Coco_jac 02-12-2005 03:12:17

Progresbar Sincronizado con un proceso
 
Hola amigos del foro, tengo un inconveniente.Tengo un proceso el cual tarda un buen tiempo, cosa que cansaria ver a cualquier usuario, por eso pense en poner un progresbar, de manara que pueda ver el avance, pero ahi esta mi duda como puedo sincronizar el tiempo del proceso con dicho control. de manera que cuando finalize el proceso se vea el progresbar pintarse totalmente


Espero sus comentarios......
Gracias.

dec 02-12-2005 03:26:10

Hola,

Dependerá del tipo del proceso. Si este se desarrollara dentro de un bucle, por poner un caso, podrías quizás valerte de la variable "contador" que utilizes en el bucle para ir avanzando posiciones en la barra de progreso. También podrías emplear el método "StepIt" (creo que se llama de esta forma). El caso es que deberías conocer el máximo que podría alcanzar la variable "contador", de tal forma que dicho máximo correspondiera con el de la propia barra de progreso.

También existen barras de progreso "sin fin", de las que llegan al final y vuelven al principio, al final, al principio, o algo parecido a la barra de progreso que aparece en la entrada a Windows XP, cuando inicias el ordenador, no sé si lo has visto alguna vez. Se comprende la idea: cuando no se conoce un máximo ni hay forma de avanzar la posición de una barra de progreso, suelen emplearse el tipo de barras que he comentado que no tienen "fin" y/o también imágenes animadas, animaciones, vídeos...

A veces también encuentras simplemente un mensaje al usuario con un texto parecido a "menos de un minuto..." para indicar un determinado proceso: el programa Nero así lo hace cuando borras un disco re-grabable "rápidamente". Se supone, en este caso, que la tarea no va a llevar más tiempo, como ocurre: incluso se muestra una barra de progreso, pero esta nunca llega al final: se tardan unos 30 segundos en borrar el disco "rápidamente".

Si el proceso en cuestión tarda unos diez segundos, ni te molestes en mostrar una barra de progreso u otra cosa similar: podría bastar con cambiar el cursor para que mostrara el "reloj de arena" que suele en estos casos mostrarse. Con volverlo a cambiar a su estado "original" (o por defecto) al terminar el proceso, santas pascuas. ;)


La franja horaria es GMT +2. Ahora son las 15:09:03.

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