home *** CD-ROM | disk | FTP | other *** search
/ Power CD-ROM!! 7 / POWERCD7.ISO / prgmming / clipper / prinscrn.prg < prev    next >
Text File  |  1993-10-14  |  2KB  |  90 lines

  1. /*
  2.  * File......: PRINSCRN.PRG
  3.  * Author....: Martin Colloby
  4.  * BBS.......: The Dark Knight Returns
  5.  * Net/Node..: 050/069
  6.  * User Name.: Martin Colloby
  7.  * Date......: 18/4/93
  8.  * Revision..: 1.0
  9.  *
  10.  * This is an original work by Martin Colloby and is placed in the public
  11.  * domain.
  12.  *
  13.  * Modification history:
  14.  * ---------------------
  15.  *
  16.  * $Log$
  17.  *
  18.  */
  19.  
  20.  
  21. /*  $DOC$
  22.  *  $FUNCNAME$
  23.  *      GT_PRINTSCREEN()
  24.  *  $CATEGORY$
  25.  *      Video
  26.  *  $ONELINER$
  27.  *      Output a screen to the printer
  28.  *  $SYNTAX$
  29.  *      GT_PrintScreen( cScreen )
  30.  *  $ARGUMENTS$
  31.  *      cScreen - Screen saved by GT_SaveScr()
  32.  *  $RETURNS$
  33.  *      NIL
  34.  *  $DESCRIPTION$
  35.  *      Outputs a screen to the printer.  The screen should be saved using
  36.  *      the GT Library function GT_SaveScr, and then passed to this function
  37.  *  $EXAMPLES$
  38.  *      GT_PrintScreen( GT_SaveScr( 0 , 0 , MAXROW() , MAXCOL() )
  39.  *  $SEEALSO$
  40.  *
  41.  *  $INCLUDE$
  42.  *
  43.  *  $END$
  44.  */
  45. *
  46. FUNCTION GT_PrintScreen( cScreen )
  47.  
  48. /*****************************************************************************
  49.  Purpose - Dump an area of the screen to the printer
  50.  Returns - None
  51.  Author  - Log
  52.  Created - 18/12/92
  53. ******************************************************************************
  54.  Parameters - cScreen - Screen to dump - Must be saved with GT_SaveScr
  55.  Privates   - None
  56.  Locals     - nWidth  - Width of screen area
  57.               nSubscript - Subscript of character
  58.  Externals  - None
  59. *****************************************************************************/
  60.  
  61. LOCAL nTop    := ASC( SUBSTR( cScreen , 1 , 1 ) )
  62. LOCAL nLeft   := ASC( SUBSTR( cScreen , 2 , 1 ) )
  63. LOCAL nBottom := ASC( SUBSTR( cScreen , 3 , 1 ) )
  64. LOCAL nRight  := ASC( SUBSTR( cScreen , 4 , 1 ) )
  65.  
  66. LOCAL cLine      := ""
  67. LOCAL nCount     := 0
  68. LOCAL nCount1    := 0
  69. LOCAL nSubscript := 0
  70. LOCAL nWidth     := nRight - nLeft + 1
  71.  
  72. cScreen := RIGHT( cScreen , LEN( cScreen ) - 4 )
  73.  
  74. FOR nCount := nTop TO nBottom
  75.     cLine := ""
  76.     FOR nCount1 := nLeft TO nRight + 1
  77.         nSubscript := ( ( nCount1 - nLeft ) * 2 ) + 1
  78.         cLine += SUBSTR( cScreen , ( ( nCount - nTop ) * nWidth * 2 ) + nSubscript , 1 )
  79.     NEXT nCount1
  80.  
  81.     cLine := LEFT( cLine , LEN( cLine ) - 1 )
  82.  
  83.     * Print this line
  84.     GT_NextRow( 1 , cLine , 5 )
  85.  
  86. NEXT nCount
  87.  
  88. RETURN NIL
  89. *
  90.