Sign in Join
Wiki copytemporary

Identify Drives/de: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-\
21Zurück zu den [[Additional information/de|Zusätzlichen Informationen]].\
3-\
2+
43Dieser Artikel gehört zur Windowsprogrammierung.\
54Aufgabe: Ermittlung aller Laufwerke\
65
76``` pascal
87uses
98 Windows, SysUtils, ...;
109
1110...
1211
1312// Liste der zulässigen Laufwerktypen und ihre Werte
1413{ DRIVE_UNKNOWN = 0;
1514 DRIVE_NO_ROOT_DIR = 1;
1615 DRIVE_REMOVABLE = 2;
1716 DRIVE_FIXED = 3;
1817 DRIVE_REMOTE = 4;
1918 DRIVE_CDROM = 5;
2019 DRIVE_RAMDISK = 6;}
2120
2221var
2322 i: longword;
2423 arrLW: array[0..255] of char;
2524 pLW: PChar;
2625
2726begin
2827
2928 ...
3029
3130 // Ermittelt die Anzahl aller Laufwerke
3231 // und füllt das übergebene Char-Array arrLW mit den Laufwerken
3332 i := GetLogicalDriveStrings(SizeOf(arrLW), arrLW);
3433
3534 // Prüft, ob ein Laufwerk gefunden wurde
3635 // Abbruch, wenn kein Laufwerk gefunden wurde
3736 if i <= 0 then
3837 Exit;
3938
4039 // Prüft, ob die Anzahl der Laufwerke grösser als das Array ist
4140 // Im Fehlerfall wird eine Exception geworfen
4241 if i > SizeOf(arrLW) then
4342 raise Exception.Create(SysErrorMessage(ERROR_OUTOFMEMORY));
4443
4544 // Weist das Array mit den Laufwerken einem PChar zu
4645 pLW := arrLW;
4746
4847 // Prüft, ob der Zeiger des PChars noch auf einen gültigen Bereich zeigt
4948 while pLW^ <> #0 do
5049 begin
5150 // Prüft, ob es sich bei dem Laufwerk zum einen gültigen Laufwerkstyp handelt
5251 if (GetDriveType(pLW) > DRIVE_UNKNOWN) then
5352 // weist den Laufwerksbuchstaben z. B. einer Combobox zu
5453 frmFormular1.cmbLaufwerke.Items.Add(pLW);
5554 // erhöht den Zeiger von pLW um 4
5655 Inc(pLW, 4);
5756
5857 end;
5958
6059 ...
6160```
6261
63-\
64-\
6562--Olaf 06:58, 28 April 2013 (UTC)
6663
6764---
6865*From the Free Pascal wiki, page "Identify Drives/de", as it stood on 2020-02-17 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
6966Category: Tutorials
7067Category: Windows

Back to history