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. |
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:
|
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.
|
|
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: |
Cita:
|
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.
|
Cita:
Saludos. |
tu codigo yo lo probe en delphi 2010, y me dio error. que tu cres de esto.
|
Cita:
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. |
1 Archivos Adjunto(s)
Cita:
Te subo el proyecto. |
gracias man
|
Dos funciones en C:
Código:
__int64 GetFileSize(char *FileName) Saludos. |
gracias men.
|
La franja horaria es GMT +2. Ahora son las 02:43:59. |
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