var
Form1: TForm1;
newitem: TMenuItem;
I: Integer;
implementation
{$R *.dfm}
function DriveExists(DriveByte: Byte): Boolean;
begin
Result := GetLogicalDrives
and (1
shl DriveByte) <> 0;
end;
function DriveType(DriveByte: Byte):
String;
begin
case GetDriveType(PChar(Chr(DriveByte + Ord('
A')) + '
:\'))
of
DRIVE_UNKNOWN: Result := '
unbekannt';
DRIVE_NO_ROOT_DIR: Result := '
Laufwerk existiert nicht';
DRIVE_REMOVABLE: Result := '
Wechselmedium';
DRIVE_FIXED: Result := '
Festplatte';
DRIVE_REMOTE: Result := '
Netzwerk';
DRIVE_CDROM: Result := '
CD-ROM/DVD';
DRIVE_RAMDISK: Result := '
RAM Disk';
else
Result := '
anderer Laufwerkstyp';
end;
end;
Procedure TForm1.laufwerk(Sender: TObject);
begin
ShowMessage(newitem.
Name[i]);
// Hier komm ich nicht weiter
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
for I := 0
to 25
do
if DriveExists(I)
then
begin
newitem:=TMenuItem.Create(MainMenu1);
newitem.
Name:=(Chr(I + Ord('
A')));
newitem.Caption:=(Chr(I + Ord('
A')) + '
:\ (' + DriveType(I) + '
)');
newitem.Tag:=i;
newitem.RadioItem:=true;
newItem.onClick := laufwerk;
Form1.MainMenu1.Items[0].Add(newitem);
end;
end;