Caracteres de escape para la impresora
Caracteres de escape para la impresora
Muy buenas, ¿alguien sabe como puedo mandar el caracter de escape:
"ESC C 42" a la impresora STAR DP8340S?
me dice que le tengo que mandar "ESC C n" (donde n es el número de líneas) y lo que es lo mismo en hexadecimal: "(1B)H (43)H n"
decirme como puede mandarlo gracias.
Gracias.
Un Saludo.
"ESC C 42" a la impresora STAR DP8340S?
me dice que le tengo que mandar "ESC C n" (donde n es el número de líneas) y lo que es lo mismo en hexadecimal: "(1B)H (43)H n"
decirme como puede mandarlo gracias.
Gracias.
Un Saludo.
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Tal cual te comentan en el post anterior, pero ten en cuenta que n (nº de lineas) es el valor ascii del caracter que le pasas. P.e. 48 lineas seria
o si mas claro
Code: Select all
Chr(27)+"C0"
Code: Select all
Chr(27)+"C"+Chr(48)
No funciona
Muy buenas, he probado de todo y no funciona sigue imprimiendo 33 líneas de dicha impresora no que se hacer, si alguien sabe como mandar el código de escape o configurar la STAR DP8340S, decirme algo.
Gracias.
Un Saludo.
Gracias.
Un Saludo.
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Un cliente mio tiene Star Dp8340S y el código que antes te he puesto funciona para el cambio de lineas.
Tu quieres poner la impresora a 42 lineas, entonces seria
Tu quieres poner la impresora a 42 lineas, entonces seria
Code: Select all
Chr(27)+"C*"
Me prodrías decir el código para enviar el codigo de escape, mira yo creo un fichero y en la primera línea pongo:
WriteByte( cConexion,Chr(27)+"C*")
es decir, mi codigo es:
local cConexion := CreateFile( "COM8:",GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL )
if (cConexion==-1)
MsgStop('No hay conexion con la impresora',vTitulo)
else
WriteByte( cConexion,Chr(27)+"C*")
for n = 1 to Len( cTexto )
WriteByte( cConexion, Asc( SubStr( cTexto, n, 1 ) ) )
next
CloseHandle( cConexion )
¿Está bien?¿Debería funcionar?
Gracias
Un Saludo.
WriteByte( cConexion,Chr(27)+"C*")
es decir, mi codigo es:
local cConexion := CreateFile( "COM8:",GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL )
if (cConexion==-1)
MsgStop('No hay conexion con la impresora',vTitulo)
else
WriteByte( cConexion,Chr(27)+"C*")
for n = 1 to Len( cTexto )
WriteByte( cConexion, Asc( SubStr( cTexto, n, 1 ) ) )
next
CloseHandle( cConexion )
¿Está bien?¿Debería funcionar?
Gracias
Un Saludo.
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Creo que no es correcto, en principio entiendo que writebyte envia byte a byte al puerto de comunicaciones.
Prueba de la siguiente manera.
Prueba de la siguiente manera.
Code: Select all
//WriteByte( cConexion,Chr(27)+"C*")
cTexto:=Chr(27)+"C*"+cTexto
for n = 1 to Len( cTexto )
WriteByte( cConexion, Asc( SubStr( cTexto, n, 1 ) ) )
next
No me funciona
Muy buenas, no se que hacer la impresora no funciona, he llamado al servicio técnico y dicen que debe ser de programación y yo no hago nada más que el código anterior, decirme que puedo hacer, es decir, si hay otra forma de comunicarse con la impresora, otra forma de imprimir, no se algo para que esto funcione.
También he probado con otra impresora nueva para ver si es que estuviese rota, y también pasa lo mismo.
Bueno, gracias de antemano.
Un Saludo.
También he probado con otra impresora nueva para ver si es que estuviese rota, y también pasa lo mismo.
Bueno, gracias de antemano.
Un Saludo.
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Pues no se que decirte, el codigo anteriro a mi me funciona. Pro probar, pero es lo mismo.
Puedes probar de imprimir con cable directo, entiendo que lo haces via Bluetooth.
Code: Select all
WriteByte(cConexion,27)
WriteByte(cConexion,Asc('C')
WriteByte(cConexion,48) //Lineas
for n = 1 to Len( cTexto )
WriteByte( cConexion, Asc( SubStr( cTexto, n, 1 ) ) )
next
No se por que no
¿Sabes algún caracter de escape que tengamos que complementar a ese? es decir, lo mismo tengo que reiniciar la impresora, limpiar buffer, no se algo que complemente que haga que funcione de una vez.
Gracias.
Un Saludo.
Gracias.
Un Saludo.
Muchas gracias
Muy buenas, ya ha solucionado el problema de la impresión muchas gracias por todo.
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact: