Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Progress Bar al compactar BD (https://www.clubdelphi.com/foros/showthread.php?t=18834)

Nbull 24-02-2005 10:02:48

Progress Bar al compactar BD
 
Hola, tengo un boton en mi aplicación que me compacta mi base de datos Access, lo que quiero es que me salga un Progress Bar cuando la compacte para saber cuanto va a tardar y no se como hacerlo, para compactarla uso el siguiente codigo:


Código Delphi [-]
 
procedure TForm1.CompactarBasedeDatos1Click(Sender: TObject);
begin
DatabaseCompact(SiniDir+'\datos\agenda.mdb');
end;
Un saludo y gracias.

Neftali [Germán.Estévez] 24-02-2005 13:56:01

No creo que puedas sacar en pantalla una barra de progreso, ya que no tienes nada de información (ni se puede obtener) del estado en que está la compactación de la Base de Datos. Lo más parecido que se puede hacer es visualizar un reloj o algo similar a una barra de progreso que se vaya moviendo continuamente de un lado a otro (como la de Windows al cargar, por ejemplo) que indican al usuario que el proceso no se ha colgado.

Nbull 24-02-2005 15:53:35

Gracias Neftalí, lo quería hacer por que como en Access cuando le das compactar base de datos en la statusBar te sale como un progress Bar que nos indica como va el proceso quería hacer algo similar.

Por cierto, como puedo saber que el proceso de compactación y reparación ha terminado y despues imprimir un mensaje en pantalla para avisar al usuario de que este proceso ha sido satisfactorio.O eso que me has dicho tu de la barra que se mueve de un lado a otro ¿Como se haría? ¿Se puede poner en un panel de la Status Bar?

Gracias Neftalí.Todos los dias os doy la murga ¿eh?haber si aprendo ya del "todo" y dejan de surgirme dudas a diario.:p

Un Saludo.

Delfino 24-02-2005 19:46:51

La JVCL tiene un componente q hace esto del progreso como el netscape navigator, se llama si no me falla la memoria GradientProgress..

Neftali [Germán.Estévez] 25-02-2005 10:11:26

Cita:

Empezado por Nbull
como puedo saber que el proceso de compactación y reparación ha terminado y despues imprimir un mensaje en pantalla para avisar al usuario de que este proceso ha sido satisfactorio.

El proceso si no recuerdo mal, es síncrono, es decir, que tu programa se va a quedar parado en esa línea hasta que acabe el proceso. Segun la función que estés utilizando basta con que el la línea siguiente pongas un IF...ELSE con dos mensajes, uno de si ha terminado correctamente y otro de si ha terminado de forma incorrrecta.

Nbull 28-02-2005 10:14:16

Gracias Neftalí, al final muestro un mensaje como tu me dijiste.


Un saludo


La franja horaria es GMT +2. Ahora son las 11:13:50.

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