- •1. Цель курсовой работы
- •2. Командный процессор ос ms Windows cmd
- •2.1. Оболочка (интерпретатор) командной строки command.Com/cmd.Exe
- •Листинг 1. Процедура инициализации
- •2.3. Структура команд. Параметры и ключи. Вывод справочной информации
- •2.4. Команды
- •2.4.4. Команды Date и Time
- •2.4.7.2. Команда cd
- •2.4.7.3. Команда dir
- •2.4.7.4. Команды mkdir
- •2.4.7.5. Команда del или erase
- •3. Назначение ключей и параметров, описание команд
- •3.1. Команда type
- •Листинг 2. Процедура type
- •3.2. Команда time
- •Листинг 3. Процедура отображения и установки времени
- •3.3. Команда date
- •Листинг 4. Отображение и установка системного времени
- •3.4. Команда mkdir
- •Листинг 5. Процедура mkdir
- •3.5. Команда rd
- •Листинг 6. Процедура rd
- •3.6. Команда cd
- •3.7. Команда attrib
- •Листинг 7. ПроцедураAttrib
- •3.8. Команда cls
- •Листинг 8. Процедура cls
- •3.9. Команда sort
- •Листинг 9. Процедура sort
- •3.10. Команда echo
- •Листинг 10. Процедура echo
- •3.11. Команда del|erase
- •Листинг 11. Процедура del
- •3.12. Команда dir
- •Листинг 12. ПроцедураDir
- •3.13. Команда invertcolor
- •Листинг 13. Процедура invertcolor
- •3.14. Разбиение на лексемы, синтаксический анализ, регулярные выражения
- •Листинг 14. Проверка на соответстиве команд
- •3.15. Процедуры упорядочивания массива (сортировка)
- •3.17. Русификация вывода командного процессора
- •4. Примеры выполнения работы команд
- •4.1. Команда dir
- •4.2. Команда attrib
- •4.3. Команда date и time
- •4.4. Команда type и sort
- •4.5. Команда mkdir, rd, cd
- •4.7. Команда cls и echo
- •4.8. Команда del | erase
- •5. Литература
ВНИМАНИЕ!!! УБЕДИТЕЛЬНО РПОШУ ПРОЯВИТЬ СОЗНАТЕЬНОСТЬ И ПОМЕНЯТЬ НАЗВАНИЯ ПЕРЕМЕННЫХ ПОРЯДОК ОПИСАНИЯ ФФУНКЦИЙ И ВНЕШНИЙ ВИД ОФОРМЛЕНИЯ РАБОТЫ, ЧЕМ СТАРАТЕЛЬНЕЕ ВЫ ЭТО СДЕЛАЕТЕ ТЕМ БОЛЬШЕ ШАНС НА ТО ЧТО ВАМ ВСЕ ЗАЧТУТ С УЧЕТОМ РАБОТОСПООСОБНОСТИ ПРИЛОЖЕНИЯ!!!
ВНИМАНИЕ!!! УБЕДИТЕЛЬНО РПОШУ ПРОЯВИТЬ СОЗНАТЕЬНОСТЬ И ПОМЕНЯТЬ НАЗВАНИЯ ПЕРЕМЕННЫХ ПОРЯДОК ОПИСАНИЯ ФФУНКЦИЙ И ВНЕШНИЙ ВИД ОФОРМЛЕНИЯ РАБОТЫ, ЧЕМ СТАРАТЕЛЬНЕЕ ВЫ ЭТО СДЕЛАЕТЕ ТЕМ БОЛЬШЕ ШАНС НА ТО ЧТО ВАМ ВСЕ ЗАЧТУТ С УЧЕТОМ РАБОТОСПООСОБНОСТИ ПРИЛОЖЕНИЯ!!! 1
1. Цель курсовой работы
Цель данной работы практическое знакомство с интерфейсом командной строки ОС MS Windows путем реализации упрощенной версии оболочки и подмножества команд интерпретатора cmd.exe на языке Pascal и закрепление навыков разработки приложений, полученных в курсе «Программирование на ЯВУ».
Задание:
-Реализовать команду DIR и ключи: [/A:R-S-H-A-D][O:N-D-S-E-G], выполнить вывод итогов на экран;
-Реализовать команду TYPE;
-Реализовать команду ATTRIB и ключи: [/R+-,/H+-,/S+-,/A+-];
-Реализовать команду SORT и ключ /R;
-Реализовать команду DATE и TIME;
-Реализовать команду CLS;
-Реализовать команду INVERTCOLOR - команда по инвертированию цветов экрана;
-Реализовать команду ECHO ON|OFF;
-Реализовать команду DEL|ERASE и ключи:[/P,/F,/S,/Q, /A:R-S-H-A];
-Реализовать команду RD и ключи [/S, /Q];
-Реализовать команду CD;
-Реализовать команду перенаправления вывода >;
-Реализовать команду CD.
2. Командный процессор ос ms Windows cmd
2.1. Оболочка (интерпретатор) командной строки command.Com/cmd.Exe
Во всех версиях ОС Windows поддерживается интерактивная оболочка командной строки (command shell) и определенный набор утилит командной строки (количество и состав этих утилит зависит от версии ОС). Механизм работы оболочек командной строки в разных системах одинаков: в ответ на приглашение ("подсказку", prompt), выдаваемое находящейся в ожидании оболочкой, пользователь вводит некоторую команду (функциональность этой команды может быть реализована либо самой оболочкой, либо определенной внешней утилитой), оболочка выполняет ее, при необходимости выводя на экран какую-либо информацию, после чего снова выводит приглашение и ожидает ввода следующей команды.
Наряду с интерактивным режимом работы оболочки, как правило, поддерживают и пакетный режим, в котором система последовательно выполняет команды, записанные в текстовом файле-сценарии. C точки зрения программирования язык командных файлов Windows может быть охарактеризован следующим образом:
наличие управляющих конструкций;
поддержка нескольких видов циклов (в том числе специальных циклов для обработки текстовых файлов).
2.2 Оболочка (интерпретатор) командной строки
Внешний вид оболочки ничем не отличается от стандартного оформления cmd, функциональные возможности схожи, в некоторых местах заменены мной на более удобные и расширенные возможности. Дальше будет приведена схема линейного алгоритма, на основании которого работает мой интерпретатор:
Рисунок 1. Блок схема общего алгоритма работы интерпретатора
Первым этапом выполняется запуск и создание оболочки интерпретатора, данные и классы для построения находятся в стандартных классах VCL Borland Delphi 7 (см. листинг 1).
Алгоритм работы следующий:
1. Инициализация консоли и ее создание.
2. Инициализация переменных.
3. Вывод приветствия и данных о разработчике (см. рисунок 2).
4. Ожидание ввода.
5. Ищем команду, если она есть и написана правильно то выполняем ее, если нет то возвращаемся на начало работы приложения.
6. Если команда есть то выводим данные реализованные в ходе ее выполнения.
7. Возвращаемся на начало работы приложения.
procedure Init;
begin
ConHandle := GetConOutputHandle;
Coord := GetLargestConsoleWindowSize(ConHandle);
MaxX := Coord.X;
MaxY := Coord.Y;
echo := True;
output := False;
flag := 0;
SetConsoleOutputCP(1251);
invcolor := false;
ffd := TDataModule1.Create(nil);
end;