Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Команды ДОС.docx
Скачиваний:
16
Добавлен:
13.11.2019
Размер:
114.14 Кб
Скачать

5.5. Команды управления посимвольными устройствами.

Команда CLS

Назначение: очистка экрана дисплея.

Тип: внутренняя.

Синтаксис:

CLS

Комментарии. При выводе информации на экран его заполнение осуществляется построчно. Когда последняя строка окажется занятой, то содержимое экрана смещается на одну строку вверх, а новая информация отображается в нижней строке. Чтобы полностью освободить экран от ненужной информации и возобновить вывод с его первой (верхней) строки, следует выполнить команду CLS. При этом экран полностью очищается, а в левом верхнем углу появляются приглашение DOS и курсор.

Пример: CLS.

Команда MODE: общие сведения

Назначение: отображение статуса и установка режимов работы посимвольных устройств.

Тип: внешняя.

Комментарии. Команда MODE выполняет следующие функции:

1) Устанавливает и изменяет режимы работы принтеров, подключенных к адаптерам параллельных интерфейсов;

2) Устанавливает и изменяет режим работы дисплея, а также осуществляет переключение между имеющимися в ПЭВМ дисплейными адаптерами;

3) Устанавливает и изменяет режимы работы адаптеров последовательных интерфейсов;

4) Перенаправляет вывод, адресованный подключенному к адаптеру параллельного интерфейса принтеру, в адаптер последовательного интерфейса;

5) Устанавливает и изменяет скорость работы клавиатуры;

6) Отображает статус посимвольных устройств;

7) Подготавливает посимвольные устройства к смене и обеспечивает смену кодовых страниц.

Для задания каждой функции используется свой синтаксис, резко отличающийся от других. Кроме того, семантика от функции к функции также существенно различается. Следовательно, команда MODE по сути объединяет в себе несколько связанных между собой по целевому назначению команд, и поэтому они будут рассматриваться отдельно.

Замечания:

■ необходимые команды MODE можно ввести с клавиатуры, однако целесообразнее задавать их в командных файлах, в частности в AUTOEXEC.BAT.

DOS 4.0. Команда MODE модифицирована как синтаксически, так и семантически. Функции же 5 и 6 являются полностью новыми.

Команда MODE: управление принтером

Назначение: задание режима работы принтера, подключенного к адаптеру параллельного интерфейса.

Синтаксис: MODE LPTn: [c] [,[l][,p]]

Комментарии. В командной строке числа n,c и l обозначают следующее:

n - номер адаптера параллельного интерфейса, к которому подключен принтер (1, 2 или 3);

c - число выводимых символов в строке (80 для обычного и 132 для сжатого шрифта при условии, что принтер узкий; для широкого принтера заданное значение будет автоматически пересчитано);

l - число строк на дюйм (6 или 8).

Умолчания для перечисленных аргументов отсутствуют. Если c и/или l не специфицированы, то действуют ранее установленные режимы.

При задании последнего аргумента (Р) загружается и остается резидентным код, имитирующий ответ пользователя R (от Retry- повторить) на сообщение об ошибке ввода-вывода, связанной с тайм-аутом (неготовностью принтера принять кодовую последовательность). Тайм-аут, в частности, возникает на устройствах, не обеспечивающих автоматическую подачу листов бумаги, при окончании печати очередной страницы. Если аргумент Р в команде не указан, то при возникновении этой ситуации через небольшой интервал времени на экране появится сообщение об ошибке и пользователю каждый раз после заправки очередного листа придется вводить на это сообщение ответ R, что затрудняет его работу. Задание же аргумента Р освободит его от многократного выполнения описанной процедуры. Однако при возникновении настоящей ошибки на принтере необходимо отменить действие аргумента Р. Для этого достаточно нажать комбинацию клавиш Ctrl-Break. Действие аргумента Р отменяется также повторной выдачей команды MODE без его указания.

Замечания:

■ принтер обычно подключается к адаптеру LPT1;

■ синоним PRN в LPT1 в данном контексте не допустим;

■ задание аргументов c и l оказывает воздействие только на IBM-совместимые принтеры;

■ установка режимов работы принтера приводит к невозможности последующего перенаправления вывода, ему адресованного;

■ указанный в команде MODE адаптер становится системным принтерным адаптером (PRN);

■ при отключении питания принтера установленные командой MODE режимы, как правило, сбрасываются.

Пример:

MODE LPT1: 80,8,P – установить для принтера, подключенного к LPT1, режим, при котором печатаются 80 символов в строке, 8 строк на дюйм, а также задать автоматический режим повторения передачи информации в случае неготовности принтера.

DOS 4.0. Синтаксис:

MODE LPTn[:][c][,[l][,r]]

Или

MODE LPTn[COLS=c][LINES=l][RETRY=r]

Две приведенные формы семантически полностью эквивалентны, но вторая обладает большей наглядностью из-за ключевых, а не позиционных параметров. Смысл аргументов c и l не меняется. Аргумент же r обобщает последний аргумент команды MODE для DOS версии 3.3. При задании r в памяти резидентно остается код, перекодирующий ошибку тайм-аута на принтере в соответствии с указанным значением и возвращающий результат в процесс, выводящий информацию на принтер. Реакция на результат перекодировки должна быть указана в этом процессе.

В качестве r можно задать:

E (для Error- ошибка) - возвратить ошибку (принимается по умолчанию);

B (для Busy- занятость) - возвратить сигнал занятости;

R (для Ready- готовность) - возвратить сигнал готовности;

NONE - ничего не предпринимать

Значение В эквивалентно указанию Р в команде для DOS версии 3.3. При работе в сети аргумент r указывать нельзя.

Пример:

MODE LPT1 COLS=80 LINES=8 RETRY=B - то же, что и в предыдущем примере.

Команда MODE: управление дисплеем

Назначение: активизация дисплейного адаптера, задание режима работы дисплея и его адаптера, а также центровка экрана.

Синтаксис:

MODE режим

или

MODE [режим], направление [,Т]

Комментарии. Эта команда позволяет устанавливать один из допустимых текстовых режимов работы видеосистемы. Задание режима косвенно определяет активизацию соответствующего адаптера.

В качестве режима можно задавать 40, 80, BW40, BW80, CO40, CO80 или MONO. Число в этих значениях (40 или 80) определяет количество выводимых в строке символов (40 задает отображение широких символов); BW и CO указывают на необходимость вывода в монохромном (с различными градациями яркости) и цветом режиме соответственно. Все значения, кроме MONO, применимы к адаптерам CGA,(EGA,VGA). MONO специфицирует MDA с неизменяемым числом символов в строке (80).

Если изображение на экране сдвинуто так, что не видно левых или правых символов в каждой строке, то необходимо для центровки экрана выполнить команду MODE во второй форме. При этом в качестве направления можно указать L (для сдвига изображения влево на 2 символа) или R (то же, но вправо). Если дополнительно специфировать Т, то устанавливается диалоговый режим сдвига влево (вправо). В этом случае на экран выводится текстовая строка вида:

0123456789 … 0123456789

и задается вопрос о том, видна ли правая (левая) ее граница. Отвечая на этот вопрос соответствующим образом, можно обеспечить требуемую центровку.

Одновременно с центровкой экрана вторая форма команды MODE позволяет установить также один из допустимых текстовых режимов работф видеосистемы.

Замечания:

■ команда MODE не поддерживает всех текстовых режимов работы EGA и VGA (для них только эмулируются режимы CGA);

■ режим BW используется тогда, когда ПЭВМ оборудована CGA и дешевым монохромным дисплеем. Они также полезны и в других случаях, когда текст на экране невиден. Если установка ни одного из таких режимов эффекта не дала, то можно попробовать нажать клавишу F7.

Примеры:

1) MODE BW80 - установить режим BW80;

2) MODE ,L - сдвинуть экран влево на две колонки.

DOS 4.0. Синтаксис:

MODE режим, n

или

MODE CON[:] [COLS=m] [LINES=n]

или

MODE [режим], направление[,T]

Первые две из приведенных форм задания команды семантически эквивалентны и устанавливают один из текстовых режимов работы видеосистемы, включая все текстовые режимы EGA и VGA. Собственно режим имеет те же значения, что и для DOS 3.3, а n определяет количество строк на экране (25, 43 или 50). Аргумент m специфицирует число символов в строке (40 или 80).

Третья форма команды идентична второй форме для DOS 3.3.

Команда MODE: управление клавиатурой

Назначение: установка скорости работы клавиатуры (только в DOS 4.0).

Синтаксис:

MODE CON[:] DELAY=l RATE=r

Комментарии. Этой командой устанавливается задержка регенерации (по значению l), а также частота регенерации (по значению r) кода удерживаемой в нажатом состоянии клавиши. Величины l и r задаются целыми числами в диапозонах 1 – 4 и 1 – 32 соответственно. Задержка регенерации и частота регенерации принимаются равными обратным значениям l и r (1/l и 1/r) в секундах.

Пример: MODE CON DELAY=1 RATE=1

Команда MODE: отображение статуса устройств.

Назначение: отображение статуса всех или заданного посимвольного устройства (только в DOS 4.0).

Синтаксис: MODE [устройство] [/STA[ TUS]]

Комментарии. Команда MODE без аргумента выводит на экран дисплея статус всех подключенных к ПЭВМ посимвольных устройств. При задании имени устройства выдается статус только указанного устройства. Переключатель /STATUS (сокращенно /STA) необходим лишь при спецификации адаптера параллельного интерфейса, чтобы исключить неоднозначность.

Пример: MODE CON

Команда MODE: поддержка кодовых страниц.

Назначение: подготовка кодовых страниц, а также активизация, отображение и восстановление активной кодовой страницы для посимвольного устройства.

Синтаксис:

MODE устройство CODEPAGE PREPARE=(( cp[,cp]…) file)

или

MODE устройство CODEPAGE SELECT=cp

или

MODE устройство CODEPAGE [/STATUS]

или

MODE устройство CODEPAGE REFRECH

Комментарии. Периферийное оборудование ПЭВМ и сама DOS обеспечивают возможность работы с различными национальными алфавитами. Необходимость рассмотрения вопросов, связанных с настройкой DOS для использования в той или иной стране, диктуется регистрацией кодовой страницы для СССР (потом – СНГ, а теперь – России, Украины и т.д.) и потребностью некоторых пользователей в подготовке текстов на языках, отличных от английского и русского.

Кодовая страница содержит таблицу, являющуюся расширением ASCII. Она ставит в соответствие символам на УВВ определенные двоичные коды. Так, если код n представляет в таблице символ S, то это соответствие должно быть установлено как для устройств ввода (преобразование S в n), так и для устройств вывода (преобразование n в S).

Каждая кодовая страница служит для работы с одним или несколькими национальными алфавитами.

Различают два типа кодовых страниц: аппаратные и составленные. Аппаратной называется кодовая страница, встроенная в устройство. Устройство может иметь одну или несколько таких страниц. Составленная кодовая страница находится в файле, может загружаться в память и определять функционирование ПУ ( правила перекодировки в нем). Работу с такими страницами поддерживают не все устройства УВВ.

DOS содержит следующие файлы с составленными кодовыми страницами для конкретных ПУ:

4201.CPI - для модели 4201 принтера IBM Proprinter и совместимых с ним;

5202.CPI - для модели 5202 принтера IBM Quetwriter III и совместимых с ним;

EGA.CPI - для дисплейного адаптера EGA и совместимых с ним;

LCD.CPI - для жидкокристаллического дисплея ПЭВМ IBM PC Convertible.

В DOS поддерживаются следующие составленные кодовые страницы:

437 - для США (принимается по умолчанию для всех команд, требующих задания кодовой страницы). Именно ее таблица приведена в качестве расширения ASCII.

850 - многоязыковая кодовая страница, включающая наиболее часто встречающиеся буквы многих европейских, северо- и южноамериканских языков;

860 - для Португалии;

863 - для Канады (французский язык);

865 - для Норвегии и Дании;

866 - для России.

Для той или иной страны специфическими являются не только алфавит языка, но и формат даты, формат времени, формат денежной единицы, разделители в числах, а также алфавитный порядок букв. Перечисленные характеристики устанавливаются в DOS с использованием кода страны, применяемого в международной телефонной системе.

Возможность использования национального регистра клавиатуры определяется в DOS не только кодовой страницей и не кодом страны, а двухбуквенным кодом клавиатуры.

При выполнении команд DOS, обеспечивающих поддержку национальных языков, всегда проверяется допустимость сочетания составленной кодовой страницы, кода страны и кода клавиатуры. Все поддерживаемые DOS их комбинации приведены в таблице вместе с соответствующими форматами даты и времени.

Страна или язык Код страны Формат даты Формат времени Номера кодовых страниц Код клавиатуры

Английский (международный), Австралия 061 01-15-2004 5:35:00.00р 437, 850 -

Арабский 785 15/01/2004 5:35:00,00р 437 -

Бельгия 032 15/01/2004 17:35:00,00 437,

850 ВЕ

Великобритания 044 15-01-2004 5:35:00,00р 437,

850 UK

Германия 049 15.01.2004 17.35.00,00 437,

850 GR

Дания 045 15-01-2004 17.35.00,00 865,

850 DK

Израиль 972 15 01 2004 17:35:00,00 437 -

Испания 034 15/01/2004 17:35:00,00 437,

850 SP

Италия 039 15/01/2004 17:35:00,00 437,

850 IT

Канада (французский) 002 15-01-2004 17:35:00,00 863,

850 CF

Латинская америка 003 15/01/2004 17:35:00,00 437,

850 LA

и т.д.

Соответствующими командами DOS не обязательно определять названную триаду полностью.

Для максимально полной настройки оборудования ПЭВМ и DOS на использование в зарегистрированной стране, кроме США, требуется:

1) установить код страны командой конфигурирования системы COUNTRY =;

2) задать активные аппаратные кодовые страницы устройств и выделить буфера для составленных кодовых страниц командами конфигурирования системы DEVICE=;

3) загрузить в память командой NLSFUNC резидентные программные средства национальной поддержки;

4) подготовить (загрузить в память) составленные кодовые страницы для каждого устройства, допускающего переключение кодовых страниц, командой MODE с ключевым словом PREPARE;

5) настроить клавиатуру для поддержки национального алфавита командой KEYB;

6) выбрать из подготовленных кодовых страниц активную командой CHCP (сразу для всех устройств) или командами MODE с ключевым словом SELECT (для каждого устройства в отдельности).

При желании можно ограничиться только пунктом 1 для задания приемлемого формата даты и времени. Пункты 5 и 6 можно поменять местами. Имеется возможность подготовки сразу нескольких кодовых страниц с тем, чтобы затем оперативно осуществлять переключение активности между ними, повторяя пункт 6. Команды COUNTRY= и DEVICE= допустимы только в файле CONFIG.SYS. Остальные в принципе можно ввести с клавиатуры, но обычно их размещают в файле AUTOEXEC.BAT или в другом командном файле.

Незаданные командами DOS элементы триады устанавливаются следующим образом: код страны – 001, код клавиатуры – US, а кодовые страницы – в соответствии с переключателями в устройствах (для дисплея обычно 437).

Часто (например, при отключении питания на устройстве) возникает потребность в восстановлении активной кодовой страницы, что можно осуществить командой MODE с ключевым словом REFRECH.

В команде используются следующие аргументы:

Устройство - имя одного из устройств CON, LPT1 (PRN), LPT2 или LPT3;

cp - номер кодовой страницы;

file - спецификация CPI-файла соответствующего заданному устройству.

Команда в первой форме (PREPARE) обеспечивает подготовку одной или нескольких составленных кодовых страниц для указанного устройства.

Команда во второй форме (SELECT) служит для выбора из подготовленных кодовых страниц единственной, которая становится активной для заданного устройства.

Третья форма команды (/STATUS) обеспечивает выдачу на экран номера активной кодовой страницы для специфицированного устройства. Необязательный переключатель /STATUS при этом абсолютно никакой роли не играет.

И наконец, четвертая форма команды (REFRECH) служит для восстановления (при необходимости) активной кодовой страницы указанного устройства.

Замечания:

■ не следует возлагать слишком большие надежды на средства DOS для национальной поддержки, так как в любом случае сообщения будут выдаваться на английском языке (если DOS не локализована) и использование национального алфавита на уровне DOS (в частности, для именования файлов) не станет возможным;

■ в СНГ для поддержки русского алфавита пока, как правило, используются специально разработанные внешние драйверы, однако уже начали поставляться версии DOS с кодовой страницей для СНГ;

■ видеосистема CGA не предоставляет возможности переключения кодовых страниц (однако кое-что можно сделать командой GRAFTABL).

Примеры:

1) MODE PRN CODEPAGE PREPARE=((863)C:\DOS33\4201.CPI) – подготовить кодовую страницу 863 для принтера IBM Proprinter;

2) MODE CON CODEPAGE PREPARE=((863,850)C:\DOS33\EGA.CPI) - подготовить кодовую страницу 863 и 850 для адаптера EGA;

3) MODE CON CODEPAGE SELECT=863 – активизировать для дисплея кодовую страницу 863.

Можно использовать следующие сокращения:

CP - вместо CODEPAGE

/STA - вместо /STATUS

PREP - вместо PREPARE

SEL - вместо SELECT

REF - вместо REFRECH

Команда NLSFUNC

Назначение: загрузка резидентных средств национальной поддержки.

Тип: внешняя.

Синтаксис: NLSFUNC [file]

Комментарии. Аргумент file указывает файл, содержимым которого следует воспользоваться для учета национальных соглашений. Если он не задан, то отыскивается файл, указанный в команде конфигурирования COUNTRY=. В DOS такую информацию содержит файл COUNTRY.SYS. Поэтому, как правило, специфицируют именно его, однако в принципе возможно использовать и любой другой файл, предназначенный для этой же цели. Если аргумент file не задан COUNTRY= в файле COUNTRY.SYS отсутствует, то национальная специфика использоваться не будет.

Замечания:

■ команда NLSFUNC дополняет команду COUNTRY= и является обязательной, если будут использоваться команды MODE и CHCP для подготовки и выбора кодовых страниц;

■ выполнение команды приводит к увеличению резидентной части DOS.

Пример: NLSFUNC C:\DOS33\COUNTRY.SYS

Команда CHCP

Назначение: отображение номера и выбор (смена) активной кодовой страницы для максимально возможного числа устройств (иными словами – для КП DOS).

Тип: внутренняя.

Синтаксис: CHCP [cp]

Комментарии. Аргумент ср задает номер кодовой страницы, которую предписывается сделать активной. Если указанная кодовая страница не подготовлена командой MODE ни для одного из устройств, то на экране появится сообщение об ошибке, например:

Code page 850 not prepared for system

(Кодовая страница 850 для системы не подготовлена)

Active code page: 437

(Активная кодовая страница: 437)

Prepared system code pages: 437 865

(Подготовленные системные кодовые страницы: 437, 865)

В случае, когда активизируемая кодовая страница не подготовлена для какого-либо устройства (а для других – подготовлена), на экран дисплея выдается сообщение, аналогичное следующему:

Code page 850 not prepared for device CON

(Кодовая страница 850 не подготовлена для устройства CON)

Для других же устройств заданная кодовая страница будет активизирована.

Команда CHCP без аргумента служит для получения информации о подготовленных и активной кодовых страницах для КП DOS (эти сведения не обязательно совпадают с выводом команды вида MODE устройство). В этом случае CHCP выдает сообщение типа:

Active code page: 850

(Активная кодовая страница:850)

Prepared system code pages: 850, 437

(Подготовленные системные кодовые страницы:850,437)

Замечания:

■ перед использованием CHCP должна быть выполнена команда NLSFUNC;

■ любая программа, запущенная после активизации новой кодовой страницы, будет использовать именно ее. Однако все программы, запущенные до этого, будут работать со старой кодовой страницей;

Пример:

CHCP 863 - активизировать кодовую страницу 863 (для Канады, французский язык).

Команда KEYB

Назначение: настройка клавиатуры на национальный алфавит и отображение двухбуквенного кода клавиатуры.

Тип: внешняя.

Синтаксис: KEYB [код [,[cp] [,file]]]

Комментарии. Выполнение этой команды приводит к:

■ загрузке в ОЗУ специального драйвера клавиатуры (по спецификации file);

■ переключению клавиатуры на национальный регистр в соответствии с заданным кодом;

■ установке раскладки клавиатуры (размещения клавиш), принятой в заданной кодом стране;

■ активизации одной из кодовых страниц, допустимых для данной страны (аргумент ср), с тем, чтобы определять кодировку клавиш.

Если номер ср не задан, то активной для клавиатуры становится кодовая страница, принимаемая для каждой страны по умолчанию. В случае отсутствия аргумента file загружается и подключается к системе драйвер клавиатуры из файла KEYBOARD.SYS, содержащегося в корневом каталоге системного диска (конечно, именно этот файл используется в большинстве стандартных случаев). Если он находится в другом каталоге, то аргумент file следует указать.

При отсутствии всех аргументов команда выдает на экран действующий код клавиатуры и номер активизированной кодовой страницы, например:

Current keyboard code: FR code page: 437

(Текущий код клавиатуры: FR, кодовая страница: 437)

Current CON code page: 437

(Текущая кодовая страница для CON: 437)

Возврат к американскому регистру и принятой в США раскладке клавиатуры после выдачи команды KEYB всегда возможен и осуществляется путем нажатия комбинации клавиш Ctrl-Alt-F1. Для восстановления национального регистра клавиатуры следует нажать комбинацию клавиш Ctrl-Alt-F2.

Команда KEYB вырабатывает следующие коды возврата:

0 - успешное завершение;

1 – ошибочный синтаксис;

2 – файл с драйвером клавиатуры ошибочен или отсутствует;

3 – невозможно создать таблицу клавиатуры в резидентной памяти;

4 – ошибка на устройстве CON;

5 - запрашиваемая кодовая страница не подготовлена;

6 - таблица для выбираемой кодовой страницы в резидентной таблице клавиатуры не найдена;

7 - некорректная версия DOS (команда KEYB выдана в среде старой версии DOS).

Замечания:

- команду KEYB целесообразно использовать тогда, когда клавиши клавиатуры ПЭВМ помечены соответствующими символами. Иногда некоторые национальные символы вводятся комбинацией Ctrl-Alt -клавиша или последовательным нажатием двух клавиш;

- команда KEYB может выдаваться многократно без перезагрузки DOS;

- выполнение команды приводит к увеличению резидентной части DOS;

Пример:

KEYB UK,,C:\DOS33\ KEYBOARD.SYS – переключить клавиатуру на английский регистр и установить рас кладку клавиатуры для использования в Великобритании.