FoxPro/Visual FoxPro - salto de pagina en 12 "

 
Vista:
sin imagen de perfil

salto de pagina en 12 "

Publicado por Alejandro (58 intervenciones) el 23/04/2015 16:13:31
Buenos dias, perdon la insistencia , pero estoy parado, quisiera saber como hago para que en una impresion en vfp9 con @ say en vez que el salto lo haga en 11 pulgadas lo haga en 12 pulgadas .
desde ya muchas gracias
lo necesito
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
sin imagen de perfil

salto de pagina en 12 "

Publicado por Alejandro (58 intervenciones) el 24/04/2015 00:53:11
Hola ernesto cambie la impresora a 12 pulgadas y sigue haciendo lo mismo. me estoy volviendo loco
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: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

salto de pagina en 12 "

Publicado por Fidel José (558 intervenciones) el 24/04/2015 01:54:15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
* Modo Epson (LX 310, FX 870, FX 880, FX 890 )
 
lnLargo=72
lcLargoPag=CHR(27)+CHR(67)+CHR(lnLargo)      && Cantidad de líneas de una hoja (72 para 12" )
lcDataProc=CHR(27)+CHR(24)         && modo de proceso
lcDraft = chr(27)+chr(120)+chr(0)       && Impresión estándar
lcIncomp= chr(27)+chr(15)                  && comprime caracteres [se aplica sobre 10 / 12 cpi ]
lcOffComp=chr(18)                                && quita caracteres comprimidos
lcInDoce = Chr(27)+chr(77)                 && 12 cpi
lcOffDoce = Chr(27)+chr(80)               && 10 cpi
lcDefaultMode = COMUN =CHR(27)+CHR(33)+CHR(0)

* Inicio de la impresión para @ Say con secuencias de escape ( no utiliza el controlador de la impresora)
SET PRINTER TO NAME (lcNombreImpresora)

??? lcDataProc + lcLargoPag + lcDraft + lcOffComp

SET DEVICE TO PRINTER
@ PROW(),0 SAY " "

* Nota: Después de un cambio por secuencia de escape tenés que limpiar el buffer de la impresora.
??? lcIncomp
@ lnLinea,0 SAY " "
@ lnLinea,1 Say "Escribo lo que necesito"
??? lcOffComp
lnLinea = lnLinea + 1
@ lnLinea,0 say " "


Para terminar la impresión por secuencias de escape, conviene lo siguiente:
1
2
3
4
5
6
7
8
9
* Cierra la impresora de TExto
@ prow(),0 say  " "
??? lcOffComp + lcOffDoce + lcDraft + lcDefaultMode
 
SET PRINTER OFF
EJECT
 
SET DEVICE TO SCREEN
SET PRINTER TO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

salto de pagina en 12 "

Publicado por Alejandro (58 intervenciones) el 24/04/2015 12:55:42
Muchas gracias Jose
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

salto de pagina en 12 "

Publicado por Alejandro (58 intervenciones) el 24/04/2015 14:13:27
hola jose, me salto la como yo queria , muchas gracias , pero como hago para que imprima sin salir del programa
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
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

salto de pagina en 12 "

Publicado por Fidel José (558 intervenciones) el 25/04/2015 01:10:22
No entiendo tu pregunta. "imprima sin salir del programa"?.
Fijate si algo así te funciona

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
PROCEDURE ModEpson
PARAMETERS tcClave, tcPrinterName , tnLargo, tlNoEject
 
* Valores posibles de tcClave
* --------------------------------------
* "ON" Inicia impresión
* "OFF" Cierra Impresión
* "10"	Caracteres a 10 cpi
* "12"  Caracteres a 12 cpi
* "10+" 10 cpi comprimidos
* "12+" 12 cpi comprimidos
* "STD" Draft
* "QUA" Quality
* "DBLS" Double Strike ON
* "/DBLS" Double Strike OFF
* ------------------------------------------
 
LOCAL 	lcLargoPag,;
	lcDataProc,;
	lcDraft ,;
	lcIncomp ,;
	lcOffComp,;
	lcIndoce, ;
	lcOffDoce, ;
	lcDefaultMode,;
	lPrintBlank,;
	lcDblStrikeOn ,;
	lcDblStrikeOff,;
	lcQuality ,;
	lcDblWidth
 
* Revisión de parámetros
tnLargo=EVL(tnLargo,72)
tcClave=UPPER(ALLTRIM(EVL(tcClave,"ON")))
 
 
* Modo Epson (LX 310, FX 870, FX 880, FX 890 )
 
lcLargoPag=CHR(27)+CHR(67)+CHR(tnLargo)      && Cantidad de líneas de una hoja (72 para 12" )
lcDataProc=CHR(27)+CHR(24)         && modo de proceso
lcDraft = chr(27)+chr(120)+chr(0)       && Impresión estándar
lcIncomp= chr(27)+chr(15)                  && comprime caracteres [se aplica sobre 10 / 12 cpi ]
lcOffComp=chr(18)                                && quita caracteres comprimidos
lcInDoce = Chr(27)+chr(77)                 && 12 cpi
lcOffDoce = Chr(27)+chr(80)               && 10 cpi
lcDefaultMode = COMUN =CHR(27)+CHR(33)+CHR(0)
lcQuality =CHR(27)+CHR(120)+CHR(1)
lcDblWidth =CHR(27)+CHR(33)+CHR(32)
lcDblStrikeOn =CHR(27)+CHR(71)
lcDblStrikeOff =CHR(27)+CHR(72)
lPrintBlank = .t.

DO CASE 
	CASE tcClave == "ON"
		IF EMPTY(tcNamePrinter)
			tcNamePrinter = GETPRINTER()
			
		ENDIF
		IF EMPTY(tcNamePrinter)
			RETURN .F.
		ENDIF
				
		SET PRINTER TO NAME (tcPrinterName)
 		??? lcDataProc + lcLargoPag + lcDraft + lcOffComp
		SET DEVICE TO PRINTER
			
	
	CASE TcClave == "OFF"
		* Cierra la impresora de TExto
		lPrintBlank = .f.
		@ prow(),0 say  " "
		??? lcOffComp + lcOffDoce + lcDraft + lcDefaultMode
		SET PRINTER OFF
		IF NOT tlNoEject
			EJECT
		ENDIF
		
		SET DEVICE TO SCREEN
		SET PRINTER TO	
		
		
	CASE tcClave == "10"
		??? lcOffComp 
		??? lcOffdoce
		
	CASE tcClave == "12"
		??? lcOffComp
		??? lcIndoce
	CASE tcClave == "10+"
		??? lcOffComp
		??? lcOffdoce
		??? lcIncomp
	CASE tcClave == "12+"
		??? lcOffComp
		??? lcIndoce
		??? lcInComp
	CASE tcClave == "STD"
		??? lcDraft
	CASE tcClave == "QUA"
		??? lcQuality
	
	CASE tcClave == "DBLS"
		??? lcDblStrikeOn
		
	CASE tcClave == "/DBLS"
		??? lcDblStrikeOff
	OTHERWISE

ENDCASE
IF NOT lPrintBlank
	@ PROW(),0 SAY " "
ENDIF

RETURN

ENDPROC

*********************************
PROCEDURE ImprimeAlgo
LPARAMETERS ta_Body_Array
**********************************
EXTERNAL ARRAY ta_Body_Array
LOCAL lin

lin=0
IF NOT Modepson()			&& abre la impresora en 72 lineas por página (12"")
							&& Me by: Modepson("ON",72,"NombreImpresora")
	RETURN 
ENDIF

Modepson("12")		&& Setea a 12 cpi
Modepson("DBLS")	&& Setea a doble golpe
lin = lin +1
@ lin,1 say "Titulo del Informe"
Modepson("10+")		&& Setea a 10 cpi comprimidos
lin = lin + 1
@ lin,1 say "SubTitulo del informe"
Modepson("/DBLS")	&& quita doble golpe
Modepson("12")		&& Setea a 12 cpi

FOR i=1 TO ALEN(ta_Body_Array)
	IF VARTYPE(ta_Body_Array[i])="C"
		lin = lin + 1
		@ lin,1 say ta_Body_Array[i]
	ENDIF 
NEXT

Modepson("OFF")		&& cierra la impresora

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

salto de pagina en 12 "

Publicado por Alejandro (58 intervenciones) el 25/04/2015 01:40:19
Muchas gracias jose, me salvaste
me salio todo bien
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