Пользовательский интерфейс

П2.3. Пользовательский интерфейс

Пользовательские интерфейсы MS-DOS $.0 и 4.0 различаются незначительно. Основные усовершенствования состоят в следующем:

1) построчный текстовый редактор EDLIN заменен полноэкранным редактором EDIT с поль­зовательским интерфейсом, аналогичным интегрированной системе MS Works;

2) вместо системы программирования GWBASIC поставляется усовершенствованный продукт Quick BASIC (QBASIC) с аналогичным пользовательским интерфейсом;

3) усовершенствованы команды ASSIGN, ATTJRIB, СО MP, DIR, DISKCOPY, FIND, FORMAT, GRAPHICS, KEYB, MEM, REPLACE и SYS;

4) введены новые внешние команды DELOLDOS, DOS KEY, EXPAND, LOADFIX, LOADHIGH (уже рассмотрена), MIRROR, SETVER, UNDELETE и UNFORMAT;

5) имеется справочник no командам DOS;

6)усовершенствована утилита установки (теперь она называется SETUP вместо SELECT).

Остановимся несколько подробнее на пп. 3 — 6.

Усовершенствованная команда ASSIGN допускает единственный переключатель /STATUS для отображении веся текущих переназначений приводов. Вместе с ним больше ничего в командной строке специфицировать нельзя.

Команда ATTRIB теперь обеспечивает отображение и изменение всех четырех атрибутов (R, A, S и Н) как у файлов, так и у каталогов. Для установки (сброса) атрибутов S и Н задаются аргументы +S и +Н (—5 и —Н) соответственно. Если Вы обрабатываете каталог, то в начале командной строки укажите переключатель /D. Иначе спецификация dir будет проинтерпретирована как сокращение для dir\*.*.

В команде СО MP вслед за аргументами можно указывать следующие переключатели:

/D                    — отобразить различия в десятичном формате (принимается по умолчанию);

                    — отобразить различия в ASCII-формате,

/L                    — отобразить номера различающихся строк;

/N:n                 — осуществить сравнение только первых п строк в файлах;

                   —при сравнении не принимать во внимание различия в кодировках одноименных прописных и строчных букв.

Если ни один из переключателей /D и /А не задан, то различия отображаются в шестнадцатеричной системе счисления.

Таким образом, усовершенствованная команда СОМР поддерживает как двоичное, так и текстовое сравнение.

Команда DIR в MS-DOS 5,0 обеспечивает отображение сведений о всех файлах и допускает следующие дополнительные (но не обязательные) переключатели:

/А[[:]—·R·A·H·S·D] /О[[:][-]N | E | G | S | D] /S /В /L

Здесь

       — отобразить только файлы (каталоги) с заданными атрибутами, где

R           атрибут R;

А           атрибут А;

Н           атрибут Н;

S           атрибут S;

D           аргумент проинтерпретировать как каталог;

          проинвертировать условие отображения (указывается перед буквой);

       — отсортировать файлы (каталоги):

N           по имени;

Е            по расширению;

G            сгруппировав каталоги в начале списка (иначе они группироваться не будут);

S             по размеру (длине);

D            по дате и времени создания;

          в порядке, обратном лексикографическому (указывается перед буквой);

/S         — обработать подкаталоги;

       — не отображать заголовок и итоговые сведения;

/L         — использовать для отображения строчные буквы вместо прописных.

Если переключатель /А не задан, то отображается список тех из сопоставимых с шаблоном файлов (подкаталогов), которые не имеют атрибутов Н и S. Когда указан переключатель /А без конкретизации требуемых атрибутов, отображается список всех сопоставимых с шаблоном файлов И каталогов — независимо от того, какими атрибутами они обладают.

Если переключатель /О не задан, то содержимое каталога при выдаче не сортируется. Однако когда /О специфицирован, но критерий сортировки не указан, подкаталоги группируются в начале списка, после чего подкаталоги и файлы сортируются по имени независимо друг от друга.

Чтобы не печатать каждый раз на клавиатуре длинную командную строку, определите список умалчиваемых переключателей команды DIR. в качестве значения глобальной переменной IRCMD,

В команде DISKCOPY дополнительно можно специфицировать переключатель /V для проверки правильности копирования информации.

Фильтр FIND воспринимает еще один переключатель — /I, который обеспечивает игнориро­вание различий одноименных прописных и строчных букв.

В команде FORMAT дополнительно допустимы два следующих переключателя.

/Q — осуществить быстрое форматирование (аналогично SFORMAT в режиме QUICK, т.е. без разрушения содержимого области данных и с максимальной скоростью) с резервирова­нием системной области логического диска;

/U   — произвести стандартное, т.е. невосстанавливаемое форматирование диска (по умолчанию не действует).

Если ни один из указанных переключателей не задан, то инициализация диска будет осуществляться в режиме безопасного форматирования (аналогично SFORMAT в режиме Safe), причем с резервированием системной области. Тестирование поверхности будет произведено, но область данных останется не перезаписанной. Для новой дискеты всегда осуществляется стандартное форматирование.

Когда указаны оба переключателя /Q и /U, производится быстрое форматирование, но без резервирования системной области диска.

Восстановить диск после непреднамеренного форматирования можно будет командой UNFORMAT. Заметим, что эта команда, а также команды MIRROR и UNDELETE заимствованы из комплекта PC Tools фирмы Central Point Software и поставляются в составе MS-DOS 5.0 в соответствии с лицензионным соглашением. Аналогичными, если не более богатыми возможностями, обладают утилиты из изученного нами комплекта Norton Utilities.

В команде FORMAT можно специфицировать формат 238 Мбайт, имеющий условное обозначение ED.

Команда GRAPHICS дополнительно воспринимает следующие типы принтеров:

DESKJET                               — принтер HP DeskJet;

HPDEFAULT             — принтер HP с языком PCL;

LASERJET                              — принтер HP LaserJet;

LASERJETII                           принтер HP LaserJet II;

PAINTJET                              — принтер HP QuieUet;

QUIETJETPLUS                    принтер HP QuieUet Plus;

RUGGEDWRTTER                принтер HP RuggedWriter с широкой кареткой;

THINKJET                             — принтер HP ThinkJet.

Команда KEYB допускает два новых переключателя:

                    — указать, что к ПЭВМ подключена усовершенствованная клавиатура;

/ID:n                            — указать, что к ПЭВМ подключена клавиатура с идентификатором п. Этот идентифи­катор задает раскладку клавиатуры, зависящую от соглашений, принятых в той или иной стране. Например, Франции соответствует идентификатор 120 или 189, Италии — 141 или 142, а Великобритании 166 или 168.

Команда MEM воспринимает еще один (но несовместимый с другими) переключатель /CLASS­IFY, или /С, обеспечивающий классификацию программ в стандартной и верхней памяти по их размеру, отображение суммарного объема используемой памяти и размера наибольшего свободного блока стандартной, а также UMB-памяти.

В команда REPLACE можно указать дополнительный переключатель /U, предназначенный для замены (обновления) только тех файлов, которые созданы раньше исходных файлов. Этот переключатель несовместим с переключателем /А.

Команда SYS обеспечивает копирование не только файлов с MP BIOS и БМ DOS, но и с КП.

Теперь кратко рассмотрим новые команды.

Команда DELOLDOS предназначена для удаления с жесткого диска старой версии DOS после установки на него DOS 5.0. Дело в том, что утилита SETUP работает в высшей степени безопасно, переписывая файлы старой версии системы в каталог C:\OLD_DOS.1. Данный каталог вместе с его содержимым удаляется в результате выполнения команды DELOLDOS, которая вводится без каких-либо аргументов и переключателей. Кроме того, эта команда удаляет и файл, ее реализующий, а поэтому она может быть выполнена только один раз.

Команда DOS KEY служит для поддержки стека командных строк, введенных с клавиатуры, чтобы можно было быстро осуществить повторный ввод одной из них, возможно, в видоизме­ненном виде. Дополнительно предоставляется возможность создавать макрокоманды, имена которых обозначают командные строки или их последовательности. Это облегчает Повторное задание длинных командных строк и групп команд благодаря использованию вместо них более коротких синонимов. Формат команды DOSKEY таков:

DOSKEY [/REINSTALL] [/BUFSIZE = n] [/MACROS] [/HISTORY]

[/INSERT | /OVERSTRIKE] [macro = [string]]

Переключатели специфицируют следующее:

/REINSTALL                          — установить новую копию команды DOSKEY с пустым стеком команд и списком макрокоманд. При этом задействуется около 4 Кбайт ОЗУ;

/BUFSIZE=n                           — выделить буфер (стек) для хранения командных строк и макроопределений размером п байт. Минимальным значением является 256, а по умолчанию принимается 512. Переключатель допустим только при первой установке или установке новой копии DOSKEY;

/MACROS                              — отобразить все созданные макрокоманды;

/HISTORY                              — отобразить все хранящиеся в стеке командные строки;

/INSERT                                 — переключить DOSKEY в режим вставки;

/OVERSTRIKE                      — переключить DOSKEY в режим замены.

Установка резидентного обработчика командных строк осуществляется путем выдачи команды без аргументов и переключателей, за исключением разве что переключателя /BUFSIZE, а также /INSERT или /OVERSTRIKE.

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

Отобразить содержимое стека командных строк с их нумерацией можно, просто нажав клавишу F7. Для того чтобы показать командную строку с номером п, достаточно нажать клавишу F9, вслед за чем ввести номер п. Первая строка, запомненная в стеке (т.е. его дно) появится на экране при нажатии клавиши PgUp, а последняя (т.е. вершина стека) — PgDn. Чтобы извлечь из стека требуемую командную строку, напечатайте несколько начальных ее символов и нажмите клавишу F8. На экране появится самая последняя из подходящих командных строк. Для про­должения поиска в глубину стека снова нажмите F8 и т.д. Если Вы хотите очистить стек командных строк, воспользуйтесь комбинацией клавиш AU-F7.

Извлеченную любым из описанных способов или только что напечатанную командную строку можно отредактировать и (снова) послать на выполнение. Редактирование может осуществляться как в режиме вставки, так и в режиме замены (клавиша Ins) с использованием традиционных средств.

Аргумент macro=string описывает новую макрокоманду, где macro — ее имя (последователь­ность символов), a stringкомандная строка, которая обозначается посредством macro. Например, можно задать FE=FORMAT Е:. Тогда при вводе FE будет выполняться команда FORMAT Е:. Для помещения в макроопределение нескольких командных строк разделите их комбинацией символов $Т. В макроопределении можно использовать параметры $1 — $9. Доступ ко всем аргументам макрокоманды осуществляется путем использования в макроопределении комбинации $*. Кроме того, в макроопределениях следует использовать нижеперечисленные комбинации:

$G       — вместо символа >;

SL       — вместо символа <;

       — вместо символа |;

$$        — вместо символа $.

Если Вы хотите удалить определения всех макрокоманд, нажмите комбинацию клавиш AU-F10. Для удаления определения одной макрокоманды выполните команду DOSKEY в форме DOSKEY macro=.

Команда DOSKEY несовместима с оболочкой Norton Commander, т.е. первая практически не действует в среде последней, да это и не требуется.

Команда EXPAND служит для распаковки файлов MS-DOS 5.0 с дистрибутивных носителей информации, если возникнет необходимость обновить некоторые из них на системном диске. Эта команда запускается в следующем формате:

EXPAND file... {file\dir}

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

Команда LOADFIX предназначена для загрузки программы в память так, как будто бы работает DOS более ранней версии, чем 5.0. Если запустить программу обычным образом, то она может быть размещена в нижней памяти с адресами до 64 Кбайт, где в предыдущих версиях системы находилось ядро DOS. Когда программа в таких условиях не работает, то запустите ее с использованием команды LOADFIX в нижеприведенном формате:

LOADFIX process

Это обеспечит ее обычное размещение, а следовательно, и работоспособность.

Команда MIRROR служит, для резервирования системных областей дисков и выполняет функции, аналогичные утилитам Image, Erase Protect, а также Disk'Tools. Она запускается в следующем формате:

MIRROR [d:]... [/1] [/Td[-n]]...

или

MIRROR [/U]

или

MIRROR [/PARTN]

Здесь

Id:                               привод, системная область диска в котором подлежит сохранению;

/1                                 — не сохранять предыдущий слепок системной области диска (иначе он будет сохранен);

/Td                              — загрузить резидентно программу, фиксирующую сведения об удаляемых с диска в приводе d файлах и каталогах (эти сведения записываются на тот же диск в файл PCTRACK.DEL),

n                              — фиксировать в соответствии с переключателем /Т максимум я элементов. Значение, принимаемое по умолчанию, зависит от емкости диска и лежит в диапазоне 25 — 303;

/U                                — выгрузить из памяти программу, установленную по переключателю /Т;

/PARTN                      — сохранить MBR жесткого диска на дискете в файле PARTNSAV.FIL. Целевой привод будет запрошен.

Команда SETVER обеспечивает выдачу, по запросу от зарегистрированных ею же программ, требуемых для их работы версий DOS. Дело в том, что некоторые программы проверяют версию DOS и, если она их не устраивает, прекращают свое функционирование. Данная же команда позволяет «обмануть» такую программу, извещая ее о той версии DOS, которую пользователь предварительно для данной программы зарегистрировал. Поэтому Программа будет работать нормально. Гарантия этого — хорошая совместимость снизу вверх программного интерфейса MS-DOS 5.0 с предыдущими версиями системы.

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

SETVER [dir]                                                 отобразить содержимое таблицы;

SETVER [dir] name.ext п.nп                                     добавить строку в таблицу;

SETVER [dir] name.ext /DELETE [/QUIET]             — удалить строку таблицы, описывающую файл name.ext.

Аргумент dir здесь задает каталог, в котором содержится файл SETVER.EXE. Аргумент п.nп определяет версию DOS, с которой совместима программа в файле name.ext. Переключатель /QUIET требует установить «невидимый» режим работы, т.е. не выдавать никаких сообщений.

Чтобы сформированная таблица использовалась DOS при запуске программ, необходимо командой конфигурирования DEVICE[HIGH] = подключить файл SETVER.EXE как драйвер. После модификации таблицы требуется перезагрузка DOS.

Команда UNDELETE предназначена для восстановления удаленных файлов и является аналогом утилиты UnErase. Формат команды следующий:

UNDELETE [pattern] [/ LIST | /ALL) [/DT|/DOS]

Аргументом pattern задается шаблон подлежащих восстановлению файлов. Если он не задан, то восстанавливаются по возможности все удаленные файлы. Переключатели означают следующее:

/LIST                           — перечислить все файлы, которые можно восстановить;

/ALL                           — восстановить все указанные в командной строке файлы без запроса на подтверждение;

/DT                              при восстановлении использовать только сведения, зафиксированные в файле PCTRACK.DEL;

/DOS                           — при восстановлении использовать только сведения из каталогов.

При отсутствии как /DT, так и /DOS, используется вся доступная для восстановления информация.

Команда UNFORMAT обеспечивает восстановление информации на диске после ошибочного его форматирования, обработки командой RECOVER или разрушения информации по другим причинам. UNFORMAT является аналогом одноименной Norton-утилиты, а также выполняет одну из процедур утилиты Disk Tools, и запускается в виде

UNFORMAT d: [J]

или

UNFORMAT d: [/U] [/L] [/TEST] [/P]

или

UNFORMAT /PARTN [/L]

Здесь

Id:                               — привод, диск в котором требуется восстановить;

/J                                 — проверить, согласуется ли слепок системной области диска, сделанный командой MIRROR, с реальной системной информацией на диске;

/U                                — восстановить без использования слепка системной области;

/L                                — отобразить список всех восстановленных файлов и каталогов или (когда используется с переключателем /PARTN) отобразить текущую таблицу разделов;

/TEST                          — отобразить перечисленные сведения без коррекции содержимого диска;

                                 — послать сообщения на принтер LPT1;

/PARTN                      — восстановить MBR.

Доступ к справочнику по командам DOS осуществляется следующими способами:

1) путем ввода внешней команды HELP, в результате чего будет отображен список всех доступных команд с их назначением;

2) путем ввода внешней команды HELP, за которой следует имя интересующей Вас команды DOS, вследствие чего на экран будет выдан синтаксис этой команды;

3) путем ввода интересующей Вас команды с переключателем / ? для достижения того же эффекта.

Утилита SETUP работает в интерактивном режиме и запускается командной строкой вида

SETUP [/В] [/F] [/U] [/M]

где

                                — переключить утилиту в монохромный режим работы;

                                — установить DOS на дискетах;

/U                                — установить DOS даже тогда, когда обнаружена несовместимость логических дисков с MS-DOS 5.0;,

                               — установить упрощенный вариант DOS.

В заключение отметим, что драйвер SMARTDRV.SYS допускает указание второго аргумента. Этот аргумент задает минимальный размер кэша, за который не удастся переступить никаким программам, способным уменьшать его размер. По умолчанию принимается 0 (т.е. уменьшать можно до нуля). Дополнительный аргумент полезен только при работе в среде Windows 3.0.

Следует также иметь в виду, что все драйверы MS-DOS 5.0 используют расширенную память только по стандарту XMS 2.0, поэтому всегда требуется предварительное подключение драйвера HIMEM.SYS.