Miał bym prośbe wielką o skorygowanie poniższego kodu tak aby wyświetlał tylko CD-ROMy znalezione w systemie...
procedure TForm1.FormCreate(Sender: TObject);
var
i : Integer; // zmienna potrzebna do wykonania petli
DriveType : Integer; // informacja o typie dysku
ListItem: TListItem;
Bufor:array[0..MAX_PATH] of Char; // zawiera etykiete dysku
MaxCompLength, FileSystemFlags : DWORD;
begin
{wykonaj petle analizujac kazda litere dysku}
for I := Ord('A') to Ord('Z') do
begin
DriveType := GetDriveType(PChar(Chr(i) + ':')); // pobierz typ dysku
{jezeli typ dysku to 0 ( nie mozna okreslic ) lub 1 (nie istnieje taki dysk) to pomin w opisie}
if not (DriveType = 0) and not (DriveType = 1) then
begin
{uzyskaj informacje dotyczace etykiety dysku}
GetVolumeInformation(PChar(Chr(i) + ':'), Bufor, SizeOf(Bufor),
nil, MaxCompLength, FileSystemFlags, nil, 0);
ListItem := ListView1.Items.Add; // dodaj pozycje
ListItem.Caption := Chr(i) + ':' + ' ' + Bufor; // ustaw tekst
buf:= Chr(i) + ':' ;
{Tutaj w zaleznosci od rodzaju dysku do komponentu ListView do okreslnej
pozycji zostaje przypisana okreslona ikonka symoblizujaca dysk.}
if (DriveType = DRIVE_CDROM) then ListItem.ImageIndex := 0;
end;
end;
end;
Za pomoc z góry dziekuje.