problemas con impresora matricial

218 views
Skip to first unread message

Lizardo

unread,
Sep 1, 2009, 7:20:18 PM9/1/09
to Mundo Visual FoxPro
Buenas noches amigos;
tengo un prg el cual solo imprime el contenido de una tabla en una
impresora matricial epson LQ-2070 con comandos como el que sigue:

SET CONSOLE OFF
SET DEVICE TO print
LCRUTA_IMPRESORA =GETPRINTER() && "'Epson LQ-2070 ESC/P 2'"
SET PRINTER TO NAME '&LCRUTA_IMPRESORA'
sele formato
go top
DO WHILE !EOF()
@ formato.fila,formato.columna say ALLTRIM(descrip)
skip
enddo

este codigo cuando lo ejecuto desde la ventana de comandos de vfp9 me
imprime como debe ser la impresion
ejemplo:

999999999999 XXXXXXX XXXXXXXXXXXXXXX
XXXXXXXXXXXX XXXXXXX XXXXXXXXXXXXXXX

ahora el problema sucede cuando lo ejecuto desde un formulario
me imprime todo el fondo

:99999999999::XXXXXXX::XXXXXXXXXXXX:::::::::::::::::::::
:99999999999::XXXXXXX::XXXXXXXXXXXX:::::::::::::::::::::
:99999999999::XXXXXXX::XXXXXXXXXXXX:::::::::::::::::::::
:99999999999::XXXXXXX::XXXXXXXXXXXX:::::::::::::::::::::

que configuracion debo tomar para solucionar este problema

gracias.



Intel Man

unread,
Sep 2, 2009, 9:48:18 AM9/2/09
to mundovis...@googlegroups.com
Hola, a que fondo te refieres?  podrias escanear la impresion y adjuntarlo al mail para revisar?

Saludos


> Date: Tue, 1 Sep 2009 16:20:18 -0700
> Subject: [Mundo Visual FoxPro] problemas con impresora matricial
> From: sal...@gmail.com
> To: mundovis...@googlegroups.com

lizardo durand

unread,
Sep 2, 2009, 10:44:42 AM9/2/09
to mundovis...@googlegroups.com
Saludos Intel_man;
El fondo al que me refiero es al espacio que contienen los campos de tipo texto ejemplo

tabla1.campo1 X(25)
son 25 espacios que me permitiran ingresar

si yo ingreso por ejemplo LIZARDO
--
--
Sinceramente,
Lizardo Durand
----------------------------------------------------------
D & D SOLUCIONES EMPRESARIALES
Tecnologia de Informacion y Contabilidad

Teléfax: (511) 567-4849
Celular: (511) 9 91319988
Nextel:  99 100*5971
web Site:
www.sedyd.com
www.serviciocontable.pe

Blog: http://lizardods.blogspot.com/


lizardo durand

unread,
Sep 2, 2009, 10:47:26 AM9/2/09
to mundovis...@googlegroups.com
Saludos Intel_man;
El fondo al que me refiero es al espacio que contienen los campos de tipo texto ejemplo

tabla1.campo1 X(25)
son 25 espacios que me permitiran ingresar

si yo ingreso por ejemplo LIZARDO

solo debe salir la impresio de LIZARDO pero sucede que imprimie LIZARDO mas los 25 espacios de la siguiente forma
LIZARDO::::::::::::::::::; pareciera que estuviera enviandolo en formato grafico.

att.
lizardo

Juan

unread,
Sep 2, 2009, 11:38:06 AM9/2/09
to Mundo Visual FoxPro
Saludos amigos, aqui un novato....

yo tengo el mismo problema, es decir es como si se imprimiera un fondo
de puntos...
a mi me paso esto por que tengo este codigo en mi formulario :

Set Console Off
Set Device TO PRINTER
SET PRINTER TO NAME "Epson LX-300"
??? CHR(24)
??? CHR(27)+"C"+CHR(33)
??? CHR(27)+"G"
??? CHR(27)+"M"

lo encontre en la web, las 3 primeras lineas si las entiendo pero lo
demas no muy bien...
el problema es cuando imprimo palabras con "ñ" , sale caracer
extraño.. pero cuando saco las instrucciones con CHR, la ñ se imprime
normal...
pero me sale el fondo de puntos , igual que al amigo Lizardo,... un
apoyo por favor....

muchas gracias, por su tiempo..



GOOD_FOX

unread,
Sep 2, 2009, 11:40:45 AM9/2/09
to Mundo Visual FoxPro
Hola que Tal...

Prueba Con Esto...


LCRUTA_IMPRESORA =GETPRINTER() && "'Epson LQ-2070 ESC/P 2'"
SET CONSOLE OFF
SET PRINTER TO NAME '&LCRUTA_IMPRESORA'
??? CHR(27)+CHR(48)+CHR(27)+CHR(67)+CHR(44)
??? CHR(18)+CHR(27)+CHR(77)+CHR(15)
Select Formato
Go Top
Do While !Eof()
??? Chr(10)+Chr(13)+Allt(NombreTabla.TuCampo)
Skip
EndDo

CLOSE PRINT
SET CONSOLE ON
SET PRINTER TO

Saludos


Good_Fox

lizardo durand

unread,
Sep 2, 2009, 11:51:59 AM9/2/09
to mundovis...@googlegroups.com
Hola good_fox;
gracias por contestar, te comento que con el codigo que me enviaste sale correctamente las impresiones, pero tengo una duda como manejo las coordenadas de impresion en con ese formato.
con  @ fila,columa say  podia manejar las coordenadas
pero con ??? no se como se podria
te agradecere que me indiques alguna forma de hacerlo.

gracias

2009/9/2 GOOD_FOX <jca...@hotmail.com>

lizardo durand

unread,
Sep 2, 2009, 12:26:10 PM9/2/09
to mundovis...@googlegroups.com
Saludos Juan;
En este link esta la probable solucion a este problema, ayudame a estudiarlo y creo que encontraremos la solucion.

http://support.microsoft.com/kb/154170/es

att.
Lizardo

GOOD_FOX

unread,
Sep 2, 2009, 12:44:15 PM9/2/09
to Mundo Visual FoxPro

Ke tal....

El Ejemplo que te mande no es posible usarlo como el @ Say, puedes
manipularlo con espacios por ejemplo....


??? Chr(10)+chr(13) && Estas dos instrucciones realizan un salto de
fila
??? chr(13) && Esta instruccion significa que seguirá
imprimiendo en la Fila anterior

A hora bien... podemos hacer esto...:::
Un espacio de 15 caracteres + el campo1 + espacio 15 caracteres +
campo 2 + espacio 7 caracteres

??? Chr(10)+chr(13)+Space(15)+Allt(Campo1)+Space(15)+Allt
(Campo2)+' '+Allt(Campo3)

y el resultado será

xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx xxxxxxxxxxx





lizardo durand

unread,
Sep 2, 2009, 12:50:48 PM9/2/09
to mundovis...@googlegroups.com
Hola Good_fox;
Gracias por tu tiempo amigo, es bueno encontrar personas que se dan el tiempo para apoyar a otros, te comento que encontre la solución en este link
http://support.microsoft.com/kb/154170/es

coloque este codigo como cabecera del prg
 IF _Screen.BackColor != 16777215    &&Is color value white?
_Screen.LockScreen = .T. &&Keep screen from flashing
cOldbackcolor = _Screen.BackColor &&Save background color
cOldForecolor = _Screen.ForeColor&& Save foreground color
_Screen.ForeColor = Rgb(0,0,0) &&Set ForeColor to RGB Black -
_Screen.BackColor = RGB(255,255,255) &&Set BackColor to RGB white
SET DEVICE TO PRINTER
@1,1 say 'This is a test.'
SET DEVICE TO SCREEN
SET PRINTER TO
_Screen.BackColor = cOldbackcolor
_Screen.ForeColor = cOldForecolor
_Screen.LockScreen = .F.
ENDIF
y esta funcionando correctamente por lo menos en la impresora LQ-2070, voy a ver que sucede en las otras y les paso el tip.

att.
Lizardo

GOOD_FOX

unread,
Sep 2, 2009, 12:57:30 PM9/2/09
to Mundo Visual FoxPro
Ke tal

OK,


Porcierto hace tiempo estoy buscando el codigo para hacer un
Retroceso de línea, si alguien sabe de ello.........

para las impresiones uso Codigos ESC y ???

para hacer el Avance es:::

???Chr(10)+Chr(13)

Ahora busco el Codigo para el Retroceso de línea.... Como se hace.??

es para Impresoras Epson LX-300 / + / +II y las FX880

Daniel Sánchez

unread,
Sep 2, 2009, 7:22:40 PM9/2/09
to mundovis...@googlegroups.com
lo unico que tienes que hacer es adicionar a tu say al final style "T" 

@ formato.fila,formato.columna say ALLTRIM(descrip) style "T"

y con eso logras que sea algo como transparente o sin relleno, ademas en el style le podrías poner también que sea negrita o italica 

@ formato.fila,formato.columna say ALLTRIM(descrip) style "TBI"

Comentanos tus resultados. Suerte.

Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil 044-949398047
Trujillo - Perú
Reply all
Reply to author
Forward
0 new messages