(see also Add new LPT Ports)
/* captured from a message in a public IBM forum */ /**********************************************************************/ /* */ /* List all printers */ /* */ /* Written by: Georg Haschek (see EMail Addresses) */ /* */ /* Description: Print a list of all printers to the display */ /* */ /**********************************************************************/ if RxFuncQuery( "SysLoadFuncs" ) then do Call RxFuncAdd "SysLoadFuncs", "REXXUTIL", "SysLoadFuncs" Call SysLoadFuncs end /* if rxFuncQuery( ... */ call SysIni "BOTH", "PM_SPOOLER_PRINTER", "ALL:", "printers" parse value SysIni( "BOTH", "PM_SPOOLER" , "PRINTER" ) with default ";" . default = strip( default ) maxlen = 8 do i = 1 to printers.0 val = printers.i parse value SysIni( "BOTH", "PM_SPOOLER_PRINTER_DESCR", val ) , With printerd.val ";" . printerd.val = space( translate( printerd.val," ","0d0a"x ) ) if val == default then printerd.val = printerd.val "[default]" maxlen = max( maxlen ,length( printerd.val ) ) end /* do i = 1 to printers.0 */ title = "Name"||Copies( " ",maxlen-4 ) "Port Queue Printer driver" say title say copies( "-", length( title ) ) do i = 1 to printers.0 val = printers.i parse value SysIni( "BOTH", "PM_SPOOLER_PRINTER", val ) , With port ";" driver ";" Queue ";" . say left( printerd.val,maxlen ) left( strip( port ),8 ) , left( strip( queue ),8) strip( driver ) end /* do i = 1 to printers.0 */ exit 0