Eso es lo que te decia originalmente. Antes de imprimir al puerto lo que te ocasiona que tengas que volver a ocuparte de las diferencias entre impresoras usa directamente las fuentes de la impresora. Por experiencia de hace tiempo con el asunto te recomiendo que uses estas, las tengo probadas en muuuuchas instalaciones:
Windows 98: Roman 10cpi (17 para condensada y 5 para expandida) Windows 2000/XP: Draft 10cpi (17 para condensada y 5 para expandida) Las Courier no siempre funcionan bien. Estas fuentes andan bien para toda la linea Epson y hasta las Citizen si le cambias el driver y le pones el de la AP-2000 Pablo Pioli ----- Original Message ----- From: "Marcelo Hacker (LISTAS)" <[EMAIL PROTECTED]> To: "gufa List Member" <[email protected]> Sent: Thursday, May 03, 2007 9:27 PM Subject: [gufa] [spam] [Off topic - VB6] Impresion matricial (plain text) desde Visual Basic 6.0 Muchisimas gracias Pablo (y demás amigos de la lista!), Circunstancialmente hemos optado por una alternativa propuesta en la www.webdelprogramador.com donde nos han sugerido utilizar una tipografía Courier con dichas impresoras y aunque parezca increible, el tiempo y "calidad" de impresión de la misma se han duplicado! Es decir, volvimos a las fuentes y dejaremos de renegar circunstancialmente con la impresión directa al puerto. Como recomendación final, les sugiero que intenten dicha alternativa antes de volverse locos inutilmente! :-) Saludos y gracias nuevamente, Marcelo Hacker ----- Original Message ----- From: "Pablo Pioli" <[EMAIL PROTECTED]> To: "gufa List Member" <[email protected]> Sent: Thursday, May 03, 2007 6:21 PM Subject: [gufa] [spam] [Off topic - VB6] Impresion matricial (plain text) desde Visual Basic 6.0 > El que yo te envie esta en VFP porque como dijiste que lo que te > interesaba > eran las API que tenias que usar, te deje el "laburito" de convertirlo a > VB. > Estas serian las funciones que necesitarias usar, que se comunican > directamente con la impresora, cualquier otra funcion pasa por GDI que te > filtra los comandos ESC: > > DECLARE INTEGER OpenPrinter IN WINSPOOL.DRV ; > STRING @ pPrinterName, ; > INTEGER @ phPrinter, ; > INTEGER pDefault > DECLARE INTEGER StartDocPrinter IN WINSPOOL.DRV ; > INTEGER hPrinter, ; > INTEGER LEVEL, ; > STRING @ pDOC_INFO_1 > DECLARE INTEGER StartPagePrinter IN WINSPOOL.DRV ; > INTEGER hPrinter > DECLARE INTEGER WritePrinter IN WINSPOOL.DRV ; > INTEGER hPrinter, ; > STRING @ pBuf, ; > INTEGER cdBuf, ; > INTEGER @ pWritten > DECLARE INTEGER EndPagePrinter IN WINSPOOL.DRV ; > INTEGER hPrinter > DECLARE INTEGER EndDocPrinter IN WINSPOOL.DRV ; > INTEGER hPrinter > DECLARE INTEGER ClosePrinter IN WINSPOOL.DRV ; > INTEGER hPrinter > DECLARE INTEGER GetLastError IN WIN32API > DECLARE INTEGER AddJob IN WINSPOOL.DRV ; > INTEGER hPrinter, ; > INTEGER LEVEL, ; > INTEGER pData, ; > INTEGER cdBuf, ; > INTEGER @ pcbNeeded > DECLARE INTEGER ScheduleJob IN WINSPOOL.DRV ; > INTEGER hPrinter, ; > INTEGER JobID > > Pablo Pioli > > ----- Original Message ----- > From: "Marcelo Hacker (LISTAS)" <[EMAIL PROTECTED]> > To: "gufa List Member" <[email protected]> > Sent: Thursday, May 03, 2007 9:31 AM > Subject: [gufa] [spam] [Off topic - VB6] Impresion matricial (plain text) > desde Visual Basic 6.0 > > > Rafa, > > Muchas gracias desde ya. Ese código funciona bien (lo probamos desde > Visual Fox) y está ok. El problema que tenemos es que tenemos que > agregar > ese manejo a un sistema en VB6 !!! y por esas cósas maravillosas de > nuestros lenguajes de programación... en VB 6.0 NO FUNCIONA! > > Agradezco a todos quienes me mandan el código en Fox, pero el real > requerimiento o problema que tenemos es en VB (tal como lo puse en el > subject). > > Nuevamente, muchisimas gracias! > > Marcelo > > ----- Original Message ----- > From: "Rafael Copquin" <[EMAIL PROTECTED]> > To: "gufa List Member" <[email protected]> > Sent: Thursday, May 03, 2007 7:51 AM > Subject: [gufa] [spam] [Off topic - VB6] Impresion matricial (plain text) > desde Visual Basic 6.0 > > >> Hace como mil años, yo imprimía (desde FOX DOS) en impresoras matriciales >> Epson LX-300 asi: >> >> private legal,largoA4,ancho12cpi,inicializar,linporpulg,hpic >> legal = chr(27)+'&'+'l'+'3'+'A' >> largoA4 = chr(27)+'&'+'l'+'5'+'A' >> ancho12cpi = chr(27)+'('+'s'+'12'+'H' >> inicializar = chr(27)+'E' >> linporpulg = chr(27)+'&'+'l'+'6'+'D' >> hpic = '99,999,999.99' >> select linvoice >> do while vueltas <= copias >> @ prow(),pcol() say inicializar >> @ prow(),pcol() say linporpulg >> @ prow(),pcol() say legal >> @ prow(),pcol() say ancho12cpi >> >> if ! inlist(klase,1,7) && si es nota de credito >> @ 0,90 say 'NOTA DE CREDITO' >> else >> @ 0,90 say 'FACTURA' >> endif >> >> etc, etc, etc >> >> Como ves, ponía el código de inicialización en una variable (inicializar) >> y luego se lo mandaba en cada una de las vueltas (habia que imprimir 3 >> copias de la factura), con la primera línea. Luego le mandaba los otros >> código para el tipo de letra y listo. >> Los códigos salen del manual de la impresora Epson LX-300. Siempre >> empiezan con el código de escape+ los símbolos apropiados >> >> Ojo, tenés que usar el viejo @ fila,columna en cada línea >> >> Para eso también tenés que crear una impresora genérica en el Windows y >> usarla para imprimir. >> >> >> ¿Es eso lo que necesitás? >> >> Rafael Copquin >> >> >> >> ----- Original Message ----- >> From: Marcelo Hacker (LISTAS) >> To: gufa List Member >> Sent: Thursday, May 03, 2007 2:26 AM >> Subject: [spam] [gufa] [Off topic - VB6] Impresion matricial (plain text) >> desde Visual Basic 6.0 >> >> >> Hola Pablo, >> >> Lo de Prueba y Error, es lo que estuvimos haciendo nosotros! Hay muchas >> cosas para testear en internet, pero en la práctica pocas son las que en >> realidad dan resultado. >> >> Me refiero a que la lógica y el sentido común dicen que debería >> funcionar, >> pero en la práctica NO FUNCIONA! >> >> Ya probamos con 3 impresoras distintas (por si era un tema de hardware) y >> en 3 pc's distintas! >> >> Aparentemente el tema está en que en algún lado los caracters de escape >> se >> "filtran" antes de llegar a la impresora y por ello no se configura >> correctamente. >> >> Por eso es que preguntabamos por un ejemplo de alguien que lo esté >> utilizando en estos momentos en produccion! >> >> Desde ya 1.000.000 de gracias a vos y a todos los que están colaborando >> con nosotros! >> >> Saludos, >> >> Marcelo >> >> ----- Original Message ----- >> From: Marcelo Hacker (LISTAS) >> To: gufa List Member >> Sent: Wednesday, May 02, 2007 10:45 AM >> Subject: [gufa] [Off topic - VB6] Impresion matricial (plain text) desde >> Visual Basic 6.0 >> >> >> Gente, >> >> Supongo que este problema tambien se presenta con el VisualFox, por ello >> hago la consulta acá. >> >> Se nos presentó un problema que aparentemente debería ser una pavada... >> pero por lo que venimos renegando hace unos días y lo que hemos >> encontrado >> en internet (MSDN/GOOGLE/ETC), parece que no es tan sencillo. >> >> Simplemente necesitamos imprimir en modo texto a la usanza del viejo >> Clipper, Fox, etc. a una impresora LX-300 (o una FX-890) y no por medio >> del objeto printer de Visual. >> >> Ya intentamos la apertura del puerto, funcionó bien, pero no respeta los >> saltos de hoja en forma correcta, ni el Tear On de la impresora. >> >> Si alguno de uds. ya lo tiene resuelto, les agradeceria si pudiesen >> mandar >> un pequeño recorte de ejemplo del código (principalmente la >> inicialización >> y cierre del documento o archivo de impresión). >> >> Desde ya 1000 gracias por adelantado. >> >> Marcelo Hacker >> >> >> > > > >
