Управление вычислительным процессом с помощью вызова внешних программ
Оглавление
Обеспечение интерфейса с командами операционной системы.. 1
Типы прерываний и их обслуживание. 1
Организация работы с каталогами и файлами. 2
Установка даты и времени. 2
Управление вычислительным процессом с помощью вызова внешних программ.. 3
Организация работы в текстовом режиме. 3
Установка текстового режима. 3
Организация окон и вывод на экран. 4
Управление клавиатурой и звуком.. 4
Форматы меню. Алгоритм построения вертикального меню.. 5
Контрольные вопросы.. 7
Комбинированный урок №16
Тема:Стандартные процедуры и функции модулей CRT, System и DOS. Обработка прерываний.
Цель: изучить приемы составления программ с использованием процедур и функций модулей на примерах.
Модуль Dos поддерживает большинство функций операционной системы и некоторые функции обработки файлов. Модуль Crt содержит процедуры и функции… Обработку прерываний, проверку статуса дисков, управление программной средой,…
Прерывание – это некоторый сигнал, который обязывает процессор прервать выполнение текущей программы и переключиться на выполнение другой… Каждому прерыванию соответствует число от 0 до 255. Прерывания могут… – устройства компьютера, отличные от процессора;
Type Registers=Record
1:(AL,AH,BL,BH,CL,CH,DL,DH:byte)
End;
Запись Registers представляет собой набор регистров процессора (поля записи).
End.
ChDir(S:String); – выполняет смену текущего каталога на каталог, который задается с помощью маршрута, указанного в параметре S.
GetDir(D:byte; var S:string); – определяет значение текущего каталога на… MkDir(S:string); – создает подкаталог с маршрутом доступа, заданным строкой S.
Процедура GetDate (Var Year, M, Day, D: word); возвращает текущую дату, установленную в ОС.
Процедура SetDate (Var Year, M, Day, D: word); устанавливает текущую дату в… Параметры принимают следующие значения: Year (год) - от 1980 до 2099, M (месяц) – от 1 до 12, Day (число) - от 1 до…
Например, директива {$M 16384, 0, 655360} устанавливается для программ по умолчанию. Здесь максимальный размер кучи равен всей доступной памяти и… Вызов внешней программы производится с помощью процедуры Exec (Path, CmdLine:… Здесь Path – это путь к исполняемому файлу и его имя, а CmdLine – командная строка, которая передается вызываемой…
Организация работы в текстовом режиме
Текстовый режим используется для вывода символов и характеризуется количеством. Количество символов на экране компьютера по горизонтали и вертикали… Таблица 1.
Имя константы
Значение
Разрешение экрана
… После установки текстового режима началом отсчета координат является верхний угол экрана с координатами (1,1).…
Процедура Window(x1,y1,x2,y2:byte); определяет на экране текстовое окно. Координаты x1, y1 соответствуют верхнему левому углу создаваемого окна, а… После завершения определения нового окна удобно установить цвет фона, цвет… Процедура TextBackGround(colоr:byte);устанавливает цвет фона, который может принимать значения от 0 - Black (черный)…
Некоторые коды клавиш или коды комбинаций клавиш представлены в таблице 2.
Таблица 2.
Код клавиши или комбинации клавиш
Клавиши
… При нажатии большинства клавиш их коды размещаются в буфере клавиатуры, содержание буфера может быть проанализировано.…
Пример 4.
Repeat
…
until Keypressed;
Для работы со звуком в модуле CRT используются две процедуры Sound и NoSound.
Процедура Sound(Sig:word); - обеспечивает доступ к встроенному динамику компьютера и генерирует звуковой сигнал определенного частотного тона в герцах.
Таблица 3. Значения частот музыкальных звуков
Первая октава
| Вторая октава
|
До
| Ре
| Ми
| Фа
| Соль
| Ля
| Си
| До
| Ре
| Ми
| Фа
| Соль
| Ля
| Си
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Большая октава
| Малая октава
|
До
| Ре
| Ми
| Фа
| Соль
| Ля
| Си
| До
| Ре
| Ми
| Фа
| Соль
| Ля
| Си
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для завершения выдачи динамиком звукового сигнала используется процедура NoSound.
При работе со звуком часто используется процедура задержки выполнения программы на определенное число миллисекунд Delay(Msek:word);.
Пример 5. Сгенерируем последовательность звуков, представляющих гамму.
Uses CRT;
Const GAMMA : array[1..8] of integer=(262,294,330,349,392,440,494,524);
Var j:byte;
BEGIN{Проигрываем гамму}
j:=1;
Repeat
Sound(GAMMA[j]); {запускаем звук}
Delay(400); {задержка}
Nosound; {выключаем звук}
if j=8 then begin j:=1; delay(1000); end;
Inc(j)
Until KeyPressed {завершаем цикл при нажатии клавиши }
END.
Основные форматы меню следующие:
¾ список объектов, выбираемых указанием числовых кодов, например,
… ¾ список объектов, выбираемых указанием мнемонических кодов:
Соб
Собственность
…
END.
Контрольные вопросы
1. Дайте определение прерыванию.
2. Характеристика регистров общего назначения (РОН).
3. Назначение модулей CRT, DOS, SYSTEM.
4. Какие процедуры и функции необходимы для работы с каталогами и файлами?
5. Как установить текущую дату и время?
6. Как осуществляется вызов внешних программ?
7. Необходимость текстового режима.
8. Основные процедуры и функции для работы с окнами и экраном, звуком.
9. Опишите форматы горизонтального и вертикального меню