Author | Topic: Converting from Escape! printing library | |
---|---|---|
Stanwood Campsmith | Converting from Escape! printing library on Mon, 17 Apr 2006 10:16:24 -0400 Hello, We've been using the Escape! laser printer library for years. I'd apreciate any guidance on how to replace those functions without completely re-writing sever dozen reports from scratch. Thanks again! --Stanwood Campsmith Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ | |
mark carew | Re: Converting from Escape! printing library on Tue, 18 Apr 2006 06:45:48 +1000 On Mon, 17 Apr 2006 10:16:24 -0400, Stanwood Campsmith wrote: > Hello, > > We've been using the Escape! laser printer library for years. I'd > appreciate any guidance on how to replace those functions without > completely re-writing sever dozen reports from scratch. > > Thanks again! > --Stanwood Campsmith > Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ Hi Stanwood, If you use @ <row>, <col> say for printing you could start by isolating your print routines in separate prgs and using the following to translate your print statements into a function that uses windows printing xbpprinter class functions. I have done been through this exercise with at least four clipper systems that I have converted to xBase++. Its usually a matter of using the pre-processor to switch your printing commands from text to gui printing. It would help if you could show some typical printing source code. #command @ <nRow>, <nCol> SAY <say> [PICTURE <picture>]; => printAt(<nRow>, <nCol>, <say> [, <picture>]) Regards Mark | |
Stanwood Campsmith | Re: Converting from Escape! printing library on Tue, 18 Apr 2006 17:19:58 -0400 Mark; Here's a small snippet from a single-page report that doesn't use @..say *- box heading hpGrayBar( nProw, nOffHorz+8, nInSide-4, 1, 20, "M" ) hpCenter( hpBold("- Patient -"), nProw, 45+nOffHorz, "M" ) hpAtSay( nProw, nOffHorz+10, wf->CUSTNO, "M" ) hpAtSay( nProw, nOffHorz+70, wf->ORDER_NO, "M" ) nProw += nRowH hpBox(nHoldRow-nRowH, nOffHorz, nProw+1, 100+nOffHorz, 2, "M") nProw += nRowH hpRJust( hpBold("Name:"), nProw, nPcol, "M" ) hpAtSay( nProw, nPcol+3, LNAME(wf->PT_LNAME, wf->PT_FNAME,30), "M" ) nProw += nRowH hpRJust( hpBold("Address:"), nProw, nPcol, "M" ) hpAtSay( nProw, nPcol+3, wf->PT_ADDR, "M" ) nProw += nRowH IF !EMPTY( wf->PT_CITY ) hpAtSay( nProw, nPcol+3, CITYX( wf->PT_CITY, wf->PT_STATE, wf->PT_ZIP, 30 ), "M" ) ELSE hpAtSay( nProw, nPcol+3, REPLICATE("_", 20), "M" ) hpAtSay( nProw, nPcol+35, REPLICATE("_", 3), "M" ) hpAtSay( nProw, nPcol+40, REPLICATE("_", 5), "M" ) ENDIF nProw += nRowH hpRJust( hpBold("Phone1:"), nProw, nPcol, "M" ) cDetail := IIF( EMPTY( SUBSTR(wf->PT_PHONE1,6,3) ), "(____)____-_____", wf->PT_PHONE1 ) cDetail += SPACE(5) + IIF( EMPTY(wf->PT_PTYP1), "_______", wf->PT_PTYP1) hpAtSay( nProw, nPcol+3, cDetail, "M" ) IF UPPER(TRIM(wf->PT_PTYP1)) <> "HOME" cDetail := IIF( EMPTY(wf->PT_PWHO1), "__________","") hpAtSay( nProw, nPcol+50, cDetail, "M" ) ENDIF I'll have a look at the XbpPrinter class and see how far I can get writing my own wrappers. Thanks again; --Stanwood On Mon, 17 Apr 2006 16:45:48 -0400, mark carew <markcarew@magicwanddept.com.au> wrote: > On Mon, 17 Apr 2006 10:16:24 -0400, Stanwood Campsmith wrote: > >> Hello, >> >> We've been using the Escape! laser printer library for years. I'd >> appreciate any guidance on how to replace those functions without >> completely re-writing sever dozen reports from scratch. >> >> Thanks again! >> --Stanwood Campsmith >> Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ > > Hi Stanwood, > > If you use @ <row>, <col> say for printing you could start by isolating > your print routines in separate prgs and using the following to translate > your print statements into a function that uses windows printing > xbpprinter > class functions. I have done been through this exercise with at least > four > clipper systems that I have converted to xBase++. Its usually a matter of > using the pre-processor to switch your printing commands from text to gui > printing. > > It would help if you could show some typical printing source code. > > #command @ <nRow>, <nCol> SAY <say> [PICTURE <picture>]; > => printAt(<nRow>, <nCol>, <say> [, <picture>]) > > Regards > Mark Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ | |
James Loughner | Re: Converting from Escape! printing library on Tue, 18 Apr 2006 20:10:09 -0400 These functions may help Stanwood Campsmith wrote: > Mark; > > Here's a small snippet from a single-page report that doesn't use @..say > > *- box heading > hpGrayBar( nProw, nOffHorz+8, nInSide-4, 1, 20, "M" ) > hpCenter( hpBold("- Patient -"), nProw, 45+nOffHorz, "M" ) > hpAtSay( nProw, nOffHorz+10, wf->CUSTNO, "M" ) > hpAtSay( nProw, nOffHorz+70, wf->ORDER_NO, "M" ) > nProw += nRowH > hpBox(nHoldRow-nRowH, nOffHorz, nProw+1, 100+nOffHorz, 2, "M") > > nProw += nRowH > hpRJust( hpBold("Name:"), nProw, nPcol, "M" ) > hpAtSay( nProw, nPcol+3, LNAME(wf->PT_LNAME, wf->PT_FNAME,30), "M" ) > > nProw += nRowH > hpRJust( hpBold("Address:"), nProw, nPcol, "M" ) > hpAtSay( nProw, nPcol+3, wf->PT_ADDR, "M" ) > > nProw += nRowH > IF !EMPTY( wf->PT_CITY ) > hpAtSay( nProw, nPcol+3, CITYX( wf->PT_CITY, wf->PT_STATE, > wf->PT_ZIP, 30 ), "M" ) > ELSE > hpAtSay( nProw, nPcol+3, REPLICATE("_", 20), "M" ) > hpAtSay( nProw, nPcol+35, REPLICATE("_", 3), "M" ) > hpAtSay( nProw, nPcol+40, REPLICATE("_", 5), "M" ) > ENDIF > > nProw += nRowH > hpRJust( hpBold("Phone1:"), nProw, nPcol, "M" ) > cDetail := IIF( EMPTY( SUBSTR(wf->PT_PHONE1,6,3) ), > "(____)____-_____", wf->PT_PHONE1 ) > cDetail += SPACE(5) + IIF( EMPTY(wf->PT_PTYP1), "_______", wf->PT_PTYP1) > hpAtSay( nProw, nPcol+3, cDetail, "M" ) > IF UPPER(TRIM(wf->PT_PTYP1)) <> "HOME" > cDetail := IIF( EMPTY(wf->PT_PWHO1), "__________","") > hpAtSay( nProw, nPcol+50, cDetail, "M" ) > ENDIF > > I'll have a look at the XbpPrinter class and see how far I can get > writing my own wrappers. > > Thanks again; > --Stanwood > > On Mon, 17 Apr 2006 16:45:48 -0400, mark carew > <markcarew@magicwanddept.com.au> wrote: > >> On Mon, 17 Apr 2006 10:16:24 -0400, Stanwood Campsmith wrote: >> >>> Hello, >>> >>> We've been using the Escape! laser printer library for years. I'd >>> appreciate any guidance on how to replace those functions without >>> completely re-writing sever dozen reports from scratch. >>> >>> Thanks again! >>> --Stanwood Campsmith >>> Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ >> >> >> Hi Stanwood, >> >> If you use @ <row>, <col> say for printing you could start by isolating >> your print routines in separate prgs and using the following to translate >> your print statements into a function that uses windows printing >> xbpprinter >> class functions. I have done been through this exercise with at least >> four >> clipper systems that I have converted to xBase++. Its usually a matter of >> using the pre-processor to switch your printing commands from text to gui >> printing. >> >> It would help if you could show some typical printing source code. >> >> #command @ <nRow>, <nCol> SAY <say> [PICTURE <picture>]; >> => printAt(<nRow>, <nCol>, <say> [, <picture>]) >> >> Regards >> Mark > > > > ExamplePrn.zip | |
James Loughner | Re: Converting from Escape! printing library on Tue, 18 Apr 2006 20:12:57 -0400 Sorry guys I didn't realize that the zp wa so large. Jim James Loughner wrote: > These functions may help > > Stanwood Campsmith wrote: > >> Mark; >> >> Here's a small snippet from a single-page report that doesn't use @..say >> >> *- box heading >> hpGrayBar( nProw, nOffHorz+8, nInSide-4, 1, 20, "M" ) >> hpCenter( hpBold("- Patient -"), nProw, 45+nOffHorz, "M" ) >> hpAtSay( nProw, nOffHorz+10, wf->CUSTNO, "M" ) >> hpAtSay( nProw, nOffHorz+70, wf->ORDER_NO, "M" ) >> nProw += nRowH >> hpBox(nHoldRow-nRowH, nOffHorz, nProw+1, 100+nOffHorz, 2, "M") >> >> nProw += nRowH >> hpRJust( hpBold("Name:"), nProw, nPcol, "M" ) >> hpAtSay( nProw, nPcol+3, LNAME(wf->PT_LNAME, wf->PT_FNAME,30), "M" ) >> >> nProw += nRowH >> hpRJust( hpBold("Address:"), nProw, nPcol, "M" ) >> hpAtSay( nProw, nPcol+3, wf->PT_ADDR, "M" ) >> >> nProw += nRowH >> IF !EMPTY( wf->PT_CITY ) >> hpAtSay( nProw, nPcol+3, CITYX( wf->PT_CITY, wf->PT_STATE, >> wf->PT_ZIP, 30 ), "M" ) >> ELSE >> hpAtSay( nProw, nPcol+3, REPLICATE("_", 20), "M" ) >> hpAtSay( nProw, nPcol+35, REPLICATE("_", 3), "M" ) >> hpAtSay( nProw, nPcol+40, REPLICATE("_", 5), "M" ) >> ENDIF >> >> nProw += nRowH >> hpRJust( hpBold("Phone1:"), nProw, nPcol, "M" ) >> cDetail := IIF( EMPTY( SUBSTR(wf->PT_PHONE1,6,3) ), >> "(____)____-_____", wf->PT_PHONE1 ) >> cDetail += SPACE(5) + IIF( EMPTY(wf->PT_PTYP1), "_______", >> wf->PT_PTYP1) >> hpAtSay( nProw, nPcol+3, cDetail, "M" ) >> IF UPPER(TRIM(wf->PT_PTYP1)) <> "HOME" >> cDetail := IIF( EMPTY(wf->PT_PWHO1), "__________","") >> hpAtSay( nProw, nPcol+50, cDetail, "M" ) >> ENDIF >> >> I'll have a look at the XbpPrinter class and see how far I can get >> writing my own wrappers. >> >> Thanks again; >> --Stanwood >> >> On Mon, 17 Apr 2006 16:45:48 -0400, mark carew >> <markcarew@magicwanddept.com.au> wrote: >> >>> On Mon, 17 Apr 2006 10:16:24 -0400, Stanwood Campsmith wrote: >>> >>>> Hello, >>>> >>>> We've been using the Escape! laser printer library for years. I'd >>>> appreciate any guidance on how to replace those functions without >>>> completely re-writing sever dozen reports from scratch. >>>> >>>> Thanks again! >>>> --Stanwood Campsmith >>>> Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ >>> >>> >>> >>> Hi Stanwood, >>> >>> If you use @ <row>, <col> say for printing you could start by isolating >>> your print routines in separate prgs and using the following to >>> translate >>> your print statements into a function that uses windows printing >>> xbpprinter >>> class functions. I have done been through this exercise with at >>> least four >>> clipper systems that I have converted to xBase++. Its usually a >>> matter of >>> using the pre-processor to switch your printing commands from text to >>> gui >>> printing. >>> >>> It would help if you could show some typical printing source code. >>> >>> #command @ <nRow>, <nCol> SAY <say> [PICTURE <picture>]; >>> => printAt(<nRow>, <nCol>, <say> [, <picture>]) >>> >>> Regards >>> Mark >> >> >> >> >> > | |
Gale Ford | Re: Converting from Escape! printing library on Wed, 19 Apr 2006 09:44:48 -0500 You can download beta version of Abeelabs PageScript 32. You could probable translate or wrap their functions to yours. Here is link to online manual. http://www.abeelabs.com/guides/ps32XB/index.html Stanwood Campsmith wrote: > Mark; > > Here's a small snippet from a single-page report that doesn't use @..say > > *- box heading > hpGrayBar( nProw, nOffHorz+8, nInSide-4, 1, 20, "M" ) > hpCenter( hpBold("- Patient -"), nProw, 45+nOffHorz, "M" ) > hpAtSay( nProw, nOffHorz+10, wf->CUSTNO, "M" ) > hpAtSay( nProw, nOffHorz+70, wf->ORDER_NO, "M" ) > nProw += nRowH > hpBox(nHoldRow-nRowH, nOffHorz, nProw+1, 100+nOffHorz, 2, "M") > > nProw += nRowH > hpRJust( hpBold("Name:"), nProw, nPcol, "M" ) > hpAtSay( nProw, nPcol+3, LNAME(wf->PT_LNAME, wf->PT_FNAME,30), "M" ) > > nProw += nRowH > hpRJust( hpBold("Address:"), nProw, nPcol, "M" ) > hpAtSay( nProw, nPcol+3, wf->PT_ADDR, "M" ) > > nProw += nRowH > IF !EMPTY( wf->PT_CITY ) > hpAtSay( nProw, nPcol+3, CITYX( wf->PT_CITY, wf->PT_STATE, > wf->PT_ZIP, 30 ), "M" ) > ELSE > hpAtSay( nProw, nPcol+3, REPLICATE("_", 20), "M" ) > hpAtSay( nProw, nPcol+35, REPLICATE("_", 3), "M" ) > hpAtSay( nProw, nPcol+40, REPLICATE("_", 5), "M" ) > ENDIF > > nProw += nRowH > hpRJust( hpBold("Phone1:"), nProw, nPcol, "M" ) > cDetail := IIF( EMPTY( SUBSTR(wf->PT_PHONE1,6,3) ), > "(____)____-_____", wf->PT_PHONE1 ) > cDetail += SPACE(5) + IIF( EMPTY(wf->PT_PTYP1), "_______", wf->PT_PTYP1) > hpAtSay( nProw, nPcol+3, cDetail, "M" ) > IF UPPER(TRIM(wf->PT_PTYP1)) <> "HOME" > cDetail := IIF( EMPTY(wf->PT_PWHO1), "__________","") > hpAtSay( nProw, nPcol+50, cDetail, "M" ) > ENDIF > > I'll have a look at the XbpPrinter class and see how far I can get > writing my own wrappers. > > Thanks again; > --Stanwood > > On Mon, 17 Apr 2006 16:45:48 -0400, mark carew > <markcarew@magicwanddept.com.au> wrote: > >> On Mon, 17 Apr 2006 10:16:24 -0400, Stanwood Campsmith wrote: >> >>> Hello, >>> >>> We've been using the Escape! laser printer library for years. I'd >>> appreciate any guidance on how to replace those functions without >>> completely re-writing sever dozen reports from scratch. >>> >>> Thanks again! >>> --Stanwood Campsmith >>> Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ >> >> Hi Stanwood, >> >> If you use @ <row>, <col> say for printing you could start by isolating >> your print routines in separate prgs and using the following to translate >> your print statements into a function that uses windows printing >> xbpprinter >> class functions. I have done been through this exercise with at least >> four >> clipper systems that I have converted to xBase++. Its usually a matter of >> using the pre-processor to switch your printing commands from text to gui >> printing. >> >> It would help if you could show some typical printing source code. >> >> #command @ <nRow>, <nCol> SAY <say> [PICTURE <picture>]; >> => printAt(<nRow>, <nCol>, <say> [, <picture>]) >> >> Regards >> Mark > > > > --Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ | |
Richard Dalzell | Re: Converting from Escape! printing library on Sun, 30 Apr 2006 13:55:23 -0500 Stanwood, I have used Roger Donnay's eXpress++ and Clayton Jone's TopDown products. Each one will make your task very easy to perform in addition you will have a very large assortment of other tools to assist you with your xBase++ code and projects. Looking at your sample provided, it will be very simple to perform. Rick "Stanwood Campsmith" <scampsmith@hiemstraoptical.com> wrote in message news:op.s772vkf41asmv7@stan1... Mark; Here's a small snippet from a single-page report that doesn't use @..say *- box heading hpGrayBar( nProw, nOffHorz+8, nInSide-4, 1, 20, "M" ) hpCenter( hpBold("- Patient -"), nProw, 45+nOffHorz, "M" ) hpAtSay( nProw, nOffHorz+10, wf->CUSTNO, "M" ) hpAtSay( nProw, nOffHorz+70, wf->ORDER_NO, "M" ) nProw += nRowH hpBox(nHoldRow-nRowH, nOffHorz, nProw+1, 100+nOffHorz, 2, "M") nProw += nRowH hpRJust( hpBold("Name:"), nProw, nPcol, "M" ) hpAtSay( nProw, nPcol+3, LNAME(wf->PT_LNAME, wf->PT_FNAME,30), "M" ) nProw += nRowH hpRJust( hpBold("Address:"), nProw, nPcol, "M" ) hpAtSay( nProw, nPcol+3, wf->PT_ADDR, "M" ) nProw += nRowH IF !EMPTY( wf->PT_CITY ) hpAtSay( nProw, nPcol+3, CITYX( wf->PT_CITY, wf->PT_STATE, wf->PT_ZIP, 30 ), "M" ) ELSE hpAtSay( nProw, nPcol+3, REPLICATE("_", 20), "M" ) hpAtSay( nProw, nPcol+35, REPLICATE("_", 3), "M" ) hpAtSay( nProw, nPcol+40, REPLICATE("_", 5), "M" ) ENDIF nProw += nRowH hpRJust( hpBold("Phone1:"), nProw, nPcol, "M" ) cDetail := IIF( EMPTY( SUBSTR(wf->PT_PHONE1,6,3) ), "(____)____-_____", wf->PT_PHONE1 ) cDetail += SPACE(5) + IIF( EMPTY(wf->PT_PTYP1), "_______", wf->PT_PTYP1) hpAtSay( nProw, nPcol+3, cDetail, "M" ) IF UPPER(TRIM(wf->PT_PTYP1)) <> "HOME" cDetail := IIF( EMPTY(wf->PT_PWHO1), "__________","") hpAtSay( nProw, nPcol+50, cDetail, "M" ) ENDIF I'll have a look at the XbpPrinter class and see how far I can get writing my own wrappers. Thanks again; --Stanwood On Mon, 17 Apr 2006 16:45:48 -0400, mark carew <markcarew@magicwanddept.com.au> wrote: > On Mon, 17 Apr 2006 10:16:24 -0400, Stanwood Campsmith wrote: > >> Hello, >> >> We've been using the Escape! laser printer library for years. I'd >> appreciate any guidance on how to replace those functions without >> completely re-writing sever dozen reports from scratch. >> >> Thanks again! >> --Stanwood Campsmith >> Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ > > Hi Stanwood, > > If you use @ <row>, <col> say for printing you could start by isolating > your print routines in separate prgs and using the following to translate > your print statements into a function that uses windows printing > xbpprinter > class functions. I have done been through this exercise with at least > four > clipper systems that I have converted to xBase++. Its usually a matter of > using the pre-processor to switch your printing commands from text to gui > printing. > > It would help if you could show some typical printing source code. > > #command @ <nRow>, <nCol> SAY <say> [PICTURE <picture>]; > => printAt(<nRow>, <nCol>, <say> [, <picture>]) > > Regards > Mark Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ |