Drives - obter disk free e size |
Top Previous Next |
|
Como obter o espaço total e livre de um disco?
Coloque no uses: Windows
{ - Coloque um memo (TMemo) no form; - Coloque um botão e altere seu OnClick como abaixo: }
procedure TForm1.Button1Click(Sender: TObject); var SetoresPorAgrup, BytesPorSetor, AgrupLivres, TotalAgrup: DWord; begin Memo1.Clear; if GetDiskFreeSpace('C:\', SetoresPorAgrup, BytesPorSetor, AgrupLivres, TotalAgrup) then with Memo1.Lines do begin Add('Setores por agrupamento: ' + IntToStr(SetoresPorAgrup)); Add('Bytes por setor : ' + IntToStr(BytesPorSetor)); Add('Agrupamentos livres : ' + IntToStr(AgrupLivres)); Add('Total de agrupamentos : ' + IntToStr(TotalAgrup)); Add('----- Resumo -----'); Add('Total de bytes : ' + IntToStr(TotalAgrup * SetoresPorAgrup * BytesPorSetor)); Add('Bytes livres : ' + IntToStr(AgrupLivres * SetoresPorAgrup * BytesPorSetor)); end; end;
{ O exemplo acima retorna as medidas em Bytes, Setores e Agrupamentos. Se preferir algo mais simples, use funções do Delphi. Veja: }
Memo1.Lines.Add('Total de bytes: ' + IntToStr(DiskSize(3))); Memo1.Lines.Add('Bytes livres : ' + IntToStr(DiskFree(3)));
{ Onde o parâmetro (3) é o número da unidade, sendo 1=A, 2=B, 3=C, ... }
Observações:
Para usar as funções DiskSize e DiskFree coloque SysUtils em uses. |