• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 224
  • Last Modified:

Read/Write to Paralel port

How do i read/write to the paralel port without using asm(in/out).

Thanks

_LR_
0
_lr_
Asked:
_lr_
  • 2
  • 2
  • 2
  • +3
1 Solution
 
EpsylonCommented:
0
 
_lr_Author Commented:
With componet, there isn't any there that alows the read and write from/to the paralel port

_LR_
0
 
egonoCommented:
it's possible to use the standard file functions to read/write the parallel port

use

CreateFile( 'LPT1:',GENERIC_READ + GENERIC_WRITE,
           0 , nil, OPEN_EXISTING, 0 + FILE_FLAG_WRITE_THROUGH, 0 );

to open a file handle, after that you can use the ReadFile() and WriteFile() functions

good luck
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
GwenaCommented:
If you need to access the port on NT then you may need this freeware
that gives you access http://www.internals.com/utilities/winio.zip  I have
a unit to make it easier to use... just let me know if you need that :-)
0
 
intheCommented:
or

http://www.wideman-one.com/gw/tech/Delphi/iopm/index.htm

+ some good texts at that site for io programming.
:-)

0
 
GwenaCommented:
Hi inthe :-)

  That is a GREAT link!
0
 
egonoCommented:
gwena - it's absolutely the wrong way to use such a driver for accesing the parallel port on NT/W2K!
NT/W2K have two standard drivers for both the seriell and the parallel ports which can be accessed in the described way. So if you use another driver, then two drivers accessing the same hardware - not a very good idea.
Such I/O drivers are only good for non standard hardware, which have no NT/W2K drivers.

if someone is interested in german resources look here:

http://www.nt-treiberentwicklung.de/kapitel5.htm


good luck
0
 
bullenCommented:
For Win95,98 but You should use it with care.

procedure Lpt_Out(b:byte);
asm
  mov dx,$378
  mov al,b
  out dx,al
end;

function Lpt_in : byte;
asm
  mov dx,$378
  in al,dx
end;
// $378 = LPT1 on my computer

bullen
0
 
intheCommented:
"  without using asm(in/out)  "

strange answer you accepted there ...
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 2
  • 2
  • 2
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now