FoxPro/Visual FoxPro - poner en 0 cursor en printer

 
Vista:

poner en 0 cursor en printer

Publicado por carlos r (21 intervenciones) el 02/10/2006 20:29:40
hola a todos, tengo un problema o pregunta, tengo un sistema que imprime un recibo x medio de un prg de @say... imprime una secuencia de datos hasta llegar al final, justo aqui, quiero poner en 0 los @say, pues imprime el final del recibo, y es en una hoja media carta ejemplo:

cl = 5

@1,1 say empirme encabezados fecha etc

datos de secuencua
@cl,1,1 say dato1
@cl+1,1 say dato2
@cl+2,1 say dato3

final de impresion (aqui utilizaba el setprc() de clipper, pero en vfp no lo reconoce
setprc(0,0 --> esto reiniciaba el valor de cl, o de columna y fila por 0)

@1,1 say dato final

gracias x leer mi pregunta
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:poner en 0 cursor en printer

Publicado por sergio (737 intervenciones) el 02/10/2006 21:42:00
Utiliza el comando prow() par aimprimir lineas en ves de usar cl

@ prowv()+1 say "Impresion"
@ prow() say "Misma linea)
@ prow()+1 say "proxima linea"

el prow te va a dar el corte de linea
cuando ejecutes el eject te pondra el prow() en valor cero nuevam,ente para vaolver a empezar en l a proxima hoja
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:poner en 0 cursor en printer

Publicado por jesus cordero (405 intervenciones) el 03/10/2006 02:04:42
cuando imprimes un reporte con say se imprime en forma secuencial es decir
1ero. la linea 0, luego la 1, luego la 2.... etc.
si se manda a imprimir en la linea 1 y estamos ubicados en la linea 5, hay un salto de pagina que se ubica en la linea 1 de la siguiente hoja.
puedes hacer para comenzar a imprimir en la linea

comienzas en la linea=1 y columna=1
@1,1 say empirme encabezados fecha etc
.
.detalle del recibo
.
y luego la linea final tambien en la linea=1 y columna=1
@1,1 say dato final

la ultima linea deberia ser:
@cl+3,1 dato final

no necesitas poner el cursor en cero del printer
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:poner en 0 cursor en printer

Publicado por carlos ramirez (21 intervenciones) el 03/10/2006 02:27:56
si entiendo la respuesta, solo que en este ejemplo, no imprimo varias hojas , ueso una sola hoja, con un formato de imrpesion x eso yo lo que hago es detallar con 1,1 say... 2,1 say... etc los valores fijos
y con cl (var),1 say
cl + 1,1 say... lo que es un listado
y al terminar, como es hpja media carta, tengo que ubicar de nuevo un valor fijo a
col, y row como 1,1 de nuevo
asi que sigue mi duda
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:poner en 0 cursor en printer

Publicado por jesus cordero (405 intervenciones) el 03/10/2006 05:19:05
Como te dijo Sergio al final colocas

EJECT

en lugar de colocar : col, y row como 1,1 al final
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:poner en 0 cursor en printer

Publicado por carlos ramirez (21 intervenciones) el 03/10/2006 16:34:21
hola de nuevo, quizas no me explico bien, el eject lo utilizo cuando ya termina el total de la impresion, y es lo que no quiero, haber si ahora si lo explico mas claro,

con el @x,x say imprimo encabezados del recibo
asi en 3 renglones o lineas mas

despues uso una variable cl = 4
(renglon donde empieza la imrpesion secuencial)
ejemplo:
for i = 0 to n_productos
cl,1 say roducto 1
cl = cl + 1 para avanzar una linea mas
endfor
termina la impresion de secuencia
despues quiero imprimir en lineas especificas lo siguiente:

@1,1 say autozira (porque aqui ya no me sirve el "cl" anterior), esto va en un area especifica
y entonces si, aqui ya incluyo el eject

espero ahora si me de a entender y gracias x las opiniones
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:poner en 0 cursor en printer

Publicado por jesus cordero (405 intervenciones) el 04/10/2006 05:26:45
lo unico que se me ocure es que calcule cuantas lineas imprimiras en la secuencia (total) y restarle las lineas que imprimes verdaderamente en
la secuencia, me explico:

supon que las lineas a totales de la secuencia son 15

for i = 0 to n_productos
cl,1 say roducto 1
cl = cl + 1 para avanzar una linea mas
endfor

entonces la linea final seria: linea_final=15-cl+1

@linea_final,1 say autozira

es decir calcula cual es la cantidad de las lineas de detalle y le resta el detalle
verdadero.
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