Ver Mensaje Individual
  #3  
Antiguo 24-10-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Otra opción es usar la función API GetDiskFreeSpaceEx.

Código Delphi [-]
...
procedure GetDiskInfoSpace( Disk: string; var TotalBytes, FreeBytes: Int64 );
const
  GB = 1024*1024*1024;
begin
  Disk := IncludeTrailingPathDelimiter(Disk);
  if not GetDiskFreeSpaceEx(PChar(Disk), FreeBytes, TotalBytes, nil) then
    raise Exception.Create( SysErrorMessage(GetLastError));
  TotalBytes := TotalBytes div GB;
  FreeBytes  := FreeBytes div GB;
end;

Ejemplo de uso:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  FreeBytes,
  TotalBytes: Int64;
begin
  GetDiskInfoSpace('C:\', TotalBytes, FreeBytes);
  ShowMessageFmt('Capacidad: %d Gb. %sEspacio libre: %d Gb.', [  TotalBytes, #$A, FreeBytes  ]);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 26-10-2017 a las 15:01:05.
Responder Con Cita