Hello world/Line printer

From Rosetta Code
Revision as of 13:33, 3 October 2010 by MikeMol (talk | contribs) (→‎{{header|UNIX Shell}}: POSIX general approach)
Task
Hello world/Line printer
You are encouraged to solve this task according to the task description, using any language you may know.

Cause a line printer attached to the computer to print a line containing the message Hello World!

BASIC

Works with: QBasic
Works with: ZX Spectrum Basic

<lang qbasic>LPRINT "Hello World!"</lang>

Batch File

<lang dos>ECHO Hello world!">PRN</lang>

PureBasic

Library: PureLPRINT

<lang PureBasic>MyPrinter$ = LPRINT_GetDefaultPrinter() If LPRINT_OpenPrinter(MyPrinter$)

 If LPRINT_StartDoc("Printing a RC-Task")
   LPRINT_Print(Chr(27) + "E") ; PCL reset for HP Printers
   LPRINT_PrintN("Hello World!")
   LPRINT_NewPage()
   LPRINT_EndDoc()
 EndIf
 LPRINT_ClosePrinter()  

EndIf</lang>

Tcl

On Unix only: <lang tcl>exec lp << "Hello World!"</lang> or <lang tcl>set f [open |lp w] puts $f "Hello World!" close $f</lang> On Windows only: <lang tcl>set f [open prn w] puts $f "Hello World!" close $f</lang>

UNIX Shell

Works with: Bourne Shell

<lang bash>echo 'Hello World!'|lp</lang>

Works with: POSIX

Alternately, there are the character devices /dev/lp0, /dev/lp1, /dev/lpN and so on which correspond to line printers (if there are any attached to the system). Data written to these devices is sent to attached printers. <lang bash>echo 'Hello World' > /dev/lp0</lang>