ورود

View Full Version : نمایش میزان پر بودن درایو در زیر آن با progressbar



Batman
یک شنبه 12 خرداد 1387, 21:37 عصر
با سلام
اگه تا حالا ویندوز ویستا رو نصب کرده باشید حتما دیدید که میزان پر بودن هر درایو توسط یه progressbar در زیر هر درایو نشون داده شده
چجوری میشه یه چنین برنامه ای رو با دلفی نوشت؟
ممنونم

B_YAGHOBI
یک شنبه 12 خرداد 1387, 23:05 عصر
procedure TForm6.DriveComboBox1Change(Sender: TObject);
var freeSpace, totalSpace: Double;
s: Char;
begin
s := DriveComboBox1.Drive ;


freeSpace := DiskFree(Ord(s) - 64);
totalSpace := DiskSize(Ord(s) - 64);

label1.Caption := Format('Free Space: %12.0n', [freeSpace]);
Label2.Caption := Format('Total Space: %12.0n', [totalSpace]);
Label3.Caption := IntToStr(Round((totalSpace - freeSpace) / totalSpace * 100)) + ' Percent used.';
ProgressBar1.Position := Round((totalSpace - freeSpace) / totalSpace * 100) ;
end;

Batman
دوشنبه 13 خرداد 1387, 05:28 صبح
procedure TForm6.DriveComboBox1Change(Sender: TObject);
var freeSpace, totalSpace: Double;
s: Char;
begin
s := DriveComboBox1.Drive ;


freeSpace := DiskFree(Ord(s) - 64);
totalSpace := DiskSize(Ord(s) - 64);

label1.Caption := Format('Free Space: %12.0n', [freeSpace]);
Label2.Caption := Format('Total Space: %12.0n', [totalSpace]);
Label3.Caption := IntToStr(Round((totalSpace - freeSpace) / totalSpace * 100)) + ' Percent used.';
ProgressBar1.Position := Round((totalSpace - freeSpace) / totalSpace * 100) ;
end;

با سلام
دوست عزیز برنامه شما کاملا درست و عالیه اما من چیز دیگری رو خواسته بودم من میخوام تو خود mycomputer و برای هر درایو این progressbar ها به صورت مجزا باشه یعنی برای هر درایو دقیقا در زیر اون یه progressbar باشه که میزان پر بودن درایو رو نشون بده دقیقا مثل ویندوز ویستا
ممنونم

B_YAGHOBI
دوشنبه 13 خرداد 1387, 14:43 عصر
سوال خود را اينطوري مطرح كنيد كه : چگونه ميتوان يك Plugin بزبان دلفي براي Explorer ويندوز نوشت كه فضاي ديسك

را به شكل ProgressBar در زير آن نمايش دهد !

Batman
دوشنبه 13 خرداد 1387, 21:45 عصر
خوب حالا به فرض plugin
چجوری میشه این کار رو کرد؟