TI

Pertanyaan

Yang tahu, "Cara mendeteksi harddisk dengan menggunakan free pascal"
Tulis langkah pascalnya disini!!

1 Jawaban

  • 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 

Pertanyaan Lainnya