16.6. Модуль WinDos
Модуль WinDos позволяет использовать возможности операционной системы DOS, не предусмотренные в стандарте языка Паскаль, и дополнительно предусматривает использование ASCIIZ-строк (см. п. 6.3). Этот модуль следует использовать вместо модуля Dos, когда в программе используются строки, завершающиеся нулями или когда предполагается в дальнейшем использовать разрабатываемую программу в среде Windows.
Таблица 37. Стандартные типы модуля WinDos
Имя Определение Назначение
Регистровый тип (для процедур Intr и MsDos)
TRegisters record
case Integer of
0: (AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags: Word);
1: (AL,AH,BL,BH,CL,CH,DL,DH: Byte)
end;
Файловые типы
TFileRec record Файл с заданным типом или без типа
Handle : Word;
Mode : Word;
RecSize : Word;
Private : array[1..26]
of Byte;
UserData: array[1..16]
of Byte;
Name : array[0..79]
of Char
end;
PTextBuf ^TTextBuf;
TTextBuf array[0..127] of Char; Буфер текстового файла
TextRec record Текстовый файл
Handle : Word;
Mode : Word;
BufSize : Word;
Private : Word;
BufPos : Word;
BufEnd : Word;
BufPtr : ^TextBuf;
OpenFunc : Pointer;
InOutFunc: Pointer;
FlushFunc: Pointer;
CloseFunc: Pointer;
UserData : array[l..16]
of Byte;
Name : array[0..79]
of Char;
Buffer : TTextBuf
end;
Тип характеристик файла для процедур FindFirst и FindNext
TSearchRec record
Fill: array[l..21]
of Byte;
Attr: Byte;
Time: Longint;
Size: Longint;
Name: array[0..12]
of Char
end;
Типы текущего времени
TDateTime record
Year,Month,Day,
Hour,Min,Sec: Word
end;
Поля записей указанных типов имеют тот же смысл, что и аналогичные поля соответствующих типов модуля Dos (см. табл. 38)
Таблица 38. Константы модуля WinDos
Имя |
Значение |
Назначение |
FCarry
FParity
FAuxiliary
FZero
FSign
FOverflow
fmClosed
fmlnput
fmOutput
fmlnOut
faReadOnly
faHidden
faSysFile
faVolumelD
faDirectory
faArchive
faAnyFUe
fsPathName
fsDirectory
fsFileName
fsExtension
fcExtension
fcFileName
fcDirectory
fcWildcards |
$0001
$0004
$0010
$0040
$0080
$0800
$D7B0
$D7B1
$D7B2
$D7B3
$01
$02
$04
$08
$10
$20
$3F
79
67
8
4
$0001
$0002
$0004
$0008 |
Маски для выделения битов
в регистре флагов процессора
Коды состояния файлов
Коды атрибутов файлов
Длина компонент имени файла
Флаги компонент имени файла
|
Таблица 39. Переменные модуля WinDos
Имя Тип Назначение
DosError Integer Код ошибки
Значения переменной DosError указаны в п. 16.5.
Таблица 40. Процедуры и функции модуля WinDos
Имя |
Назначение |
Процедуры управления вычислительным процессом |
GetlntVec
Intr
MsDos
SetlntVec |
Получение адреса программы обработки прерывания
Выполнение программного прерывания
Выполнение функции DOS
Установка адреса программы обработки прерывания |
Функции управления вычислительным процессом |
GetArgCount
GetArgStr
GetEnvVar |
Получение числа параметров командной строки
Получение параметра командной строки
Получение значения указанной переменной среды DOS |
Процедуры работы с каталогами |
CreateDir
RemoveDir
SetCurDir |
Создание нового каталога
Удаление пустого каталога
Изменение текущего каталога |
Функции работы с каталогами |
GetCurDir |
Получение текущего каталога |
Процедуры работы с файлами |
FindFirst
FindNext
GetFAttr
SetFAttr |
Поиск первого файла с заданными атрибутами в текущем или заданном каталоге
Поиск следующего файла с заданными атрибутами в текущем или заданном каталоге
Получение атрибутов файла
Задание атрибутов файла |
Функции работы с файлами и диском |
DiskFree
DiskSize
FileExpand
FileSearch
FileSplit |
Получение числа свободных байтов на диске
Получение общего объема памяти диска
Расширение имени файла до полного
Поиск файла в списке каталогов
Разбиение имени файла на три части |
Процедуры работы с датой и временем |
GetDate
GetFTime
GetTime
PackTime
SetDate
SetFTime
SetTime
UnpackTime |
Получение текущей даты, установленной в DOS
Получение даты и времени последнего обновления файла
Получение текущего времени, установленного в DOS
Упаковка переменной типа DateTime в число типа Longint
Установка текущей даты в DOS
Установка даты и времени создания файла
Установка текущего времени в DOS
Преобразование упакованных даты и времени в распакованную величину типа DateTime |
Процедуры разнообразного назначения |
GetCBreak
GetVerify
SetCBreak
SetVerify |
Проверка способа работы с комбинацией Ctrl+Break
Анализ состояния флага проверки операций записи на диск в DOS
Установка способа работы с комбинацией Ctrl+Break в DOS
Установка состояния флага проверки операций записи на диск в DOS |
Функции разнообразного назначения |
Dos Version |
Получение номера версии DOS |
Далее приведены в алфавитном порядке процедуры, а затем функции модуля, причем, если какая-либо подпрограмма модуля эквивалентна соответствующей подпрограмме модуля Dos, дается соответствующая ссылка на эту подпрограмму.
|