Funciones para imprimir a la manera de consola con la tPrint

Funciones para imprimir a la manera de consola con la tPrint

Postby jose_murugosa » Fri Jun 27, 2008 1:27 pm

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!!"
User avatar
jose_murugosa
 
Posts: 1173
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby Rossine » Fri Jun 27, 2008 1:39 pm

Olá Jose,

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

Saludos,

Rossine.
Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Postby jose_murugosa » Fri Jun 27, 2008 1:40 pm

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
jose_murugosa
 
Posts: 1173
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby karinha » Fri Jun 27, 2008 5:22 pm

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
karinha
 
Posts: 7766
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby jose_murugosa » Fri Jun 27, 2008 5:24 pm

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!!"
User avatar
jose_murugosa
 
Posts: 1173
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby MGA » Fri Jun 27, 2008 5:38 pm

Muito obrigado José!


:D
ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1247
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Postby sysctrl2 » Fri Jun 27, 2008 9:22 pm

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
sysctrl2
 
Posts: 1011
Joined: Mon Feb 05, 2007 7:15 pm

Postby jose_murugosa » Fri Jun 27, 2008 9:40 pm

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
jose_murugosa
 
Posts: 1173
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby sysctrl2 » Fri Jun 27, 2008 11:43 pm

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
sysctrl2
 
Posts: 1011
Joined: Mon Feb 05, 2007 7:15 pm

Postby jose_murugosa » Mon Jun 30, 2008 10:48 am

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!!"
User avatar
jose_murugosa
 
Posts: 1173
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 51 guests