FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
De esa manera lo había probado, no funciona, es como si no lo hubieran incluido. En C# fíjate que se incluye un evento para que ocurra lo que pido.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. |
#2
|
||||
|
||||
Cita:
Ponle una espera antes, algo así: Aunque no sé para qué quieres ver "Abriendo", si se abre al momento. PD: Y no repitas hilos para preguntar lo mismo. |
#3
|
|||
|
|||
Hola:
Intenté hacerlo con esta función pero no me funciona. Código:
procedure Abriendo; begin Label_Mensaje.Caption := 'Abriendo...'; end; Código:
unit Lector_bandeja; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, MMSystem; // No olvidar añadir en uses MMSystem arriba. procedure Abriendo; begin Label_Mensaje.Caption := 'Abriendo...'; end; type TForm1 = class(TForm) RadioGroup_Bandeja: TRadioGroup; Button_Abrir: TButton; Button_Cerrar: TButton; Label_Mensaje: TLabel; procedure Button_AbrirClick(Sender: TObject); procedure Button_CerrarClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} 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; procedure TForm1.Button_AbrirClick(Sender: TObject); begin //Abriendo; OpenCd(TRUE); Label_Mensaje.Caption := 'Abierto.'; end; procedure TForm1.Button_CerrarClick(Sender: TObject); begin Label_Mensaje.Caption := 'Cerrando...'; OpenCd(FALSE); Label_Mensaje.Caption := 'Cerrado.'; end; end. Saludos. Edito: Te acabo de leer. El método o forma que hiciste, no funciona. Ejecuta pero no funciona. Código:
Label_Mensaje.Caption := 'Abriendo...'; Sleep(1000); OpenCd(TRUE); Label_Mensaje.Caption := 'Abierto.'; Saludos.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. Última edición por REHome fecha: 16-11-2017 a las 10:32:48. |
#4
|
||||
|
||||
La verdad, no se entiende qué quieres hacer ni qué problema tienes. ¿Abre y cierra la bandeja?
|
#5
|
|||
|
|||
La bandeja abre y cierra. Muestra los mensajes Abierto y Cerrado, pero no aparecen los mensajes Abriendo... y Cerrando... Solo eso.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. |
#6
|
||||
|
||||
Cita:
|
#7
|
||||
|
||||
__________________
Confórmate con lo que tienes pero anhela lo que te falta. |
#8
|
|||
|
|||
Buenas:
@Casimiro Notevi No hace falta poner ningún Sleep para que me de tiempo, no aparece ese mensaje. El tiempo te lo da lo que dure en abrir la bandeja. Por cierto, ya funciona con Application.ProcessMessages; que puso nuestro compañero @ElDioni. Dejo el código Delphi completo por si alguien lo pueda necesitar. Código:
unit Lector_bandeja; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, MMSystem; // No olvidar añadir en uses MMSystem arriba. type TForm1 = class(TForm) RadioGroup_Bandeja: TRadioGroup; Button_Abrir: TButton; Button_Cerrar: TButton; Label_Mensaje: TLabel; procedure Button_AbrirClick(Sender: TObject); procedure Button_CerrarClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} 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; procedure TForm1.Button_AbrirClick(Sender: TObject); begin Label_Mensaje.Caption := 'Abriendo...'; Application.ProcessMessages; OpenCd(TRUE); Label_Mensaje.Caption := 'Abierto.'; end; procedure TForm1.Button_CerrarClick(Sender: TObject); begin Label_Mensaje.Caption := 'Cerrando...'; Application.ProcessMessages; OpenCd(FALSE); Label_Mensaje.Caption := 'Cerrado.'; end; end.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. Última edición por REHome fecha: 16-11-2017 a las 20:34:59. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Expulsar la bandeja de CD | paldave | Varios | 5 | 01-09-2007 14:59:05 |
nombre de una bandeja | Lucciano | Impresión | 0 | 31-05-2007 23:34:34 |
Mi Aplicacion en la bandeja del Control Panel | Irma | API de Windows | 2 | 08-02-2007 18:52:21 |
Reportes - Seleccionar bandeja | alapaco | Impresión | 0 | 01-09-2006 22:51:08 |
Cerrar bandeja CDs | JMGR | Varios | 6 | 27-07-2003 14:52:12 |
|