Not yet. It was 4th of July. Besides you are on vacation. Go have fun! :-)
Daniel Klein wrote: > Did you check out SYSTEM(14) as previously requested? > > Dan > > On Sat, Jul 4, 2009 at 11:43 PM, Richard Kann<[email protected]> wrote: > >> It's local. And I have printed to it direct via the lp program. >> >> Daniel Klein wrote: >> >> Is 'HPLJ6' a local or network printer? >> >> If it's a network printer then you would have to create the form queue >> like this: >> >> SP-CREATE GPRINT PROG C:\CWS\DEMO\BIN\JSPOOL.EXE \\server_name\HPLJ6 >> >> Dan >> >> On Fri, Jul 3, 2009 at 8:29 PM, Daniel Klein<[email protected]> 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 -~----------~----~----~----~------~----~------~--~---
