Visual Basic para Aplicaciones - hexadecimal... facilita!

Life is soft - evento anual de software empresarial
 
Vista:

hexadecimal... facilita!

Publicado por axel (2 intervenciones) el 17/11/2008 16:02:20
Buenas,

No estoy muy seguro de que este sea el subforo adecuado para postear mi duda pero como el error se me producia al ejecutar una aplicacion vba pues lo pongo aqui. Resulta que me salta una excpcion en que me dice que el caracter hexadecimal 0x18 (seguido de un dibujito de un cuadradito entre comillas) no es valido. He bsucado cual es el simbolo hexadecimal 18 y para mi sorpresa no es un simbolo es "CAN" alguien puede decirme que quiere decir esto¿? muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:hexadecimal... facilita!

Publicado por amparitohijo (1 intervención) el 28/11/2008 11:15:10
Buenas.
Lo que quiere decir CAN es "Cancel", y no es un símbolo, es una secuencia de escape o un caracter de control.

Me explico: En el código ascii, los primeros 30 (y tantos, no recuerdo ahora mismo) caracteres y el último se utilizaron para mandar secuencias de escape a impresoras y teletipos. Esto es, para controlar el estado de la impresora. No suelen ser caracteres válidos, y no tienen una representación gráfica.

En los años en los que fue creado el lenguaje ascii, las impresoras matriciales eran más parecidas a una máquina de escribir eléctrica que a una impresora matricial actual. Los caracteres de control permitían a la impresora "imprimir" un retorno de carro, un tabulador, un "form feed" (avance de página) o incluso emitir un pitido (caracter BEL). No son muy usuales en la actualidad, ya que ahora mismo las impresoras tienen más capacidad de memoria y son capaces de entender otro tipo de lenguajes más potentes, como PCL o PostScript.

En el caso de la secuencia de escape CAN, era utilizada para cancelar una impresión muy larga. Si, por ejemplo hemos mandado 500 páginas a la impresora, y en un momento dado queremos interrumpir la impresión porque se nos ha acabado el papel, no queda tinta o simplemente no nos interesa imprimir más páginas porque no nos apetece, le lanzamos a la impresora el caracter hexadecimal "CAN".

Sería muy fácil comprobarlo si tuvieses una impresora matricial. Edita en hexadecimal un archivo con un solo caracter (el 18). Guárdalo con el nombre HEX.PRN en C:
Envía un documento muy extenso a la impresora, y cuando quieras interrumpir la impresión, haz lo siguiente desde la consola de msdos de tu ordenador (CMD.EXE):
C:COPY HEX.PRN LPT1

Si quieres que tu impresora suelte un pitido, edita el archivo HEX.PRN con el caracter BEL (código hexadecimal 07) y repite el proceso.

Espero que te haya servido. Ya nos contarás.
Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:hexadecimal... facilita!

Publicado por axel (2 intervenciones) el 28/11/2008 15:17:11
muy buena respuesta, muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar