Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Tamaño de archivo (https://www.clubdelphi.com/foros/showthread.php?t=8399)

ckaki 20-03-2004 17:32:20

Tamaño de archivo
 
Utilizo este código para obtener el tamaño de un archivo en bytes

Function TMainForm.byte(archivo:string):LongInt;
Var
Fichero: File;
Tamanyo: LongInt;
Begin
AssignFile(Fichero,archivo);
Reset(Fichero,1);
Tamanyo := FileSize(Fichero);
CloseFile(Fichero);
Result := Tamanyo;
end;

perso sucede que al estar en uso me da un error: Acceso denegado.

alguna idea

desde ya mil gracias

DarkByte 20-03-2004 18:11:57

¿Cerrar el programa que está usando archivo?. :d como un dicho que apareció por los foros: si no puede sorprender con brillanteces, desconcierta con gilipolleces...

__cadetill 20-03-2004 19:42:24

sacado de Trucomanía (ver truco 515)

Código:

procedure TForm1.Button1Click(Sender: TObject);
  function cuantosbytes(archivo: string): string;
  var
    FHandle: integer;
  begin
    FHandle := FileOpen(archivo, 0);
    try
      Result := floattostr(getfilesize(FHandle,nil));
    finally
      FileClose(FHandle);
    end;
  end;
begin
  Caption:=cuantosbytes('Mi_Archivo');
end;


roman 20-03-2004 21:49:26

Cita:

Empezado por DarkByte
¿Cerrar el programa que está usando archivo

Creo que este no es el punto. Me parece que el error es que el archivo del cual intenta obtener el tamaño está siendo usado por otra aplicación. Fuera de estas circunstancias es pefectamente normal abrir el archivo para ver sus propiedades y luego cerrarlo.

Creo que incluso el método de cadetill dará problemas si el archivo ya se encuentra abierto en modo exclusivo.

// Saludos

__cadetill 20-03-2004 22:28:51

Cita:

Empezado por roman
Creo que incluso el método de cadetill dará problemas si el archivo ya se encuentra abierto en modo exclusivo.

En modo exclusivo no lo he probado, pero abierto sí que lo tenía en el momento de la prueba


La franja horaria es GMT +2. Ahora son las 05:10:52.

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