Приложение D. Сведения о клавиатуре и экране микрокомпьютера Пылдин
125
Приложение D. Сведения о клавиатуре и экране
микрокомпьютера Пылдин
Вывод символов вызывает появления их изображения на экране
микрокомпьютера. Если программа использует стандартный выходной файл, он может
быть перенаправлен к дисковому файлу. Например:
A:\>upc myprog > lst
Если стандартный выходной файл перенаправлен, на экране не будут показываны
выводимые процедурой WRITE в файл OUTPUT символы. Но файла MESSAGE нельзя
перенаправить, поэтому выводимые ими символы всегда показываются на экране.
Независимо от того в котором из файлов выводятся символы, для их
изображения на экране используются стандартные (для этого компьютера) функции
базовой системы ввода/вывода (BIOS). Они не изображают директно посланные им
символы, ASCII код которых меньше 32 ($20). Часть этих кодов являются управляющими
символами системы BIOS. Если необходимо, чтобы их изображения появились на
экране, надо сделать так, что управляющий символ ESC с ASCII кодом 27 ($1B)
предшествовал им.
Так как управляющие символы имеют соответствующее действие (см D.2),
только если они посылаются системе BIOS, рекомендуется не выводит их в стандартном
выходном файле. В противном случае, если он будет перенаправленным, эти символы
запишутся в файле, к которому был перенаправлен output. Если файл будет
обрабатываться какой либо программой, ожидающей нормального текста, могут
произойти неожиданные ситуации. А если этот файл перенаправлен к печатающему
устройству, неприятности гарантированы. На этот факт надо обращать внимание еще
во время составления программы. Проще всего будет, если всегда файл MESSAGE
поставлен первым в списке внешних файлов в заголовке программы. Если будете
использовать и оба файла (MESSAGE, OUTPUT) одновременно, хорошо было бы
составить программу так, что показываемый на экране текст не потерял смысл и был
подходящим образом оформлен независимо от того перанаправлен ли будет
стандартный выходной файл или нет. Необходимо тоже, что выходной файл содержал
обычный текст, если будет перенаправлен. Чтобы файл содержал нормальный
(обычный) текст, он должен удовлетворять следующим условиям:
*
в нем не должны попадать символы, чей ASCII код меньше 32;
*
в нем не должен попадать символ с ASCII кодом 127;
*
переход к новой строке должен делаться только стандартной процедурой
WRITELN.
Единственным символом с ASCII кодом меньше 32, которого можно
использовать, является символ  (ASCII код 12 ($0C)). Но этого делать тоже
не рекомендуется, потому что не каждая программа соображалась бы с ним, если
получит его при чтении с текстого файла.
По отношению клавиатуры и стандартного входного файла относится то же
самое. Если используется стандартная процедура READ (файлом MESSAGE или INPUT,
если не был перенаправленным), часть кодов нажатых клавишей преобразуется, чтобы
прочтенные с текстового файла коды и принятые с клавиатуры коды клавишей могли
быть одинаковыми. Преобразование происходит согласно следующей таблице (даются
сведения о том, используется ли соответствующий код в текстовом файле; те коды,
которые не используются, получают новый код для полноты):
<<  <  GO  >  >>

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