ProgressBar

Quiero saber como hago para hacer un progressbar, que se ejecute mientras se cargue mi base de datos.

1 Respuesta

Respuesta
1
Esto tiene una penalización.
Primero tienes que conoce cual es la cantidad total de registros que vas a retraer por lo que te oblica a ejecutar un count(*) antes de efectuar el datawindow.
Luego puedes utiliar incluso el objeto que ya esta incluido en pb.
HProgresBar o VProgresBar
Estos objetos poseen propiedades como
MinPosition = Mínimo numero de la barra normalmente es 1 o 0
MaxPosition = Maximo numero de la barra, es aqui donde pones el resultado del count(*)
Position = intentar en la que va apuntando en el transcurso de la carga
SetStep = cada cuanto se pinta un nuevo punto en la barra
Luego de esto lo relacionas con el datawindow por medio de los eventos
RetrieveStart() --> antes de iniciar el retrieve del datawindow
RetrieveEnd() --> al finalizar el retrieve
RetrieveRow() --> este se dispara cada vez que se carga un registro y recibe un parámetro que indica el numero del row recibido.
Bien ya con estas herramientas podrías hacer lo siguiente
Incluir el progressbar en la parte central del datawindow pero con la propiedad visible en FALSE
o sea que cuando se ejecute la ventana este no se vera
En el evento retrievestart
Hacer un select count(*) de tus registros
y configurar las propiedades de progresbar
Minima = 1
Maxima = resultado del select count(*)
position = 1
y visible en TRUE
Luego en el evento RetrieveRow()
La propiedad position del progressbar igual a la variable que devuele el evento (row)
Y para finalizar
En el evento RetrieveEnd() del datawindow
regresas la propiedad visible del progressbar en FALSE

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas