FoxPro/Visual FoxPro - reporte en el ambiente foxpro para Dos o Windows

   
Vista:

reporte en el ambiente foxpro para Dos o Windows

Publicado por victor perez (137 intervenciones) el 10/11/2012 20:07:45
Hola amigos,

necesito un ejemplo de reporte a la manera de foxpro DOS o Windows, q incluya donde se le informe al sistema el numero de lineas que se pueden imprimir en cada hoja y la manera de imprimir mas de una hoja cuando los registros son bastantes.

Saludos,

Victor
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

reporte en el ambiente foxpro para Dos o Windows

Publicado por Saul (676 intervenciones) el 10/11/2012 21:53:14
Hola

1.- Quiere para DOS o para Windows, ?
Si estas programando en Foxpro para DOS seguramente podrás imprimir modo DOS, pero el problema te dara si usas windows en 64 bits que es una complicación.

2.- Si usas Fox pro para Windows o Bien Visual Fox, pues allí se te hará un poco mas complicado el mandarlo en modo DOS porque Windows todo lo pone Gráfico, a no se que quieras hacerlo así modo textual @ SAY 1, 2 "MIS IMPRESIONES".

me cuentas saludos

ATt

Sha
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

reporte en el ambiente foxpro para Dos o Windows

Publicado por victor perez (137 intervenciones) el 11/11/2012 01:31:04
Gracias Saul.

Bueno yo uso VFP9 pero quiero hacer el reportre a la manera antigua. Eso es lo que deseo, un ejemplo de reporte que usara los comandos Prow(), etc y programar todo el reporte.

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

reporte en el ambiente foxpro para Dos o Windows

Publicado por Saul (676 intervenciones) el 11/11/2012 19:32:48
Sabes eso que quieres no te va a garantizar que te imprima modo draft (borrador)
te tengo dos soluciones.

1.- Puedes usar modo draft pero solo en modo vertical (osea una hoja verticalmente horizontal no funciona).
puedes hacer impresiones de facturas, recibos, cheques etc. pero tienes que usar vfp 8

2.- Si deseas hacer algo directamente en DOS tambien deberias hacerlo en foxpro DOS y hacer el llamado desde vfp 9, así el que imprime realmente seria la versiÓn DOS, auque la desventaja es el mantenimiento.
2.1 Tines que hacer tu reporte en foxpro DOS
2.2 hacer un PRG para llamar y ejecutar foxpro DOS
3.3 mandar parametros y recibir datos en vfp9

Saludos

sha
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

reporte en el ambiente foxpro para Dos o Windows

Publicado por victor perez (137 intervenciones) el 12/11/2012 02:30:52
Hola,

Creo que no expuse bien mi problema.

Lo unico que deseo es hacer mis reportes puro codigo, sin usar el report generator que trae VFP.

Y para ello necesito un ejemplo, de como lo haciamos por codigo.

Victor,
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

reporte en el ambiente foxpro para Dos o Windows

Publicado por Fidel (321 intervenciones) el 14/11/2012 01:06:45
Impresión estándar en Impresoras Gráficas.
Ejemplo.
Se utiliza Sys(1037) para indicar si la impresión es vertical ú horizontal.,
Podemos controlar si el estado es correcto con
PrtInfo(1) 0=Horizontal 1=Vertical
Si el estado no es el deseado, se llama a Sys(1037) para corregirlo.

Nota: Para impresoras matriciales, esta rutina imprimirá en modo gráfico, si es soportado.
Alternativamente se pueden utilizar en esas impresoras, las secuencias de escape, pero el método de impresión es distinto. Con secuencias de Escape se utiliza @ x.y Say "Texto" y la habilitación de la impresora es por SET DEVICE TO (LcImpresora).
La impresión con secuencias de escape es solamente en modo vertical. La letra utilizada puede ser Draf, Roman, SainSerif ó alguna otra que soporte la mecánica de la impresora y que se pueda establecer por secuencias de escape.


Rutina de Impresión Estándar. Impresoras Gráficas
*********************************************************
nLines= 80
LOCAL ARRAY gaprim(nlines),gaEncab(3)

gaEncab[1]="Nombre de la Empresa"
gaEncab[2]="Título del listado"
gaEncab[3]="Subtítulo del listado"

&& esto se hace para facilitar la prueba
&&
FOR I=1 TO nLines
gaprim[i]="Texto que deseo imprimir... Línea Nro "+LTRIM(STR(i))
next

lcImpreName=GetPrinter()
if empty(lcImpreName)
RETURN
ENDIF

SET CONSOLE OFF
set printer TO NAME (lcImpreName)
SYS(1037) && Permite indicar la orientación y el tipo de Hoja
SET PRINTER ON


cFuente="Lucida Console" && fuente de ancho fijo
nAncho = 8
cStylo= "N" && ("B" para remarcado (bold) )
nMargen=5

lTit=.T.
for i=1 to alen(gaprim)
IF LTIT
lTit=.F. && Cierra la bandera de Títulos
For j=1 to alen(gaEncab)
? gaEncab[j] at nMargen FONT cFuente,9 STYLE "B"
next
? Repli(Chr(151),70) at nMargen font cFuente,8
endif
? gaprim[i] AT nMargen FONT cFuente,nAncho STYLE cStylo
if Prow()>=60 && depende de si es vertical (60-64) ú horizontal (28-30)
&& del tipo de fuente y la impresora.
lTit=.t. && abre la bandera de títulos.
eject
endif

NEXT
SET CONSOLE ON
Set Printer Off
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
0
Comentar