Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОАиП_1 / Module2 / УЭ-9

.html
Скачиваний:
17
Добавлен:
25.02.2016
Размер:
13.86 Кб
Скачать

Документ без названия

Модуль Dos       Модуль DOS реализует ряд полезных программ по обслуживанию прерываний, проверке статуса дисков, управлению программной средой, организации работы с каталогами и их элементами.       Рассмотрим основные функции библиотеки Dos: Функции библиотеки Функции и процедуры Организация работы с каталогами и их элементами       ChDir (S: string) – изменяет текущий каталог согласно пути, заданному в S.       GetDir (D: byte; var S: string) – возвращает в переменной S текущий каталог. При D = 0 – текущего диска, D = 1 – диска А, D = 2 – диска В и т.д.       MkDir (S: string) – создает на текущем диске новый каталог (подкаталог) с путем, заданным в S.       RmDir (S: string) – удаляет каталог (подкаталог) в соответствии с путем, заданным в S. При использовании этой процедуры нужно учитывать, что удалять можно только пустой каталог.       Erase (F) – удаляет внешний файл, связанный с файловой переменной F. Файл должен быть закрыт.       Rename (F, NewName: string) – переименовывает внешний файл, связанный с файловой переменной F, присваивая ему новое имя NewName. Дальнейшие операции над F будут означать операции над файлом с новым именем.       GetFAttr (var F; var attr: byte) – возвращает атрибуты внешнего файла, связанного с файловой переменной F, в переменную attr. Признак ошибки выполнения этой процедуры формируется в DosError.       SetFAttr (var F, attr: byte) – устанавливает атрибуты внешнего файла, связанного с файловой переменной F, в соответствии со значением переменной attr. Файл F должен быть закрыт. Признак ошибки выполнения этой функции возвращается в переменной DosError.       FExpand (FileName: PathStr): PathStr – возвращает полное имя файла, т.е. имя файла, дополненное именами текущего диска и каталога. PathStr в разделе интерфейса модуля DOS описан как strihg[79]. Например, если текущий драйвер и каталог определены как C: \SAB\BAK, то FExpand ('A.PAS') = 'C: \SAB\BAK\A.PAS';       FSeach (FileName: PathStr; DirList: string): PathStr – возвращает полное имя файла FileName, которое ищется в списке файлов DirList. DirList задается аналогично переменной Path MS-DOS.       FindFirst (Path: string; attr: byte; var S: SeachRec) – ищет в заданном (или текущем) каталоге первый файл, имеющий заданное имя и атрибуты. В этой функции Path рассматривается как маска для поиска (например, *.* - все файлы и пр.). в переменной attr задается атрибут файла. Результаты поиска возвращаются в запись S, имеющую структуру SeachRec.       FindNext (var S: SeachRec) – находит следующий файл, спецификация которого (S) была получена при обращении к FindFirst. Единственной возможной ошибкой при выполнении данной процедуры является отсутствие файлов (DosError = 18 - больше файлов нет). Получение информации о статусе диска       DiskFree (D: byte): longint – возвращает количество свободных байт на заданном диске. Код драйвера D задается также, как и в процедуре GetDir.       DiskSize (D: byte): longint – возвращает размер диска в байтах. Код драйвера D задается также, как и в процедуре GetDir. Пример 1. Uses     DOS; Begin     Write ('Общий объем текущего диска:', DiskSize (0) div 1024, 'Кбайт');     Writeln ('Свободно:', DiskFree (0) div div 1024, 'Кбайт'); End. Обращение к BIOS и MS-DOS       Intr (IntNo: byte; var Regs: Registers) – выполняет заданное программное прерывание. При этом IntNo – номер программного прерывания.       MsDos (var Regs: Registers) – выполняет вызов функции MS-DOS, номер которой содержится в регистре АН. Результат вызова MS-DOS такой же, как и результат вызова Intr с номером прерывания IntNo - $21. Установка даты и времени       GetDate (var Year, Month, Day, DayOfWeek: word) – возвращает значение года, месяца, дня и дня недели. Если диапазон значений первых трех переменных описан в типе DateTime, то последний реквизит принимает значения от 0 до 6, где 0 соответствует воскресению.       GetTime (var Hour, Minute, Second, Sec100: word) – возвращает текущее время, установленное в MS-DOS. Возвращаемые значения находятся в диапазонах: Hour – 0..23, Minute – 0..59, Second – 0..59, Sec100 – 0..99.       SetDate (Year, Month, Day: word) – устанавливает текущую дату в операционной системе. Если дата задана неверно, то запрос на изменение даты игнорируется.       SetTime (Hour, Minute, Second, Sec100: word) – устанавливает текущее время в операционной системе. Управление вычислительным процессом       Exec (Path, ComLine: string) – выполняет программу с заданной командной строкой ComLine. Имя программы указывается в переменной Path. Для использования Exec необходимо задать максимальный размер динамической области памяти. При вызове с помощью Exec внутренней функции MS-DOS следует вызвать Command.com.Например,Exec ('Commsnd.com', 'C:Dir *.pas') – этот оператор вызовет выполнение команды Dir, т.е. будет выведен список всех файлов на диске С с расширением pas.       Keep (ExitCode: word) – вызывает завершение программы и оставляет ее резидентной в памяти ПЭВМ. Управление программной средой       EnvCount: integer – возвращает число строк окружения MS-DOS, каждая строка имеет вид «переменная = значение». Строки могут быть запрошены функцией EnvStr.       EnvStr (Index: integer): string – возвращает заданную строку окружения MS-DOS «переменная = значение». Индекс первой строки равен 1. если индекс меньше 1 или больше EnvCount, то EnvStr возвращает пустую строку.       GetEnv (EnvVar: string): string – возвращает значение указанной переменной программной среды. Если заданной переменной не существует, то функция возвращает пустую строку. Дополнительные возможности модуля DOS       DosVersion: word – возвращает номер версии MS-DOS. При этом в младшем байте возвращаемого значения содержится номер версии, а в старшем байте – дополнительный номер. Например, при версии MS-DOS 3.30 младший байт возвращаемого функцией значения будет равен 3, а старший – 30.       GetCBreak (var Break: boolean) – возвращает в переменную состояние контроля Ctrl-Break в MS-DOS. Когда установлено «off», то MS-DOS проверяет Ctrl-Break только во время операции ввода-вывода. Когда установлено «on», то проверка осуществляется при каждом системном вызове.       SetCBreak (Break: boolean) – устанавливает состояние проверки Ctrl-Break в MS-DOS.       GetVerify (var Verify: boolean) – возвращает значение флага верификации в MS-DOS. Когда флаг не установлен, запись на диск происходит без предварительного контроля, когда же флаг установлен, запись на диск происходит с проверкой, гарантирующей истинность записи.       SetVerify (Verify: boolean) – устанавливает состояние флага верификации в MS-DOS.

Соседние файлы в папке Module2