当前位置: 源码素材网 » Delphi教程 » 详情页

Delphi 获取磁盘驱动器容量

  •   时间:2018-10-08
  • 概述:磁盘容量

本实例演示Delphi 如何动态获得当前计算机中的驱动器的总容量和可用容量。向窗体上添加一个TDriveComboBox组件、两个TEdit组件和两个TLabel组件,其中TDriveComboBox组件用于显示系统中有效的驱动器列表,TEdit组件中显示选中驱动器的总容量和可用容量。在程序运行过程中如果用户在TDriveComboBox组件中选择了一个驱动器,就会激活下面的响应代码,取得驱动器的容量信息:

procedure TForm1.DriveComboBox1Change(Sender: TObject);
var
driver:Char;
userFreeBytes,totalBytes,freeBytes:Int64;
begin
driver:=self.DriveComboBox1.Drive;
GetDiskFreeSpaceEx(PChar(driver+':\'),userFreeBytes,totalBytes,@freeBytes);
Edit1.Text:=Formatfloat('###,##0',totalBytes)+'字节';
Edit2.Text:=Formatfloat('###,##0',freeBytes)+'字节';
end;

在TDriveComboBox组件的Drive属性中存储了代表选中驱动器的字符。通过调用API函数GetDiskFreeSpaceEx将驱动器的总容量存储在totalBytes中,将驱动器的可用容量存储在freeBytes中。最后分别将驱动器的总容量和驱动器的可用容量显示在窗体上的两个TEdit组件中。程序代码如下:

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, FileCtrl;
type
TForm1 = class(TForm)
DriveComboBox1: TDriveComboBox;
Edit1: TEdit;
Label1: TLabel;
Edit2: TEdit;
Label2: TLabel;
procedure DriveComboBox1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.DriveComboBox1Change(Sender: TObject);
var
driver:Char;
userFreeBytes,totalBytes,freeBytes:Int64;
begin
driver:=self.DriveComboBox1.Drive;
GetDiskFreeSpaceEx(PChar(driver+':\'),userFreeBytes,totalBytes,@freeBytes);
Edit1.Text:=Formatfloat('###,##0',totalBytes)+'字节';
Edit2.Text:=Formatfloat('###,##0',freeBytes)+'字节';
end;
end.

保存文件,然后按F9键运行程序查看运行效果。

    相关声明:

      若“Delphi 获取磁盘驱动器容量”有损您的权益,请告之我们删除内容。
      部分文章来源于网络,版权归原作者所有。