![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
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: |
#3
|
|||
|
|||
![]() 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 |
#4
|
|||
|
|||
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
__________________
IVAND |
#5
|
|||
|
|||
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 |
#6
|
||||
|
||||
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" unit1.pas(50,21) Hint: Local variable "DocInfo" does not seem to be initialized unit1.pas(57,37) Warning: Local variable "PrinterHandle" does not seem to be initialized unit1.pas(73,54) Error: Incompatible type for arg no. 4: Got "LongWord", expected "PDWord" unit1.pas(90) Fatal: There were 2 errors compiling module, stopping] 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 PRINT #1 CHR$(&H1B); "d"; CHR$(11); -Avanza 11 líneas PRINT #1 CHR$(&H1B); "i"; -Ejecuta corte completo Alguna idea del cómo, ya no se donde mas buscar. Gracias y perdon por ser tan largo. Última edición por anubis fecha: 02-09-2014 a las 02:57:57. |
#7
|
||||
|
||||
Para compilar con Lazarus debes realizas los cambios siguientes:
Saludos. |
#8
|
||||
|
||||
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 |
#9
|
||||
|
||||
hice unas pruebas con este codigo...
el problema es que por cada linea impresa no me salta la linea como soluciono eso??
__________________
Dulce Regalo que Satanas manda para mi..... |
#10
|
|||
|
|||
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! |
#11
|
|||
|
|||
Cita:
Última edición por Casimiro Notevi fecha: 30-03-2017 a las 17:58:37. Razón: Eliminar email |
#12
|
||||
|
||||
Cita:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Como imprimir sin? | superhopi | Impresión | 3 | 13-04-2007 04:46:45 |
¿Cómo imprimir? | roman | Linux | 15 | 21-03-2007 20:53:36 |
como imprimir?? | mminorm | Impresión | 6 | 01-06-2005 08:57:20 |
Como imprimir......... | pampitasnowman | Impresión | 3 | 20-08-2003 21:24:16 |
![]() |
|