LPT Programmierung mit Delphi: inpout32.dll Beispiel

Das Ansteuern des LPT-Ports gestaltet sich mit Delphi sehr einfach – selbst für Einsteiger. Das folgende Programm zeigt, wie mit den Prozeduren der DLL-Datei inpout32.dll auf simple Weise Werte gesetzt werden können. Der Computer schaltet die Pins des LPT-Ports dann je nach Wert mit 5V TTL.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;
value: Byte;

procedure Out32(wAddr:word;bOut:byte); stdcall; external ‘inpout32.dll’
function Inp32(wAddr:word):integer; stdcall; external ‘inpout32.dll’

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
value:=$00;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
value:=value OR (StrToInt((Sender AS TButton).Caption));
Out32($378,value);
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
value:=value AND (255-(StrToInt((Sender AS TButton).Caption)));
Out32($378,value)
end;

end.

Zum Verständniss:

Wird der Binärwert 0000 0001 (was Hex $01 entspricht) an den LPT-Port gesendet, so wird der erste Pin geschaltet. Wird der Binärwert 0000 1000 (was Hex $08 entspricht), so wird der 4. Pin geschaltet.

Ein Gedanke zu „LPT Programmierung mit Delphi: inpout32.dll Beispiel

  1. peter lustig (1 comments)

    Hallo ich habe die obigen Zeilen in ein Delphi unit eingefügt und bekomme die Fehlermeldung ” ; erwartet aber . erhalten” in bezug auf inpout32.dll.

    Die Fehlermeldung bezieht sich auf den Punkt vor dll in inpout.dll.
    was mache ich falsch?

    Ich sollte erwähnen das ich Anfänger bin.
    Vielen Dank für Ihre Hilfe.

Kommentare sind geschlossen.