Приложение D. Сведения за клавиатурата и екрана на микрокомпютъра Пълдин
120
Приложение D. Сведения за клавиатурата и екрана на
микрокомпютъра Пълдин
При извеждане на символи на екрана на микрокомпютъра се визуализират
техните изображения. Ако програмата използва стандартния изходен файл, то
възможно е той да бъде пренасочен към дисков файл. Например:
A:\>upc myprog > lst
Ако стандартният изходен файл е пренасочен, на екрана няма да се визуализират
извежданите чрез процедурата WRITE във файла OUTPUT символи. Файлът MESSAGE
не може да бъде пренасочен, затова извежданите в този файл символи винаги се
визуализират.
Независимо в кой файл се извеждат символите, за визуализирането им се
използват стандартните (за този компютър) функции на базовата/входно изходната
система (BIOS). Те не визуализират директно изпратени символи с ASCII код, по-малък
от 32 ($20). Част от тези символи са управляващи символи за BIOS. Ако е необходимо
извеждането им на екрана, всеки от тях трябва да бъде предхождан непосредствено от
символ с ASCII код 27 ($1B) (управляващ символ ESC).
Тъй като управляващите символи имат съответното действие (виж Таблица на
управляващите символи за BIOS), само когато се изпращат към BIOS, не е желателно
да се извеждат във стандартния изходен файл. Това е така, защото ако той бъде
пренасочен, тези символи ще се запишат във файла, към който е пренасочен файлът
OUTPUT. Ако той бъде пренасочен към дисков файл и след това се обработва с някаква
програма, очакваща нормален текст, могат да се получат неприятни изненади. А ако
това е печатащо устройство, неприятностите са гарантирани. Добре е още при
съставянето на програмите това да се има предвид (най-просто е, ако винаги указвате
файла MESSAGE като първи файл в списъка от външни файлове в заглавната част на
програмата). Ако използвате и двата файла (MESSAGE и OUTPUT) едновременно,
добре е програмата да бъде съставена така, че визуализираният на екрана текст да бъде
смислен и подходящо оформен, независимо от това дали стандартният изходен файл е
пренасочен или не. Необходимо е и изходният файл да съдържа нормален текст, ако
се пренасочи. За да има един файл винаги нормален текст, в него трябва да се изпращат
само символи с ASCII код по-голям от 31 ($1F), да не се използва символът с ASCII код
127 ($7F) и преминаването на нов ред да става само със стандартната процедура
WRITELN. Единственият символ с ASCII код по-малък от 32, който може да си позволите
да използвате, е  - ASCII код 12 ($0C). Но и това не се препоръчва, защото
не всяка програма ще се съобрази с него, ако го получи при четене от текстов файл.
(Вашите програми съобразяват ли се?)
При клавиатурата и при стандартния входен файл нещата стоят по аналогичен
начин. Ако се използва стандартната процедура read (независимо от кой файл -
MESSAGE или INPUT, ако не е пренасочен), част от кодовете на натиснатите клавиши се
преобразуват за да може прочетените от текстов файл и възприетите от клавиатурата
кодове да са съответно еднакви. Преобразуването става по следната таблица (показано
е използването на съответния код в текстов файл; тези кодове, които не се използват,
се прекодират за пълнота):
<<  <  GO  >  >>

Вернуться к началу сайта