Search code examples
delphidelphi-7

Delphi - How to get total disk space of Windows drive?


I need to get total disk space in Delphi program.


Solution

  • Use DiskSize and DiskFree functions for this problem. ComboBox1 contains a list of drives letters.

    var
      Disk: Integer;
    ...
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Total, Free: LongInt;
    begin
      Total:=DiskSize(Disk) div 1024;
      Free:=DiskFree(Disk) div 1024;
      Gauge1.MaxValue:=Total;
      Gauge1.Progress:=Free;
      Label1.Caption:='Total size - '+IntToStr(Total);
      Label2.Caption:='Free - '+IntToStr(Free);
    end;
    
    procedure TForm1.ComboBox1Change(Sender: TObject);
    begin
      Disk:=ComboBox1.ItemIndex+1;
    end;