FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
||||
|
||||
Me alegro
|
#2
|
|||
|
|||
Hola:
La forma formulario Windows ya funciona al 100 %, ahora toca hacerlo en modo consola con Delphi. Un ejemplo que pongo en C# en modo consola es este. También tengo de VB .net y C++ CLR que hace lo mismo, si lo necesitan porque lo entienden mejor avisen. Código C#: Código:
using System; using System.Runtime.InteropServices; using System.Text; namespace Lector_teclado_consola_cs { class Program { [DllImport("winmm.dll")] public static extern Int32 mciSendString(string lpstrCommand, StringBuilder lpstrReturnString, int uReturnLength, IntPtr hwndCallback); public static StringBuilder rt = new StringBuilder(127); public static void DoEventsAbriendo() { Console.SetCursorPosition(0, 6); Console.Write("Abriendo..."); } public static void DoEventsCerrando() { Console.SetCursorPosition(0, 6); Console.Write("Cerrando..."); } static void Main(string[] args) { // Título de la ventana. Console.Title = "Control lector de bandeja. C#"; // Tamaño ventana consola. Console.WindowWidth = 29; // X. Ancho. Console.WindowHeight = 8; // Y. Alto. // Cursor invisible. Console.CursorVisible = false; // Posición del mansaje en la ventana. Console.SetCursorPosition(0, 0); Console.Write(@"Control bandeja del lector: A - Abrir bandeja. C - Cerrar bandeja. ==========================="); ConsoleKey key; //Console.CursorVisible = false; do { key = Console.ReadKey(true).Key; string mensaje = string.Empty; //Asignamos la tecla presionada por el usuario switch (key) { case ConsoleKey.A: // mensaje = "Abriendo..."; Console.SetCursorPosition(0, 6); DoEventsAbriendo(); mciSendString("set CDAudio door open", rt, 127, IntPtr.Zero); mensaje = "Abierto."; break; case ConsoleKey.C: // mensaje = "Cerrando..."; Console.SetCursorPosition(0, 6); DoEventsCerrando(); mciSendString("set CDAudio door closed", rt, 127, IntPtr.Zero); mensaje = "Cerrado."; break; } Console.SetCursorPosition(0, 6); Console.Write(" "); Console.SetCursorPosition(0, 6); Console.Write(mensaje); } while (key != ConsoleKey.Escape); } } }
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. |
#3
|
|||
|
|||
Buenas:
Les dejo el código más simple y directo que el original. (De paso, por si alguien lo necesita). Código:
unit Bandeja_Delphi; interface // Añadir MMSystem en el uses. uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, MMSystem; type TForm1 = class(TForm) GroupBox_Bandeja: TGroupBox; 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 TForm1.Button_AbrirClick(Sender: TObject); begin Label_Mensaje.Caption := 'Abriendo...'; Application.ProcessMessages; mciSendString('Set cdaudio door open wait', nil, 0, 0); Label_Mensaje.Caption := 'Abierto.'; end; procedure TForm1.Button_CerrarClick(Sender: TObject); begin Label_Mensaje.Caption := 'Cerrando...'; Application.ProcessMessages; mciSendString('Set cdaudio door closed wait', nil, 0, 0); Label_Mensaje.Caption := 'Cerrado.'; end; end.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
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 |
|