![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
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... |
#2
|
||||
|
||||
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). |
#3
|
|||
|
|||
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. |
#4
|
||||
|
||||
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). |
#5
|
||||
|
||||
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. |
#6
|
|||
|
|||
Todas las respuestas me están siendo de gran ayuda.
Gracias a todos. Por cierto,¿Donde puñetas encuentro la guía de estilo?. Gracias otra vez. |
#7
|
|||
|
|||
El Código sigue siendo erróneo
En fin. El caso es que me gustaría comprender como delphi trata los ficheros via API-Windows.
![]() He escrito el siguiente código al objeto de tratar el tipo TByHandleFileInformation. Según "Los Tomos de delphi: Núcleo del Api-Win32" ed. Danysoft 1999 viene definido de la siguiente forma: TByHandleFileInformation = record dwFileAttributes: DWORD; ftCreationTime: TFileTime; ftLastAccessTime: TfileTime; ftLastWriteTime: TFileTime; dwVolumeSerialNumber: DWORD; nFileSizeHigh: DWORD; nFileSizeLow: DWORD; nNumberOfLinks: DWORD; nFileIndexHigh: DWORD; nFileIndexLow: DWORD; end. Pues bien, he escrito el siguiente código al objeto de comprobar el tipo: procedure TForm1.Button3Click(Sender: TObject); var hfile: integer; fileinfo: tbyhandlefileinformation; tamaño1,tamaño2:dword; begin tamaño1:=0; tamaño2:=0; hfile:=CreateFile(PChar(ShelllistView1.SelectedFolder.PathName), generic_read,0,@security,Open_existing,file_attribute_normal,0); if (hfile=invalid_handle_value) then Label1.Caption:='Handle Invalido' else Begin getfileinformationbyhandle(hfile,fileinfo); tamaño1:=fileinfo.nFileSizelow; tamaño2:=fileinfo.nfilesizeHigh; Label2.Caption:=inttostr(tamaño1); Label3.Caption:=inttostr(tamaño2); closehandle(hfile) end; tamaño1 siempre me da el valor 2.012.174.878 y tamaño2: 2.010.279.026 ![]() mientras que con el código de http://www.delphi3000.com/articles/article_2686.asp obtengo siempre el tamaño correcto. ¿Que es lo que está mal en el código anterior? Los tipos están declarados como DWORD, igual que en el registro, las variables inicializadas, el Handle no me da error, etc, etc. Gracias por vuestro valioso tiempo. Saludos. |
![]() |
|
|
![]() |
||||
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 |
![]() |
|