Help Pl - Newbie Q: Printing on Windows & 16 bit compiling

257 views
Skip to first unread message

Sanjay Arora

unread,
Feb 3, 2011, 4:05:04 AM2/3/11
to Harbour Users, kapur...@gmail.com
Hello all

I just got some clipper 5 programs ported to harbour project.
Everything is running fine, except the printing.

I am using a LPT redirection program dos2usb from http://www.dos2usb.com/
Using AMD 3000 plus processor with 512 MB memory. Printer is HP
laserjet 1020.

The problem is that after printing to windows spool, the printing does
not happen till I exit the harbour compiled program. However, using
the clipper compiled version, this does not happen.

Developer of Dos2usb has asked to compile the program in 16 bit,
strangely stating the problem to be of processor speed. He stated that
this problem is not faced in dual core processors, due to their speed.

I find this very surprising because regardless of the processor speed,
spooling would happen with some sort of end spool que.

My questions are:

- Does Harbour have any native sub-component to support usb based
windows printers? Please provide links if so, because I could not find
any.
- Does harbour have any 16 bit version or compiling mode?
- Any links to information on printing in harbour project?

Hope someone will help.

With best regards.
Sanjay.

Maurizio Faccio adinet

unread,
Feb 3, 2011, 4:31:43 AM2/3/11
to harbou...@googlegroups.com
El 03/02/2011 07:05 a.m., Sanjay Arora escribi�:

> Hello all
>
> I just got some clipper 5 programs ported to harbour project.
> Everything is running fine, except the printing.
>
> I am using a LPT redirection program dos2usb from http://www.dos2usb.com/
> Using AMD 3000 plus processor with 512 MB memory. Printer is HP
> laserjet 1020.
>
> The problem is that after printing to windows spool, the printing does
> not happen till I exit the harbour compiled program. However, using
> the clipper compiled version, this does not happen.
>
I do not know if has something about or not but once I have trouble with
printing in clipper to network queues, that clipper do not close the
handle to the port until I close the program, or if I wait near
40seconds (if i remember well, but something like that) the prints start.

I have made a trick like calling this function after I end printing.

FUNCTION CIERRAPRINTER(_port)
SET PRINTER OFF
SET PRINTER TO
SET DEVICE TO SCREEN
SET PRINTER ON
SET PRINTER TO (_port)
SET DEVICE TO PRINTER
SET PRINTER OFF
SET PRINTER TO
SET DEVICE TO SCREEN

Here you have some references to that trouble
http://www.printfil.com/article/clipper-print-windows-printer.htm

Hope it helps

Maurizio

Maurizio la Cecilia

unread,
Feb 3, 2011, 4:32:53 AM2/3/11
to harbou...@googlegroups.com
Hi,
take a look to this register key :

http://technet.microsoft.com/en-us/library/cc959496.aspx

I solved same problem setting this value to 0 or 1.
Let me know if worked for you.
Remember also that Harbour can access to register programatically, so you can set the key in your application, not only with regedit.
Best regards.
Maurizio

alcisoft

unread,
Feb 2, 2011, 4:31:38 AM2/2/11
to harbou...@googlegroups.com
Sanjay

There are two printers models USB
1) USB DOS compatibles. No often.
2) USB Win compatibles (or names GDI printers)


If your printers is 1) you only need to use PrintFileRaw() function and not
need dos2usb program
If your printers is 2) you need dos2usb program

Regards

>My questions are:
>
>- Does Harbour have any native sub-component to support usb based
>windows printers? Please provide links if so, because I could not find
>any.
>- Does harbour have any 16 bit version or compiling mode?
>- Any links to information on printing in harbour project?
>
>Hope someone will help.
>
>With best regards.
>Sanjay.
>

>--
>You received this message because you are subscribed to the Google
>Groups "Harbour Users" group.
>Unsubscribe: harbour-user...@googlegroups.com
>Web: http://groups.google.com/group/harbour-users

Maurizio la Cecilia

unread,
Feb 3, 2011, 4:37:23 AM2/3/11
to harbou...@googlegroups.com

Best regards.
Maurizio

Il 03/02/2011 10.05, Sanjay Arora ha scritto:

Bopdji Shah

unread,
Feb 3, 2011, 9:01:41 AM2/3/11
to harbou...@googlegroups.com
You should understand once for all that 16 bit is out and the bare minimum is 32 bit.  Also Sanjayji, forget about using anything less than Windows XP SP2 or if you are using Linux, anything less than Ubuntu 9 or equivalent is not desirable.
Otherwise, you WILL experience  strange problems, increasing with time.

Allow yourself maximum one more year to change to 64 bit. minimum 4 GB memory, and use it in 32 bit/64 bit mode.

Even though this forum and other Harbour forums, are still catering to and geared towards Windows 95/98, and ANSI, the sooner you focus to the above OSes and towards real Unicode, the better for you.

I am an old timer, and went through the process of DOS 5.0, to 6.22, Win 3.1 to Windows 7, and as long as Bill Gates and Intel are in charge, you cannot escape reality of computing life.   Just last night I tried to read an old (1998) Word 95 document with Word 2007, and it said "out of memory"!

Best wishes

On 3 February 2011 04:05, Sanjay Arora <sanjay....@gmail.com> wrote:
Hello all

....

I am using a LPT redirection program dos2usb from http://www.dos2usb.com/
Using AMD 3000 plus processor with 512 MB memory. Printer is HP
laserjet 1020.

The problem is that after printing to windows spool, the printing does
not happen till I exit the harbour compiled program. However, using
the clipper compiled version, this does not happen.

Developer of Dos2usb has asked to compile the program in 16 bit,
strangely stating the problem to be of processor speed. He stated that
this problem is not faced in dual core processors, due to their speed.

.......

Hope someone will help.

With best regards.
Sanjay.

Sanjay Arora

unread,
Feb 4, 2011, 12:22:49 AM2/4/11
to harbou...@googlegroups.com
Thanks Guys. Will try these out.

But does not harbour have any method to print using Windows print
system instead...bypassing all this print port redirection. I mean, I
myself don't have the capability, but could not the entire dbase print
subsystem be redplaced with one that supported the windows print
drivers. Or am I wrong?

Sanjay Arora

unread,
Feb 4, 2011, 12:35:24 AM2/4/11
to harbou...@googlegroups.com
On Thu, Feb 3, 2011 at 7:31 PM, Bopdji Shah <bop...@gmail.com> wrote:
> You should understand once for all that 16 bit is out and the bare minimum
> is 32 bit.  Also Sanjayji, forget about using anything less than Windows XP
> SP2 or if you are using Linux, anything less than Ubuntu 9 or equivalent is
> not desirable.
> Otherwise, you WILL experience  strange problems, increasing with time.
>
> Allow yourself maximum one more year to change to 64 bit. minimum 4 GB
> memory, and use it in 32 bit/64 bit mode.
>
> Even though this forum and other Harbour forums, are still catering to and
> geared towards Windows 95/98, and ANSI, the sooner you focus to the above
> OSes and towards real Unicode, the better for you.
>
> I am an old timer, and went through the process of DOS 5.0, to 6.22, Win 3.1
> to Windows 7, and as long as Bill Gates and Intel are in charge, you cannot
> escape reality of computing life.   Just last night I tried to read an old
> (1998) Word 95 document with Word 2007, and it said "out of memory"!
>

Actually I think most people are already using xp & 32 bit processors.
I know I am using Centos 5.5 with core 2 machines. For people, its not
from the need to upgrade, but mostly from not getting parts of older
machines. But being small businesses they find their customized dbase
programs still effective. Of course, many migrated to windows based
programs when India migrated to VAT from Sales Tax.

One guy I know is still using a 386 machine, wordstar etc. And he has
the added benefit that he never gets viruses anymore....viruses have
all upgraded to xp ;-) Of course, he still lives in the dark ages...no
Internet & so on.

Sanjay.

Clippero

unread,
Feb 4, 2011, 12:05:06 PM2/4/11
to Harbour Users
En Clipper o Dbase se imprimía solo a puertos LPT
Cuando aparecieron las impresoras USB la solución podía ser usar
programas externos que recibieran la impresión dirigida al LPT y la re-
enviaban por Windows al USB.
Recordemos que para llegar al USB desde DOS había que usar algo entre
medio tambien.

La solución para no tener que depender de programas externos es hacer
un NET USE y mapear el puerto LPT a la impresora conectada en el
puerto USB (obviamente tiene que estar compartida)

NET USE LPT1 \\192.168.10.1\impresora_usb

Con esto se lograba imprimir desde Clipper o desde una ventana de DOS
a la impresora mapeada en el LPT1, aunque dicha impresora fuera USB

Lamentablemente no todas las impresoras logran imprimir con esta
forma, algunas HP o SAMSUNG no imprimian nada aunque estuvieran
mapeadas en el puerto LPT

Algunos modelos traen un driver (buscar en la página del fabricante)
que permite la instalación de dicha impresora USB para DOS de esta
manera llegaríamos a ellas simplemente imprimiendo al puerto LPT

Si no se necesitaran tipos de letras (fonts) y se pudiera imprimir en
texto plano, se puede instalar la impresora como Generica solo Texto y
ahi las impresiones saldrían siempre.
Otra forma es generar los listados en un archivo .txt y luego correr
por dentro un RUN NOTEPAD archivo.txt /P

Hoy en día en Harbour se pueden hacer muchas cosas, a mi la que mas me
gusta es generar un archivo .pdf y luego usar algún programa que
abra .pdf para imprimir.
Por ejemplo, yo con mis listados genero un .pdf, luego hago RUN
archivo.pdf se ejecuta el programa por defecto que abre los
archivos .pdf (FOXIT.EXE, ADOBEREADER.EXE, ETC)
Y una vez en el programa para pdf además de tener una vista previa de
mi listado, administro las impresiones, no tengo limitación alguna
sobre las impresoras, cantidad de hojas, margenes, tipo de hoja, etc.
etc.
Si solo quisiera imprimir sin abrir nada hago RUN FOXIT archivo.pdf /p
y en al impresora por defecto saldría impreso el contenido del
archivo.pdf, (tambien se puede enviar la impresión a otra impresora y
no a la predeterminada)

Esto sirve para cualquier windows en el que corra un programa que
abra .pdf

Cualquier duda a las ordenes.

Fermín ;-)


On 4 feb, 03:35, Sanjay Arora <sanjay.k.ar...@gmail.com> wrote:
> El Jue, 03 de febrero 2011 a las 7:31 PM, Bopdji Shah <balanza de pagos...@ gmail.com> escribió:> Usted debe comprender de una vez por todo lo que está fuera de 16 bits y el mínimo> Es de 32 bits.También Sanjayji, olvidarse de utilizar nada menos que de Windows XP> SP2 o si está utilizando Linux, nada menos que Ubuntu 9 o equivalente> No es deseable.> En caso contrario, tendrá problemas extraños, aumentando con el tiempo.
>
> > Permitir máxima mismo un año más para cambiar a 64 bits.un mínimo de 4 GB> memoria, y su uso en modo de 32 bits bit/64.
>
> > A pesar de que este foro y otros foros Puerto, todavía restauración y> Orientada a Windows 95/98, y ANSI, más pronto usted se enfoca a la anterior> Sistemas Operativos y hacia la verdadera Unicode, el mejor para usted.
>
> > Yo soy un viejo contador de tiempo, y pasó por el proceso de DOS 5.0, a 6.22, Windows 3.1> Windows 7 y mientras Bill Gates Intel encargada no puedes> Escapar de la realidad de la vida informática.Anoche traté de leer un viejo> (1998) documento de Word 95 con Word 2007, y dijo que "sin memoria"!
>
> En realidad creo que la mayoría de la gente ya está usando Windows XP y procesadores de 32 bits.Sé que estoy usando Centos 5.5 con la base 2 máquinas.Para la gente, no esde la necesidad de actualización, pero no en su mayoría de conseguir piezas de mayor edadmáquinas.Pero siendo las pequeñas empresas encuentran su DBase personalizadolos programas siguen siendo eficaces.Por supuesto, muchos emigraron a las ventanas de baseprogramas cuando la India emigró a IVA del impuesto sobre las ventas.
>
> Un tipo que conozco todavía está utilizando una máquina de 386, etc WordStar Y tiene queel beneficio añadido de que nunca se los virus más .... virus tienentodo actualizado a XP ;-) Por supuesto, él sigue viviendo en la Edad Media ... noInternet y así sucesivamente.
>
> Sanjay.

Sanjay Arora

unread,
Feb 4, 2011, 2:29:21 PM2/4/11
to harbou...@googlegroups.com
Thanks Fermin

Can you please provide a link to component for pdf generation? or
maybe some sample code?

I already create a txt file & print it on dot matrix printer, but need
something for normal & compressed or 132 column printing on windows
printers. Don't need fonts though, if I can print compressed without
fonts). My need is to print output for 132 column dot matrix to
windows A4 in compressed.

I hope your pdf link/code can be a solution for me.

Thanks for ving your input.

With best regards.
Sanjay.


2011/2/4 Clippero <clip...@gmail.com>:

Maurizio Faccio adinet

unread,
Feb 4, 2011, 4:05:52 PM2/4/11
to harbou...@googlegroups.com
Please review hbhpdf contrib. There you have test samples on how to
write pdfs from inside harbour.

Best regards

Maurizio


El 04/02/2011 05:29 p.m., Sanjay Arora escribi�:


> Thanks Fermin
>
> Can you please provide a link to component for pdf generation? or
> maybe some sample code?
>

> I already create a txt file& print it on dot matrix printer, but need
> something for normal& compressed or 132 column printing on windows


> printers. Don't need fonts though, if I can print compressed without
> fonts). My need is to print output for 132 column dot matrix to
> windows A4 in compressed.
>
> I hope your pdf link/code can be a solution for me.
>
> Thanks for ving your input.
>
> With best regards.
> Sanjay.
>
>
> 2011/2/4 Clippero<clip...@gmail.com>:

>> En Clipper o Dbase se imprim�a solo a puertos LPT
>> Cuando aparecieron las impresoras USB la soluci�n pod�a ser usar
>> programas externos que recibieran la impresi�n dirigida al LPT y la re-


>> enviaban por Windows al USB.

>> Recordemos que para llegar al USB desde DOS hab�a que usar algo entre
>> medio tambien.
>>
>> La soluci�n para no tener que depender de programas externos es hacer


>> un NET USE y mapear el puerto LPT a la impresora conectada en el
>> puerto USB (obviamente tiene que estar compartida)
>>
>> NET USE LPT1 \\192.168.10.1\impresora_usb
>>
>> Con esto se lograba imprimir desde Clipper o desde una ventana de DOS
>> a la impresora mapeada en el LPT1, aunque dicha impresora fuera USB
>>
>> Lamentablemente no todas las impresoras logran imprimir con esta
>> forma, algunas HP o SAMSUNG no imprimian nada aunque estuvieran
>> mapeadas en el puerto LPT
>>

>> Algunos modelos traen un driver (buscar en la p�gina del fabricante)
>> que permite la instalaci�n de dicha impresora USB para DOS de esta
>> manera llegar�amos a ellas simplemente imprimiendo al puerto LPT


>>
>> Si no se necesitaran tipos de letras (fonts) y se pudiera imprimir en
>> texto plano, se puede instalar la impresora como Generica solo Texto y

>> ahi las impresiones saldr�an siempre.


>> Otra forma es generar los listados en un archivo .txt y luego correr
>> por dentro un RUN NOTEPAD archivo.txt /P
>>

>> Hoy en d�a en Harbour se pueden hacer muchas cosas, a mi la que mas me
>> gusta es generar un archivo .pdf y luego usar alg�n programa que


>> abra .pdf para imprimir.
>> Por ejemplo, yo con mis listados genero un .pdf, luego hago RUN
>> archivo.pdf se ejecuta el programa por defecto que abre los
>> archivos .pdf (FOXIT.EXE, ADOBEREADER.EXE, ETC)

>> Y una vez en el programa para pdf adem�s de tener una vista previa de
>> mi listado, administro las impresiones, no tengo limitaci�n alguna


>> sobre las impresoras, cantidad de hojas, margenes, tipo de hoja, etc.
>> etc.
>> Si solo quisiera imprimir sin abrir nada hago RUN FOXIT archivo.pdf /p

>> y en al impresora por defecto saldr�a impreso el contenido del
>> archivo.pdf, (tambien se puede enviar la impresi�n a otra impresora y


>> no a la predeterminada)
>>
>> Esto sirve para cualquier windows en el que corra un programa que
>> abra .pdf
>>
>> Cualquier duda a las ordenes.
>>

>> Ferm�n ;-)

jparada

unread,
Feb 4, 2011, 9:10:11 PM2/4/11
to Harbour Users
Hi Sanjay,

Take a look here:

http://groups.google.com/group/harbour-users/browse_thread/thread/ebdeed326ac7650b/3d625fd3119f27f6?lnk=gst&q=center#3d625fd3119f27f6

I hope this helps.

Best Regards,
Javier

On 4 feb, 13:29, Sanjay Arora <sanjay.k.ar...@gmail.com> wrote:
> Thanks Fermin
>
> Can you please provide a link to component for pdf generation? or
> maybe some sample code?
>
> I already create a txt file & print it on dot matrix printer, but need
> something for normal &  compressed or 132 column printing on windows
> printers. Don't need fonts though, if I can print compressed without
> fonts). My need is to print output for 132 column dot matrix to
> windows A4 in compressed.
>
> I hope your pdf link/code can be a solution for me.
>
> Thanks for ving your input.
>
> With best regards.
> Sanjay.
>
> 2011/2/4 Clippero <clipp...@gmail.com>:
> > Fermín ;-)- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Clippero

unread,
Feb 5, 2011, 8:33:33 AM2/5/11
to Harbour Users
Como dice Maurizio Faccio en las contribs de Harbour está todo,
incluso hay ejemplos que van a ser mucho mas fáciles que el código que
yo te pueda enviar porque mis listados tienen unos cuantos agregados
que en tu caso van a ser mas un problema que una solución.

Con respecto a la impresión condensada, en impresoras matriciales
enviando un CHR(15) a la impresora basta para setear el tipo de letra
condensada.

Pero en el mundo windows la cosa cambia porque windows imprime en
formáto gráfico, salvo que instales la impresora como "Generica solo
Texto" o uses un controlador de impresión para imprimir en texto
plano.

Para imprimir desde windows en un tamaño de letra mas pequeño, la
única forma que conozco es variando el tamaño del font

Espero que puedas solucionar y puedas armar un .pdf

Fermín ;-)


On 4 feb, 17:29, Sanjay Arora <sanjay.k.ar...@gmail.com> wrote:
> Gracias Fermín
>
> ¿Puedes por favor dar un enlace al componente de generación de pdf?otal vez algún código de ejemplo?
>
> Yo ya crear un archivo txt y imprimirlo en impresora matricial, pero necesitanalgo para la impresión de la columna normal y comprimido o 132 en las ventanasimpresoras.No necesito fuentes, sin embargo, si puedo imprimir comprimido sinfuentes).Mi necesidad es imprimir la salida de 132 columnas de matriz de puntos paraventanas de tamaño A4 en formato.
>
> Espero que su enlace pdf / código puede ser una solución para mí.
>
> Gracias por tivo de la entrada.
>
> Con mis mejores deseos.Sanjay.
>
> 2011/2/4 Clippero <CLIPP...@ gmail.com>:
>
>
>
>
>
>
>
> > En Clipper o Dbase sí imprimía un solitario puertos LPT> CUANDO aparecieron Las Impresoras USB La Solución podia USAR servicios> Programas Externos Que recibieran la Impresión y Dirigida al LPT la re-> Por Windows enviaban al USB.> Recordemos Que el párrafo Llegar al USB DESDE DOS habia Que USAR algoritmos empresarios> Tambien Medio.
>
> > La Solución párrafo Tener Que no depender de Programas HACER es Externos> Sin NET USE y Mapear El Puerto LPT al estilo de Impresora Conectada En El> Puerto USB (obviamente TIENE Que ESTAR Compartida)
>
> > NET USE LPT1 \ \ 192.168.10.1 \ impresora_usb
>
> > Con ESTO sí lograba imprimir DESDE Clipper o DESDE Una ventana de DOS> Al estilo de Impresora mapeada en El LPT1, aunque dicha Impresora Fuera USB
>
> > Lamentablemente no TODAS Las Impresoras logran imprimir this Con> Forma, ALGUNAS o HP SAMSUNG no estuvieran nada aunque imprimian> Mapeadas en El Puerto LPT
>
> > ALGUNOS Modelos Traen sin conductor (Buscar en la Página del Fabricante)> Que permite la Instalación de dicha Impresora USB párrafo DOS of this> Manera llegaríamos una Ellas Simplemente imprimiendo al puerto LPT
>
> > Si No Se necesitaran Tipos de letras (fuentes) y sí Pudiera imprimir en> Texto plano, SE PUEDE Instalar la Impresora de como solista Generica Texto y> Ahi Las Impresiones saldrían Siempre.> Otra forma es Generar los listados en Archivo de la ONU. Txt correr LUEGO yLibros> Dentro de las Naciones Unidas RUN NOTEPAD archivo.txt / P
>
> > Hoy en Día en Puerto sí pueden HACER Muchas Cosas, A Mi La Que mas meGusta> es Generar Archivo de las Naciones Unidas. pdf y LUEGO USAR Algún Programa Que> Abra. Pdf párrafo imprimir.> Por Ejemplo, listados Con mal yo genero un. Pdf, LUEGO Hago RUN> Archivo.pdf sí ejecuta El Programa Por Defecto Que abre los> Archivos. Pdf (FOXIT.EXE, ADOBEREADER.EXE, ETC)> Y Una Vez En El Programa párrafo pdf besides Tener Una de vista previa de> Listado millas, Impresiones Las administro, sin limitación Alguna Tengo> Sobre Las Impresoras, CANTIDAD DE HOJAS, Margenes, Tipo de hoja, etc> Etc> Si solo Quisiera imprimir pecado abrir nada Hago RUN archivo.pdf Foxit / p> Y en otros Impresora Por Defecto saldria impreso El Contenido del> Archivo.pdf, (tambien SE PUEDE Enviar la Impresión una y Otra Impresora> No al estilo predeterminada)
>
> > Por Esto Sirve ventanas de cualquier párrafo en El Que Que Corra Programa de las Naciones Unidasabra>. pdf
>
> > Cualquier Duda un ordenes Las.
>
> > Fermín ;-)
Reply all
Reply to author
Forward
0 new messages