Solved

Read/Write to Paralel port

Posted on 2001-06-22
9
218 Views
Last Modified: 2010-04-06
How do i read/write to the paralel port without using asm(in/out).

Thanks

_LR_
0
Comment
Question by:_lr_
  • 2
  • 2
  • 2
  • +3
9 Comments
 
LVL 13

Expert Comment

by:Epsylon
ID: 6218541
0
 

Author Comment

by:_lr_
ID: 6218862
With componet, there isn't any there that alows the read and write from/to the paralel port

_LR_
0
 
LVL 2

Expert Comment

by:egono
ID: 6219089
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
Independent Software Vendors: 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!

 
LVL 5

Expert Comment

by:Gwena
ID: 6220408
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
 
LVL 17

Expert Comment

by:inthe
ID: 6220499
or

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

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

0
 
LVL 5

Expert Comment

by:Gwena
ID: 6220514
Hi inthe :-)

  That is a GREAT link!
0
 
LVL 2

Expert Comment

by:egono
ID: 6223978
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
 

Accepted Solution

by:
bullen earned 100 total points
ID: 6245103
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
 
LVL 17

Expert Comment

by:inthe
ID: 6441174
"  without using asm(in/out)  "

strange answer you accepted there ...
0

Featured Post

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!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question