⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 一个可能定时检测磁盘剩余空间大小并能报警的小工具。
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls,StrUtils, Mask, RzEdit, RzTray, RzBHints;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Timer1: TTimer;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    ComboBox1: TComboBox;
    Label4: TLabel;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label5: TLabel;
    Button3: TButton;
    Timer2: TTimer;
    RzNumericEdit1: TRzNumericEdit;
    Label6: TLabel;
    RzNumericEdit2: TRzNumericEdit;
    Label7: TLabel;
    Label8: TLabel;
    RzTrayIcon1: TRzTrayIcon;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    function getPath : integer;
    procedure ComboBox1Select(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  dzize,dfreezize,jjrom:Double;
  i,pf,jeteim:integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
   getPath;
  dzize:=DiskSize(3);
  dfreezize:=DiskFree(3);
  Edit1.Text:=formatfloat('#0.00',dzize/1048576)+' MB';
  Edit2.Text:=formatfloat('#0.0000',dfreezize/1048576)+' MB';
  pf:=3;
  ComboBox1.Text:='C盘'
end;

function tform1.getPath : integer;
begin
  for i := 60 to 90 do
  begin
    if (GetDriveType(Pchar(chr(i)+':\')) <> 0) and (GetDriveType(Pchar(chr(i)+':\')) <> 1) then
     ComboBox1.items.Add(chr(i)+'盘');
  end;
end;

procedure TForm1.ComboBox1Select(Sender: TObject);
begin
  pf:=Ord(LeftStr((ComboBox1.Items[ComboBox1.Itemindex]),1)[1])-64;
  dzize:=DiskSize(pf);
  dfreezize:=DiskFree(pf);
  Edit1.Text:=formatfloat('#0.00',dzize/1048576)+' MB';
  Edit2.Text:=formatfloat('#0.0000',dfreezize/1048576)+' MB';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  jeteim:=StrToInt(RzNumericEdit1.Text)+1000;
  Timer1.Interval:=2000;
  Timer2.Interval:=jeteim;
  Timer1.Enabled:=True;
  Timer2.Enabled:=True;
  jjrom:=StrToFloat(RzNumericEdit2.Text);
  Edit1.Enabled:=False;
  Edit2.Enabled:=False;
  RzNumericEdit1.Enabled:=False;
  RzNumericEdit2.Enabled:=False;
  ComboBox1.Enabled:=False;
  Button1.Enabled:=False;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
  //     Label3.Caption:=DateToStr(Now);
  dzize:=DiskSize(pf);
  dfreezize:=DiskFree(pf);
  Edit1.Text:=formatfloat('#0.00',dzize/1048576)+' MB';
  Edit2.Text:=formatfloat('#0.0000',dfreezize/1048576)+' MB';
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if   dfreezize/1048576 < jjrom  then
   begin
     Windows.Beep(500,500);
     Label8.Caption:=chr(pf+64)+'盘容量低于限定值,请注意!!!';
   end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Timer1.Enabled:=False;
  Timer2.Enabled:=False;
  Edit1.Enabled:=true;
  Edit2.Enabled:=true;
  RzNumericEdit1.Enabled:=true;
  RzNumericEdit2.Enabled:=true;
  ComboBox1.Enabled:=true;
  Button1.Enabled:=True;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -