OT: Mi producto DosPrint es ahora oficialmente un proyecto de VFPx!!

981 views
Skip to first unread message

Victor Espina

unread,
Jul 21, 2014, 1:20:11 PM7/21/14
to publice...@googlegroups.com
Amigos, muchos de uds. conocen y han usado mi clase DOSPrint por varios años ya.   Es un orgullo para mi comunicarles que he decidido liberar los fuentes de esa clase para el uso publico y que mejor lugar para esto que VFPx.  Hoy he recibido la noticia del propio Rick Shummer, de que DOSPrint es ahora oficialmente un proyecto de VFPx bajo el nombre VFPDosPrint.

Esta noche estare subiendo los fuentes y el ultimo paquete de distribucion, asi que todos los interesados en el tema podran acceder a ellos a partir de mañana.   A todos los que adquirieron mi clase mil gracias y espero que puedan sacar aun mas provecho de DOSPrint al tener acceso a su codigo fuente.

A los que bajen el codigo y lo revisen, les pido que no me juzguen muy duramente: era muy joven e inexperto, y he aprendido un par de cosas desde entonces :)





Saludos

Victor Espina

edgar suarez kummers

unread,
Jul 21, 2014, 1:23:50 PM7/21/14
to publice...@googlegroups.com
Felicitaciones Victor.
Sin duda eras joven por aquella época pero muy inteligente.

Luis Mata Figueroa

unread,
Jul 21, 2014, 1:25:11 PM7/21/14
to publice...@googlegroups.com
que hace?

Jorge Blas Diaz Armesto

unread,
Jul 21, 2014, 1:43:39 PM7/21/14
to publice...@googlegroups.com

NUNCA DIGA ESO COLEGA al contrario nosotros agradecidos POR SU GESTO

Victor Espina

unread,
Jul 21, 2014, 1:45:03 PM7/21/14
to publice...@googlegroups.com
VFPDosPrint es un generador de reportes basado en texto.  Basicamente lo que hace es unir una fuente de datos (una tabla o un cursor) con un formato de impresion basado en texto, y genera un reporte 100% texto que luego puedes enviar directamente a una impresora matricial o guardar en un archivo texto.

La gran ventaja de VFPDosPrint es que te da un completo control de lo que quieres enviar a una impresora matricial y, por esto mismo, te permite aprovechar al 100% las propiedades particulares de las impresoras de matriz y toda su velocidad. 

Supon que queres imprimir una lista de clientes, a partir de un cursor que contiene las columnas CODCLIENTE, NOMCLIENTE,  TIPOCLIENTE.  Un formato basico de VFPDosPrint seria algo asi:

<config>
pageLength = 60  && Tamano carta standard a 10 CPI
</config>

<format>
h: ACME, S.A.                                           {DATE()}
h: CLIENTES ACTIVOS
h:
h: CODIGO         NOMBRE                      TIPO
h: -------------------------------------------------------------
d: [codcliente]  [nomcliente                ] [xtipo   ]
f:
f: {DATETIME()}                                         {PAGENO}
</format>

<macros>
xtipo = PROPER(tipocliente)
</macros>


Una vez definido el formato, el reporte lo ejecutas facilmente:

LOCAL oDP
oDP = CREATE("VFPDosPrint")
oDP.PrintFormat="clientes.fmt"
oDP.Run()
oDP.Print( GETPRINTER() )
oDP.PrintToFile("OUT.TXT")


Ahora, esto es un ejemplo muy sencillo. VFPDosPrint soporta caracteristicas tales como:

* Bandas condicionales
* Reportes anidados
* Impresion sobre papel continuo (tickets de venta)

Y varias cosas mas.


Victor Espina

Luis Mata Figueroa

unread,
Jul 21, 2014, 1:46:57 PM7/21/14
to publice...@googlegroups.com
Ok, lo voy a utilizar..

Walter Cordova

unread,
Jul 21, 2014, 1:48:52 PM7/21/14
to publice...@googlegroups.com
Hola Victor,

Parece interesante, tu aplicacion. Una consulta, ahora q lo subas a  VFPx, existe algun manual de como implementarlo?

Felicitaciones!!!

--
-------------------------------
Wálter Córdova N.
Sistemas TQC
612-6565 Anexo 147

Marcos Godoy

unread,
Jul 21, 2014, 1:53:00 PM7/21/14
to publice...@googlegroups.com
Gracias Victor, estas cosas mantienen vivo al VFP


Fernando D. Bozzo

unread,
Jul 21, 2014, 1:59:46 PM7/21/14
to publice...@googlegroups.com
¡Qué grande Víctor! ¡Te Felicito! :D

Una fantástica noticia! Solo te falta agregar la página de documentación en este link: https://vfpx.codeplex.com/documentation


Saludos!

Victor Espina

unread,
Jul 21, 2014, 2:07:18 PM7/21/14
to publice...@googlegroups.com
Es correcto Fernando.  El tema es que la documentacion actual esta principalmente en Ingles y en formato CHM.  Tengo que ver como genero un equivalente en HTML para colocarlo en el site de CodePlex.

Victor Espina

Jorge Blas Diaz Armesto

unread,
Jul 21, 2014, 2:41:28 PM7/21/14
to publice...@googlegroups.com

Amigo Víctor e ido a la pagina que me indico  pero me pierdo allí me podría orientar para bajar los códigos fuentes, demás esta decir agradecido

Saludos blas

Esteban

unread,
Jul 21, 2014, 3:04:10 PM7/21/14
to publice...@googlegroups.com

Gracias Victor…

 

Saludos.

 

Esteban.

Luis Maria Guayan

unread,
Jul 21, 2014, 4:22:06 PM7/21/14
to publice...@googlegroups.com
Felicidades Victor !

Muy generoso tu aporte.

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Victor Espina

unread,
Jul 21, 2014, 4:26:49 PM7/21/14
to publice...@googlegroups.com
Aun no hay nada que descargar. Si ves en mi post original indico que esta noche subire los fuentes y el ultimo release del producto, asi que ya manana podran descargarlo.


Victor

Fernando D. Bozzo

unread,
Jul 21, 2014, 4:34:03 PM7/21/14
to publice...@googlegroups.com
Víctor, te aviso para que no te pase lo que me pasó a mí:

CodePlex mantiene un contador de descargas vinculado directamente a las descargas que tengas, o sea que si ponés un link de descargas, tendrá un contador interno (llamémoslo C1), si luego ponés otro link de descarga, tendrá otro contador interno (C2) y el total general de descargas te va a mostrar siempre la suma de las descargas que haya *vigentes* (C1+C2 en este caso)

El problema es que si quitás una de esas descargas, el contador general, que está muy mal pensado, te va a descontar todas las descargas asociadas al link que quitaste, por lo que la forma de actualizarlo es "reemplazando" siempre el link de descarga y nunca agregando uno nuevo.

En fin, te lo comento porque me pasó varias veces hasta que me percaté de cómo funcionaba.

Saludos.-


Victor Espina

unread,
Jul 21, 2014, 5:05:03 PM7/21/14
to publice...@googlegroups.com
Ah, excelente. Gracias por el dato.  

Victor

Luis Maria Guayan

unread,
Jul 21, 2014, 5:37:36 PM7/21/14
to publice...@googlegroups.com
En el caso de FoxBarcode, yo elimino el archivo y subo una nueva versión, y siempre tengo el mismo enlace http://vfpx.codeplex.com/releases/view/56050 para la última versión de la clase. Para mi es mas cómodo eso y mantengo el contador de descargas por cada nueva revisión (eso es lo que me interesa), no como la suma de todas las descargas de distintas versiones que no me indica mucho.




Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Douglas Sánchez

unread,
Jul 21, 2014, 9:01:57 PM7/21/14
to publice...@googlegroups.com
Hola, gracias Victor por compartir tu clase.

Tengo una Consulta, esta se puede usar para imprimir una factura en formato pre impreso en donde hay encabezado y detalle, sin etiqueta? o solo para listados sencillos?, Es que tengo una epson lx 300, pero imprimen muy lento aun usando font generic.

Saludes

Douglas
--
Ing. Douglas Sánchez Guillén
      Consultor Informatico
Claro: 505 88495476

Victor Espina

unread,
Jul 21, 2014, 9:43:58 PM7/21/14
to publice...@googlegroups.com
Perfectamente.  Tendras que cuadrar las posiciones, eso si.  Lo que yo hago en esos casos es que imprimo una "guia" sobre una copia del formato preimpreso, a fin de ver en que linea y que columna van cada uno de los datos. Luego, es cuestion de preparar un formato inicial y luego ir ajustandolo mediante ensayo y error,  

VFPDosPrint puede ser usar para generar multiples tipos de reportes o archivos de texto:

* Reportes normales
* Formatos preimpresos
* Tickets de venta (papel continuo)
* Archivos HTML o XML
* Archivos planos


Saludos

Victor

Victor Espina

unread,
Jul 21, 2014, 9:47:32 PM7/21/14
to publice...@googlegroups.com
El sitio de VFPDosPrint en CodePlex ya esta completamente configurado, con el link para descargar la version de produccion y una documentacion rapida de como usarlo.  El paquete de distribucion contiene un completo archivo de ayuda, aunque lamentablemente esta solo en ingles por ahora.

Douglas Sánchez

unread,
Jul 21, 2014, 10:00:31 PM7/21/14
to publice...@googlegroups.com
Gracias Victor por su respuesta, voy a esperar que suba la ayuda y probarlo, ya que necesito velocidad al imprimir.

Saludes
Douglas

Victor Espina

unread,
Jul 21, 2014, 10:11:41 PM7/21/14
to publice...@googlegroups.com
Ya puedes descargar la clase, con ejemplos y un completo archivo de ayuda (en ingles) desde aqui:



Saludos

Victor Espina

Douglas Sánchez

unread,
Jul 21, 2014, 10:22:51 PM7/21/14
to publice...@googlegroups.com
Ok gracias Victor.

Arnaldo Toledano

unread,
Jul 22, 2014, 8:33:46 AM7/22/14
to publice...@googlegroups.com, arnaldo....@gmail.com
Te garantizo que funciona muy rápido.
Igual que si imprimieses  desde DOS.

Lo estoy usando desde hace años.
CUANDO ERA PAGO .......   snif, snif, snif


Abrazo Victor


Arnaldo Toledano
--
Arnaldo Toledano Tesys Informática Córdoba Argentina

Walter Valle

unread,
Jul 22, 2014, 8:58:43 AM7/22/14
to publice...@googlegroups.com
Excelente noticia, muy generoso Víctor.

Gracias pana!

Walter Valle 

Jairo Miranda

unread,
Jul 22, 2014, 9:52:42 AM7/22/14
to publice...@googlegroups.com

Quiero agradeceros mucho por este aporte, ya que muchos de nosotros hemos tenido problemas en la impresión de Matriz, más que todo a 64 bits y peor si es Windows 8 RC , estaré probándolo y daré mi aporte. (muchas compañías no se quieren deshacer de sus impresoras KXP o Epson Lx, Fx Etc.)

 

Gracias

 

JM

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Walter Valle


Enviado el: martes, 22 de julio de 2014 7:59
Para: publice...@googlegroups.com

Mik

unread,
Jul 22, 2014, 9:53:54 AM7/22/14
to publice...@googlegroups.com
Muchas gracias Victor, muy generoso tu aporte.

Saludos

Miguel Herbias
LIMA-PERU

Victor Espina

unread,
Jul 22, 2014, 9:54:54 AM7/22/14
to publice...@googlegroups.com, arnaldo....@gmail.com
Asi es Arnaldo.  Lamentablemente el interes por DP se fue perdiendo con el tiempo, al punto de que tu licencia fue la penultima licencia de DP que vendi, y eso fue hace casi 4 años.  Justamente parte de mi idea de liberar los fuentes fue, de alguna forma, agradecer a todos los que compraron una licencia de DP, dandoles acceso al código fuente de forma gratuita, y asi quizas permitirles potenciar lo que DP es capaz de hacer.

Un abrazo

Victor Espina

Walter Cordova

unread,
Jul 22, 2014, 5:24:51 PM7/22/14
to publice...@googlegroups.com
Estimado Victor,

Cuando baje el archivo VDP.rar y quise leer el archivo de ayuda, solo muestra el indice, mas no el detalle,

Hay alguna forma de verlo? tengo q instalar algun programa adicional?

Desde ya muchas gracias x el aporte

Slds

Dante

unread,
Jul 22, 2014, 6:24:51 PM7/22/14
to publice...@googlegroups.com
Oh mira, lo vengo usando desde muchos años atras y hasta ahora es una solución perfecta para las impresoras matriciales.

Felicitaciones!!!!

Victor Lopez

unread,
Jul 22, 2014, 6:45:10 PM7/22/14
to publice...@googlegroups.com
Felicitaciones tocayo

Yo soy de tus clientes de hace varios años de dicho producto y la verdad ha sido una excelente herramienta, me da gusto que ahora lo tengamos a nuestro alcance desde VFPx, no queda mas que agradecértelo y espero que hayas sacado el suficiente provecho en su momento

Un abrazo, gracias y felicidades

--

______________________
Victor Gerardo López
Director de desarrollo
POSMEX, Guadalajara
33 3359 9565

Victor Espina

unread,
Jul 23, 2014, 12:00:38 AM7/23/14
to publice...@googlegroups.com
Walter, debes tener algun problema local porque acabo de descargarme el release desde codePlex y pude ver toda la ayuda sin problemas.  Intenta a bajar el archivo de nuevo a ver si eso ayuda.

Saludos

Victor Espina

Fernando D. Bozzo

unread,
Jul 23, 2014, 9:05:19 AM7/23/14
to publice...@googlegroups.com
¿Puede que Windows le bloquee el archivo?
Debería probar click-derecho /propiedades y ver si no hay un botón bloquear, tanto para el rar cómo para el chm

Walter Cordova

unread,
Jul 23, 2014, 10:17:27 AM7/23/14
to publice...@googlegroups.com
Hola Victor,
lo q sucede es q el archivo chm al descomprimirlo , aparecia como bloqueado,  le quite es desbloqueo y se ve perfectamente.

Estoy leyendo la ayuda y siguiendo los ejemplos para entenderlo.

En el Zip q baje al parecer no esta el archivo customers.dbf, q usas en 2 ejemplos, crees q lo puedas subir o me lo puedas pasar

Muchas gracias

Victor Espina

unread,
Jul 23, 2014, 5:08:19 PM7/23/14
to publice...@googlegroups.com
Walter, efectivamente falto ese archivo.  Acabo de actualizar el release en codeplex asi que puedes bajarlo de nuevo y ahi encontraras el archivo faltante.

Saludos

Victor Espina

Walter Cordova

unread,
Jul 24, 2014, 12:55:00 PM7/24/14
to publice...@googlegroups.com
Estimado Victor,

Baje el archivo nuevamente y analizando los ejemplos, cuando ejecuto cashtrans.prg, me sale el mensaje CASHTOTALS.FMT NO EXISTE.
Estuve haciendo una prueba con datos de una aplicacion q tengo.
Una pregunta, como puedo hacer para q los datos numericos cuando sean CERO, no se pinten?

Luego 
Cuando quiero mostrar un subtotal, no me lo muestra q puedo estar haciendo mal?

Te envio el archivo FMT y el cursos donde estan los datos

Muchas gracias, ojala puedas ayudarme

Slds
movicont.DBF
diario.fmt
impdiario.PRG

Jairo Miranda

unread,
Jul 24, 2014, 4:24:33 PM7/24/14
to publice...@googlegroups.com

Hay que aprender  cómo funciona…

 

JM

Victor Espina

unread,
Jul 24, 2014, 10:36:54 PM7/24/14
to publice...@googlegroups.com
Walter, para que un monto numerico se imprima en blanco cuando es zero, le aplicas el formato "Z":

Xcargos=TRANSFORM(Cargos,'@Z 99,999,999.99')


En el caso de la totalizacion de los grupos, el problema es que metiste la definicion de los macros de los totales dentro de la seccion <GROUPS> en lugar de usar <MACROS>. Debe quedarte asi:

<macros>
xempresa=ALLTRIM(empresa)
xsubtitulo=ALLTRIM(periodo)
Xcargos=TRANSFORM(Cargos,'99,999,999.99')
Xabonos=TRANSFORM(abonos,'99,999,999.99')
Xdolares=TRANSFORM(importedol,'99,999,999.99')
Tcargos=TRANSFORM(_SUM[cargos;voucher;0.0],"99,999,999,99")
Tabonos=TRANSFORM(_SUM[abonos;voucher;0.0],"99,999,999,99")
</macros>

<groups>
XVOUCHER=voucher | XVOUCHER_HDR | XVOUCHER_FTR
</groups>

Lo otro es que veo que estas dejando un margen implicito en las bandas. Lo ideal es que el margen de la izquierda lo manejes con la propiedad LeftMargin en la seccion <CONFIG> directamente.

Acabo de revisar el archivo de release y efectivamente falta ese archivo. Ya esta actualizado de nuevo en CodePlex.  Gracias por el reporte.


Saludos

Victor Espina

Walter Cordova

unread,
Jul 25, 2014, 12:40:13 AM7/25/14
to publice...@googlegroups.com
Muchas Gracias, Victor,

Voy a seguir probando....

Walter Cordova

unread,
Jul 25, 2014, 10:01:44 AM7/25/14
to publice...@googlegroups.com
Estimado Victor,

Una pregunta mas, es posible cuando se envie a imprimir, se especifique un rango de hojas?


Slds

Ultraton500

unread,
Jul 25, 2014, 10:33:31 AM7/25/14
to publice...@googlegroups.com
Felicitaciones Victor y muchas gracias por tu generosidad !!!

Saludos cordiales,
Javier.

Miguel Angel Cabezas Castillo

unread,
Oct 27, 2014, 11:09:42 AM10/27/14
to publice...@googlegroups.com
NO ESTA COMPLETO...
SALUDOS.

Victor Espina

unread,
Oct 27, 2014, 1:29:57 PM10/27/14
to publice...@googlegroups.com
Miguel, a que te refieres con que no esta completo ?

Victor

Rafael Morales

unread,
Oct 28, 2014, 12:43:33 PM10/28/14
to publice...@googlegroups.com
Gracias Victor, excelente herramienta.
--
Rafael Morales

HernanCano

unread,
Oct 28, 2014, 6:01:46 PM10/28/14
to publice...@googlegroups.com
Hola.
Ya lo probé y funciona como dice que quiere hacerlo.

Si nos das más info, verificamos qué sucede.

Luis suescún

unread,
Oct 29, 2014, 12:17:23 PM10/29/14
to publice...@googlegroups.com
Victor, primero que todo muchas gracias por tu valiosisimo aporte, estoy mirando la clase y la estoy implementando.
tengo una pregunta para hacerte, si yo necesito imprimir los datos de una linea de la data, en diferentes lineas del reporte, puedo abrir tantas lineas de detalle como necesite para acomodar mi reporte o tengo que acudir a otra estrategia, igual se que me queda la opción de probar, pero, por si algo.

muchas gracias
felicidades
un abrazo

Victor Espina

unread,
Oct 29, 2014, 2:31:59 PM10/29/14
to publice...@googlegroups.com
Puedes tener tantas secciones DETAIL como quieras, siempre y cuando no apliquen todas al mismo tiempo.  Para esto, usas la propiedad applyIf para indicar cuando debe usarse una banda de detalle especifica.

Saludos

Victor Espina

Luis suescún

unread,
Oct 29, 2014, 4:24:44 PM10/29/14
to publice...@googlegroups.com
ok.

Víctor muchas gracias.

un abrazo


Luis suescún

unread,
Oct 30, 2014, 12:24:07 PM10/30/14
to publice...@googlegroups.com
Víctor, buenos días.
Ya ando sacando unas pruebas de mi primer reporte con tu clase, le veo el potencial.
Mucha generosidad de tu parte.
Quisiera saber, como encontrar todas las constantes por ejemplo para manejar los diferentes estados de los "font"
Los estuve buscando en las ayudas, pero no los veo.
Seguramente eso depende del manual de la impresora, me imagino.

mil gracias.
un abrazo.


2014-07-21 21:11 GMT-05:00 Victor Espina <vesp...@gmail.com>:
Ya puedes descargar la clase, con ejemplos y un completo archivo de ayuda (en ingles) desde aqui:



Saludos

Victor Espina

Amigos, muchos de uds. conocen y han usado mi clase DOSPrint por varios años ya.   Es un orgullo para mi comunicarles que he decidido liberar los fuentes de esa clase para el uso publico y que mejor lugar para esto que VFPx.  Hoy he recibido la noticia del propio Rick Shummer, de que DOSPrint es ahora oficialmente un proyecto de VFPx bajo el nombre VFPDosPrint.

 

Esta noche estare subiendo los fuentes y el ultimo paquete de distribucion, asi que todos los interesados en el tema podran acceder a ellos a partir de mañana.   A todos los que adquirieron mi clase mil gracias y espero que puedan sacar aun mas provecho de DOSPrint al tener acceso a su codigo fuente.

 

A los que bajen el codigo y lo revisen, les pido que no me juzguen muy duramente: era muy joven e inexperto, y he aprendido un par de cosas desde entonces :)

 

 

 

 

 

Saludos

 

Victor Espina

 

--
Ing. Douglas Sánchez Guillén
      Consultor Informatico

HernanCano

unread,
Oct 31, 2014, 7:11:27 PM10/31/14
to publice...@googlegroups.com
Hola, Víctor.

Felicitaciones por tu utilería.

Con el ánimo de pasar el reporte a PDF, seleccioné la impresora PDFCreator. Pero en el archivo .PDF final sólo hay una hoja en blanco.

Dime si debo hacer algo particular para pasar un .OUT a .PDF .

Por el momento pienso en PDFCreator, pero si hay alguna otra forma que conozcas, quisiera que me contaras.

He pensado que es algún bug (o algo que falta) en VFPDOSPrint, pero..... si necesitas más info, pregúntame.

Victor Espina

unread,
Nov 1, 2014, 10:00:15 AM11/1/14
to publice...@googlegroups.com
No es un problema de VFPDosPrint sino de la impresora, en este caso PDFCreator, que no soporta el protocolo ESC/P.

Saludos

Victor Espina

Alessio Pesce

unread,
Oct 26, 2018, 5:51:31 AM10/26/18
to Comunidad de Visual Foxpro en Español
Con esto producto puedo imprimir todo sin utilizar report designer?
O lo puedo utilizar solo por la empresora a matrice?

Martín E. Lezama

unread,
Oct 26, 2018, 6:45:54 AM10/26/18
to publice...@googlegroups.com
Creo que es solo para impresoras matriciales. Igualmente vos sabes que nunca usé DosPrint. Genere todos los reportes para matriciales con el report designer de FoxPro 2.6 DOS y los imprimo a través de una llamada al kernel.dll si mal no recuerdo. Después paso el código para el que le interese. 
Reply all
Reply to author
Forward
0 new messages