Hola:
Alguien me podria decir que hacer para enviar este comando al puerto serie COM1 para abrir el cajon de una Epson termica, la secuencia es:
1D 56 01
Muchas gracias.
Emilio Gil.
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Como enviar comando cortar papel impresora termica
Como enviar comando cortar papel impresora termica
Emilio:
Consulte la Ayuda en la Epson cual es el código ESC del comando;
Utilize el:
OutChr( nHandle, cBytesToWrite, nCount ) da HBCOMM.LIB:
Consulte los siguientes enlaces:
http://goo.gl/LwOvN
http://goo.gl/Ua9MJ
Consulte la Ayuda en la Epson cual es el código ESC del comando;
Utilize el:
OutChr( nHandle, cBytesToWrite, nCount ) da HBCOMM.LIB:
Consulte los siguientes enlaces:
http://goo.gl/LwOvN
http://goo.gl/Ua9MJ
Como enviar comando cortar papel impresora termica
Hola:
Yo mismo me contesto, he tenido muchas dificultades para poder gestionar una impresora térmica Epson de tickets, que dicho sea de paso, la mayoría de estas impresoras o son Epson o emulan a las Epson, ahora que lo he resuelto dejo aqui la solución para quien pudiera necesitarla:
hFile := FOpen('COM1',1)
FWrite(hFile, Num2Esc("27 77 1")) // letra pequeña
FWrite(hFile, ::oEmpresa:Nombre + CRLF)
FWrite(hFile, ::oEmpresa:Domicilio +CRLF)
FWrite(hFile, ::oEmpresa:Poblacion + " . " + ::oEmpresa:CodigoPostal + CRLF)
FWrite(hFile, Num2Esc("27 100 04")) //lanza el papel 4 lineas antes de cortar
FWrite(hFile, Num2Esc("29 86 49")) //corte de papel
FWrite(hFile, Num2Esc("27 112 0 10 10")) //apertura de cajón
FClose(hFile)
La función Num2Esc() la dejo en este foro un compañero y transforma una secuencia de codigos decimales en los códigos ESC/POS que necesita la impresora, a continuación la pongo también
FUNCTION Num2Esc( cCad )
LOCAL nPos := 1
LOCAL cSal := ""
cCad += " "
WHILE nPos > 0
nPos := AT( " ", cCad )
IF Val( SubStr( cCad, 1, nPos - 1 ) ) != 0
cSal += Chr( Val( SubStr( cCad, 1, nPos - 1 ) ) )
ELSE
cSal += SubStr( cCad, 1, nPos - 1 )
END IF
cCad := SubStr( cCad, nPos + 1 )
END DO
IF Len( cCad ) > 0 .AND. Empty( cSal )
IF Val( cCad ) != 0
cSal := Chr( Val( cCad ) )
ELSE
cSal := cCad
ENDIF
END IF
RETURN cSal
Y para finalizar dejo enlace a un archivo pdf con los códigos de funcionamiento de las impresoras térmicas EPSON
http://www.birch.com.tw/newpage/templat ... gramManual .pdf
Saludos a todos y gracias.
Emilio Gil.
Yo mismo me contesto, he tenido muchas dificultades para poder gestionar una impresora térmica Epson de tickets, que dicho sea de paso, la mayoría de estas impresoras o son Epson o emulan a las Epson, ahora que lo he resuelto dejo aqui la solución para quien pudiera necesitarla:
hFile := FOpen('COM1',1)
FWrite(hFile, Num2Esc("27 77 1")) // letra pequeña
FWrite(hFile, ::oEmpresa:Nombre + CRLF)
FWrite(hFile, ::oEmpresa:Domicilio +CRLF)
FWrite(hFile, ::oEmpresa:Poblacion + " . " + ::oEmpresa:CodigoPostal + CRLF)
FWrite(hFile, Num2Esc("27 100 04")) //lanza el papel 4 lineas antes de cortar
FWrite(hFile, Num2Esc("29 86 49")) //corte de papel
FWrite(hFile, Num2Esc("27 112 0 10 10")) //apertura de cajón
FClose(hFile)
La función Num2Esc() la dejo en este foro un compañero y transforma una secuencia de codigos decimales en los códigos ESC/POS que necesita la impresora, a continuación la pongo también
FUNCTION Num2Esc( cCad )
LOCAL nPos := 1
LOCAL cSal := ""
cCad += " "
WHILE nPos > 0
nPos := AT( " ", cCad )
IF Val( SubStr( cCad, 1, nPos - 1 ) ) != 0
cSal += Chr( Val( SubStr( cCad, 1, nPos - 1 ) ) )
ELSE
cSal += SubStr( cCad, 1, nPos - 1 )
END IF
cCad := SubStr( cCad, nPos + 1 )
END DO
IF Len( cCad ) > 0 .AND. Empty( cSal )
IF Val( cCad ) != 0
cSal := Chr( Val( cCad ) )
ELSE
cSal := cCad
ENDIF
END IF
RETURN cSal
Y para finalizar dejo enlace a un archivo pdf con los códigos de funcionamiento de las impresoras térmicas EPSON
http://www.birch.com.tw/newpage/templat ... gramManual .pdf
Saludos a todos y gracias.
Emilio Gil.
- Marcelo Coelho Silva
- Mensajes: 269
- Registrado: Sab May 31, 2008 4:49 pm
- Ubicación: Brasil
- Contactar:
Como enviar comando cortar papel impresora termica
Emilio,
Para enviar (e ler) dados de uma impressora serial (COM1) é bem melhor
utilizar a HBCOMM.LIB no lugar de FOpen()/FWrite()/FRead()/FClose.
Verifique a HBCOMM.LIB, voce ira ter mais controle sobre a comunicação
com a Impressora.
Atenciosamente,
Marcelo Coelho Silva
Brasil.
Em 19/04/2011 04:51, Emilio Gil escreveu:
> Hola:
>
> Yo mismo me contesto, he tenido muchas dificultades para
> poder gestionar una impresora térmica Epson de tickets, que
> dicho sea de paso, la mayoría de estas impresoras o son
> Epson o emulan a las Epson, ahora que lo he resuelto dejo
> aqui la solución para quien pudiera necesitarla:
>
> hFile := FOpen('COM1',1)
>
> FWrite(hFile, Num2Esc("27 77 1")) // letra pequeña
>
>
> FWrite(hFile, ::oEmpresa:Nombre + CRLF)
> FWrite(hFile, ::oEmpresa:Domicilio +CRLF)
> FWrite(hFile, ::oEmpresa:Poblacion + " . " +
> ::oEmpresa:CodigoPostal + CRLF)
>
> FWrite(hFile, Num2Esc("27 100 04")) //lanza el papel 4
> lineas antes de cortar
> FWrite(hFile, Num2Esc("29 86 49")) //corte de papel
> FWrite(hFile, Num2Esc("27 112 0 10 10")) //apertura de
> cajón
>
> FClose(hFile)
>
> La función Num2Esc() la dejo en este foro un compañero
> y transforma una secuencia de codigos decimales en los
> códigos ESC/POS que necesita la impresora, a continuación
> la pongo también
>
> FUNCTION Num2Esc( cCad )
>
> LOCAL nPos := 1
> LOCAL cSal := ""
>
> cCad += " "
>
> WHILE nPos > 0
>
> nPos := AT( " ", cCad )
>
> IF Val( SubStr( cCad, 1, nPos - 1 ) ) != 0
> cSal += Chr( Val( SubStr( cCad, 1, nPos - 1 ) ) )
> ELSE
> cSal += SubStr( cCad, 1, nPos - 1 )
> END IF
>
> cCad := SubStr( cCad, nPos + 1 )
>
> END DO
>
> IF Len( cCad ) > 0 .AND. Empty( cSal )
> IF Val( cCad ) != 0
> cSal := Chr( Val( cCad ) )
> ELSE
> cSal := cCad
> ENDIF
>
> END IF
>
> RETURN cSal
>
> Y para finalizar dejo enlace a un archivo pdf con los
> códigos de funcionamiento de las impresoras térmicas
> EPSON
>
> http://www.birch.com.tw/newpage/templat ... gramManual .pdf
>
> Saludos a todos y gracias.
>
> Emilio Gil.
>
Para enviar (e ler) dados de uma impressora serial (COM1) é bem melhor
utilizar a HBCOMM.LIB no lugar de FOpen()/FWrite()/FRead()/FClose.
Verifique a HBCOMM.LIB, voce ira ter mais controle sobre a comunicação
com a Impressora.
Atenciosamente,
Marcelo Coelho Silva
Brasil.
Em 19/04/2011 04:51, Emilio Gil escreveu:
> Hola:
>
> Yo mismo me contesto, he tenido muchas dificultades para
> poder gestionar una impresora térmica Epson de tickets, que
> dicho sea de paso, la mayoría de estas impresoras o son
> Epson o emulan a las Epson, ahora que lo he resuelto dejo
> aqui la solución para quien pudiera necesitarla:
>
> hFile := FOpen('COM1',1)
>
> FWrite(hFile, Num2Esc("27 77 1")) // letra pequeña
>
>
> FWrite(hFile, ::oEmpresa:Nombre + CRLF)
> FWrite(hFile, ::oEmpresa:Domicilio +CRLF)
> FWrite(hFile, ::oEmpresa:Poblacion + " . " +
> ::oEmpresa:CodigoPostal + CRLF)
>
> FWrite(hFile, Num2Esc("27 100 04")) //lanza el papel 4
> lineas antes de cortar
> FWrite(hFile, Num2Esc("29 86 49")) //corte de papel
> FWrite(hFile, Num2Esc("27 112 0 10 10")) //apertura de
> cajón
>
> FClose(hFile)
>
> La función Num2Esc() la dejo en este foro un compañero
> y transforma una secuencia de codigos decimales en los
> códigos ESC/POS que necesita la impresora, a continuación
> la pongo también
>
> FUNCTION Num2Esc( cCad )
>
> LOCAL nPos := 1
> LOCAL cSal := ""
>
> cCad += " "
>
> WHILE nPos > 0
>
> nPos := AT( " ", cCad )
>
> IF Val( SubStr( cCad, 1, nPos - 1 ) ) != 0
> cSal += Chr( Val( SubStr( cCad, 1, nPos - 1 ) ) )
> ELSE
> cSal += SubStr( cCad, 1, nPos - 1 )
> END IF
>
> cCad := SubStr( cCad, nPos + 1 )
>
> END DO
>
> IF Len( cCad ) > 0 .AND. Empty( cSal )
> IF Val( cCad ) != 0
> cSal := Chr( Val( cCad ) )
> ELSE
> cSal := cCad
> ENDIF
>
> END IF
>
> RETURN cSal
>
> Y para finalizar dejo enlace a un archivo pdf con los
> códigos de funcionamiento de las impresoras térmicas
> EPSON
>
> http://www.birch.com.tw/newpage/templat ... gramManual .pdf
>
> Saludos a todos y gracias.
>
> Emilio Gil.
>
Att.
Marcelo Coelho Silva
Brasil.
Marcelo Coelho Silva
Brasil.