Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mostrar ProgressBar o GIF Animado Mientras Se Llena/Lee CliendDataSet (https://www.clubdelphi.com/foros/showthread.php?t=78881)

Beaker_ 22-05-2012 23:02:57

Mostrar ProgressBar o GIF Animado Mientras Se Llena/Lee CliendDataSet
 
Que tal, probablemente este es un tema ya algo común, he buscado y encontrado algunas cosas, pero nada concreto y/o que me pueda ayudar.
La cuestión es la siguiente: tengo un ClientDataSet, al cual le cargo datos y/o lo leo. Lo que quisiera hacer es que mientras lo vaya leyendo o cargando, me muestre en una ventana aparte, el progreso de la lectura del ClientDataSet, cuánto falta y cuando haya terminado de leer o cargar el ClientDataSet, cerrar la ventana del ProgressBar.
No sé si sea posible y/o que tan complicado y si alguién me pudiera y quisiera ayudar. No tengo ni la menor idea de cómo saber cuánto falta para que termine de leer el ClientDataSet.
Otra cosa que tengo en mente es lo mismo, pero en vez de usar un ProgressBar, mostrar un GIF animado que dijera CARGANDO o algo así, sólo que no sé si se pueden cargar GIFs animados en DELPHI y cómo saber cuando se termine de leer el ClientDataSet.
Les agradezco mucho su tiempo y su atención

ecfisa 22-05-2012 23:23:48

Hola Beaker_.

Con respecto a mostrar un Gif animado, creo que este enlace te será útil.

Saludos.

Beaker_ 23-05-2012 16:14:16

Muchas gracias, acabo de revisar el post y es muy parecido a lo que necesito con GIF.
Esto fue lo que hice: cargué la imagen en una nueva Forma, y antes de empezar a agregar deseo mostrar la forma, y cuando termine de agregar, destruyo la forma.
El problema es que, si lo hago usando la propiedad Visible de la forma, me la muestra, pero no me muestra el GIF, aunque si se cierra cuando termina de leer el ClientDataSet, si lo hago con la propiedad Show pasa lo mismo, si lo hago con la propiedad Showmodal si muestra el GIF, el problema es que usando esta propiedad, no empieza a leer/cargar el ClientDataSet hasta que cierre la ventana yo...

ecfisa 23-05-2012 17:05:09

Hola.

Creo que sería mas simple si utilizaras por ejemplo un TPanel inicialmente invisible, con el TImagen dentro, lo hicieras visible al comenzar la carga y lo ocultaras al finalizar.

Pero si deseas utilizar un form, creo que podrías hacer:

Form1
Código Delphi [-]
...
uses Unit2;

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  Form2:= TForm2.Create(Self);
  try
    Form2.Show;
    // Aquí el código de la copia (o llamada al procedimiento de copia)
    for i:= 1 to 1000 do
    begin
      Application.ProcessMessages;  // Es importante que el procedimiento incluya esta línea
      Sleep(10)
    end;
  finally
    Form2.Free
  end
end;
...

Form2
Código Delphi [-]
...
uses GIFImage;

procedure TForm2.FormCreate(Sender: TObject);
begin
  Image1.Align:= alClient;
  Image1.Stretch:= True;
end;

procedure TForm2.FormShow(Sender: TObject);
begin
  Image1.Picture.LoadFromFile('C:\TU_RUTA\TU_GIFANIMADO.GIF');
end;
...

Saludos.

Casimiro Notevi 23-05-2012 17:05:51

¿Informas, preguntas, comentas?, creo que no se ha entendido bien lo que has querido decir :)

A buen entendedor... y ecfisa lo ha entendido, parece ;)

ElDioni 23-05-2012 17:06:50

¿Podrías poner el código que estás utilizando?

Saludos.

ElDioni 23-05-2012 17:08:33

:eek::eek:

Que compenetración, nos hemos puesto los tres de acuerdo a la hora de responder.

Saludos.


La franja horaria es GMT +2. Ahora son las 22:21:46.

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