Ja, das ist bissl verwirrend, aber auch recht einfach.
Laufwerke haben zwar eine ID (
GUID), aber diese Laufwerksnummer hier ist einfach nur stumpf durchgezählt ... ich denke mal, das ist noch ein Überbleibsel aus DOS.
A = 0
B = 1
C = 2
usw.
Code:
* das Laufwerk
* dein I
* der richtige Index
C:\ 0 2
D:\ 1 3
E:\ 2 4
S:\ 3 18
Chr(i+64)
entspricht einem
Chr(i + Ord('A'))
(binär ist es das Selbe ... nur das eine ist etwas Verständlicher)
und siehe oben, andersrum kann man auch aus einem Laufwerksbuchstaben die Laufwerksnummer berechnen, also
Ord(C) - Ord('A')
.
Wofür die Nummer allerdings gut ist, das sieht man an
GetLogicalDrives, weches ein DWORD zurückgibt, bzw. quasi ein
set of 0..31
.
Aber als
set of 'A'..'Z'
(eigentlich
set of 'A'..'`'
, da ja mehr Felder, als Buchstaben), wäre es wieder verständlicher gewesen.