В данной программе определяющей место на диске ПК  будут использоватьс функции DiskFree и DiskSize, которые принимают номер диска и возвращают  свободное пространство или общую ёмкость диска в байтах.
Выполните описанные ниже шаги.

  1. Перенесите на форму компонент TGauge . Присвойте свойству BorderStyle  значение bsNone, а свойству Kind – gkPie.
  2. Присвойте свойству ForeColor  значение clFuchsia, свойству BackColor значение clBlue, а свойству ShowText – False. Перенесите на форму метку слева от компонента  TGauge. Присвойте метке надпись Диск С:
  3. Перенесите три метки, расположите их одна над другой в виде колонки . Присвойте им следующие надписи: Занято:, Свободно:, и Ёмкость:.
  4. Добавьте ещё  две колонки меток, расположив их параллельно первой колонке. Выделите все метки и присвойте их свойству Alignment значение  taRightJustify.
  5. Перенесите на форму компонент TPaintBox, расположив его слева от первой метки, присвойте его свойству Color значение clBlue, и установите ему размеры 14*14.
  6. Щёлкните на компоненте TPaintBox, затем нажмите комбинацию клавиш <Ctrl + C>, Щёлкните на форме и нажмите <Ctrl + V>, чтобы вставить копию этого компонента на форму.
  7. Расположите продублированный компонент слева от второй метки и присвойте свойству Color значение clFuchsia(см. рис.)
  8. Добавим на форму Delphi компонент Timer.

Программа  определяющая место на диске ПК.


Так буде выглядеть окно программы определяющей место на диске ПК.


Программа  определяющая место на диске ПК.


Ниже привожу исходник программы определяющей место на диске ПК:


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Gauges;
type
TForm1 = class(TForm)
Timer1: TTimer;
Gauge1: TGauge;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
PaintBox1: TPaintBox;
PaintBox2: TPaintBox;
procedure PaintBoxPaint(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);

    { Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.PaintBoxPaint(Sender: TObject);
var
R: TRect;
begin
with Sender as TPaintBox do
begin
R := ClientRect;
Frame3D(Canvas, R, clDkGray, clWhite, 1);
Canvas.FillRect(R);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Size : Int64;
begin
Size:= DiskSize(3);
Gauge1.MaxValue := Size div 1924;
Label7.Caption := IntToStr(Size) +  ' байт';
Label10.Caption := IntToStr(Size div 1048676 ) + ' Мбайт';
Timer1Timer(Timer1);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
Free, Used : Int64;
begin
Free := DiskFree(3);
Used := DiskSize(3) - Free;
Gauge1.Progress := Free div 1024;
Label5.Caption := IntToStr(Used) +  ' байт';
Label8.Caption := IntToStr(Used div 1048676 ) + ' Мбайт';
Label6.Caption := IntToStr(Free) +  ' байт';
Label9.Caption := IntToStr(Free div 1048676 ) + ' Мбайт';
end;
end.

Скачать исходник Программа определяющая место на диске ПК »:

 

 

Добавить комментарий


Защитный код
Обновить