硬盘整数分区计算器和公式下载,附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.
|