![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Hola danielmj .
La propiedad Max del componente TControlBar soporta un rango de 0 a 2147483647. Si supera ese valor, pienso que tendrìas que dividir el tamaño del archivo a fines de representar el progreso en el TProgressBar. Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 26-09-2013 a las 22:06:37. |
#2
|
||||
|
||||
Hola ecfisa, la cuestion es que paso los 2 Gb (por ejemplo) de bytes a Kbytes dividiendo entre 1024, pero sigue sin funcionar.
Saludos. |
#3
|
||||
|
||||
Hola danielmj.
Para entender mejor la situación, de que modo no funciona ¿ Da un error, no avanza de posiciòn, se traba en algún punto ? Sería muy orientativo ver la parte del código donde supones que se produce el error (o no ejecuta la operación que deseada). Saludos. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
||||
|
||||
¿Qué quiere decir que no funciona?, ¿qué mensaje sale?, ¿qué problema exactamente tienes?, ¿cómo la usas?, ¿dónde está el código?...
EDITO: acabo de ver la respuesta de ecfisa, muy lógica, obviamente. |
#5
|
|||
|
|||
Transforma el valor de progreso a porcentaje y se acabo el tema...
Por ejem:
O algo así.... Saludos cordiales |
#6
|
||||
|
||||
Creo que el problema es la ecuación.
Debería ser: ((Largo_Archivo - Progreso_Leido) div 100) Saludos! |
#7
|
||||
|
||||
danielmj,
Cita:
El código anterior permite leer y copiar archivos de un tamaño en bytes de 2^63 - 1 = 9.223.372.036.854.775.807 (Int64), en porciones de 1024 bytes y mostrar el progreso del mismo por medio de un componente TProgressbar normalizado en un rango de 1 a 100. La clave esta en la ecuación: ProgressBar1.Position := Trunc((F1.Position/F1.Size)*100); Nota: El código fue probado con archivos menores a 2 GB y mayores a 2GB funcionando en todos los casos correctamente. Espero sea útil ![]() Nelson. Última edición por nlsgarcia fecha: 27-09-2013 a las 03:41:16. |
#8
|
|||
|
|||
Cita:
Si es transformar a porcentaje creo que está mal... Caso 1: Trunc(512/1024*100)=>50 % ![]() Caso 2: (1024-512) div 100 =>5 ? ![]() Saludos cordiales |
#9
|
||||
|
||||
Hola, gracias por los consejos, os pongo el código...
Lo que trato de conseguir es que el progreso de la barra avance segun se divida el tamaño del archivo entre la cantidad elegida, en este caso son 2Gb, pero podrian ser 4,6 u 8,2 etc... Es en los casos donde ese tamaño es = o > a 2Gb donde falla. Siempre que sea = o < a 1Gb todo funciona perfectamente includo el progreso de la barra. Y estoy como loco haciendo variaciones en la division. He probado a dividir los 2 Gb entre 1024 para pasarlo a Kbytes, sino me devuelve el mensaje "barra de progreso fuera de rango", he probado a dividir entre 1024 el tamaño del archivo y luego el resultado dividirlo entre los 2Gb div 1024 y el resultado de esto asignarlo a la propiedad Max de la barra, pero no consigo "sacar" archivos de 2Gb a partir del archivo original de 13 Gb (es un ejemplo), solo de 2Mb. O eso, o el mensaje de "... fuera de rango". Sé que el error debe estar entre el limite de progressbar.max y la/s divisiones, pero no consigo verlo por muchas vueltas que le doy. Saludos y gracias a todos. |
#10
|
||||
|
||||
danielmj,
Cita:
El código anterior lee un archivo de cualquier tamaño en porciones (MaxInt div 1024) y muestra su progreso en un componente TProgressBar normalizado en el rango de 1 a 100. Nota: La idea es mostrar el proceso de un archivo en función porcentual y no en divisiones de su tamaño original, lo cual se adapta a cualquier tamaño de archivo hasta un máximo de 2^63 - 1. Espero sea útil ![]() Nelson. Última edición por nlsgarcia fecha: 27-09-2013 a las 18:08:23. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Numero Mayor igual , Menor igual... Problema | ZiriusB | OOP | 12 | 27-06-2011 17:31:24 |
StringGrid con columnas igual al de un archivo Excel | J@ckie | Conexión con bases de datos | 3 | 01-03-2011 15:07:20 |
En red, las BD Access ¿en con SQLs, ¿viaja el archivo completo igual que paradox...? | Wonni | Tablas planas | 4 | 17-05-2007 18:21:01 |
FireBird.- Domino que sea entero mayor o igual a cero | sakuragi | Firebird e Interbase | 1 | 08-09-2006 11:10:09 |
La impresión no se ve igual | Newbie | Impresión | 2 | 06-11-2003 02:49:55 |
![]() |
|