硬盘整数分区计算器和公式下载,附Win7系统盘整数分区方法
|
要想吧分区显示为整数,可没有那么简单,下面我就为大家详细分析硬盘分区容量显示之谜:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TFrmMain = class(TForm)
Label1: TLabel;
Label2: TLabel;
ComboBox1: TComboBox;
Edit1: TEdit;
Label3: TLabel;
Button1: TButton;
Button2: TButton;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
procedure ComboBox1Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmMain: TFrmMain;
partitionNum , FactPartitionNum : integer;
i : integer;
implementation
{$R *.dfm}
{应分配MB数=(分区GB数-1)×4+1024×分区GB数}
function FAT32(Partition : integer):Integer;
var
j : integer;
begin
j := (Partition-1)*4+1024*Partition;
Result := j;
end;
{
如果要分10GB,那么应当是10x1024MB=10240MB
实际需要柱面数为10240÷7.84423828125=1305.4
柱面只可能算整数,即1306个柱面
这样实际应分MB数为1306x7.84423828125=10244.575MB
不管小数点后面几位都进1,也就是10245MB,这样系统才能认成是10.0GB了
应分配MB数 = 取整数位((取整数位(分区GB数*1024/7.84423828125)+1) * 7.84423828125 ) +1
}
function NTFS(Partition : integer):Integer;
var
k : integer;
begin
K := trunc((trunc(Partition*1024 / 7.84423828125)+1)* 7.84423828125 ) +1;
Result := k;
end;
procedure TFrmMain.ComboBox1Change(Sender: TObject);
begin
if self.ComboBox1.Text = 'FAT32' then
begin
i := 1 ;
end;
if self.ComboBox1.Text = 'NTFS' then
begin
i :=2 ;
end;
end;
procedure TFrmMain.Button2Click(Sender: TObject);
begin
if i=1 then
begin
Label10.Caption := IntToStr(FAT32(StrToInt(Edit1.Text)));
end;
if i=2 then
begin
Label10.Caption := IntToStr(NTFS(StrToInt(Edit1.Text)));
end;
end;
end.
|
浙公网安备 33010602011771号