Inclua na seção uses: Windows, SysUtils, Dialogs
O procedimento PegaTamanhoVolume retorna a quantidade de bytes total e livres através de variáveis passadas por referência. Copie e cole este procedimento logo abaixo da palavra implementation no teu código-fonte.
procedure PegaTamanhoVolume(const Diretorio: AnsiString; var BytesTotal, BytesLivres: Int64); begin if not GetDiskFreeSpaceEx(PAnsiChar(Diretorio), BytesLivres, BytesTotal, nil) then RaiseLastOSError; end;
Para testar, siga os passos a baixo:
procedure TForm1.Button1Click(Sender: TObject); var Total, Livre: Int64; begin PegaTamanhoVolume('C:\', Total, Livre); ShowMessage( 'Bytes total: ' + FormatFloat('#,##0', Total) + #13 + 'Bytes livres: ' + FormatFloat('#,##0', Livre)); end;
Esta dica funciona também com um diretório compartilhado na rede, bastando substituir o endereço da unidade de disco local (C:\) pelo endereço de uma pasta compartilhada no computador remoto (\\computador\pasta).
O conteúdo desta página pode ajudar alguém? Compartilhe!