Ver Mensaje Individual
  #4  
Antiguo 13-12-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Reputación: 22
DarkByte Va por buen camino
Copy & Paste de Trucomanía... para evitar tener que ir de un lugar a otro.

Cita:
Añade 'MMSystem' en el uses de tu form
Código Delphi [-]
procedure OpenCd(AOpen:Boolean);
const 
    DoPlay : array[Boolean] of string = 
                ('Set cdaudio door closed wait',
         'Set cdaudio door open wait');
var 
   MyError       : LongInt;
   MyErrorString : array[0..MAXERRORLENGTH - 1] of char;
begin 
   MyError := mciSendString(pChar(DoPlay[AOpen]), nil, 0, 0);
   if MyError <> 0 then 
   begin 
     MciGetErrorString(MyError,MyErrorString,MAXERRORLENGTH - 1);
     Showmessage(MyErrorString);
     Exit;
   end; 
end;
Para abrir el CD:
Código Delphi [-]
   OpenCd(TRUE);
Para cerrar el CD:
Código Delphi [-]
   OpenCd(FALSE);
El anterior truco esta muy bien, pero si tenemos más de una unidad de CD no deja seleccionar cual abrir.
Para eso usaremos este otro código:

-Añade 'MPlayer' en el uses de tu form
Código Delphi [-]
 
procedure TForm1.Button1Click(Sender: TObject);
 
procedure AbreCD(Disco : char);
var 
  Tokata : TMediaPlayer;
begin 
  Tokata := TMediaPlayer.Create(nil);
  with Tokata do 
  begin 
    Parent := Self;
    Visible := FALSE;
    Shareable := TRUE;
    DeviceType := dtCDAudio;
    FileName := Disco + ':';
    Wait:=FALSE;
    Open;
    Eject;
    Close;
    Free;
  end; 
end; 
 
begin 
  AbreCD('F');
end;
__________________
:)
Responder Con Cita