Модуль 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 байт свободно