FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
como saber el tamaño de un fichero
hola loquillos,tengo un pequeño problema que necesito que me ayuden a resolver, estoy haciendo un copiador, y necesito saber el tamaño de los archivos, cosa que no puedo hacer ya que el tamaño de un archivo de 7gb en bytes es enorme y no tengo un tipo de variable que pueda soportar números tan grande, estuve probando con el long double pero cuando lo saco por el label lo que me sale es -1, no se si esto es problema de conversión o es que este tipo de dato no soporta números tan grande.
Yo creo que windows ya tiene almacenado en algún lugar el tamaño de cada archivo, conjuntamente con la fecha en que se creo y etc. me gustaría saber como puedo acceder a esa información. les agradecería mucho si me ayudaran lo mas rápido posible. |
#2
|
||||
|
||||
Esto me funciona con fichero de más de 3gb (el primero que he encontrado por mi disco):
Y con este procedimiento puedes cambiarlo a diferentes unidades:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
tio, yo necesito ese mismo ejemplo pero en C++ bulider y pruevalo con un fichero de mas de 5 gb, porque lo que yo hice tambien funciona con ficheros de este tamaño pero no de mas de 5 gb. y yo necesito saber el tamaño de un fichero sin inportar su tamaño, como si este fuera de 40 gb.
|
#5
|
||||
|
||||
Ok, en este caso hay que calcularlo "por partes"; Modifica el código y utiliza el siguiente:
Si lo pruebas ahora con un fichero de grande (en mi caso con uno de más de 7 gb) obtengo esto:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
|||
|
|||
Cita:
|
#7
|
|||
|
|||
hola tio, acabo de probar tu codigo y me da error en Int64Rec(Size).Lo y Int64Rec(Size).Hi, el error dice; {DCC ERROR} Unit1.pas(41): E2018 Record, objet or class type required.
|
#8
|
||||
|
||||
Cita:
Saludos. |
#9
|
|||
|
|||
tu codigo yo lo probe en delphi 2010, y me dio error. que tu cres de esto.
|
#10
|
||||
|
||||
Estamos hablando de C++.
Yo tenía código en Delphi y lo coloqué asumiendo que tal vez le serviría; Supongo que si no ha dicho nada es porque más o menos lo entiende o lo puede traducir.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#11
|
||||
|
||||
Cita:
Te subo el proyecto.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#12
|
|||
|
|||
gracias man
|
#13
|
||||
|
||||
Dos funciones en C:
Código:
__int64 GetFileSize(char *FileName) { WIN32_FIND_DATA Data; HANDLE hFile = ::FindFirstFile(FileName, &Data); if(hFile==(HANDLE)-1) return 0; __int64 S = Data.nFileSizeHigh; S = (S << 32) | Data.nFileSizeLow; FindClose(hFile); return S; } //----------------------------------------------------------------------- __int64 _GetFileSize(char *FileName) { int hFile= _lopen(FileName, 0); __int64 S; if (!GetFileSizeEx((HANDLE)hFile, (PLARGE_INTEGER)&S)) S=0; _lclose(hFile); return S; } Saludos. Última edición por escafandra fecha: 12-08-2010 a las 18:26:27. |
#14
|
|||
|
|||
gracias men.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como saber si un fichero está abierto | RaulChemical | API de Windows | 13 | 30-12-2008 17:31:42 |
Cómo saber si un fichero esta marcado de sólo lectura ? | David | Varios | 2 | 13-08-2008 16:20:19 |
como saber y cambiar el tamaño a una imagen | Negriz | C++ Builder | 10 | 09-06-2008 00:00:21 |
Como controlar el tamaño de un fichero subido al servidor | lazar | PHP | 7 | 06-03-2007 01:27:22 |
Quisiera saber como capturo el tamaño de un directorio. | JOSE NARANJO | API de Windows | 1 | 25-11-2005 23:26:04 |
|