SP Printer Issues

 This is how printing is handled by the library
 functions. You need not follow this method except where it is
 imbedded in SuperLib metafunctions.

 The function SLS_PRN() is a SET/RETRIEVE function
 which sets and retrieves the default printer port as a string
 with the default as "LPT1". This function may be called with any
 valid printer port name as a parameter to set a new printer port
 for SuperLib usage.

 Valid values are "LPT1", "LPT2", "LPT3", "COM1",
 "COM2" - anything you could issue a SET PRINTER TO
 <cPort> with.

 Another SET/RETRIEVE function - SLS_PRNC() - points
 to the setting which determines if the printer port will be
 checked for readiness before printing. Passing it a False causes
 it to not check the printer before printing - handy in some
 network situations.

 At print time, LPT* ports are checked for readiness
 via the P_READY() function. (COM ports are not checked for
 readiness.) However, if SLS_PRNC() has been passed a .f., no
 check for readiness is done.

 P_READY() uses the .ASM function ISPRN() to check for
 readiness.

 If the port is not ready, the user is given
 the option to:       Try Again
                      Ignore the Warning
                      Select a Different Printer Port
                      Abort the print request

 If Abort is selected, P_READY() returns false.

 

SP_SLS_PRN

SLS_PRN()

  Short:
  ------
 SLS_PRN() A Superlib printer setting function

 Returns
 <cSetting> => Current value of the setting

 Syntax
 SLS_PRN([cNew])

 Function                   Setting                     Default
 --------------------------------------------------------------
 SLS_PRN([cNew])            Default printer             'LPT1'

 [cNew] sets the setting to a new setting
 If [cNew] is passed, the setting is changed and the
 new setting is returned.

 Examples

  SLS_PRN("LPT2")
  SET PRINTER TO (SLS_PRN())

 Notes:

 Source: S_GLOBAL.PRG

 

SP_PRNPORT

PRNPORT()

  Short:
  ------
  PRNPORT() Determine Printer Port to use

  Returns:
  --------
  <cPort> => port chosen

  Syntax:
  -------
  PRNPORT([cPort1],[cPort2]..[cPort9])

  Description:
  ------------
  Allows user to select printer port for SET PRINTER TO
  output. Printer is set to this port

  [cPort1-9] are valid SET PRINTER TO strings

  LPT1 LPT2 LPT3 COM1 COM2 COM3 COM4 <FILENAME>

  Default is "LPT1","LPT2","LPT3"

  Examples:
  ---------
   cTheport := PRNPORT("LPT1","COM1")

  Source:
  -------
  S_PRNPOR.PRG

 

 

FT_PFLUSH

FT_PFLUSH()
 Flush a NetWare capture buffer

 Syntax

     FT_PFLUSH( [ <nLPTPortNumber> ] ) -> NIL

 Arguments

    <nLPTPortNumber> is the captured LPT port number to flush.  If the
    parameter is omitted, the default port or LPT1: is used.

 Returns

    NIL

 Description

   This routine is used to force a Novell NetWare capture buffer to print
   it's contents.  This is useful for printing reports with a filter set
   and you don't know how long it will be between print statements.  With
   a FT_PFLUSH() function at the end of any printing, you can have the
   timeout value for any capture set to 0 (zero).

   This routine was designed and written for Advanced NetWare 286 v 2.0 or
   NetWare 386 v 3.0 or better.  It has been tested on Advanced NetWare 286
   v 2.15 rev A & C, NetWare 386 v 3.0.

   This source code was written for Microsoft Macro Assembler v5.1.

 Examples

   (in DOS)
   F:>CAPTURE S=ServerName Q=PrintQueueName TI=0 L=1

   (in your Clipper application)
   SET FILTER TO Left( FONELIST->PHONENUM, 3 ) == "415"
   GO TOP
   SET PRINT ON
   DO WHILE .NOT. Eof()
     ? fonelist->lastname...
     SKIP
   ENDDO
   FT_PFLUSH(1)     && I could just say FT_PFLUSH() here as well.

 Source: FLUSHCAP.ASM

 Author: James R. Zack

FT_ENDCAP

FT_ENDCAP()
 Cancel a specific NetWare print queue capture

 Syntax

     FT_ENDCAP( [ <nLPTPortNumber> ] ) -> lResult

 Arguments

    <nLPTPortNumber> is the captured LPT port to cancel.  If the
    parameter is omitted, the default port of LPT1: is used.

 Returns

    .T. if successful

 Description

   This routine is used to close a specific capture on the specified LPT
   port.  When this command is issued, the LPT port is no longer redirected
   to the print queue, and any information waiting in queue to be printed
   will be printed.

   This routine was designed and written for Advanced NetWare 286 v 2.1 or
   NetWare 386 v 3.0 or better.  It has been tested on Advanced NetWare 286
   v 2.15 rev A & C and NetWare 386 v 3.0.

   This source code was written for Microsoft Macro Assembler v 5.1.  It
   should work with any assembler with minor modifications.

 Examples

   (in DOS)
   F:>CAPTURE S=ServerName Q=PrintQueueName T=0 L=2
   Device LPT2: re-routed to queue PrintQueueName on server ServerName.
   F:>CAPTURE S=ServerName Q=PrintQueueName T=0 L=1
   Device LPT1: re-routed to queue PrintQueueName on server ServerName.

   (in your Clipper application)
   FT_ENDCAP(2) // Closes LPT2: capture, and flushes print buffer
   ...
   ...
   FT_ENDCAP()  // Closes LPT1: (default) capture, and flushes
                //    print buffer

 Source: ENDCAP.ASM

 Author: James R. Zack