var
pts: array [0..8] of single= (111, 399, 90, 300, 5, 5, 1, 2, 18);//单位:M
procedure TForm1.Button1Click(Sender: TObject);
var
dw: Integer;
I: Integer;
px, t: Single;
begin
//以对数的方式显示磁盘分区大小(
dw := Panel1.Width;
t := 0;
for I := Low(pts) to High(pts) do
begin
if pts[I] > 0 then
t := t + Log10(pts[I]);//统计分区对数和
end;
px := dw / t;//对数和占总宽度的比例
for I := High(pts) downto Low(pts) do
begin
//创建一个Panel,其宽度 = 对数值 * 总宽度占比
if pts[I] > 0 then
with TPanel.Create(Panel1) do
begin
Parent := Panel1;
Align := alLeft;
Caption := IntToStr(I);
Width := Round(Log10(pts[I]) * px);
end;
end;
end;
磁盘分区大小显示(以对数的形式)
最新推荐文章于 2021-10-20 23:15:02 发布