Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Maneja Puerto Paralelo (https://www.clubdelphi.com/foros/showthread.php?t=14807)

sergio_015 30-09-2004 21:46:24

Maneja Puerto Paralelo
 
He leido que existe un componente para manejar el puerto paralelo en delphi, alguien sabe cual es o donde puedo bajarlo?? En pascal lo manejo dela siguiente manera: Port[888]:=1, con esto llamo al primer "pin del puerto" trate de investigar por medio de los mensajes que ya tenian aqui en clubdelphi.com pero no me ayudan mucho. Espero tengan comentarios

madman 01-10-2004 06:42:59

Pues yo para el uso de puertos utilizo las funciones en ensamblador OUT,IN (puedes buscar al respecto).

Claro que en Windows NT, esta eso de los permisos que concede el S.O. y a mi no me mola :s

andesgui 29-06-2005 18:19:40

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.

jachguate 29-06-2005 18:39:29

Cita:

Empezado por andesgui
Yo te diria

Hola Andesgui. En primer lugar, bienvenid@ al clubdelphi. He editado tu mensaje para encerrar el código que publicaste en la etiqueta [delphi], que respeta la indentación y resalta la sintaxis.

Te recomiendo su uso, que podes ver editando tu mensaje o aqui.

Hasta luego.

;)

andesgui 30-06-2005 13:54:09

Buenas.
Ante todo gracias Jachguate, por la bienvenida y por el consejo.
He descubierto que la libreria que se puede bajar de esta pagina:
http://www.logix4u.net/inpout32.htm
no anda en win xp, la que tenia en la computadora con delphi 5 es mas grande y ocupa 32.768 bytes y no puedo recordar de donde la saque (inpout32.dll) el caso es que lleve la libreria que ocupaba mas a la maquina donde tengo delphi 6 y salio andando todo bien (yo ya le estaba echando la culpa al service pack 2 de xp)
Bueno espero que les sea de utilidad.


La franja horaria es GMT +2. Ahora son las 21:18:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi