![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Me alegro
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#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 |
|