Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 

Laufwerke finden und erkennen

  Alt 4. Jul 2002, 15:10
Hi DP-ler,

immer wieder kommt die Frage nach dem Finden und erkennen von Laufwerken. Die folgenden Prozeduren helfen Euch bei diesen Aufgaben.
Delphi-Quellcode:
function DriveExists(DriveByte: Byte): Boolean;
begin
  Result := GetLogicalDrives and (1 shl DriveByte) <> 0;
end;

function DriveType(DriveByte: Byte): String;
begin
  case GetDriveType(PChar(Chr(DriveByte + Ord('A')) + ':\')) of
    DRIVE_UNKNOWN: Result := 'unbekannt';
    DRIVE_NO_ROOT_DIR: Result := 'Laufwerk existiert nicht';
    DRIVE_REMOVABLE: Result := 'Wechselmedium';
    DRIVE_FIXED: Result := 'Festplatte';
    DRIVE_REMOTE: Result := 'Netzwerk';
    DRIVE_CDROM: Result := 'CD-ROM/DVD';
    DRIVE_RAMDISK: Result := 'RAM Disk';
  else
    Result := 'anderer Laufwerkstyp';
  end;
end;
Zum Testen der Prozeduren, startet ein neues Projekt, kopiert diese Prozeduren in die Unit des Formulars und fügt eine Listbox und einen Button auf das Formular ein. In den Button_OnClick Event Handler kopiert den folgenden Code.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to 25 do
    if DriveExists(I) then
      ListBox1.Items.Add(Chr(I + Ord('A')) + ':\ (' + DriveType(I) + ')');
end;
Viel Erfolg,


[edit=r_kerber]Code- durch Delphi-Tags ersetzt. Mfg, r_kerber[/edit]

Neues Stichwort: Datenträger
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat