Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Barra de Progress en Carga de Imagen (https://www.clubdelphi.com/foros/showthread.php?t=88808)

shoulder 04-08-2015 14:59:10

Barra de Progress en Carga de Imagen
 
Hola hay alguna forma de mostrar un Progress o reloj de arena cuando cargo una Timage?.

Código Delphi [-]
Image1.Picture.loadFromFile(archivo);

Gracias.

ecfisa 04-08-2015 15:47:30

Hola shoulder.

Saludos :)

shoulder 04-08-2015 19:46:08

Cargar Imagen
 
Gracias Ecfisa, pero no me funciona el tema que yo estoy usando el
Código Delphi [-]
use itfPDFImage
.....

Image1.Picture.loadFromFile(archivo);
TPDFImage(Image1.Picture.Graphic).LastPage;
todo dentro de un scrollbox

Y en el Image1.on Progress hasta probe en escribir un mensaje, nunca llega ahi. Cargo un pdf.

Gracias.

Casimiro Notevi 04-08-2015 20:18:22

¿Qué tiene que ver una cosa con otra? :confused:
Preguntas por una barra de progreso.

shoulder 04-08-2015 20:23:09

Cierto que pregunto por una barra de progreso, pero la ignora, probe como un ejemplo escribir en onprogress del Image1 un mensaje para ver que pasaba pero nunca pasa por ahi por eso es que no me carga el Progressbar.

Gracias.

Casimiro Notevi 04-08-2015 20:28:54

Debes poner tu código, porque así es imposible ayudar.
¿Qué es un itfPDFImage?

shoulder 04-08-2015 20:38:12

Cargar Imagen
 
El tpdfimage es una clase para pdfs dentro de una TImage (The class TPDFImage registers as a graphics class for PDF files with TPicture. With this class you can open a PDF
in the same way you do with other graphics in delphi. There are advanced features available for selecting the page to load and to change the resolution / zoom factor.). El use es itfPDFImage y funciona muy bien. El tema que se carga el archivo pdf en Timage.

Este es el codigo :
Código Delphi [-]

 Image1.Picture.loadFromFile(archivo);
 TPDFImage(Image1.Picture.Graphic).LastPage;
 Label2.Caption:='Página Actual : ' + IntToStr(TPDFImage(Image1.Picture.Graphic).CurrentPage);
 Label1.Caption:='Páginas : ' + IntToStr(TPDFImage(Image1.Picture.Graphic).Pagecount);
 Scrollbar1.SetFocus;


Pero el archivo como no es un jpeg es un pdf, por alguna razon el Image1.onprogress lo ignora.

ecfisa 04-08-2015 21:25:01

Hola shoulder.

¿ El contenido de la variable "archivo" es el nombre de un archivo .PDF ?

Saludos :)

shoulder 04-08-2015 21:51:46

Cargar Imagen
 
Sisi es un archivo pdf, lo que encontre que dentro de la clase es
Código Delphi [-]
TPDFImage(Image1.Picture.Graphic).OnProgress

Tendria que ver como setearlo pero me da error cuando lo programo.

ecfisa 04-08-2015 22:17:02

Hola shoulder.

La verdad no sé como podrías implementarlo... Es que en realidad no se trata del evento OnProgress de un TImage sino de otro (un TPDFImage) y desconozco todo sobre ese componente.

Saludos :)

shoulder 05-08-2015 16:54:53

Cargar Imagen
 
Gracias igual Ecfisa, encontre que el onprogress no funciona fuera del formato jpeg y verdaderamente no encontre nada en la red como se hace un progreso o una imagen de espera cuando se carga un pdf.

Casimiro Notevi 05-08-2015 17:16:39

Pon un icono animado antes y lo quitas después. No es lo mismo, pero "da el pego",

Código Delphi [-]
 iconoanimado.Show;
 Image1.Picture.loadFromFile(archivo);
 TPDFImage(Image1.Picture.Graphic).LastPage;
 Label2.Caption:='Página Actual : ' + IntToStr(TPDFImage(Image1.Picture.Graphic).CurrentPage);
 Label1.Caption:='Páginas : ' + IntToStr(TPDFImage(Image1.Picture.Graphic).Pagecount);
 Scrollbar1.SetFocus;
 iconoanimado.Hide;

shoulder 05-08-2015 20:57:13

Cargar Imagen
 
Gracias Funciono al menos se dan cuenta que no se bloqueo el sistema.

Código Delphi [-]
 Screen.Cursor := crAPPStart;
 Image1.Picture.loadFromFile(archivo);
 TPDFImage(Image1.Picture.Graphic).LastPage;
 Label2.Caption:='Página Actual : ' + IntToStr(TPDFImage(Image1.Picture.Graphic).CurrentPage);
 Label1.Caption:='Páginas : ' + IntToStr(TPDFImage(Image1.Picture.Graphic).Pagecount);
 //bitbtn6.Click;
 Label3.Visible := False;
 Scrollbar1.SetFocus;
 Screen.Cursor := crDefault;

nlsgarcia 05-08-2015 21:56:05

shoulder,

Cita:

Empezado por shoulder
...¿Hay alguna forma de mostrar un Progress o reloj de arena cuando cargo una Timage?...

:rolleyes:

Revisa esta información:
Espero sea útil :)

Nelson.

ecfisa 06-08-2015 11:24:15

Hola.

Creo que el principal escollo con que se encuentra shoulder para usar una gráfica de progreso con el componente TPDFImage, es que no puede acceder al evento del cuál obtener el valor actual del proceso.

Pienso que mientras se carezca de dicha posibilidad, la alternativa de Casimiro no solo es buena, sino que pareciera la única.

Saludos :)

shoulder 06-08-2015 16:18:35

Cargar Imagen
 
Las dos alternativas son excelentes, me sirvio, recomiendo el componente es rapido y se puede crear una buena ventana lectora de PDF el TPDFImagen.
Gracias.

ecfisa 06-08-2015 16:51:18

Hola shoulder.
Cita:

Empezado por shoulder (Mensaje 495280)
Las dos alternativas son excelentes, me sirvio,

Veo que quedó confusa la idea que intentaba exponer, la barra de progreso infinito propuesta por nlsgarcia, también es muy buena opción.
Pero cumple la misma función que la propuesta de Casimiro (indicar que hay una espera). La acción no puede cuantificarse, ya que al no disponer del valor actual del progreso ni del valor final, el uso de un indicador de progreso carece de sentido.
Cita:

Empezado por shoulder (Mensaje 495280)
recomiendo el componente es rapido y se puede crear una buena ventana lectora de PDF el TPDFImagen.
Gracias.

Entonces estaría bueno que pusieras mas información sobre él (enlace a la descarga, si es o no de pago, etc.) así podemos probarlo.

Saludos :)

nlsgarcia 06-08-2015 19:31:09

shoulder,

Cita:

Empezado por ecfisa
...al no disponer del valor actual del progreso ni del valor final, el uso de un indicador de progreso carece de sentido...

:rolleyes:

Revisa esta información:



Tomado de : About Progress Bar Controls

Espero sea útil :)

Nelson.

shoulder 06-08-2015 19:55:52

Cargar Imagen
 
Aca les dejo el enlace, es gratuito y viene con manual. Permite manejar la impresora, zoom, cambiar paginas y leer las mismas y aumentar la resolucion.

http://www.itf-it.com/index.php/en/e...9-en-tpdfimage

ecfisa 06-08-2015 23:18:09

Hola.
Cita:

Empezado por nlsgarcia (Mensaje 495289)
shoulder,
Cita:

Empezado por ecfisa
...al no disponer del valor actual del progreso ni del valor final, el uso de un indicador de progreso carece de sentido...

:rolleyes:
...

Creo que sigo sin expresarme de modo correcto, voy a intentar explicar mi punto de otro modo.

La opción de una imagen animada, o una barra de desplazamiento infinita están basadas en el mismo concepto: Mostrar al usuario que se está desarrollando una tarea que llevará un tiempo indeterminado. Y en ese sentido ambas opciones (la de Casimiro y la de nlsgarcia) lo hacen perfectamente.
En la misma categoría caería mostrar un formulario con el mensaje "espere un momento mientras hago algo" y luego ocultarlo.

Sin embargo, una barra de progreso indica el avance o progreso que lleva una determinada tarea. Para la cuál, es necesario conocer el valor máximo alcanzable y el obtenido en un determinado punto temporal y es la relación del último valor con el primero la que indica el avance o progreso logrado.
A partir de la imposibilidad de conseguir dichos valores es que digo: "el uso de un indicador de progreso carece de sentido".

Saludos :)


La franja horaria es GMT +2. Ahora son las 06:25:17.

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