Page 1 of 1
Epson TM-U200D-Alguien posee los código ESC (todos)?
Posted: Wed Sep 05, 2007 9:22 pm
by metaldrummer
Hola:
Alguien que haya o esté actualmente utilizando la Epson TM-U200D a través de la TDosPrn?.
Es que cuando accedo a ella me arroja solamente símbolos raros.
Utilizo los comandos que trae por defecto la tdosprn.
Debo instalar algún driver en especial en windows xp?.
Sin instalar nada, igual responde cuando mando una impresión.
No consigo que imprima nada coherente
Esto es lo que imprime:
Saludos
Posted: Wed Sep 05, 2007 11:08 pm
by sysctrl2
Hola , intenta asi,
#define INICIAPRN '27,64'
#define SELECTDRAF '27,120,48'
oPrn := TDosPrn():New( "lpt1" ) //iniciamos el objeto tdosprn.
oPrn:command(INICIAPRN)
oPrn:command(SELECTDRAF)
*** tu impresion
oPrn:end()
saludos..
Posted: Thu Sep 06, 2007 2:40 am
by metaldrummer
Gracias Master. No resultó.
En mi caso la impresora es serial, aunque para eso la puedo redirigir o colocar oPrn:=TDosPrn():New( "COM1").
Me imprime algo así:
???????????Ç??ÇÇÇ??????Ç??ÇÇÇ???Ç??Ç????
Estoy haciéndolo de esta forma:
Code: Select all
#define InitTMU200D "27,64"
#define SelectDRAFT "27,120,48"
FUNCTION PrintNotaVenta( nIdNotadeVenta, cPuertoImpresion, nTotal)
LOCAL oPrn, cIdNotadeventa, cTotal
cIdNotadeVenta:=Transform( nIdNotadeVenta, "@E 9,999,999,999")
oPrn:=TDosPrn():New(cPuertoImpresion)
//oPrn:StartPage()
oPrn:Command( InitTMU200D)
oPrn:Command( SelectDRAFT)
oPrn:Say( 0,0, "N. Venta #"+cIdNotadeVenta)
oPrn:End( .T., .F.)
RETURN NIL
Si alguien me puede ayudar, solamente me falta esto para poder terminar este módulo.
Mil gracias
Posted: Thu Sep 06, 2007 2:24 pm
by Francisco Horta
metaldrummer, (que nombre tan raro)
yo uso una tmt88ii en com1 con tdosprn y me va bien, ya verificaste el cable serial? yo di de alta en windows la impresora generic text y ahi le asigen el puerto com1 y la puse por defaul y me va bien, como lo estas haciendo? ya que tu programa lo hace bien
salu2
paco
Posted: Thu Sep 06, 2007 2:40 pm
by metaldrummer
Paco:
No es el cable serial ya que mi cliente la usa diariamente con un programa hecho en clipper.
Laverdad que yo no cree ese programa.
Voy a ver si obtengo los fuentes.
Si sabes de algo más ya que ni siquiera epson tiene el manual con los comandos.
Saludos
Posted: Thu Sep 06, 2007 4:21 pm
by George
Metal,
Esto me funciona perfecto:
Code: Select all
oPrn := TDosPrn():New("LPT1",3)
// Aqui va mi codigo.......
// Initializa el Printer
oPrn:Command("27 64")
//Limpiar el Buffer
oPrn:Command("24")
//Define Altura de Pagina
//?? CHR(27) + CHR(67) + CHR(22) // en numero de lineas
//oPrn:Command("27, 67, 48, 3") // En Pulgadas
//oPrn:Command("27, 67, 25") // En No. de lineas
oPrn:StartPage()
// Seleccionar 10 CPI For Epson
//oPrn:Command("27,80")
// Seleccionar double strike For Epson
//oPrn:Command("27,71")
// Seleccionar 12 CPI For Epson
oPrn:Command("27,77")
oPrn:Write(cCompany) // Nombre de la compañia
// Cancelar double strike For Epson
//oPrn:Command("27,72")
oPrn:NewLine()
oPrn:Write(cAddress)
oPrn:NewLine()
oPrn:Write(cPhone)
oPrn:End()
Trabajo con xBuilder (xHarbour) + FWH
Saludos
George
Posted: Thu Sep 06, 2007 4:36 pm
by jcaro
Compatriota :
Si es una impresora serial, tu problema es la velocidad del puerto,
debes setear la velocidad con
mode com1:9600,n,8,1
por eso te salen _ raros. No esta seteada la
velocidad de la impresora,
Generalmente yo utilizo un bat con estos datos y funciona OK.
( Feliz mes de la patria - tiki- tiki- tiii )
Saludos,
Posted: Thu Sep 06, 2007 7:39 pm
by ricardog
Por si te sirve:
En el acceso directo corre un bat
mode com1:9600,n,8,1
mode lpt1=com1
pos.exe
Y en tu prg de impresion
oRep:=TdosPrg():New("LPT1")
//Especiales
oRep:Say(00,00,CHR(27)+"@") // INDICA QUE SE INICIA CONFIGURACION
oRep:Say(00,00,CHR(27)+"t"+CHR(0))
oRep:Say(00,00,CHR(27)+"c0"+CHR(2)) // ACTIVA RECEIVE COMO HOJA(TICKET)
oRep:Say(00,00,CHR(27)+"z"+CHR(0))
//Inicia de la impresion del Fondo
oRep:Say(n,00,Padc("REGISTRO DE FONDO INICIAL",38,"*"))
oRep ..............
//Termina la impresion del Fondo
n++
cCmd:=Fechas(Date())+" "+Time()+" "+Str(oSys:TiendaSys())+" "
oRep:Say(n,00,cCmd )
//Termina de Imprimir el Fondo
oRep:Say(00,00,Chr(27) + "d") //+ Chr(13)) // estas lineas
oRep:Say(00,00,Chr(27) + "i") //+ Chr(13)) // cortan el papel
oRep:End()
*** Espero que te sirva
SALUDOS