![]() |
Como imprimir en pto vitual USB001
Que tal amigos...
En muchas computadoras recientes ya no traen el puerto paralelo integrado, pero existen los adaptadores USB a CENTRONIC (que fue la solucion que adopte). El detalle es que al instalar este tipo de adaptadores generan un puerto virtual (USB001, USB00x...) en Windows XP, para tener comunicacion con la impresora. Estoy migrando una aplicacion FoxPro DOS 2.6 a Delphi 2007 (principiante) y las instrucciones para mandar imprimir que he encontrado son las siguientes: procedure TForm2.Button1Click(Sender: TObject); var F: TextFile; begin AssignFile(F,'LPT1'); Rewrite(F); WriteLn(F, 'Hello from Delphi.'); CloseFile(F); end; Esta prueba de impresion me funciono perfectamente para el puerto local LPT1, pero hice el cambio a USB001 y no manda imprimir la leyenda. Podrian sugerirme alguna solucion. Nota: Lo que deseo imprimir es el desgloce de partidas de una venta en una impresora para retail EPSON TM-U220, por lo que no es necesario configurar el tipo de hoja y margenes. Gracias por su tiempo |
1 Archivos Adjunto(s)
Vamos a ver, esta función te puede útil:
Permite enviar datos directamente a la impresora, al igual que lo hacías antes a través del puerto paralelo, solo necesitas el nombre de la impresora. Si le echas un vistazo a la función seguro que averiguas como funciona y la puedes adaptar a tus necesidades, pero si te decides a utilizarla tal cual, el primer parámetro es el nombre de la impresora (tal cual aparece en la carpeta "Impresoras" de windows) y el segundo es el texto que se quiere enviar, con la particularidad que se pueden mandar secuencias de escape. Por ejemplo, así mandaríamos el texto "Hola mundo":
Ahora lo mismo pero con un retorno de carro y avance de linea:
Y ahora un pitido (si la impresora lo soporta)
Estos días estoy probando unas nuevas impresoras de toshiba, de las que no acabo de encontrar sus secuencias de escape (logo, negrita, subrayado, etc ...). Así que me he creado una pequeña aplicación, donde puede escoger una impresora y mandarle una secuencia de escape, y así realizar algunas pruebas. Aquí te la dejo por si quieres hacer algunas pruebas: |
muchas gracias por tu tiempo y solucion
esta excelente la solucion.
Voy hacer las pruebas al respecto estoy seguro que me va a funcionar tal y como lo necesito. De verdad que eres todo un maestro. Saludos |
Buena solucion , pero puedes ademas utilizar el preport que permite imprimir en modo texto , secuencia de comandos etc , la buena solucion es que es un reporteador de manera visual soporta enduser y todas esas cosas asi te olvidas de programar reportes a mi me ha servido mucho
Lo malo de la primera opcion es cuando compartes una impresora con otro equipo , cuando mandan dos impresiones al mismo tiempo se mezclan si necesitas el preport te lo envio creo que ya no esta en la pagina de vtktools |
Muchas gracias, de hecho ya puse a funcionar la solucion de seoane y me esta trabajando bien, mas sin embargo me gustaria evaluar tu solucion del preport sobre todo por lo del soporte enduser.
Si pudieras mandarmelo te lo agradeceria mucho. Saludos |
Gracias por aporte,
Seoane, intente compilarlo en lazarus pero me da error en
Código:
unit1.pas(48,51) Error: Incompatible type for arg no. 2: Got "LongWord", expected "PHANDLE" No se puede compiar en lazarus, aunque le cambie el modo de sintaxis a delphi? Lo que prentendo solo es imprimir en impresora de tickets y que solo imprima lo que envio y no me saque un feed del tamaño asignado.
[font=Arial]Este metodo no me funciona porque no imprime nada.
Este si funciona pero me hace feed de papel. La impresora es una epson tm-u220pa por puerto paralelo. Tambien he visitado la pagina de epson en relación a los codigos Código:
PRINT #1 "Hola"; -Imprime texto Alguna idea del cómo, ya no se donde mas buscar. Gracias y perdon por ser tan largo. |
Para compilar con Lazarus debes realizas los cambios siguientes:
Saludos. |
sí, gracias, las units del uses ya las tenia puestas, ya reviso de nuevo sino da error.
de todas formas agarre el ejemplo q viene con Lazarus sobre raw y si funciona aunque meterle códigos especiales, como q corte la hoja, esta difícil. gracias por contestar |
hice unas pruebas con este codigo...
el problema es que por cada linea impresa no me salta la linea como soluciono eso?? |
Seoane...La verdad que muchas...muchas gracias!
Tu codigo, aunque es del 2004 es lo que me pudo resolver el poder abrir la gaveta en en un impresora USB ahora en el 2016 y Delphi 10 Seattle Dios te colme de bendiciones... GRACIAS! |
Cita:
|
Cita:
|
La franja horaria es GMT +2. Ahora son las 00:47:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi