unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, System.ComponentModel, Borland.Vcl.StdCtrls, DiskInfo;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.nfm}

{procedure TForm1.FormCreate(Sender: TObject);
const BtoGB=1024*1024*1024;
var
  litera :Char;
  diskInfo :TDiskInfoStruct;
  calkowitaPrzestrzenGB,wolnaPrzestrzenGB,zajetaPrzestrzenGB :Double;
begin
for litera:='c' to 'z' do
  begin
  PobierzInformacjeODysku(litera,diskInfo);
  with diskInfo do
  if (czyDyskDostepny) then
    begin
    calkowitaPrzestrzenGB:=Round(100*calkowitaPrzestrzen/BtoGB)/100;
    wolnaPrzestrzenGB:=Round(100*wolnaPrzestrzen/BtoGB)/100;
    zajetaPrzestrzenGB:=Round(100*zajetaPrzestrzen/BtoGB)/100;
    ListBox1.Items.Add(
    //Lancuch dodawany do ListBox1
    UpCase(literaDysku)+': ('+typDyskuOpis+')   '+
    'zajete miejsce: '+FloatToStr(zajetaPrzestrzenGB)+
    '/'+FloatToStr(wolnaPrzestrzenGB)+
    '/'+FloatToStr(calkowitaPrzestrzenGB)+' GB, '+
    '('+IntToStr(100-wolnaPrzestrzenProcenty)+'%),    '+
    'nazwa woluminu: '+nazwaDysku+
    ', SN: '+IntToStr(numerSeryjnyDysku)+
    ', FAT: '+nazwaFAT);
    end;
  end;
end;}

procedure TForm1.FormCreate(Sender: TObject);
const BtoGB=1024*1024*1024;
var
  litera :Char;
  diskInfo :TDiskInfo;
  calkowitaPrzestrzenGB,wolnaPrzestrzenGB,zajetaPrzestrzenGB :Double;
begin
diskInfo:=TDiskInfo.Create;
for litera:='c' to 'z' do
  begin
  diskInfo.LiteraDysku:=litera;
  with diskInfo.Informacje do
  if (czyDyskDostepny) then
    begin
    calkowitaPrzestrzenGB:=Round(100*calkowitaPrzestrzen/BtoGB)/100;
    wolnaPrzestrzenGB:=Round(100*wolnaPrzestrzen/BtoGB)/100;
    zajetaPrzestrzenGB:=Round(100*zajetaPrzestrzen/BtoGB)/100;
    ListBox1.Items.Add(
    //Lancuch dodawany do ListBox1
    literaDysku+': ('+typDyskuOpis+')   '+
    'zajete miejsce: '+FloatToStr(zajetaPrzestrzenGB)+
    '/'+FloatToStr(wolnaPrzestrzenGB)+
    '/'+FloatToStr(calkowitaPrzestrzenGB)+' GB, '+
    '('+IntToStr(100-wolnaPrzestrzenProcenty)+'%),    '+
    'nazwa woluminu: '+nazwaDysku+
    ', SN: '+IntToStr(numerSeryjnyDysku)+
    ', FAT: '+nazwaFAT);
    end;
  end;
diskInfo.Free;
end;


end.
