At this point, you might want to post a full 'jdiag.out' file (jdiag -vL).

I'm thinking that the problem is with SYSTEM(14). What compiler is
being used on this system?

Try this...

cnt = 0
LOOP UNTIL SYSTEM(14) DO
    CRT cnt
    cnt++
    SLEEP(1)
REPEAT

Run this program and then press any key to put something in the input
buffer. Does the program terminate at that point?

Dan

On Fri, Jul 3, 2009 at 9:09 PM, Richard Kann<[email protected]> wrote:
> I'll correct the graphics line, but that is not what is causing the issue
> though. The openseqs is correct as it does create the file. It just has 0
> bytes though and nothing is coming into the input prompt. It has a count of
> zero for numchars. I also tried writing out what got input and it is blank.
> It seems I should get the hello and other lines as input but nothing is
> being sent to the program at all (though the program is being run). HPLJ6 is
> the printer name.
>
> Daniel Klein wrote:
>
> I see 2 distinct problems, one is obvious, the other is going to take
> some debugging on your part.
>
> The 'obvious' one is the 'HELLO' code. If you've read the DOSPrinter
> documentation says that the embedded string must be of the form:
>
> <esc>"graphic"
>
> so you need to change line 7 to:
>
> 004 PRINT CHAR(27):DQUOTE('C:\SIGNATURES\836-1.BMP')
>
> Wrt 'the other problem'...
>
> is 'openseq_creates = true' set in 'Config_EMULATE' ?
>
> is 'HPLJ6' the correct name of the printer, as seen in the printer's
> 'properties' ?
>
> If you go to Control Panel > Printers, and double-click on the
> printer, then despool the job from jBASE, does anything show up in the
> printer window?
>
> Dan
>
>
> On Fri, Jul 3, 2009 at 2:15 PM, Richard Kann<[email protected]> wrote:
>
>
> Running into an issue. I set it up as you said tweaking the program to match
> my system. When I send a job to the new printer it does run the jspool
> program but nothing is being passed. i know this because I have jspool
> writing out the numchars value to a file and it comes up with zero each
> time. What would cause the spooled data to not pass to the jspool program? I
> assume I send it like normal by doing the printer on and print statements.
> Program below:
>
> 001 OPEN '','MD' TO MD ELSE STOP
> 002   PROMPT ''
> 003      INCLUDE JBC.h
> 004      id = SYSTEM(21):'_':DATE():'_':TIME():'_':SYSTEM(9):'_':RND(32000)
> 005      tempdirname = 'c:\temp'
> 006      OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream ELSE NULL
> 007      args = SYSTEM(1000)       ;* addl parameters (like
> 008      printername = args<2>
> 009      LOOP
> 010          numchars = SYSTEM(14)
> 011 WRITE numchars ON MD,'XXXNUM'
> 012      WHILE numchars DO
> 013          INPUT line,numchars
> 014          line=line:CHAR(13)
> 015          WRITESEQ line ON outstream ELSE NULL
> 016      REPEAT
> 017      WEOFSEQ outstream ELSE NULL
> 018      CLOSESEQ outstream
> 019      cmd = "C:\DARTSCD\DOSPrinter\DOSPrinter.exe /SEL'":printername:"' "
> 020      cmd=cmd:' /DEL ':tempdirname:DIR_DELIM_CH:id
> 021      EXECUTE CHAR(255):'k':cmd
> 022      END
>
> program doing the printing:
>
> 001 PRINTER ON
> 002 PRINT 'HELLO'
> 003 PRINT 'HOW ARE YOU'
> 004 PRINT CHAR(27):'C:\SIGNATURES\836-1.BMP'
> 005 PRINT 'HELLO AGAIN'
> 006 PRINTER OFF
> 007 PRINTER CLOSE
> 008 END
>
> the above is run after assigning the GPRINT printer specs below::
>
> FormQueue :GPRINT     (DEVCONFIG*1)
>   Status  :ASSIGNED  (6)
>   DevType :PROG  (2)
>   DevName :C:\CWS\DEMO\BIN\JSPOOL.EXE HPLJ6
>   LockPid :2320
>   Created :DEMO  0  03 JUL 2009  12:42:59
>   Stop Reason  :
>
>
> Daniel Klein wrote:
>
> Actually, it's DOSPrinter that allows you to embed graphics in the
> document. If you read the documentation from that link, it tells you
> how to do this. In a nutshell, there are a few options but the way I
> do it is to place:
>
> <esc>"graphic_name"
>
> in the document at the place you want the graphic to be. Note that
> <esc> is char(27).
>
> You can generate the document so that it ends up in the jBASE spooler
> under a form queue that is created like this:
>
> SP-CREATE CANON PROG c:\home\bin\jspool.exe Canon_i850
>
> Here's the 'jspool.b' code that uses DOSPrinter:
>
> 0001     PROGRAM jspool
> 0002     INCLUDE JBC.h
> 0003     id = CHANGE(UNIQUEKEY(),'/',']2F')
> 0004     tempdirname = 'c:\temp'
> 0005     OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream ELSE
> 0006         CREATE outstream ELSE NULL
> 0007     END
> 0008     args = SYSTEM(1000)       ;* addl parameters (like
> printername, cpi, lpi, font, etc)
> 0009     printername = args<2>
> 0010     cpi = args<3>
> 0011     IF cpi = '' THEN cpi = 10
> 0012     LOOP
> 0013         numchars = SYSTEM(14)
> 0014     WHILE numchars DO
> 0015         INPUT line, numchars
> 0016         line := CHAR(13)
> 0017         WRITESEQ line ON outstream ELSE NULL
> 0018     REPEAT
> 0019     WEOFSEQ outstream ELSE NULL
> 0020     CLOSESEQ outstream
> 0021     cmd = "C:\Software\DOSPrinter\DOSPrinter.exe /DEL
> /SEL'":printername:"' /CPI":cpi:' '
> 0022     cmd := tempdirname:DIR_DELIM_CH:id
> 0023     EXECUTE CHAR(255):'k':cmd
>
> If you are on jBASE 3.x then you would need to:
>
> a) change line 3 to something like this:
>
> id = SYSTEM(21):'_':DATE():'_':TIME():'_':SYSTEM(9):'_':RND(32000)
>
> b) change the OPENSEQ lines 5 thru 7 (inclusive) to:
>
> OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream NULL
>
> c) make sure 'openseq_creates = true' is set in your 'Config_EMULATE'
> file under the appropriate emulation section
>
> And, of course, line 21 should be changed to something that makes
> sense on your system
>
> You'll note that the code automagically removes the temp file when it
> is done despooling.
>
> DOSPrinter has a robust array of printing options, and all for just 40
> smackers for a single user.***
>
> Dan
>
> ***Note that I am in no way affiliated with this product, nor do I
> receive any kickbacks. I just like it cos it works well and does what
> the docs say it does, which is more than I can say for a lot of other
> commercial software out there.
>
>
> On Thu, Jul 2, 2009 at 8:55 PM, Richard Kann<[email protected]> wrote:
>
>
> I will try it. What I found is if I log onto the windows account jbase runs
> on it works. If I go on a different account it does not. But I did not try
> the specif printer approach.
>
> I am assuming in order to use this I need to put the entire invoice in a
> text file, write it out somewhere in windows and then print and delete it.
> That is how print wizard works.
>
> It would be nice if jbase itself had a utility to print graphics files
> within normal print statements. This way I would not have to re-write entire
> programs to do this kind of printing.
>
> Daniel Klein wrote:
>
> I think you need to specify the destination printer. Here is an
> example of what works for me:
>
> cmd = "C:\Software\DOSPrinter\DOSPrinter.exe /SEL'Canon_i850'
> c:\temp\file.txt"
> EXECUTE CHAR(255):'k':cmd
>
> Where 'Canon_i850' is the name of the printer; on my system it is the
> network shared name.
>
> Dan
>
>
> On Thu, Jul 2, 2009 at 5:38 PM, Richard Kann<[email protected]> wrote:
>
>
> Thanks. One question though. It works in command prompt in windows, but when
> I put it in a program it locks up and will not print. This is the code line.
> Any ideas:
>
> EXECUTE CHAR(255):'k':'C:\TEMP\DOSPRINTER C:\TEMP\SAMPLE2.PRN'
>
>
> Daniel Klein wrote:
>
> I use DOSPrinter for all of my printing needs.
> http://www.geocities.com/DOSPrint/
>
> It is especially handy when you have a GDI printer.
>
> And it is easy enough to integrate with the jBASE spooler.
>
> Dan
>
>
> On Wed, Jul 1, 2009 at 6:40 PM, Richard Kann<[email protected]> wrote:
>
>
> Hi All:
>
> I am trying to print a .bmp file (a signature capture) to a PCL inkjet
> printer (Jbase version 3.4.x windows) at the bottom of an invoice. Has
> anyone accomplished this before or knows how to do it?
>
> Richard Kann
> Comp-Ware Systems, Inc.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Please read the posting guidelines at: 
http://groups.google.com/group/jBASE/web/Posting%20Guidelines

IMPORTANT: Type T24: at the start of the subject line for questions specific to 
Globus/T24

To post, send email to [email protected]
To unsubscribe, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to