Jan,
Was to quick hitting the send button with my post. Left out the sample code.  
Here it is
--- SAVE THE FOLLOWING CODE AS APBFRPRT.RMD
-- ApBfrPrt: v7.6 - 05-APR-2008 JRB. Svc function print a data buffer
SET VAR ApBfrPrtInptBfr  TEXT=(.%1)
SET VAR ApBfrPrtStartLoc INTEGER=(.%2)
SET VAR ApBfrPrtInitLnth INTEGER=(.%3)
SET VAR ApBfrPrtInitDest INTEGER=(.%4)
SET VAR ApBfrPrtContLnth INTEGER=(.%5)
SET VAR ApBfrPrtContDest INTEGER=(.%6)
SET VAR ApBfrPrtPrtLoc INTEGER=(.%7)
SET VAR ApBfrPrtMaxChrPrt INTEGER=(SLEN(.%1))
CLEAR VAR %_-__
SET VAR ApBfrPrtLclBfr TEXT=' '
WHILE ApBfrPrtStartLoc <= .ApBfrPrtMaxChrPrt THEN
  SET VAR ApBfrPrtLclBfr=' '
  SET VAR ApBfrPrtLclBfr=(SMOVE(.ApBfrPrtInptBfr,.ApBfrPrtStartLoc,+
    .ApBfrPrtInitLnth,.ApBfrPrtLclBfr, .ApBfrPrtInitDest))
  SET VAR ApBfrPrtStartLoc=(.ApBfrPrtStartLoc + .ApBfrPrtInitLnth)
  IF ApBfrPrtStartLoc <= .ApBfrPrtMaxChrPrt THEN
    SET VAR ApBfrPrtLclBfr= +
      (SGET(.ApBfrPrtLclBfr,.ApBfrPrtInitLnth+.ApBfrPrtInitDest,1) + '+')
  ENDIF
  WRITE .ApBfrPrtLclBfr AT .vRptLnCur,.ApBfrPrtPrtLoc
  SET VAR vRptLnCur=(.vRptLnCur + 1)
  SET VAR ApBfrPrtInitLnth=.ApBfrPrtContLnth
  SET VAR ApBfrPrtInitDest=.ApBfrPrtContDest
ENDWHILE
CLEAR VAR ApBfrPrt%
RETURN
--- === END OF APBRPRT.RMD ===

--- SAVE FOLLLOWING AS PGMODE.RMD
SET ERROR VAR App_ErrVar
SET VAR gvLINES TEXT=(CVAL('LINES'))
SET VAR gvWIDTH TEXT=(CVAL('WIDTH'))
--SET VAR gvWHILEOPT=(CVAL('WHILEOPT'))
--SET WHILEOPT OFF
SET VAR vFileName='VUSRCALL.PRN'
-- Printer var specific to HP Laser Jet
SET VAR gpvUEL_Reset TEXT=(CHAR(27)+'%-12345X'+CHAR(27)+'E')
SET VAR gpvReset_UEL TEXT=(CHAR(27)+'E'+CHAR(27)+'%-12345X')
SET VAR gpvLetterPort6Ln TEXT=(CHAR(27)+'&l2a0o6D')
SET VAR gpvSYMBOL_PC850 TEXT=(CHAR(27)+'(10U')
SET VAR gpvPitch12 TEXT=(CHAR(27)+'(s12H')
SET VAR gpvCourierN TEXT=(CHAR(27)+'(s3t0s0b0P')
SET VAR gpvCourierI TEXT=(CHAR(27)+'(s4099t1s0b0P')
SET VAR gpvCourierB TEXT=(CHAR(27)+'(s4099t0s3b0P')
SET VAR gpvCourierBI TEXT=(CHAR(27)+'(s4099t1s3b0P')
SET VAR gpvLetterGothicN TEXT=(CHAR(27)+'(s4102t0s0b0P')
SET VAR gpvLetterGothicB TEXT=(CHAR(27)+'(s4102t0s3b0P')
SET VAR gpvLetterGothicI TEXT=(CHAR(27)+'(s4102t1s0b0P')
SET VAR gpvAntiqueOlive TEXT=(CHAR(27)+'(s4168t0s3b1p10V')
--SET VAR gpv16_6cpi TEXT=(CHAR(27)+'(s16.6H')
SET VAR gpvPgSetup TEXT= +
 (.gpvUEL_Reset + .gpvLetterPort6Ln + .gpvSYMBOL_PC850 + .gpvPitch12)
--RETURN
-- VuSrcAll: v7.6 - 05-APR-2008 JRB. Print definition all Views
-- Global Var: vFileName, Print Vars, gv?? vars
SET VAR vTblRecCnt INTEGER
SELECT COUNT(*) INTO vTblRecCnt FROM SYS_VIEWS
IF vTblRecCnt=0 THEN
  PAUSE 1 USING 'SYS_VIEWS table is empty' AT CENTER CENTER DEFAULT
  CLEAR VAR vTblRecCnt
  RETURN
ENDIF
SET PAGEMODE OFF
SET LINES 59
SET WIDTH 200
SET VAR vCntTblFld INTEGER
SET VAR vDlgMsg TEXT
SET VAR vRpt1stSw TEXT='Y'
SET VAR vRptBfr0 TEXT
SET VAR vRptBfr1 TEXT=NULL
SET VAR vRptBfr2 TEXT=NULL
SET VAR vRptBfr3 NOTE=NULL
SET VAR vRptBfr4 NOTE=NULL
SET VAR vRptLn2Prt INTEGER
SET VAR vRptLnCur INTEGER=1000
SET VAR vRptLnMax INTEGER=(INT(CVAL('LINES')))
SET VAR vRptPage INTEGER=0
SET VAR vRptName TEXT=('VuSrcAll')
SET VAR vRptTitle TEXT=('    ' + .gpvAntiqueOlive + +
  'Listing of View Source for' & CVAL('DATABASE') + RJS('Page',60))
SET VAR vRptDateTime TEXT=(.gpvCourierB + .vRptName & 'Run' & CTXT(.#DATE) & +
  'at' & CTXT(.#TIME) + .gpvCourierN)

DECLARE C2 CURSOR +
 FOR SELECT (.gpvCourierBI + '   Name:' & .gpvLetterGothicB + (LJS +
   (SYS_TABLE_NAME,18)) + .gpvCourierBI + +
   '   Table Id:' & .gpvLetterGothicB + (FORMAT(T1.SYS_TABLE_ID,'9990'))), +
   (.gpvCourierBI + '   Desc:' & .gpvCourierN + (IFGT(SLEN(SYS_COMMENT), 0,+
   SYS_COMMENT,'*** No Description defined for this View ***'))), +
   (.gpvCourierBI + 'Columns:' & .gpvCourierN + (IFGT(SLEN(SYS_COLUMN_LIST),+
   0,(SRPL(SRPL(SYS_COLUMN_LIST,CHAR(32),NULL,0), +
   CHAR(44),', ',0)),'*** No Column List defined for this View ***'))), +
   (.gpvCourierBI + '  Query:' & .gpvCourierN + SYS_QUERY), +
   ('ProcessingÿView' & SYS_TABLE_NAME), +
   (2 + (NINT(.5 + (SLEN(SYS_COMMENT) + 10)/76)) + (NINT(.5 + (SLEN +
   (SYS_COLUMN_LIST) + 10)/76)) + (NINT(.5 + (SLEN (SYS_QUERY) + 10)/76))), +
   (FORMAT(T1.SYS_TABLE_ID, '[>,-]VUE00000.SRC')) FROM SYS_VIEWS T1 INNER +
   JOIN SYS_TABLES T2 ON T1.SYS_TABLE_ID=T2.SYS_TABLE_ID +
  ORDER BY T2.SYS_TABLE_NAME ASC

SET PAGEMODE ON
OUTPUT .vFileName
OPEN C2

WHILE vTblRecCnt > 0 THEN
  FETCH C2 +
   INTO vRptBfr1, vRptBfr2, vRptBfr3, vRptBfr4, vDlgMsg, vCntTblFld, vFileName
  CLS FROM 11,15 TO 14,65
  PAUSE 3 USING .vDlgMsg AT CENTER CENTER BLACK ON CYAN

  SET VAR vRptLn2Prt=(vRptLnCur + .vCntTblFld)
  IF vRptLn2Prt > .vRptLnMax THEN
    SET VAR vRptPage=(.vRptPage + 1)
    IF vRpt1stSw='N' THEN
      SET VAR vRptBfr0=(.vRptTitle & CTXT(.vRptPage))
      NEWPAGE
    ELSE
      SET VAR vRpt1stSw='N'
      SET VAR vRptBfr0=(.gpvPgSetup + .vRptTitle & CTXT (.vRptPage))
    ENDIF

    SET VAR vRptLnCur=1
    WRITE .vRptBfr0 AT .vRptLnCur,1
    SET VAR vRptLnCur=(.vRptLnCur + 1)

    WRITE .vRptDateTime AT .vRptLnCur,5
    SET VAR vRptLnCur=(.vRptLnCur + 1)

    SET VAR vRptBfr0=(.gpvCourierBI + ' Parts  D e t a i l s')
    WRITE .vRptBfr0 AT .vRptLnCur,5
    SET VAR vRptLnCur=(.vRptLnCur + 1)

    SET VAR vRptBfr0=(' ÄÄÄÄÄ ' & (SFIL('Ä',77)) + .gpvCourierN)
    WRITE .vRptBfr0 AT .vRptLnCur,5
    SET VAR vRptLnCur=(.vRptLnCur + 1)
  ENDIF

  WRITE .vRptBfr1 AT .vRptLnCur,4
  SET VAR vRptLnCur=(.vRptLnCur + 1)
  RUN ApBfrPrt.RMD       USING .vRptBfr2 1 110 1 76 10 4
  RUN ApBfrPrt.RMD       USING .vRptBfr3 1 110 1 76 10 4
  RUN ApBfrPrt.RMD       USING .vRptBfr4 1 110 1 76 10 4
  SET VAR vRptLnCur=(.vRptLnCur + 1)  -- add extra line between records
  SET VAR vTblRecCnt=(.vTblRecCnt - 1)
ENDWHILE
SET VAR vRptLnCur=(.vRptLnCur + 1)
SET VAR vRptBfr0=('End' & .vRptName & 'Report' & .gpvReset_UEL)
WRITE .vRptBfr0 AT .vRptLnCur,32
NEWPAGE
OUTPUT SCREEN
SET PAGEMODE OFF
DROP CURSOR C2
SET LINES .gvLINES
SET WIDTH .gvWIDTH
CLEAR ALL VAR EXCEPT App_ErrVar, gpv%, gv%, PICK%, MICRORIM_MENU%
RETURN


Jim Bentley
American Celiac Society
[EMAIL PROTECTED]
tel: 1-504-737-3293


--- On Tue, 6/24/08, James Bentley <[EMAIL PROTECTED]> wrote:

> From: James Bentley <[EMAIL PROTECTED]>
> Subject: [RBASE-L] - Re: Dot Matrix
> To: "RBASE-L Mailing List" <[email protected]>
> Date: Tuesday, June 24, 2008, 8:18 PM
> Jan,
> 
> Following from www.rsyntax.com
> PAGEMODE
>       Top  Previous  Next
> 
> Operating Condition
> 
> Syntax: SET PAGEMODE ON/OFF
> 
> Default: OFF
> 
> Mode: Single- or Multi-user
> 
> Use PAGEMODE to design reports through a custom R:BASE
> program. With PAGEMODE on, you create a page of a report in
> memory, then send the report to a printer or file. PAGEMODE
> is an alternative method to creating reports through the
> Report Designer; the two methods work in different ways.
> 
> The WRITE, SHOW VARIABLE, and SELECT commands are used to
> "display" data on a virtual page. To determine
> the row location of the cursor on the virtual page, use the
> ISTAT function with the keyword PAGEROW after a SHOW
> VARIABLE command. (ISTAT('pagerow') does not work
> with the WRITE command.) The DECLARE CURSOR command is
> usually used for retrieving data for printing. You control
> form feeds (new pages) in your program by using the NEWPAGE
> or OUTPUT SCREEN command.
> 
> At the beginning of your program, set both SET LINES and
> SET WIDTH to accommodate the report's size. Then set
> PAGEMODE to on. You cannot write to a line longer than the
> current LINES setting or wider than the current WIDTH
> setting. You also cannot change the LINES and WIDTH setting
> without setting PAGEMODE to off first.
> 
> To send printer control codes to a printer, use the CHAR
> function to define a variable containing the printer
> control codes. Then, that variable is sent to the printer
> using the SHOW VARIABLE or WRITE command. For example,
>        
>       
>          SET VARIABLE vLandscape = (CHAR(27) + CHAR+
>                                    (38) + CHAR(108) + CHAR+
>                                    (49) + CHAR(79))
>          WRITE .vLandscape
>        
>       
> The printer control codes can be found in the user's
> manual for your printer.
> PAGEMODE allows you to:
> 
> Create reports wider than 255 columns and longer than 84
> lines.
> 
>       ·       Produce multi-column reports.  
>       ·       Design different styles for the pages of the report,
> such as a report with a personalized letter as the first
> page.  
>       ·       Create reports from tables with many-to-many
> relationships that have two or more detail sections.  
>       ·       Format odd and even pages differently throughout a
> report.  
>       ·       Print headers and footers only on the last page or
> first page.  
>       ·       Customize reports so break headers and footers are
> located on the same page.  
>       ·       Place a different break header on every page or the
> same break header on every page.  
>               
> 
> The following command line sets PAGEMODE on:
>        
>       
>         SET PAGEMODE ON
>        
> Following from v6.5++ on www.rsyntax.com
> Use PAGEMODE to design reports through a custom R:BASE
> program. With PAGEMODE on, you create a page of a report in
> memory, then send the report to a printer or file. PAGEMODE
> is an alternative method to creating reports through the
> Report Designer; the two methods work in different ways.
> 
> The WRITE, SHOW VARIABLE, and SELECT commands are used to
> 'display' data on a virtual page. To determine the
> row location of the cursor on the virtual page, use the
> ISTAT function with the keyword PAGEROW after a SHOW
> VARIABLE command. (ISTAT('pagerow') does not work
> with the WRITE command.) The DECLARE CURSOR command is
> usually used for retrieving data for printing. You control
> form feeds (new pages) in your program by using the NEWPAGE
> or OUTPUT SCREEN command.
> 
> At the beginning of your program, set both SET LINES and
> SET WIDTH to accommodate the report's size. Then set
> PAGEMODE to on. You cannot write to a line longer than the
> current LINES setting or wider than the current WIDTH
> setting. You also cannot change the LINES and WIDTH setting
> without setting PAGEMODE to off first.
> 
> To send printer control codes to a printer, use the CHAR
> function to define a variable containing the printer
> control codes. Then, that variable is sent to the printer
> using the SHOW VARIABLE or WRITE command. For example,
> 
> SET VARIABLE vLandscape = +
>    (CHAR(27)+CHAR(38)+CHAR(108)+CHAR(49)+CHAR(79))
> WRITE .vLandscape
> 
> The printer control codes can be found in the user's
> manual for your printer or can be obtained from your
> printer manufacturer. R:BASE Technologies, Inc. cannot and
> does not maintain any libraries of these escape codes.
> 
> PAGEMODE allows you to:
> 
>     * Create reports wider than 255 columns and longer than
> 84 lines.
>     * Produce multi-column reports.
>     * Design different styles for the pages of the report,
> such as a report with a personalized letter as the first
> page.
>     * Create reports from tables with many-to-many
> relationships that have two or more detail sections.
>     * Format odd and even pages differently throughout a
> report.
>     * Print headers and footers only on the last page or
> first page.
>     * Customize reports so break headers and footers are
> located on the same page.
>     * Place a different break header on every page or the
> same break header on every page. 
> 
> ============================================
> I am including a sample page mode report.  It is a real
> live application that prints a handy report of VIEW
> definitions.
> It consists of two command files: ApPrtBfr.rmd and
> PGMode.rmd
> it is designed to create a file VUSRCALL.PRN 
> that file contains all the HP printer codes and the Report
> data.  To print the report you open a "DOS COMMAND
> PROMPT"  and 
> COPY VUSRCALL.PRN PRN
> 
> Jim Bentley
> American Celiac Society
> [EMAIL PROTECTED]
> tel: 1-504-737-3293
> 
> 
> --- On Tue, 6/24/08, jan johansen
> <[EMAIL PROTECTED]> wrote:
> 
> > From: jan johansen <[EMAIL PROTECTED]>
> > Subject: [RBASE-L] - Re: Dot Matrix
> > To: "RBASE-L Mailing List"
> <[email protected]>
> > Date: Tuesday, June 24, 2008, 6:25 PM
> > James,
> > 
> > I haven't heard of pagemode. 
> > Any details appreciated.
> > 
> > Jan
> >  
> > 
> > 
> > -----Original Message-----
> > From: James Bentley <[EMAIL PROTECTED]>
> > To: [email protected] (RBASE-L Mailing List)
> > Date: Tue, 24 Jun 2008 16:15:17 -0700 (PDT)
> > Subject: [RBASE-L] - Re: Dot Matrix
> > 
> > 
> > Jan,
> > 
> > If your report is not to complex have you considered
> > converting it into a 
> > pagemode report.  You could then imbed the needed dot
> > matrix format 
> > commands.  
> > 
> > Jim Bentley
> > American Celiac Society
> > [EMAIL PROTECTED]
> > tel: 1-504-737-3293
> > 
> > 
> > --- On Tue, 6/24/08, jan johansen
> > <[EMAIL PROTECTED]> wrote:
> > 
> > > From: jan johansen
> <[EMAIL PROTECTED]>
> > > Subject: [RBASE-L] - Re: Dot Matrix
> > > To: "RBASE-L Mailing List"
> > <[email protected]>
> > > Date: Tuesday, June 24, 2008, 5:11 PM
> > > I hate to tell the client to use DOS whenever he
> needs
> > to
> > > print to 
> > > Dot-Matrix.
> > > Right now everytime I send a report to the
> dot-matrix
> > it
> > > switches to letter
> > > quality mode. I just want to keep it in draft.
> > > I have all the [Escape] sequences that I need but
> the
> > help
> > > says that the 
> > > new PCC labels are only for hardware codes not
> for
> > > formatting text such
> > > as double-wide or bold like we did it in the dos
> days.
> > > 
> > > Jan
> > >  
> > > 
> > > 
> > > -----Original Message-----
> > > From: James Bentley
> <[EMAIL PROTECTED]>
> > > To: [email protected] (RBASE-L Mailing List)
> > > Date: Tue, 24 Jun 2008 14:57:02 -0700 (PDT)
> > > Subject: [RBASE-L] - Re: Dot Matrix
> > > 
> > > 
> > > Jan,
> > > 
> > > Only RBase for DOS  any version including v7.6
> can use
> > the
> > > ".PRD" files.  I 
> > > still use the DOS version running under windows
> for
> > one of
> > > my applications.
> > > 
> > > Jim Bentley
> > > American Celiac Society
> > > [EMAIL PROTECTED]
> > > tel: 1-504-737-3293
> > > 
> > > 
> > > --- On Tue, 6/24/08, jan johansen
> > > <[EMAIL PROTECTED]> wrote:
> > > 
> > > > From: jan johansen
> > <[EMAIL PROTECTED]>
> > > > Subject: [RBASE-L] - Re: Dot Matrix
> > > > To: "RBASE-L Mailing List"
> > > <[email protected]>
> > > > Date: Tuesday, June 24, 2008, 4:42 PM
> > > > Can you call a PRD from 7.6?
> > > >  
> > > > 
> > > > 
> > > > -----Original Message-----
> > > > From: Dennis McGrath
> <[EMAIL PROTECTED]>
> > > > To: [email protected] (RBASE-L Mailing List)
> > > > Date: Tue, 24 Jun 2008 16:38:25 -0500
> > > > Subject: [RBASE-L] - Re: Dot Matrix
> > > > 
> > > > 
> > > > I think all of those can be configured as an
> > Epson
> > > printer.
> > > > The Epson1.PRD  should work if they are so
> > configured.
> > > >  
> > > > 
> > > > 
> > > > 
> > > > From: [email protected]
> > [mailto:[EMAIL PROTECTED] On
> > > > Behalf Of jan johansen
> > > > Sent: Tuesday, June 24, 2008 4:25 PM
> > > > To: RBASE-L Mailing List
> > > > Subject: [RBASE-L] - Re: Dot Matrix
> > > >  
> > > > James,
> > > >  
> > > > They are
> > > > OKI Microline 420
> > > > OKI Microline 421
> > > > OKI Microline 520
> > > >  
> > > > Thanks.
> > > >  
> > > > Jan





Reply via email to