
- •Для специальности
- •230105.51 (2203) Программное обеспечение вычислительной техники и автоматизированных систем
- •Рецензенты: о.В. Фаллер, преподаватель Колледжа МосГу;
- •Содержание
- •7.8. Организация программных комплексов 56
- •7.8. Организация программных комплексов 53
- •Пояснительная записка
- •1. Общие вопросы теории операционных систем
- •1.1. Классификация программного обеспечения
- •1.2. Запуск операционной системы
- •1.3. Координация действий при работе эвм
- •1.4. Понятие файловой системы
- •1.5. Схема отыскания кластеров файла на диске в файловой системе fat16
- •2. Командный язык для управления системой
- •2.1. Особенности командного языка
- •2.2. Организация пакетной обработки информации
- •2.2.1. Формальные параметры командных файлов
- •2.2.2. Дополнительные возможности пакетной обработки. Утилита be
- •3. Конфигурирование ядра ос на примере ms dos
- •3.1. Файл config.Sys
- •3.2. Управление распределением оперативной памяти в реальном режиме работы процессора
- •3.3. Файл автозагрузки autoexec.Bat
- •4. Типы программ
- •5. Системный сервис ms dos
- •6. Организация программных комплексов
- •6.1. Код возврата программы
- •6.2. Программный хвост
- •6.3. Окружение программы
- •6.4. Запуск одной программы из другой
- •6.5. Макрокоманды
- •Пример использования макрокоманды:
- •6.6. Создание процедур и передача параметров
- •6.7. Межсегментный вызов процедур
- •6.8. Модульный принцип построения программ
- •7. Ос Windows. Особенности работы
- •7.1. Работа с файловой системой. Ms Visual Basic ver 6.0
- •7.2. Api Интерфейс Windows на примере Visual Basic ver 6.0
- •7.3. Работа с буфером обмена
- •7.4. Работа со шрифтами
- •7.5. Работа с клавиатурой и мышью
- •7.6. Ole Технология
- •7.7. Работа с мультимедиа
- •7.8. Организация программных комплексов
- •7.9. Sdi и mdi программы
- •8. Разработка справочных систем для Windows 32x
- •8.1. Формат справки WinHelp
- •8.2. Подготовка справочного файла с помощью программы Windows Help Designer
- •8.3. Подключение справочной системы к программе
- •8.4. Разработка справочных систем в формате html
- •8.4.1. Создание тем справочной службы
- •8.4.2. Создание проекта справочной службы
- •8.4.3. Формирование оглавления
- •8.4.4. Задание поисковых индексов
- •8.5. Подключение справочных файлов к программам на Visual Basic
- •9. Общая архитектура операционных систем
- •9.1. Архитектура ос
- •9.2. Ядро и вспомогательные модули ос
- •9.3. Ядро в привилегированном режиме
- •9.4. Многослойная структура ос
- •9.5. Аппаратная зависимость и переносимость ос
- •9.6. Типовые средства аппаратной поддержки ос
- •9.7. Машинно-зависимые компоненты ос
- •9.8. Переносимость операционной системы
- •9.9. Концепция микроядерной архитектуры
- •9.10. Преимущества и недостатки микроядерной архитектуры
- •9.11. Совместимость и множественные прикладные среды
- •9.12. Двоичная совместимость и совместимость исходных текстов
- •9.13. Трансляция библиотек
- •9.14. Способы реализации прикладных программных сред
- •Приложение. Некоторые функции системного сервиса msdos. Прерывание 21h Организация ввода с клавиатуры
- •Организация вывода
- •Файлы и каталоги
- •Запуск одной программы из другой
- •Литература
- •Для специальности
- •230105.51 (2203) Программное обеспечение вычислительной техники
2.2.1. Формальные параметры командных файлов
Для создания универсальных пакетных файлов используется технология формальных и фактических параметров. Формальный параметр принимает фактическое значение из командной строки при вызове командного файла. Обозначается формальный параметр в командах %n, где n изменяется от 1 до 9. Фактические параметры при вызове пакетного файла должны разделяться пробелами:
C:>test.bat input output
При вызове пакетного файла test ему передается два фактических значения input и output.
Для контроля получения фактического значения формальным параметром используется условие условие с%n==с, где с – произвольный символ. Если формальный параметр не получил значения, то замыкающие символы – коды равны.
Примеры.
Пример №1. Проверка наличия файла на диске и просмотр его содержимого:
@echo off
cls
if exist t2.bat goto ok
echo Файл не найден !
pause
goto err
:ok
type t2.bat | more
pause
:err
Пример №2. Циклическое выполнение команды.
@echo off
cls
for %%a in (*.txt *.bat) do copy %%a a:\d
Где %%a формальный параметр, который получает фактическое значение из списка заданного после ключевого слова in.
Пример №3. Контроль формального параметра.
@echo off
cls
rem Проверка наличия параметра и файла
if a%1==a goto nodata
if not exist %1 goto err
rem Просмотр файла
type %1 | more
goto stop
rem Обработка ошибок
:nodata
echo Имя файла не задано !
pause
goto stop
:err
echo Файл не найден !
pause
:stop
2.2.2. Дополнительные возможности пакетной обработки. Утилита be
Чтобы создавать сложные пакетные файлы с возможностью управления вводом – выводом на консоль ПК, используют утилиты BE.EXE фирмы Symantec. Утилиты представляет собой интерпретатор команд. Команды подаются в следующем формате:
Be command [param]
param – параметры команды.
Основные команды:
Изменения цвета экрана консоли. SA f ON b. Где f – цвет переднего плана, b – цвет фона экрана.
Список цветов:
Black, Red, Green, Yellow, Blue, Magenta, Cyan, White. Для усиления яркости переднего плана используется атрибут Bright.
Вывод рамки. BOX x1 y1 x2 y2 [SINGLE | DOUBLE] color. X – строки, Y – столбцы. SINGLE – одинарная рамка, DOUBLE – двойная рамка.
Создание текстового окна. WINDOW x1 y1 x2 y2 f on b [SHADOW EXPLODE]. SHADOW – вывод тени, EXPLODE – раскрытие окна из центра.
Вывод символа заданное число раз. PRINTCHAR symbol rep [color].
Позиционирование курсора на экране. ROWCOL x y [text] [color].
Задержка на заданное время. DELAY t, где t период задержки равный 1/18 c.
Подача звукового сигнала. BEEP keys. Ключи : /Dn – длительность звучания, /Fn – частота звучания в Герцах, /Rn – количество повторений ноты, /Wn – период ожидания между повторениями ноты.
Организация диалога с пользователем. ASK “text”,keys DEFAULT=key TIMEOUT=t. Где keys – список клавиш, key – клавиша по умолчанию, t- период ожидания выбора клавиши по умолчанию в секундах.
Пример.
Командный файл с меню.
@echo off
:loop
cls
rem ----------------------
be sa white on blue
be window 3 3 10 43 bright yellow on blue shadow explode
be rowcol 4 5 Yes
be rowcol 6 5 No
be rowcol 8 5 Continue
be rowcol 12 5
be ask "Select (Y,N,C)",YNC timeout=5 default=y
if errorlevel 3 goto continue
if errorlevel 2 goto no
if errorlevel 1 goto yes
rem ----------------------
:continue
echo Continue !!!
pause > nul
goto loop
:no
echo No !!!
pause > nul
goto stop
:yes
echo Yes !!!
pause > nul
rem -----------------------
:stop
cls
Примечание. Команда ASK возвращает код «ошибки», который соответствует порядковому номеру нажатой клавиши в списке keys. Проверка кодов должна выполняться от старшего кода к младшему.