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:

Autor: Lieutenant