Модуль DOS є програмним інтерфейсом з операційною системою MS-DOS. Він містить засоби доступу до операційної системи і дозволяє здійснювати:
- виклик функцій MS-DOS (ці функції викликаються через переривання, тобто. -стандартні процедури BIOS);
- обробку переривань (процедура Intr;
- роботу з датою і часом (видати, встановити системний час і дату):
процедура SetTime(m, n, s, s100); m-година, n-хв, s-сек, сота частка сек;
процедура GetTime(m, n, s, s100);
процедура GetDate(m, n, d, dm); m-число n-місяць, d-день, dm-день тиж.
процедура SetDate(m, n, d, dm);
обробку файлів;
- контроль за станом накопичувачів:
функція DiskSize - об'єм диску;
функція DiskFree - вільна пам'ять на диску;
- доступ до пам'яті і портів;
- запуск зовнішніх програм
процедура EXEX(<ім'я пр.><параметри>)- запуск зовнішніх програм;
процедура SWAPVECTORS вміст векторів переривань
функція GETENV(<налаштування ОС>)- визначає налаштування ОС;
Приклад №20.2. У процесі виконання програми викликати командний процесор COMMAND.COM і виконати команду DOS (Наприклад, видати вміст папки LR).
Текст програми
PROGRAM demodos;
{Програма викликає COMMAND.COM і виконує команду ДОС}
${M $1024,0,0}{Область стека 1КВ і виключає використання динамічної пам'яті}
uses dos, crt;
var s :string;
Begin
ClrScr;
Write("Введіть команду DOS:");
Readln(s);
s:="/C "+s; {забезпечення повернення в програму}
SwapVectors; {запам'ятовування векторів переривань}
Exec (Getenv("comspec"),s);
{виклик COMMAND.COM з командою "S"}
{GetEnv-виклик COMMAND.COM
СOMSPEC - специфікація файлу, що містить COMMAND.COM
EXEC - виконання команди "S"}
SwapVectors; {відновлення векторів переривань}
Repeat until KeyPressed;
End.
Результат роботи програми:
Введіть команду DOS:dir D:\LP
Тому у пристрої D має позначку WORK
Серійний номер тома: 436C-12FC
Вміст папки D:\LP
. <ПАПКА> 02-11-01 11:50p .
.. <ПАПКА> 02-11-01 11:50p ..
BC <ПАПКА> 02-11-01 11:50p BC
BP_7 <ПАПКА> 02-11-01 11:50p BP_7
TC <ПАПКА> 02-11-01 11:50p TC
0 файлів 0 байт
5 папок 742,719,488 байт вільно