Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: CD/DVD-Laufwerk prüfen

  Alt 16. Dez 2013, 16:01
Hallo,

das Array sollte nach deinem Code aber so bleiben.
Aber ich würde das einfacher machen.

Delphi-Quellcode:
procedure GetDrives(const AItems: TStrings);
var
   Drive: Char;
   DriveType: Integer;
   DriveMask: Integer;
   Flag: Integer;
   S1: String;
begin
   AItems.Clear;
   DriveMask := GetLogicalDrives; //Bitmaske holen
   flag := 1; //Startflag setzen
   for Drive := 'Ato 'Zdo //Jeden Buchstaben gegenprüfen
   begin
     if (flag and DriveMask) <> 0 then
     begin
       DriveType := GetDriveType(PChar(Format('%S:\',[Drive]) ) ) ;
       if DriveType=DRIVE_CDROM then
       begin
         AItems.Add(Drive);

         // falls das nicht klappt
         S1 := Drive;
         AItems.Add(S1);
       
       end;
     end;
     flag := flag shl 1; //Ein Bit weiter nach links gehen ( = flag * 2)
   end;
end;
Code ist nicht getestet.
Im Ergebnis sind die Buchstaben aller CD-/ DVD-Laufwerke in der StringList.

Heiko
Heiko
  Mit Zitat antworten Zitat