![]() |
|
#3
|
||||
|
||||
![]() исходник компонента TDriveComboBox:
Код:
procedure TDriveComboBox.BuildList; var DriveNum: Integer; DriveChar: Char; DriveType: TDriveType; DriveBits: set of 0..25; procedure AddDrive(const VolName: string; Obj: TObject); begin Items.AddObject(Format('%s: %s',[DriveChar, VolName]), Obj); end; begin { fill list } Clear; Integer(DriveBits) := GetLogicalDrives; for DriveNum := 0 to 25 do begin if not (DriveNum in DriveBits) then Continue; DriveChar := Char(DriveNum + Ord('a')); DriveType := TDriveType(GetDriveType(PChar(DriveChar + ':\'))); if TextCase = tcUpperCase then DriveChar := Upcase(DriveChar); case DriveType of dtFloppy: Items.AddObject(DriveChar + ':', FloppyBMP); dtFixed: AddDrive(VolumeID(DriveChar), FixedBMP); dtNetwork: AddDrive(NetworkVolume(DriveChar), NetworkBMP); dtCDROM: AddDrive(VolumeID(DriveChar), CDROMBMP); dtRAM: AddDrive(VolumeID(DriveChar), RAMBMP); end; end; end; Пишу программы за еду. __________________ |