Danke für deine Antwort. Nur benötige ich die Variable in einem String und nicht in einer Listbox.. Ich habe das jetzt so um geschrieben wie ich denke es sollte richtig sein:
Delphi-Quellcode:
procedure GetDrives(const AItems: String);
var
Drive: Char;
DriveType: Integer;
DriveMask: Integer;
Flag: Integer;
S1: String;
begin
DriveMask := GetLogicalDrives; //Bitmaske holen
flag := 1; //Startflag setzen
for Drive := 'A' to 'Z' do //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 := (Drive);
end;
end;
flag := flag shl 1; //Ein Bit weiter nach links gehen ( = flag * 2)
end;
end;
Nur kommt folgende Fehlermeldung:
[dcc32 Fehler] Unit1.pas(44): E2064 Der linken Seite kann nichts zugewiesen werden