Yang tahu, Cara mendeteksi harddisk dengan menggunakan free pascal Tulis langkah pascalnya disini!!
TI
sekararumsriu
Pertanyaan
Yang tahu, "Cara mendeteksi harddisk dengan menggunakan free pascal"
Tulis langkah pascalnya disini!!
Tulis langkah pascalnya disini!!
1 Jawaban
-
1. Jawaban falentinoaddow78ek
procedure TFMain.Scan4Drives(var tstr:tstrings);
var Drvchar:char;
str:string;
begin
Drvchar:= 'D';
repeat
str := DrvChar+':nul'; // 'F:nul'
if FileExists(str) then begin // then I have a disk
str := LeftStr(str,2); // grap "F:"
if IsRemoveable(str) then // in diskutil
tstr.Add(str); // 'F:'
end;
inc(DrvChar);
until (Drvchar > 'M'); // I have some issures with network drives so stop
// .. before I hit them
end;
procedure TFMain.DisplayDrvInfo();
var i :integer;
freebyte,totbytes:Int64;
tstr:TStringList;
begin
if (cbDrive.ItemIndex<0) then
exit;
myDevStr := cbDrive.Items.Strings[ cbDrive.ItemIndex];
i := VarifyDiskSelection(myDevStr);
freebyte := DiskFree(i);
totbytes := DiskSize(i);
memo1.Append(format('===== Drive %s info ====',[ myDevStr]));
memo1.Append(format(' %.3f MB Total ',[totbytes/1e6]));
memo1.Append(format(' %.3f MB free', [freebyte/1e6]));
totbytes:= totbytes - (ConfigFileSize +File1Size);
i := totbytes div FileSize;
memo1.Append(format(' This drive can hold about [%d] data files',[i+1]));
tstr := TstringList.Create;
tstr.Add('---- Info from Disk Utils ----');
GetVolInfo(myDevStr, tstr);
memo1.Lines.AddStrings(tstr);
tstr.Free;
memo1.Lines.Add('===== end of drive '+MyDevStr+'info ======');
edVlable.Text := GetDiveVolName(MyDevStr);
end;
procedure TFMain.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled:=FALSE;
cbDrive.Items.Clear;
Scan4Drives(cbDrive.Items);
if cbDrive.Items.Count < 1 Then
exit;
cbDrive.ItemIndex:=0;
DisplayDrvInfo();
end;
jika Benar.. Harap Beri bintang yah