procedure ListerLecteursCD (var Dans : TStrings); var i : integer; LecteurATester : string; begin for i:=65 to 65+26 do begin LecteurATester:=Chr(i) + ':\'; case GetDriveType(PChar(LecteurATester)) of DRIVE_CDROM : Dans.Add(LecteurATester); end; end; end;
procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Clear; Listbox1.Items := ListerLecteursCD; ListerLecteursCD.Free; end;
procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Clear; Listbox1.Items := ListerLecteursCD; ListerLecteursCD.Free; // <= ici ;-) end;
procedure ListerLecteursCD (var Dans : TStrings); var i : integer; LecteurATester : string; begin for i:=65 to 65+26 do begin LecteurATester:=Chr(i) + ':\'; case GetDriveType(PChar(LecteurATester)) of DRIVE_CDROM : Dans.Add(LecteurATester); end; end; end;
procedure TForm1.Button1Click(Sender : TObject); begin ListBox1.Clear; ListerLecteursCD(ListBox1.Items); end;
uses [...], MMSystem; function OpenCD(Drive: String): Boolean; var OpenParm: TMCI_Open_Parms; Flags: DWord; DeviceID : Word; Error: MciError; ErrorText: PChar; LenghtBuffer: Cardinal; begin Result := False; Flags := mci_Open_Type or mci_Open_Element; with OpenParm do begin dwCallback := 0; lpstrDeviceType := 'CDAudio'; lpstrElementName := PChar(Copy(Drive, 0, 2)); end; Error := mciSendCommand(0, mci_Open, Flags, Longint(@OpenParm)); mciGetErrorString(Error, ErrorText, LenghtBuffer); if Error = 0 then DeviceID := OpenParm.wDeviceID else raise EAccessViolation.Create(ErrorText); try Error := mciSendCommand(DeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0); mciGetErrorString(Error, ErrorText, LenghtBuffer); finally mciSendCommand(DeviceID, mci_Close, Flags, Longint(@OpenParm)); end; if Error = 0 then Result := True else raise EAccessViolation.Create(ErrorText); end;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionif GetDriveType(PChar(LecteurATester)) = DRIVE_CDROM then Dans.Add(LecteurATester);
procedure TForm1.Button1Click(Sender: TObject); var StringList: TStrings; begin StringList := TStringList.Create; ListBox1.Clear; ListerLecteursCD(StringList); ListBox1.Items.Assign(StringList); StringList.Free; end;
if GetDriveType(PChar(LecteurATester)) = DRIVE_CDROM then Dans.Add(LecteurATester);
function ListerLecteursCD : TStrings; var i : integer; LecteurATester : string; begin result:=TStringList.Create; // merci japee pour ce truc ... for i:=65 to 65+26 do begin LecteurATester:=Chr(i) + ':\'; if GetDriveType(PChar(LecteurATester)) = DRIVE_CDROM then result.Add(LecteurATester); end; end;
procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Clear; Listbox1.Items:=ListerLecteursCD; end;
procedure TForm1.Button1Click(Sender: TObject); var Liste: TStrings; begin Liste := TStringList.Create; ListBox1.Clear; ListerLecteursCD(Liste); ListBox1.Items.Assign(Liste); Liste.Free; end;