FoxPro/Visual FoxPro - PROBLEMAS DE IMPRESION CON @SAY...

 
Vista:

PROBLEMAS DE IMPRESION CON @SAY...

Publicado por JOSE CARLOS (17 intervenciones) el 06/09/2002 13:31:40
Necesito saber exactamente cómo funciona @ Say.. en impresión.
A continuación expongo un ejemplo junto con los resultados que me genera:

1
2
3
4
5
6
7
8
9
10
11
12
*
SET DEVICE TO PRINT
SET PRINTER ON PROMPT
SET PRINT FONT \'COURIER\',12
SET PRINT ON
PRINTJOB
  @ 1,1 SAY \'ESTO ES UNA PRUEBA\'
  @ 2,1 SAY \'DE IMPRESION\'
ENDPRINTJOB
SET PRINT OFF
SET DEVICE TO SCREEN
EJECT

Al ejecutar el ejemplo me imprime los mensajes pero en fondo oscuro
Me bloquea la impresora y necesito reinicializar el equipo

¿Qué hago mal?
¿Qué me falta?

¿existe algún comando alternativo (que no sea la ? ni el report)?
GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por Rolando (325 intervenciones) el 11/09/2002 01:38:42
Que yo sepa la sentencia correcta seria:
1
@1,1 SAY "ESTO ES UNA PRUEBA"

Es decir las comillas deben ir primero; tambien podrias especificar que limpie la pantalla antes de imprimir especificando el rango por ejemplo:

1
@1,1 clear to  23, 78

al menos asi la usaba yo con clipper.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por JOSE CARLOS (17 intervenciones) el 11/09/2002 09:54:51
Ante todo gracias por tu respuesta.

En cuanto a la primera solución que me das, si te refieres al \ que aparece en el ejemplo, realmente no lo pongo en la instrucción. Aparece porque al escribir el mensaje me lo ha añadido sin saber por qué. Lo cierto es que la instrucción la pongo tal y como tú la expones.

En cuanto a la segunda sentencia para borrar la pantalla, no la considero necesaria por dos razones:
- Estoy hablando de Visual Fox Pro, no de Clipper
- La salida de información la necesito canalizar a través de la impresora, no de la pantalla por lo que el limpiar o no la pantalla, me imagino que no debería influir para nada en el listado.

He programado mucho en Clipper pero no soy experto en Visual Fox por lo que haré la prueba que tú me recomiendas pero no creo que dé resultado.

Independientemente de ello, si conoces algún método alternativo a esta instrucción (que no sea la ? o el report) te agradecería me lo hicieras saber ya que yo no he sido capaz de encontrar nada.

Saludos y gracias de nuevo


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por Rolando (325 intervenciones) el 12/09/2002 00:51:16
Se me ocurre que podria ser que tu impresora no este configurada para trabajar como en DOS si bien no necesita imprimir la pantalla ya vez que influyendo en la salida por que no eliminas algunas lineas y dejas como si lo hicieras en dos? como estas por ejemplo:

1
2
3
SET PRINTER ON PROMPT
SET PRINT FONT \'COURIER\',12
PRINTJOB

Prueba con los comandos que quedan y elimina los de abajo que no sean de dos. Tambien puedes imprimir con LIST, APELLIDO, NOMBRE TO PRINT
Aun no he probado imprimir en visual como en dos porque se me rompio la impresora y nunca se me ocurrio hacerlo pero, en cuanto tenga donde lo experimentare, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por JOSE CARLOS (17 intervenciones) el 12/09/2002 09:51:57
He probado lo que me has indicado pero tampoco me funciona.
Mi impresora sí esta preparada para DOS, puesto que imprimo sin problemas desde programas DOS.
No puedo utilizar el LIST ... TO PRINT, puesto que los datos que necesito imprimir son datos de recibos bancarios, por lo que tienen que ir en unas coordenadas determinadas
ESTOY DESESPERADO
-Gracias de nuevo-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por JOF (51 intervenciones) el 12/09/2002 21:49:01
Hola amigo

Mira, yo soy programador a la antigua y tuve muchos problemas con el Report Form, hasta que decidi probar con @Say, y hasta ahora no e tenido ningun problema, me gustaria tener mas datos sobre tu problema ,en el ejemplo que me das yo probaria asi.
DESPUES DEL ENDPRINTJOB

EJECT
SET PRINT OFF
SET DEVICE TO SCREEN
SET PRINTER TO

IGUAL TE MANDO UN PEQUENO EJEMPLO:

CLOSE DATABASES
USE tabla

SET DEVICE TIO PRINTER
SET PRINT ON

DO WHILE NOT EOF()

@PROW()+1,10 SAY "Apellido" + ape
@PROW()+1,10 SAY "Nombre"+nombre
.....

IF PROW() es mayor que 62
EJECT
ENDIF

SKIP

ENDDO
EJECT
SET PRINT OFF
SET DEVICE TO SCREEN
SET PRINTER TO

Bueno , cualquier cosa avisame

VALE ACLARAR QUE ESTO ES PARA VISUAL

Chau../José



Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por JOSE CARLOS (17 intervenciones) el 13/09/2002 08:51:54
Gracias por tu idea JOB

He utilizado el ejemplo que tú me has expuesto y el problema se me ha solucionado a medias.

La impresora no se me ha bloqueado pero el texto me sigue saliendo en color invertido. Como ya he comentado en mis notas anteriores, necesito utilzar @SAY.. para imprimir recibos bancarios en formato homologado por los Bancos. Por ello necesito impepinablemente especificar como coordenadas la fila y la columna donde quiero imprimir los datos. Con PROW() solo tengo como referencia la fila actual de la impresora. Aunque se podría hacer, ésto resultaría bastante más complicado que utilizar el @SAY.. Si no encuentro otra manera, tendré que utilizar la forma que tú me dices. Ahora el problema que continua es el del color invertido de los mensajes. ¿Por qué lo hace? La verdad es que no tengo ni la más remota idea.

SALUDOS JOB
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por JOF (51 intervenciones) el 13/09/2002 23:15:55
Bueno amigo, algo ya solucionamos

Con respecto a los colores invertidos, puede ser una configuracion en el entorno, pero proba cambiando esto:

Si estas usando asi:

@12,30 Say "Importe:" + nimporte Picture "999999,99"

Proba con esto
@12,30 Say "Importe:" + STR(nimporte,9,2)

Y luego me contas..

Con respecto a usar @Say, no tendrias que tener ningun problema para ubicar tus variables en las filas y columnas.
TAMPOCO tendrias que tener problemas para usar @PROW() Y PCOL(), porque podes ubicar en cualquier posicion sin ningun problema. y la referencia la podes cambiar incrementaNdo @PROW(), POR EJEMPLO:
@PROW()+12,PCOL()+3 SAY "NOMBRE" + NOMBRE PICTURE "!"

O podes usar asi:
linea=1

@linea,03 say "Apellido" + apellido
linea=linea+1
...............
O una referencia fija

@12,25 SAY "Apellido:" + apellido
@13,25 SAY "Nombre:" + nombre
.................
Lo que quiero decir es que hay varias formas de solucionar tu problema.

Bueno, si no podes solucionar y si podes enviarme el formato de tus recibos , tablas, Ect y si puedo te diseño un ejemplo .-

Cualquier cosa ya sabes...!!

Chau.../José




Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por JOSE CARLOS (17 intervenciones) el 16/09/2002 10:16:47
Hola JOF:
Te agradezco mucho el interés que te estás tomando con mi problema pero creo que seguimos sin darle una solución válida.Te explico:

El color invertido me sale independientemente de que el valor que quiera imprimir sea numérico o carácter, por lo que en el ejemplo que tu me pones .... "importe"+nimporte pict..... ó ....."importe"+str(nimporte)...
me sigue saliendo en color invertido.

El problema de PROW() es que no imprimo un solo recibo cada vez sino que imprimo un bloque de recibos del que no conozco la cantidad de recibos que forman ese bloque por lo que no puedo utilizar una fila como referencia y imprimir sumándole un valor ya que unas veces será un solo recibo, otras veces 20, otras veces 10 ....... etc. Por ello la manera de hacerlo sería utilizar un bucle para leer el fichero de recibos desde el principio hasta el final y ejecutar un procedimiento de impresión mientras no sea el final del fichero. Si en ese procedimiento utilizo el PROW(), me saldrían todos los recibos impresos en las mismas coordenadas superpuestos unos sobre otros.
Probaré lo de utilizar @ SAY... con una variable como tú me dices pero mucho me temo que tampoco funcionará.

Lo que sí he detectado es que el color invertido me sale en las dos primeras lineas que imprimo con @Say, el resto me las imprime bien.

Gracias y Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por JOF (51 intervenciones) el 16/09/2002 15:18:23
Bueno vomos a intentar una vez mas

Lo del color te dije que lo haga asi es porqque yo tuve el mismo problema y lo solucione poniendo STR a la variable numerica.

Con respecto a PROW() si vas a imprimir un bloque porsupuesto que tenes que usar un bucle, yo insisto con el PROW(), porque he echo todos tipos de comprobantes Recibos, Facturas, cheques , remitos Ect , con distintos tamaños y nunca tuve problema, por eso si queres enviarme una tabla de ejemplo y las cordenas que tienen que ir los datos, tamaño (formato de tu recibo) y demas datos para poder hacerte un ejemplo .-

Chau../José

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por JOSE CARLOS (17 intervenciones) el 17/09/2002 09:50:42
Hola de nuevo Jof:
He realizado una prueba de impresión con prow() en un bucle y tengo que decirte que tienes toda la razón. Se puede hacer perfectamente sin que se superpongan las lineas.

...... pero me sigue imprimiendo en color invertido y bloqueando la impresora. Creo que cada vez que utilice un @say para imprimir tendré este problema.

No te mando el formato de recibos porque he comprobado que se puede hacer como tú dices... siempre que solucione este problema.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por Jose Luis Espinola (11 intervenciones) el 05/08/2020 16:17:16
Hola Jose...
Yo tambien tengo el problema de la impresion en color cambiado los campos NUMERICOS Y FECHA con @... SAY (no asi los de caracteres).
Pero ya probe como tu dices con STR(campo,__,__) y me sigue saliendo lo mismo. Te paso mi correo asi me puedes pasar el tuyo tambien... [email protected].
Gracias desde ya.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 81
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por Cesar (38 intervenciones) el 05/08/2020 17:07:12
No revivan mensajes viejos.

Ese post es de hace 18 años.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 309
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por SANTIAGO JUAN (551 intervenciones) el 05/08/2020 22:55:28
Hola, el tema para que no te salga con fondo oscuro es la T (transparente) que forma parte del STYLE:

@ prow()+2 , 0 say 'Sub Total' FONT 'CALIBRI', 8 STYLE 'NT'

imprimir con @ say no esta desfasado, y no solo puedes imprimir texto, puedes tener una impresión como la que adjunto.

después de imprimir debes liberar la impresora.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por Jose Luis Espinola (11 intervenciones) el 07/10/2020 02:42:39
El JPG que me enviaste lo haces con @ say ?... y como libero la impresora luego de imprimir?
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por Jose Luis Espinola (11 intervenciones) el 07/10/2020 03:25:47
Santiago,
He solucionado, CON TU AYUDA del STYLE, el problema del fondo oscuro.
Como haces para poner el la impresion con @ say el logo ese que me has pasado en JPG.
Te paso mi correo y expicamelo.... [email protected]
Gracias desde ya amigo.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 309
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por santiago (551 intervenciones) el 07/10/2020 23:53:43
@ prow()+1, 18 say 'milogo.bmp' BITMAP STYLE 'T' SIZE 13,13 ISOMETRIC

size cambia el tamaño del logo
puede ser bmp, jpg, png, etc
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por Jose Luis Espinola (11 intervenciones) el 17/10/2020 01:57:35
donde debe estar ubicado el archivo .BMP o JPG o PNG, etc o tambien entre las comillas debo indicarle la ruta?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 309
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:PROBLEMAS DE IMPRESION CON @SAY...

Publicado por SANTIAGO JUAN (551 intervenciones) el 17/10/2020 03:54:47
si el logo lo compilaste en tu exe, no hay necesidad de hacer nada adicional.

si el logo no esta compilado dentro del exe, basta con que este en el mismo directorio del exe.

si el logo no esta compilado dentro del exe y no esta en el mismo directorio del exe, haces lo siguiente:

***************************** capturas la carpeta de trabajo ****************
subdir1=sys(5)
subdir1=subdir0+sys(2003)
***************************** capturas la carpeta donde se almacena la imagen ****************
subdir2="C:\imagenes"

***************************** ejecutas lo siguiente *************
set defa to &subdir2 && va a la carpeta de imagenes
@ prow()+1, 18 say 'milogo.bmp' BITMAP STYLE 'T' SIZE 13,13 ISOMETRIC
set defa to &subdir1 && regresa a la carpeta de trabajo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PROBLEMAS DE IMPRESION CON @SAY...

Publicado por MARIO GUILLERMO (39 intervenciones) el 09/10/2020 16:49:32
viendo tu programa, creo que debes "eliminar" todos los datos pendientes ejecutando la sentencia EJECT antes de desactivar
la impresora
antes de set screen on
probalo al meno
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar