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