Funciones para imprimir a la manera de consola con la tPrint

Post Reply
User avatar
jose_murugosa
Posts: 1185
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Funciones para imprimir a la manera de consola con la tPrint

Post by jose_murugosa »

Muchas veces he tenido que sufrir al pasar codigo de impresion de viejos programas de clipper en modo consola a una impresión gráfica con la clase tprint.

Para ahorrar tiempo, he creado 5 funciones que permiten imprimir parecido a como lo hacìamos con clipper en una impresora de impacto, pero enviando la impresión grafica por medio de la clase tPrint de FWH.

Estas clases permiten dibujar lineas, cuadros y escribir texto de forma sencilla (o al menos a mi me lo parece).

Lo ofrezco a los amigos del foro como una contribución, si alguien mejora estas funciones, agradeceré me las envíe con sus comentarios.

Ojalá sean de ayuda, ya que tanto he recibido de este foro.
:D
http://www.box.net/shared/sk1u63g0s4
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
Rossine
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

Olá Jose,

Ao clicar no link, aparece a mensagem: "No shared files/folders found."

Saludos,

Rossine.
User avatar
jose_murugosa
Posts: 1185
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Post by jose_murugosa »

Perdón, utilicen este link:

http://www.box.net/shared/6luk40268g

en implib.prg encontrarán las funciones detalladas y explicadas.

testimp es un ejemplo que muestra como usarla
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
karinha
Posts: 7935
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 3 times
Contact:

Post by karinha »

jose_murugosa wrote:Perdón, utilicen este link:

http://www.box.net/shared/6luk40268g

en implib.prg encontrarán las funciones detalladas y explicadas.

testimp es un ejemplo que muestra como usarla


Buenas José,

És posible IMPRIMIR EN USB??

Gracias.

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
jose_murugosa
Posts: 1185
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Post by jose_murugosa »

karinha wrote:
Buenas José,

És posible IMPRIMIR EN USB??

Gracias.

Saludos.


Puedes imprimir en cualquier impresora por usb, lpt y red, ya que usa el buffer de impresión de windows, lo bueno es que es muy sencillo pasar tu codigo de consola a impresión grafica, ya que por ejemplo:

@10,10 say "hola"
equivale a:
PrnSay(10,10,"Hola")
la clase ve la definición la impresora y ajusta filas y columnas para lograr una ubicación similar.
.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
MGA
Posts: 1258
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá
Contact:

Post by MGA »

Muito obrigado José!


:D
ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
User avatar
sysctrl2
Posts: 1048
Joined: Mon Feb 05, 2007 7:15 pm
Has thanked: 6 times
Contact:

Post by sysctrl2 »

Holas Jose,

ya probe tu aportacion esta bueno,,

como controlas si el formato es a media carta?


papel continuo, de media carta,,

o ahi seguimos usando tdosprn ?



saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
jose_murugosa
Posts: 1185
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Post by jose_murugosa »

sysctrl2 wrote:Holas Jose,

ya probe tu aportacion esta bueno,,
como controlas si el formato es a media carta?
papel continuo, de media carta,,
o ahi seguimos usando tdosprn ?

saludos..


Simple, lo haces con la función IniImp(nAncho, nLargo, nFilas, nColumnas, cNom_spooler, lsel_imp, lpreview, lLnds ,nCopias), le das el largo en cmts de la pagina, sea media pagina, cuarto de pagina
o quinto de pagina o la fracción que sea y le das la mitad, cuarta parte o quinta parte respectivamente de las filas que usas para la pagina entera y listo.

Puedes usar papel de cualquier largo.

Ejemplo si usas una hoja carta, usas 60 filas, 80 columnas y tamaño de pagina: 21.59 x 27.94
Para A4 yo uso 72 filas y 80 columnas y la medida es 21 x 29.7cmts

para media carta serà 21.59 x 13.97 y 30 filas (la mitad)

IniImp(21.59, 13.97, 30, 80, "Listado mio", .t., .t., .f., 1)

combinando tamaños de hoja y filas cambias la distancia de interlineado, combinando tamaños de hoja y columnas cambias a condensado (si es más de 80 y no es apaisado cambia la fuente automaticamente a una mas pequeña, aunque puedes indicar el tamaño de fuente si lo deseas, ve la función PrnSay)

Recuerda que el objetivo de estas funciones es facilmente modificar un listado para matriz de puntos en lpt1 a un listado a cualquier tipo de impresora en impresion grafica.

Si lo que deseas es imprimir en una impresora de matriz de puntos en lpt1, tdosprn será mas rápido, ya que evitas imprimir de forma gráfica.

Pero con esta clase esos mismos listados los puedes imprimir en una laser, en chorro de tinta, en impresoras conectadas por usb, lpt1 o de la red.

Espero ayude.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
sysctrl2
Posts: 1048
Joined: Mon Feb 05, 2007 7:15 pm
Has thanked: 6 times
Contact:

Post by sysctrl2 »

Jose, si me queda claro tu comentario,,

tengo un tiraje de papel continuo,, qu en tdosprn

hago esto.

oPrn:command( "27","67", "33" ) // MEDIA CARTA

esto quiere decir que el EJECT lo hace cada media carta,,

con tprinter, nunca he podido hacer esto,,

en formatos continos,, sigo usando como en msdos con tdosprn,

ahora que veo tus funciones,, tengo esperanzas de que tambien se

pueda hacer esto con tprinter,,

gracias por tu tiempo,,

Cesar Cortes..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
jose_murugosa
Posts: 1185
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Post by jose_murugosa »

sysctrl2 wrote:Jose, si me queda claro tu comentario,,

ahora que veo tus funciones,, tengo esperanzas de que tambien se

pueda hacer esto con tprinter,,

gracias por tu tiempo,,

Cesar Cortes..


Cesar tenme al tanto de los resultados, una de las ventajas de compartir código es lo que te enriquece el feedback, gracias por probar mis funciones.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
Post Reply