Hey,
anbei mal eine Variante den Parallel-Port anzusteuern unter WinXP und ohne zusätzlichen Treiber, da das ganze auf der
WinAPI beruht und Funktionen wie DeviceIOControl mit den Parametern IOCTL_PAR_XYZ verwendet.
Habe das ganze bisher nur unter WinXP und mit Delphi7 getestet.
Bisheriger Funktionsumfang:
------------------------------
Status abfragen (GetStatus)
Status setzen (SetStatus) // laut
WinAPI nur INIT erlaubt
IEEEMode abfragen (GetIEEEMode)
DeviceCaps abfragen (GetDeviceCaps)
Timeout setzen (SetTimeOut)
Datenbits (Pin 2-9) schreiben (WriteBits)
Device ID abfragen (GetDeviceID) // Noch nicht getestet, meine Relais-Karte hat keine ID
Bekannte Bugs:
---------------
Es darf kein Drucker-Treiber für Drucker am Parallel-Port installiert sein
Sonstige Infos:
----------------
Es sollten natürlich die entsprechenden Pinbelegeungen gesetzt werden, so daß das Gerät Einsatz-fähig ist
Für meine Zwecke reicht das so aus. Ich steuere damit eine Relais-Karte an, die allerdings nur die 8 Datenpins benutzt. Hierzu mußte noch Pin 12 auf Low gesetzt werden, da ich sonst die Meldung Paper-Out bekam
Links
-----
Nette Utilities um den Parallel-Port zu überwachen:
http://www.geekhideout.com/parmon.shtml
http://www.sysinternals.com/utilities/portmon.html
Beigefügter Code
-----------------
// Die
Unit mit der Klasse TParallelPort
UParallelPort.pas
//Test-Programm für die Klasse
Unit1.pas
Unit1.dfm
Project1.dpr
Future Plans
-------------
Bisher keine da ich noch nicht weiß wie genau das mit dem Projekt weitergeht und was ich dafür noch alles brauche...
Ein Schiff im Hafen ist sicher. Aber dafür werden Schiffe nicht gebaut. (engl. Sprichwort)