Лекція 18. Модуль DOS

Содержание

Слайд 2

План: Призначення модуля. Системний час і дата. Робота з файлами та

План:

Призначення модуля.
Системний час і дата.
Робота з файлами та сервісні функції DOS.
Обробка

помилок модуля DOS.
Представлення файлів у DOS.
Слайд 3

Рекомендована література: Turbo Pascal 7.0: Пер. с нем. / Винфрид и

Рекомендована література:

Turbo Pascal 7.0: Пер. с нем. / Винфрид и Фолькер

Кассера. – К.: Издательство «ДиаСофт», 2003.
Грызлов В.И., Грызлова Т.П. Турбо Паскаль 7.0. – 4-е изд., испр. – М.: ДМК Пресс, 2005.
Паскаль для персональных компьютеров: Справ. Пособие / Ю.С. Бородич, А.Н. Вальвачев, А.И. Кузьмич. – Мн.: Выш. Шк.: БФ ГИТМП «Ника», 1991.
Паскаль. Программирование на языке высокого уровня: Учебник для вузов / Т.А. Павловская. – СПб: Питер, 2003.
Программирование в среде Turbo Pascal 7.0 / Марченко А.И., Марченко Л.А.: Под ред.: Тарасенко В.П. – 8-е изд. – К.: ВЕК+, СПб: КОРОНА принт, 2004.
Зеленяк О.П. Практикум программирования на Turbo Pascal. Задачи, алгоритмы и решения. – СПб.: ООО «ДиаСофтЮП», 2002.
Слайд 4

Призначення модуля Модуль DOS призначений для реалізації на Паскалі засобів операційної

Призначення модуля

Модуль DOS призначений для реалізації на Паскалі засобів операційної системи

MS DOS, у т.ч. для роботи з файлами.
Процедури і функції модуля DOS можна умовно розбити на наступні групи:
для керування процесами;
для обслуговування переривань;
робота з датою та часом;
робота з файлами;
перевірка стану диску;
сервісні.
Слайд 5

Системний час і дата Процедури для встановлення і зчитування дати та часу:

Системний час і дата

Процедури для встановлення і зчитування дати та часу:

Слайд 6

Робота з файлами та сервісні функції DOS Функція DosVersion : word;

Робота з файлами та сервісні функції DOS

Функція DosVersion : word;
Повертає номер

версії DOS, котра використовується.
Для роботи з файлами у модулі DOS визначені типи:
Type
PathStr = string [79]; {для повного імені файла}
DirStr = string [67]; {для шляху доступу}
NameStr = string [8]; {для імені файла}
ExtStr = string [4]; {для розширення імені файла}
Слайд 7

Робота з файлами та сервісні функції DOS Процедура ESplit (Path:PathStr; Var

Робота з файлами та сервісні функції DOS

Процедура
ESplit (Path:PathStr; Var Dir:DirStr;

Name:NameStr; Ext:ExtStr);
Сканує повне ім'я файлу (специфікацію) і розбиває його на задані логічні компоненти.
Функція FExpand (Path:PathStr) : PathStr;
Розширює задане рядком Path ім'я файлу до повного імені.
Функція FSearch (Path:PathStr; DirList:String) : PathStr;
Здійснює пошук файла, ім'я якого задано в рядку Path, у списку каталогів, визначеному рядком DirList.
Слайд 8

Робота з файлами та сервісні функції DOS Процедура Exec (Path, CmdLine

Робота з файлами та сервісні функції DOS

Процедура Exec (Path, CmdLine :

String);
Запуск виконуваного файла (файла з розширенням СОМ або ЕХЕ) з програми на Паскалі.
Наприклад:
Exec (‘c:\pascal\turbo.exe’, ‘g:\lab10.pas’);
Exec (‘nc.exe’, ‘’);
Слайд 9

Робота з файлами та сервісні функції DOS Функція DiskSize (Drive :

Робота з файлами та сервісні функції DOS

Функція DiskSize (Drive : Byte)

: LongInt;
Визначає об'єм у байтах заданого номером Drive накопичувача. Номер 0 вказує на поточний пристрій,
1 відповідає диску А,
2 – диску В тощо.
Функція DiskFree (Drive : Byte) : LongInt;
Повертає кількість вільного (незайнятого) простору на заданому пристрої.
Слайд 10

Обробка помилок модуля DOS При роботі з даними збільшується ймовірність виникнення

Обробка помилок модуля DOS

При роботі з даними збільшується ймовірність виникнення помилки

через збій або неготовність зовнішнього пристрою. Модуль DOS підтримує змінну DosError : Integer, котра після виконання критичної операції містить код помилки.
Слайд 11

Обробка помилок модуля DOS

Обробка помилок модуля DOS

Слайд 12

Представлення файлів у DOS Представлення файлів у DOS не залежить від

Представлення файлів у DOS

Представлення файлів у DOS не залежить від їх

типу. В області змісту диску кожному набору даних поставлено у відповідність запис довжиною 32 байти. При виконанні команди DIR з поточного пристрою зчитуються дані області змісту і (після перетворення) виводяться на екран.
Формат кожного запису можна представити у вигляді:

0

31

Слайд 13

Представлення файлів у DOS На основі формату запису області змісту диска

Представлення файлів у DOS

На основі формату запису області змісту диска будується

запис:
Type
DirSt = record
Name : NameStr;
Ext : ExtStr;
Attr : byte;
Dop : array [1..9] of byte;
Time : word;
Date : word;
FirstCl : word;
Size : longInt;
end;
Слайд 14

Представлення файлів у DOS Поле атрибута запису:

Представлення файлів у DOS

Поле атрибута запису:

Слайд 15

Представлення файлів у DOS Процедура GetFAttr (Var f; Var Attr :

Представлення файлів у DOS

Процедура GetFAttr (Var f; Var Attr : word);
Повертає

байт атрибута для файлової змінної f.
Процедура SetFAttr (Var f; Attr : word);
Встановлює новий байт атрибута для файла, заданого змінною f.
Процедура GetFTime (Var f; Var Time : longInt);
Повертає дату та час останнього оновлення файла, заданого змінною f.
Процедура SetFTime (Var f; Var Time : longInt);
Призначена для зміни дати і часу створення файла.