Возвращает текущую дату, установленную в операционной системе

Вид материалаДокументы

Содержание


Procedure GetTime(Var Hour, Minute, Second, Sec100 : Word)
Procedure PackTime(Var T : DateTime; Var Time : Longint)
Procedure SetDate(Year, Month, Day : Word)
Procedure SetFTime(Var F; Time : Longint)
Procedure SetTime(Hour, Minute, Second, Sec100 : Word)
Procedure UnpackTime(Time : Longint; Var DT : TDateTime)
Procedure GetIntVec(IntNo : Byte; Var Vector : Pointer)
Procedure Intr(IntNo : Byte; Var Regs : TRegisters)
Procedure SetIntVec(IntNo : Byte; Vector : Pointer)
Function DiskFree(Drive : Byte) : Longint
Function DiskSize(Drive: Byte): Longint
Function FExpand (Path : PathStr) : PathStr
Замечания:Ищет файл в списке каталогов DirList. Каталоги в DirList должны быть разделены точками с запятой.
Procedure FindFirst(Path : PChar; Attr : Word; Var F : TSearchRec)
Замечания:Ищет в определенном (или текущем) каталоге первое вхождение файла, соответствующего заданному имени и набору атрибутов
Procedure FindNext(Var F : TSearchRec)
Замечания:Ошибки сообщаются в переменной DosError. Единственная возможная ошибка - 18 (нет больше файлов).
Замечания:Файловой переменной F должен быть назначен типизированный, нетипизированный или текстовый файл, который не должен быть
Procedure SetFAttr(Var F; Attr : Word)
Procedure CreateDir(Dir : PChar)
...
Полное содержание
Подобный материал:
Функции и процедуры модуля DOS


Процедуры для работы с датой и временем:

Процедура

Описание

GetDate

Возвращает текущую дату, установленную в операционной системе.

GetFTime

Возвращает дату и время последней записи файла.

GetTiме

Возвращает текущее время, установленное в операционной системе.

РackTiме

Преобразует запись DateTiме в четырехбайтоое упакованное символьное представление даты и времени длинного целого типа, которое используется в процедуре SetTiме. Поля записи DateTiме не проверяются на допустимость границ.

SetDate

Устанавливает для операционной системы текущую дату.

SetFTiме

Устанавливает время и дату последней записи файла.

SetTiме

Устанавливает в операционной системе текущее время.

UnpackTiме

Преобразует четырехбайтовое упакованной символьное представление даты и времени длинного целого типа, возвращаемого процеурами GetFTiме, FindFirst, FindNext в распакованную запись DateTiме.



Процедуры и функции обслуживания прерываний:

Процедура

Описание

GetIntVес

Возвращает адрес, сохраненный в заданном векторе прерываний.

Intr

Выполняет заданное программное прерывание.

МsDos

Выполняет вызов функции DOS.

SetIntVес

Устанавливает по заданному адресу заданный вектор прерывания.



Функции, проверяющие состояние диска:

Процедура

Описание

DiskFrее

Возвращает число свободных байт на диске в заданном дисководе.

DiskSize

Возвращает полный объем в байтах заданного диска.



Процедуры обработки файлов:

Процедура

Описание

FExpand

Воспринимает имя файла и возвращает полное уточненное имя (диск, каталог, расширение).

FSearch

Ищет файл в списке каталогов.

FindFirst

Производит поиск в заданном (или текущем) каталоге записи, содержимое которой совпадает с заданным именем файла и атрибутами.

FindNext

Возвращает следующую запись, имя файла и атрибуты в которой совпадают с теми, которые были заданы при предыдущем обращении к процедуре FindFirst.

GetFAttr

Возвращает атрибуты файла.

SetFAttr

Устанавливает атрибуты файла.



Функции управления операционной средой:

Функция

Описание

EnvCount

Возвращает число строк, содержащихся в операционной среде DOS.

EnvStr

Возвращает заданную строку операционной среды.

GetEnv

Возвращает значение заданной переменной операционной среды.



Процедуры управления процессами:

Процедура

Описание

Eхесutе

Выполняет заданную программу с указанной командной строкой.

Keep

Сохраняет (прекращает выполнение и сохраняет в памяти) прекратившую работу программу, оставляя ее резидентной в памяти.

SwapVectors

Меняет местами содержимое сохраненных векторов прерываний и текущих векторов.



Прочие процедуры и функции:

Процедура/функция

Описание

DosVersion

Возвращает номер версии операционной системы DOS.

GetCBreak

Возвращает проверяемое DOS состояние Ctrl+Break.

SetCBreak

Устанавливает проверяемое DOS состояние Ctrl+Break.

GetVerify

Возвращает состояние флага проверки в DOS.

SetVerify

Устанавливает состояние флага проверки в DOS.




Процедура

Описание

Procedure GetDate(Var Year, Month, Day, DayOfWeek : Word);

Возвращает текущую  дату,  установленную  в операционной системе.

Замечания:
Диапазоны возвращаемых значений:
Year 1980..2099
Month 1..12
Day 1..31
DayOfWeek 0..6 (0 - воскресенье, 1 - понедельник...)


Procedure GetFTime(Var F; Var Time : Longint);

Возвращает дату  и  время  последней записи файла.

Замечания:
Файловой переменной F должен быть назначен типизированный, нетипизированный или текстовый файл, который должен быть открыт. Время, полученной в переменной Time может быть распаковано с помощью процедуры UnpackTime.


Procedure GetTime(Var Hour, Minute, Second, Sec100 : Word);

Возвращает текущее время,  установленное  в операционной системе.

Замечания:
Диапазоны возвращаемых значений:
Hour 0 .. 23 (часы)
Minute 0 .. 59 (минуты)
Second 0 .. 59 (секунды)
Sec100 0 .. 99 (сотые доли секунды)


Procedure PackTime(Var T : DateTime; Var Time : Longint);

Преобразует запись DateTiме в четырехбайтовое  упакованное  символьное  представление даты и времени длинного целого типа,  которое используется в процедуре  SetTiме.

Замечания:
Преобразовывает запись типа DateTime в 4-байтовое число типа LongInt, в котором хранятся дата и время. Это число используется процедурами SetFTime и GetFTime. Поля в записи DateTime не проверяются на принадлежность допустимому диапазону значений.


Procedure SetDate(Year, Month, Day : Word);

Устанавливает для операционной системы  текущую дату.

Замечания:
Допустимые диапазоны параметров:
Year = 1980 .. 2099
Month = 1 .. 12
Day = 1 .. 31
Если дата недопустима, запрос игнорируется.


Procedure SetFTime(Var F; Time : Longint);

Устанавливает время и дату последней записи файла.

Замечания:
Коды ошибок передаются в переменную DosError. Единственный возможный код ошибки - 6 (Недопустимый дескриптор файла).
Ограничения:
Переменной F должно быть назначено имя и файл должен быть открыт.


Procedure SetTime(Hour, Minute, Second, Sec100 : Word);

Устанавливает в операционной системе  текущее время.

Замечания:
Допустимые диапазоны параметров:
Hour 0 .. 23, (Часы)
Minute 0 .. 59, (Минуты)
Second 0 .. 59, (Секунды)
Sec100 0 .. 99. (Сотые доли секунды)
Если время не допустимо, запрос игнорируется.


Procedure UnpackTime(Time : Longint; Var DT : TDateTime);

Преобразует четырехбайтовое     упакованной символьное  представление  даты  и  времени длинного целого типа,  возвращаемого процедурами GetFTiме, FindFirst, FindNext в распакованную запись DateTiме.

Замечания:
Преобразовывает упакованное значение LongInt, содержащее дату и время, возвращенное процедурами GetFTime, FindFirst или FindNext в неупакованную запись типа DateTime.


Процедуры обслуживания прерываний модуля WinDos

Процедура

Описание

Procedure GetIntVec(IntNo : Byte; Var Vector : Pointer);

Возвращает адрес,  сохраненный  в  заданном векторе прерываний

Замечания:
Параметр IntNo определяет номер вектора прерывания (0..255), А его адрес возвращается в переменной Vector.


Procedure Intr(IntNo : Byte; Var Regs : TRegisters);

Выполняет заданное  программное прерывание

Замечания:
IntNo - номер программного прерывания (0 .. 255). Registers - запись, определенная в модуле DOS; TRegisters - запись, определенная в модуле WinDos. Смотри описание типа Registers и описание типа TRegisters. Перед выполнением заданного программного прерывания, Intr загружает регистры ЦП 8086 : AX, BX, CX, DX, BP, SI, DI, DS и ES из записи Regs. После завершения прерывания, содержание регистров AX, BX, CX, DX, BP, SI, DI, DS, ES и Flags сохраняется обратно в запись Regs. Чтобы избежать появления ошибки защиты при выполнении программ в стандартном режиме Windows или расширенном режиме Windows 386, всегда инициализируйте регистры DS и ES в записи TRegisters с допустимыми селекторными значениями или просто обнулите данные поля записи.

Ограничения:
Не используйте программные прерывания, которые:
- Зависят от значений регитров SP или SS при входе.
- Изменяют значения регистров SP или SS при выходе.
В Turbo Pascal версии 3.0, тип переменной Regs был определяемым пользователем. В версиях 5.0 и старше, переменная Regs должна иметь тип Registers, определенный в модуле Dos.


Procedure MsDos(Var Regs : TRegisters);

Выполняет вызов функции DOS.

Замечания:
Обращение к MsDos - то же самое, что и обращение к процедуре Intr с параметром IntNo равным $21. Тип параметра Regs - это запись, определенная в модуле DOS. Используйте TRegisters, если вы пишете программу для среды Windows.
Ограничения:
Не используйте программные прерывания, которые:
- Зависят от значений регистров SP или SS при входе.
- Изменяют регистры SP или SS при выходе.


Procedure SetIntVec(IntNo : Byte; Vector : Pointer);

Устанавливает по  заданному адресу заданный вектор прерывания.

Замечания:
IntNo определяет номер вектора прерываний (0 .. 255) и Vector определяет адрес. Vector обычно создается с помощью оператора @ для указания адреса процедуры обработки прерывания. Пусть Int1BSave - переменная указательного типа и Int1BHandler - идентификатор процедуры обработки прерывания, тогда первая последовательность операторов устанавливает новый обработчик прерывания, а вторая восстанавливает первоначальный обработчик:
GetIntVec ($1B, Int1BSave);
SetIntVec ($1B, @Int1BHandler);.
SetIntVec ($1B, Int1BSave);
Ограничения:
В защищенном режиме DOS, в стандартном или расширенном режимах Windows, SetIntVec устанавливает вектор прерывания защищенного режима с заданным номером вектора прерываний. SetIntVec не может использоваться для изменения векторов прерываний реального режима или векторов исключений в защищенном режиме.
                       

Функции модуля WinDos, проверяющие состояние диска

Фуннкция

Описание

Function DiskFree(Drive : Byte) : Longint;

Возвращает число  свободных байт на диске в заданном дисководе.

Замечания:
Параметр Drive:
0 - Текущий диск
1 - Диск A
2 - Диск B
3 - Диск C

И так далее...

Если номер дисковода недопустим, то возвращается значение равное -1.


Function DiskSize(Drive: Byte): Longint;

Возвращает полный объем в  байтах заданного диска.

Замечания:
Параметр Drive:
0 - Текущий диск
1 - Диск A
2 - Диск B
3 - Диск C

И так далее...

Если номер дисковода недопустим, то возвращается значение равное -1.


Процедуры работы с файлами модуля WinDos

Процедура

Описание

Function FExpand (Path : PathStr) : PathStr;

Воспринимает имя файла и  возвращает полное уточненное имя (диск, каталог, расширение).

Замечания:
Тип PathStr определен в модуле Dos.


Function FileSearch(Dest, Name, DirList : PChar) : PChar;

Ищет файл в списке каталогов.

Замечания:
Ищет файл в списке каталогов DirList. Каталоги в DirList должны быть разделены точками с запятой.


Function FileSplit(Path, Dir, Name, Ext : PChar) : Word

Разбивает полное имя файла на три компонента (диск, каталог, имя и расширение.

Замечания:
Разбивает имя файла, определенное в переменной Path на три компонента:
- Параметр Dir равняется пути к файлу, включая диск и каталоги с
любыми начальными и конечными левыми наклонными чертами
- Параметр Name равняется имени файла
- Параметр Ext раняется расширению файла с предшествующей точкой
Если строковый параметр компонента равен NIL, то соответствующая часть пути не сохраняется. Если путь не содержит данный компонент, то полученная строка компонента будет пустой. Максимальные длины строк, возвращенных в параметрах Dir, Name и Ext определяются константами fsDirectory, fsFileName и fsExtension. Возвращаемое значение - комбинация констант fcDirectory, fcFileName и fcExtension, указывающая на то, какие компоненты были представлены в пути. Если имя или расширение содержит любые символы масок (* или ?), то в возвращаемом значении устанавливается флаг fcWildcards.


Procedure FindFirst(Path : PChar; Attr : Word; Var F : TSearchRec);

Производит поиск в заданном  (или  текущем) каталоге записи,  содержимое которой совпадает с заданным именем файла  и атрибутами

Замечания:
Ищет в определенном (или текущем) каталоге первое вхождение файла, соответствующего заданному имени и набору атрибутов.


Procedure FindNext(Var F : TSearchRec);

Возвращает следующую запись,  имя  файла  и¦атрибуты в которой совпадают с теми,  которые были заданы при предыдущем  обращении к процедуре FindFirst.

Замечания:
Ошибки сообщаются в переменной DosError. Единственная возможная ошибка - 18 (нет больше файлов).
                     

Procedure GetFAttr(Var F; Var Attr : Word);

Возвращает атрибуты файла.

Замечания:
Файловой переменной F должен быть назначен типизированный, нетипизированный или текстовый файл, который не должен быть открыт.


Procedure SetFAttr(Var F; Attr : Word);

Устанавливает атрибуты файла.

Замечания:
Коды ошибок помещаются в переменную DosError.
Возможные коды ошибок:
- 3 (Недопустимый путь)
- 5 (Доступ к файлу закрыт)
Ограничения:
Файл не может быть открыт.


Процедуры  и функции для работы с каталогами

Процедура/функция

Описание

Procedure CreateDir(Dir : PChar)

Создает новый подкаталог.

Замечания:
Выполняет те же функции, что и MkDir, но использует строку стиля Pascal, а не строку с завершающим нулем.


Function GetCurDir(Dir : PChar; Drive : Byte) : PChar;

Возвращает текущий каталог на заданном диске.

Замечания:
Параметр Drive:
0 - Текущий диск
1 - Диск A
2 - Диск B
3 - Диск C
И так далее...


Procedure Remove(Dir : PChar);

Удаляет подкаталог.

Замечания:
Удаляет каталог с путем, указанным в Dir. Ошибки типа несуществующего или непустого подкаталога, сохраняются в переменной DosError.


Procedure SetCurDir(Dir : PChar)

Изменяет текущий каталог.

Замечания:
Если в Dir содержится и буква дисковода, то текущий дисковод тоже будет изменен.


Процедуры и функции обслуживания прерываний модуля WinDos

Процедура

Описание

Function GetArgCount : Integer

Возвращает   число  параметров,  переданных программе в командной строке

Function GetArgStr(Dest : PChar; Index : Integer; MaxLen : Word) : PChar;

Возвращает   заданный   аргумент  командной строки.

Замечания:
Параметр: Возвращаемое значение:
Index < 0 или > GetArgCount Пустая строка
Index = 0 Имя файла текущего модуля,
Значение параметра возвращается в Dest


Function GetEnvVar(VarName : PChar) : PChar;

Возвращает указатель на  значение  заданной переменной операционной среды.

Возвращаемое значение:
NIL, если заданная переменная среды не существует.


                        Прочие процедуры и функции модуля WinDos

Процедура/функция

Описание

Function DosVersion : Word;

Возвращает номер версии операционной системы DOS.

Замечания:
Младший байт результата - номер версии, а старший байт - номер подверсии.


Procedure GetCBreak(Var Break : Boolean);

Возвращает проверяемое    DOS     состояние Ctrl+Break.    

Замечания:
Если Break = False, то DOS проверяет Ctrl+Break только в течение операций ввода/вывода на консоль, принтер или устройства связи. А если Break = True, то проверка осуществляется при каждом системном вызове.
                          

Procedure SetCBreak(Break : Boolean);

Устанавливает проверяемое   DOS   состояние Ctrl+Break.

Замечания:
SetCBreak устанавливает состояние проверки на Ctrl+Break в DOS. Когда SetCBreak = False, DOS проверяет Ctrl+Break только в течение операций ввода/вывода на консоль, принтер или устройства связи. Когда SetCBreak = True, проверка осуществляется при каждом системном вызове.


Procedure SetVerify(Verify : Boolean);

Устанавливает состояние  флага  проверки  в DOS.

Замечания:
Procedure SetVerify устанавливает состояние флага проверки в DOS. Если Verify = False, то запись на диск не проверяется. Если же Verify = True, то DOS проверяет все операции записи на диск, чтобы гарантировать правильность записи, что замедляет работу с диском.