Imprimir horizontal con reporte @ say

1,209 views
Skip to first unread message

Josepe

unread,
Feb 5, 2011, 9:56:15 PM2/5/11
to Comunidad de Visual Foxpro en Español
Tengo un reporte que por ser dificil de emular en report form, lo
tengo que ejecutar con set device to printer, @say y todo eso.
Trabaja bien en formato normal (carta vertical)
¿Como puedo definir que sea carta Horizontal? Es para imprimir en
laser.

Walter R. Ojeda Valiente

unread,
Feb 5, 2011, 10:39:17 PM2/5/11
to publice...@googlegroups.com
Hola Josepe

Tendrías que buscar en Internet los códigos de impresión que le corresponden a tu impresora.

Cada marca y modelo de impresora tiene unos códigos de impresión, con ellos puedes elegir la alineación de la página (lo que tú estás necesitando ahora), el tamaño del papel, el tipo de letra, el tamaño de la letra y un montón de cosas más.

Saludos.

Walter.

Josepe

unread,
Feb 7, 2011, 8:35:23 AM2/7/11
to Comunidad de Visual Foxpro en Español
Gracias, una pregunta más, esas secuencias o códigos recuerdo que
venian antes con impresores matriciales. ¿Funciona así una laser?
Para matriciales antiguos tengo manuales con esos códigos, pero desde
hace unos 10 años los impresores no traen manuales de ese tipo.

Mario López

unread,
Feb 7, 2011, 9:20:19 AM2/7/11
to Comunidad de Visual Foxpro en Español
Josepe:

podés ver los códigos para impresoras PCL compatibles en

http://goo.gl/QcUDh

HTH
Mario

Arnaldo Toledano (GMail)

unread,
Feb 7, 2011, 9:38:04 AM2/7/11
to publice...@googlegroups.com
Depende de la marca y si tiene o no codigo PCL.
En el caso de las HP, tenes dos juegos de caracteres PCL, el 5 y el 6.
En el caso de las impresoras Epson, funcionan sin codigo PCL..
Te adjunto los comando que utilizaba en DOS para HP PCL6
Por lo general las Las HP Laser utilizan los dos juegos.
Las distintas letras las compongo.
Voy definiendo primero los puntos principales
1.- Orientacion
2.- Conjunto de caracteres
3.- Espaciado
4.- Caracteres por pulgadas.
5.- Tama�o del punto
Y despues la suma de estos componen la letra.

En el caso de Chr(Esc), tenes que definir Esc=27

Suerte.

Arnaldo Toledano

----- Original Message -----
From: "Mario L�pez" <guag...@gmail.com>
To: "Comunidad de Visual Foxpro en Espa�ol"
<publice...@googlegroups.com>
Sent: Monday, February 07, 2011 11:20 AM
Subject: [vfp] Re: Imprimir horizontal con reporte @ say


Josepe:

pod�s ver los c�digos para impresoras PCL compatibles en

http://goo.gl/QcUDh

HTH
Mario

On Feb 7, 10:35 am, Josepe <josep...@gmail.com> wrote:

> Gracias, una pregunta m�s, esas secuencias o c�digos recuerdo que
> venian antes con impresores matriciales. �Funciona as� una laser?
> Para matriciales antiguos tengo manuales con esos c�digos, pero desde
> hace unos 10 a�os los impresores no traen manuales de ese tipo.

__________ Informaci�n de ESET NOD32 Antivirus, versi�n de la base de firmas
de virus 5852 (20110207) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

__________ Informaci�n de ESET NOD32 Antivirus, versi�n de la base de firmas de virus 5852 (20110207) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

hplaser.txt

Javier Cabrera Blanco (Listas)

unread,
Feb 7, 2011, 10:58:04 AM2/7/11
to publice...@googlegroups.com
Hay una forma muy sencilla de utilizar todo esto. Lo utilizo para imprimir
facturas o cualquier reporte basado en el @ say ....

Estoy preparando un pequenho proyecto y envio en breve.

Javier Cabrera Blanco

Walter R. Ojeda Valiente

unread,
Feb 7, 2011, 9:08:53 PM2/7/11
to publice...@googlegroups.com
Hola Josepe

Tienes razón, las nuevas impresoras ya no traen los códigos de impresión en sus manuales, por eso te dije que debías buscarlos en Internet. Los que te envió Arnaldo funcionan para impresoras HP y aunque tu impresora actual no sea HP igual deberías descargar esos códigos, podrían serte de utilidad más adelante con otra impresora.

Saludos.

Walter.

Arnaldo Toledano (GMail)

unread,
Feb 8, 2011, 7:21:12 AM2/8/11
to publice...@googlegroups.com
Javier.

La utilizacion de esto es muy sencilla.
Tenes que definir todos lo que te envie como variables PUBLICAS.
Cuando vayas a imprimir lo utilizas.

Por ejemplo.

Vas a imprimir apaisado.
El titulo con letra grande
El sub-titulo con letra comun
el texto con letra comprimida.

Procedes de la siguiente manera.
@ 0,0 Say BorrBuf && Borras el buffer de la impresora.
@ 0,0 Say PictHorAlt + "TITULO EN LETRA GRANDE"
@ 1,0 Say PictHorNor+"SUB-TITULO EN LETRA NORMAL"
@ 2,0 Say PictHorChi+"????????????????????????????????????????" &&
Pasa a imprimir en letra chica
@ 3,0 Say "CODIGO NOMBRE
TELEFONO " && Sigue imprimiendo en letra chica
@ 2,0 Say "????????????????????????????????????????"
&& sigue imprimiendo en letra chica}

Scan
@ Prow()+1,0 Tabla.Codigo+" "+Tabla.Nombre+" "+Tabla.Telefono
Endscan


Esta es una manera sencilla de explicarte.
Si tenes alguna duda, consultame


Arnaldo Toledano

> firmas de virus 5854 (20110207) __________


>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>


__________ Informaci�n de ESET NOD32 Antivirus, versi�n de la base de firmas de virus 5855 (20110208) __________

Javier Cabrera Blanco (Listas)

unread,
Feb 8, 2011, 9:00:46 AM2/8/11
to publice...@googlegroups.com
Arnaldo

Lo que estoy haciendo en mis aplicaciones es generar el texto plano (como
siempre) y luego "importarla" hacia un report ..... el resto ya sabemos
como funciona.

Esta primera parte es la que mostrare como hacerlo en un form de ejemplo.

Javier Cabrera Blanco (Listas)

unread,
Feb 8, 2011, 11:32:04 AM2/8/11
to publice...@googlegroups.com
Hola Lista:

Aqui va el pequeno ejemplo del que hable: Text2report

Sirve para imprimir archivos planos a cualquier impresora de red, es
sencillo y gratuito.

Mis sinceros agradecimientos al creador de todo esto: Vanderlei Sa�aki de la
comunidad FoxBrasil, quien no me conoce y tal vez ni siquiera sepa de este
ejemplo.

Estoy seguro sera de utilidad para muchos colegas, de esta manera estoy
pagando mi deuda con tantas contribuciones recibida de las distintas listas
del VFP.

Cualquier duda o sugerencia seran discutidos en esta lista


Javier Cabrera Blanco
FoxParguay.com.py

PD: Ademas del ejemplo txt2report, podemos ver tambien:
1. Utilizacion de ctl32_progressbar.vcx (Gracias Cesar !!! y a su creado
original)
2. Consejos Vfp by Por Luis Mar�a Guay�n.txt (Gracias Luis Maria)

text2report.rar

Daniel Sánchez

unread,
Feb 8, 2011, 4:49:58 PM2/8/11
to publice...@googlegroups.com
Normalmente cuando usaba la impresion con say no enviaba comandos especiales a las impresoras por ejemplo

@ 1,30 say "Mi Reporte" font "Arial",15 style "BI"
@ 3,20 say "Los titulos de las columnas" font "Arial",9
...
asi sucesivamente despues venia el cuerpo del reporte igual say con los datos las coordenadas y los tipos de letra y tamaño.

Lo que si debes considerar es la inicializacion del reporte y la finalizacion, para esto debes considerarlo de la siguiente manera (puedes imprimir en cualquier impresora, sea local, de red o por usb)
Para iniciarla y seleccionar a que impresoras lo envias y desactivas la consola, el inconveniente es que en el cuadro de dialogo de la impresora no puedes saber si presiono el botón cancelar.

X = SYS(1037)
SET PRINTER ON
SET CONSOLE OFF
SET DEVICE TO PRINTER

aqui va tus say de tu reporte
y para finalizar

SET PRINTER OFF
SET PRINTER TO
SET DEVICE TO SCREEN

esa seria una estructura básica de tu reporte, ahora si tu reporte es en apaisado tendrias que dar un aviso para que lo pongan en ese forma la hoja antes de imprimir.

Espero que te de una idea de como trabajar


--
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil +051-949398047
Trujillo - Perú

ibania blanco

unread,
Feb 9, 2011, 5:39:08 PM2/9/11
to Comunidad de Visual Foxpro en Español
solamente impresoras HP Laserjet III y compatibles)

Para cambiar la Orientacion (P-portrait,L-Landscape)
P=48 vertical
L=49 horizontal
??? chr(27) + chr(38) + chr(108) + chr(orientacion P-L) + chr(79)

se coloca al inicio

nada se pierde en probar

lo que hago hoy es mandar a pdf y ahi le cambio su orientacion

y en dos 2.6
genero un DOC Y lo envio a word con RUN y luego le cambio a horizontal
para en casos de planilla.

Irlandes 1960

unread,
Feb 10, 2011, 8:15:03 PM2/10/11
to publice...@googlegroups.com
Perdón, puede parecer muy obvia la pregunta, pero... ¿por que no usan los report? dentro del page setup, pueden indicar la orientacion horizontal (vertical la asume)
jk

Reply all
Reply to author
Forward
0 new messages