FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Propiedades de Ficheros
Antes de nada saludos a todos.
Y ahora al tema: Me estoy iniciando en Delphi,(un poco de paciencia) y en estos momentos estoy con el tema de ficheros. Estoy escribiendo un programa en el que pretendo obtener las propiedades de un fichero que he seleccionado de un Tshelllistview linkado a un Tshelltreeview; obtener la ruta y extraer el nombre y la extension no me da problemas; lo tengo cuando deseo obtener su tamaño; el código que utilizo es el siguiente: Esta última línea es la que me da el problema: siempre obtengo el mismo tamaño de archivo:4294967295 independientemente del tamaño que tenga el archivo seleccionado. Tengo entendido que el registro TbyHandleFileinformation posee dos palabras: nFileSizeHigh y nFilesizeLow del tipo DWORD pero no tengo ni idea de como manejarlas y ni mucho menos lograr un tipo entero que me de el tamaño real del fichero. ¿Alguien puede ayudarme con esto? ¿que otras formas existen de obtener las propiedades de un fichero? Gracias de antemano. Nota: utilizo la version de Delphi 2006 Última edición por dec fecha: 13-04-2006 a las 21:13:03. |
#2
|
||||
|
||||
Hola, bienvenido al Club. Te recomiendo que leas la guia de estilo del foro.
La funcion FindFirst y FindNext te van a ser muy utiles para el manejo de archivos. Bytes... |
#3
|
||||
|
||||
FileSizeByName(ShellListView1.SelectedFolder.PathName);
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). |
#4
|
|||
|
|||
FilesizebyName me da el siguiente error al compilar: Identificador no declarado; segun he leido tengo que declarar idglobal en la cláusula Uses
pero aún así me sigue dando el mismo error; ¿Que es lo que hago mal?. No obstante he encontrado este código http://www.delphi3000.com/articles/article_2686.asp que funciona muy bién. //======================================================== function GetFileSize(FileName: String): Integer; var FS: TFileStream; begin try FS := TFileStream.Create(Filename, fmOpenRead); except Result := -1; end; if Result <> -1 then Result := FS.Size; FS.Free; end; //======================================================== ========================================================== Example of use: ========================================================== procedure TForm1.FormCreate(Sender: TObject); begin ShowMessage(IntToStr(GetFileSize('c:\prova.pdf'))); end; ========================================================== Saludos. |
#5
|
||||
|
||||
Una vez q agregues la libreria (o unidad, no se como le digan) no deberia dar el error.
la otra manera q plasmas tambien es vàlida
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). |
#6
|
||||
|
||||
Deberías declarar el Resultado como Int64, por aquello de archivos grandes.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ficheros .dat y .idx | fjcg02 | Tablas planas | 11 | 29-01-2015 14:38:36 |
Uso de ficheros CSV | ramonibk | Varios | 6 | 30-12-2004 10:28:35 |
Ficheros *.dcu | neon | Varios | 1 | 24-08-2004 11:19:55 |
ficheros idx y dat | User_Baja_2 | Varios | 1 | 26-05-2004 22:00:40 |
Ficheros .dat & .idx | maro | Conexión con bases de datos | 4 | 10-02-2004 19:35:35 |
|