Czasami stajemy przed problemem z określeniem typu dysków bądź chcemy sobie sporządzić listę typów różnych dysków(przydatne przy tworzeniu programów które działają tylko przy włożonym CD-ROMIE).
Do określenia typu dysku służy procedura GetDriveType:
Windows.GetDriveType(lpRootPathName: PAnsiChar): Cardinal;
W parametrze lpRootPathName podajemy literę dysku który chcemy zbadać i dwukropek, np. A: B: C: D: E:. Wynikiem jest liczba typu Cardinal zawierająca typ dysku. Typy dysków określone są w module Windows:
DRIVE_UNKNOWN := 0; Typ dysku nieznany
DRIVE_NO_ROOT_DIR := 1; Nie na takiego dysku
DRIVE_REMOVABLE := 2; Dysk jest wymienialny(np. dyskietka, napęd ZIP, dysk optyczny)
DRIVE_FIXED := 3; Dysk jest niewymienialny
DRIVE_REMOTE := 4; Dysk jest zamapowany w sieci
DRIVE_CDROM := 5; CD-ROM
DRIVE_RAMDISK := 6; Jest to wirtualny dysk umieszczony w pamięci RAM.
Dla własnego użytku możemy stworzyć taką funkcję konwertująca powyższe stałe do typu String:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
function DriveTypeToString(DriveType: Cardinal): String; var Temp: String; begin case DriveType of 0: Temp := 'Typ dysku nieznany'; 1: Temp := 'Brak dysku'; 2: Temp := 'Dysk wymienialny'; 3: Temp := 'Dysk niewymienialny'; 4: Temp := 'Dysk sieciowy'; 5: Temp := 'Napęd CD-ROM'; 6: Temp := 'RAM Dysk'; end; DriveTypeToString := Temp; end; |
Autor: Lieutenant