Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Códigos De Escape
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Códigos De Escape 
 
Hola,

Con el objeto de facilitar la lectura de código y de simplificar estoy intentando utilizar costantes para referirme a las combinaciones de los códigos de escape para una impresora térmica.

ejemplo

PUBLIC CONST escNewLine AS String = "Chr$(10)" ' NEW line(LF LINE feed)
PUBLIC CONST escUnerlineOn AS String = "Chr(27) & Chr(45) & Chr(1)" '/ Unerline On
PUBLIC CONST escUnerlineOnx2 AS String = "Chr(27) & Chr(45) & Chr(2)" '/ Unerline On x 2
PUBLIC CONST escUnerlineOff AS String = "Chr(27) & Chr(45) & Chr(0)" '/ Unerline Off
PUBLIC CONST escBoldOn AS String = "Chr(27) & Chr(69) & Chr(1)" '/ Bold On
PUBLIC CONST escBoldOff AS String = "Chr(27) & Chr(69) & Chr(0)" '/ Bold Off
PUBLIC CONST esc16Cpi AS String = "Chr(27) & Chr(77) & Chr(48)" '/ Font A - Normal Font
PUBLIC CONST esc20Cpi AS String = "Chr(27) & Chr(77) & Chr(49)" '/ Font B - Small Font
PUBLIC CONST escFeedAndCut AS String = "Chr$(27) & Chr$(109)" '/ Partial Cut
PUBLIC CONST escAlignLeft AS String = "Chr(27) & Chr(97) & Chr(48)" '/ Align Text TO the Left
PUBLIC CONST escAlignCenter AS String = "Chr(27) & Chr(97) & Chr(49)" '/ Align Text TO the Center
PUBLIC CONST escAlignRight AS String = "Chr(27) & Chr(97) & Chr(50)" '/ Align Text TO the Right



 DIM hFile AS File
  IF Exist("/dev/ttyS0") THEN
        OPEN "/dev/ttyS0" FOR WRITE AS #hFile
        PRINT #hFile, escFeedAndCut
        CLOSE #hFile
  ELSE
  Message.Error("El puerto de la impresora no existe, el cajón no puede abrirse, ¡coja la llave!")
  END IF

pero el resultado es que me imprime "Chr$(27) & Chr$(109)"

¿Hay alguna manera o función para convertir el string a códigos esc/pos?

Gracias anticipadas

Saludos
 



 
ljma - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Códigos De Escape 
 
Hola,

Se me olvidó poner que si lo intento poner así

PUBLIC CONST euro AS String = Chr(27) & Chr(116) & Chr(19) & Chr(213)

me da error de sistaxis.

Resumo: si lo entrecomillo lo toma como texto puro y si no me da error de sintaxis.

¿alguna idea de cómo solucionarlo?


En cambio si lo meto dentro de una función funciona perfectamente. Os aporto una función para manejar acentos, eñes y otros caracteres.
dentro de esta función si que puedo igualar un string a Chr$(27) & Chr$(116) & Chr$(19) & Chr$(160) .

PUBLIC FUNCTION cambialetra(NOMBREesc AS String) AS String
DIM Acentu AS String
DIM busqueda AS String
DIM I AS Integer
DIM OCUPA1 AS Integer
DIM pos AS Integer
 
        Acentu = Chr$(27) & Chr$(116) & Chr$(19) & Chr$(160)
        OCUPA1 = Len(NOMBREesc)
        FOR I = 1 TO OCUPA1
            pos = InStr(NOMBREesc, "á", I)
            IF pos > 0 THEN
            NOMBREesc = Left(NOMBREesc, pos - 1) & Acentu & Mid(NOMBREesc, pos + 1, OCUPA1)
            I = pos
            ENDIF
        NEXT  
        
        Acentu = Chr(27) & Chr(116) & Chr(19) & Chr(130)
        OCUPA1 = Len(NOMBREesc)
        FOR I = 1 TO OCUPA1
        pos = InStr(NOMBREesc, "é", I)
        IF pos > 0 THEN
        NOMBREesc = Left(NOMBREesc, pos - 1) & Acentu & Mid(NOMBREesc, pos + 1, OCUPA1)
        I = pos
        ENDIF
        NEXT  
        
        Acentu = Chr(27) & Chr(116) & Chr(19) & Chr(161)
        OCUPA1 = Len(NOMBREesc)
        FOR I = 1 TO OCUPA1
        pos = InStr(NOMBREesc, "í", I)
        IF pos > 0 THEN
        NOMBREesc = Left(NOMBREesc, pos - 1) & Acentu & Mid(NOMBREesc, pos + 1, OCUPA1)
        I = pos
        ENDIF
        NEXT
        
        Acentu = Chr(27) & Chr(116) & Chr(19) & Chr(162)
        OCUPA1 = Len(NOMBREesc)
        FOR I = 1 TO OCUPA1
        pos = InStr(NOMBREesc, "ó", I)
        IF pos > 0 THEN
        NOMBREesc = Left(NOMBREesc, pos - 1) & Acentu & Mid(NOMBREesc, pos + 1, OCUPA1)
        I = pos
        ENDIF
        NEXT
        
        Acentu = Chr(27) & Chr(116) & Chr(19) & Chr(163)
        OCUPA1 = Len(NOMBREesc)
        FOR I = 1 TO OCUPA1
        pos = InStr(NOMBREesc, "ú", I)
        IF pos > 0 THEN
        NOMBREesc = Left(NOMBREesc, pos - 1) & Acentu & Mid(NOMBREesc, pos + 1, OCUPA1)
        I = pos
        ENDIF
        NEXT
        
        Acentu = Chr(27) & Chr(116) & Chr(19) & Chr(129)
        OCUPA1 = Len(NOMBREesc)
        FOR I = 1 TO OCUPA1
        pos = InStr(NOMBREesc, "ü", I)
        IF pos > 0 THEN
        NOMBREesc = Left(NOMBREesc, pos - 1) & Acentu & Mid(NOMBREesc, pos + 1, OCUPA1)
        I = pos
        ENDIF
        NEXT
        
        Acentu = Chr(27) & Chr(116) & Chr(19) & Chr(137)
        OCUPA1 = Len(NOMBREesc)
        FOR I = 1 TO OCUPA1
        pos = InStr(NOMBREesc, "ë", I)
        IF pos > 0 THEN
        NOMBREesc = Left(NOMBREesc, pos - 1) & Acentu & Mid(NOMBREesc, pos + 1, OCUPA1)
        I = pos
        ENDIF
        NEXT
        
        Acentu = Chr(27) & Chr(116) & Chr(19) & Chr(148)
        OCUPA1 = Len(NOMBREesc)
        FOR I = 1 TO OCUPA1
        pos = InStr(NOMBREesc, "ö", I)
        IF pos > 0 THEN
        NOMBREesc = Left(NOMBREesc, pos - 1) & Acentu & Mid(NOMBREesc, pos + 1, OCUPA1)
        I = pos
        ENDIF
        NEXT
        
        Acentu = Chr(27) & Chr(116) & Chr(19) & Chr(165)
        OCUPA1 = Len(NOMBREesc)
        FOR I = 1 TO OCUPA1
        pos = InStr(NOMBREesc, "ñ", I)
        IF pos > 0 THEN
        NOMBREesc = Left(NOMBREesc, pos - 1) & Acentu & Mid(NOMBREesc, pos + 1, OCUPA1)
        I = pos
        ENDIF
        NEXT
RETURN NOMBREesc
END FUNCTION


Saludos
 



 
ljma - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Mandar Codigos De Escape A Impresora Epson ahtonio General 4 Martes, 23 Noviembre 2010, 17:01 Ver último mensaje
ahtonio
No hay nuevos mensajes Gestor Códigos QR jsbsan Aplicaciones/Fragmentos de Código 7 Lunes, 13 Febrero 2012, 02:41 Ver último mensaje
clsource
No hay nuevos mensajes Retorno De Carro. Caracteres De Escape Shell General 7 Lunes, 25 May 2015, 21:01 Ver último mensaje
Shell
No hay nuevos mensajes Simbolo De Escape A Comillas Dobles calcena General 1 Jueves, 19 Octobre 2017, 23:10 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron