Ver Mensaje Individual
  #3  
Antiguo 29-06-2005
andesgui andesgui is offline
Registrado
 
Registrado: jun 2005
Posts: 2
Reputación: 0
andesgui Va por buen camino
Cool

Yo te diria que uses la libreria INPOUT32.dll que la podes encontrar en esta pagina:
http://www.logix4u.net/inpout32.htm
ahi se explica un poco como funciona. Lo que supuestamente tiene de bueno es que podes acceder al puerto desde win2000/xp pero yo lo he probado en dos maquinas y en una me anduvo y en la otra no. y no se si es por alguna configuracion de winxp o de delphi porque en el 5 me anduvo y en 6 no.
Basicamente el codigo seria algo asi:
Código Delphi [-]
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Spin, ExtCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Timer1: TTimer;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Label1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
function inportb(EndPorta: Integer): BYTE stdcall; external 'inpout32.DLL' name 'Inp32';
procedure outportb(EndPorta: Integer; Valor:BYTE); stdcall; external 'inpout32.DLL' name 'Out32';
procedure TForm1.Button1Click(Sender: TObject);
begin
        outportb($378,255); //pone el byte del puerto paralelo D0...D7 en alto  (5 volts)
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
        outportb($378,0); //pone el byte del puerto paralelo D0...D7 en bajo (0 volts)
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
        Label1.Caption := IntToStr( inportb($379) );
end;
end.

Última edición por jachguate fecha: 29-06-2005 a las 18:33:40. Razón: Etiqueta Delphi
Responder Con Cita