Po załadowaniu do pamięci sterownika klawiatury i monitora ANSI.SYS z pliku CONFIG.SYS, możliwa jest zmiana konfiguracji konsoli za pomocą standardowych sekwencji sterujących znajdujących się w tym pliku.
Wszystkie sekwencje sterujące ANSI zaczynają się znakiem Escape (o kodzie 27), którym następuje otwierający nawias kwadratowy "[" , a następnie właściwy kod sterujący. Sekwencje sterujące napisane dużymi i małymi literami są różne.
Sekwencje te pozwalają na realizację różnych typów akcji:
- wybór typu ekranu,
- wybór kolorów wyświetlania,
- czyszczenie ekranu monitora,
- ustawianie kursora,
- przedefiniowanie klawiszy.
Sekwencje sterujące ANSI mogą być wysyłane wprost do monitora (każda sekwencja zaczynająca się kodem Escape jest interpretowana przez sterownik ANSI.SYS jako sekwencja sterująca) lub używane w poleceniu PROMPT. W tym ostatnim przypadku kod Escape traktowany przez DOS jako anulowanie wiersza poleceń jest zamieniany na $e.
Przykład:
PROMPT $e[7m$p$g$e[0m
wyświetla na ekranie monitora następującą zachętę w zanegowanej postaci wizyjnej (czarne litery na białym tle):
Drugi przykład:
PROMPT $e[s$e[f$e[7m$t$h$h$h$h$h$h $d$e[K$e[u$e[0m$p$g
wyświetla datę i godzinę w formie zanegowanej na górze ekranu monitora.
Szczegółowe wyjaśnienie polecenia:
$e[s zapamiętanie pozycji kursora
$e[f kursor na początek ekranu monitora
$e[7m wyświetlanie w formie zanegowanej
$t godzina
$h$h$h$h$h$h usunięcie sekund i setnych części sekundy
$d data
$e[K wymazanie wiersza do końca
$e[u powrót kursora na pozycję początkową
$e[0m powrót do normalnej pozycji wizyjnej
$p$g standardowa zachęta
Trzeci przykład:
prompt $e[0;59;”cd\dos”;13;”mem.exe”;13p
prompt $p$g
wywołanie z katalogu głównego mem.exe przez naciśnięcie klawisza F1.
prompt $e[0 początek sekwencji ANSI
0;59; kod klawisza F1
”cd\dos” przejście do katalogu gdzie znajduje się mem.exe
13 kod klawisza enter, kończący poprzednie polecenie
”mem.exe”;13 uruchomienie mem.exe
prompt $p$g standardowa zachęta
Aby anulować tą definicje klawisza należy powtórnie zredefiniować klawisz F1 na jego początkowe znaczenie:
prompt $e[0;59;0;59p
Inne przykłady:
przejście do pozycji 15 wiersz, 30 kolumna: prompt $e[15;30H lub prompt $e[15;30f
wypisanie napisu na zielonym tle:
PROMPT=$e[s$e[f$e[1;37;Cwiczenia z ANSI$e[0;37;40m$e[u$P$G
wypisywanie kolorowych liter na innym kolorowym tle: prompt $e[32,44m
wyświetlenie znaku ASCII (np. zamalowany kwadrat w kolorze czerwonym):
prompt $e[40;31m <alt><219>
wyświetlenie znaków ASCII w kolorze czerwonym na ekranie o współrzędnych (15:30):
prompt $e[15:30H $e[40;31m <alt><201> <alt><205> <alt><187>
http://www.computerhope.com/ansisys.htm
http://www.grzegorz.net/articles/index.php?id=dosbaner
http://www.asciitable.com/
agatap1991