Слайд 2
План:
Призначення модуля.
Системний час і дата.
Робота з файлами та
сервісні функції DOS.
Обробка помилок модуля DOS.
Представлення файлів у DOS.
Слайд 3
Рекомендована література:
Turbo Pascal 7.0: Пер. с нем. /
Винфрид и Фолькер Кассера. – К.: Издательство «ДиаСофт», 2003.
Грызлов
В.И., Грызлова Т.П. Турбо Паскаль 7.0. – 4-е изд., испр. – М.: ДМК Пресс, 2005.
Паскаль для персональных компьютеров: Справ. Пособие / Ю.С. Бородич, А.Н. Вальвачев, А.И. Кузьмич. – Мн.: Выш. Шк.: БФ ГИТМП «Ника», 1991.
Паскаль. Программирование на языке высокого уровня: Учебник для вузов / Т.А. Павловская. – СПб: Питер, 2003.
Программирование в среде Turbo Pascal 7.0 / Марченко А.И., Марченко Л.А.: Под ред.: Тарасенко В.П. – 8-е изд. – К.: ВЕК+, СПб: КОРОНА принт, 2004.
Зеленяк О.П. Практикум программирования на Turbo Pascal. Задачи, алгоритмы и решения. – СПб.: ООО «ДиаСофтЮП», 2002.
Слайд 4
Призначення модуля
Модуль DOS призначений для реалізації на Паскалі
засобів операційної системи MS DOS, у т.ч. для роботи
з файлами.
Процедури і функції модуля DOS можна умовно розбити на наступні групи:
для керування процесами;
для обслуговування переривань;
робота з датою та часом;
робота з файлами;
перевірка стану диску;
сервісні.
Слайд 5
Системний час і дата
Процедури для встановлення і зчитування
дати та часу:
Слайд 6
Робота з файлами та сервісні функції DOS
Функція DosVersion
: word;
Повертає номер версії DOS, котра використовується.
Для роботи з
файлами у модулі DOS визначені типи:
Type
PathStr = string [79]; {для повного імені файла}
DirStr = string [67]; {для шляху доступу}
NameStr = string [8]; {для імені файла}
ExtStr = string [4]; {для розширення імені файла}
Слайд 7
Робота з файлами та сервісні функції 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 : String);
Запуск виконуваного файла (файла з розширенням
СОМ або ЕХЕ) з програми на Паскалі.
Наприклад:
Exec (‘c:\pascal\turbo.exe’, ‘g:\lab10.pas’);
Exec (‘nc.exe’, ‘’);
Слайд 9
Робота з файлами та сервісні функції DOS
Функція DiskSize
(Drive : Byte) : LongInt;
Визначає об'єм у байтах заданого
номером Drive накопичувача. Номер 0 вказує на поточний пристрій,
1 відповідає диску А,
2 – диску В тощо.
Функція DiskFree (Drive : Byte) : LongInt;
Повертає кількість вільного (незайнятого) простору на заданому пристрої.
Слайд 10
Обробка помилок модуля DOS
При роботі з даними збільшується
ймовірність виникнення помилки через збій або неготовність зовнішнього пристрою.
Модуль DOS підтримує змінну DosError : Integer, котра після виконання критичної операції містить код помилки.
Слайд 12
Представлення файлів у DOS
Представлення файлів у DOS не
залежить від їх типу. В області змісту диску кожному
набору даних поставлено у відповідність запис довжиною 32 байти. При виконанні команди DIR з поточного пристрою зчитуються дані області змісту і (після перетворення) виводяться на екран.
Формат кожного запису можна представити у вигляді:
0
31
Слайд 13
Представлення файлів у 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
Поле атрибута запису:
Слайд 15
Представлення файлів у 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);
Призначена для зміни дати і часу створення файла.