Возвращает текущую дату, установленную в операционной системе
Вид материала | Документы |
- Название документа, 48.48kb.
- В инспекцию фнс россии, 7.54kb.
- Практические рекомендации по работе в операционной системе Windows xp методические, 604.22kb.
- Лекция: Процессы, 210.76kb.
- 2. Лекция: Процессы, 235.64kb.
- Обеспечение учебных дисциплин кафедры по уровням подготовки по всем дисциплинам, 162.08kb.
- Y) Возвращает арктангенс точки (X, Y) (например, atan (-3,3) возвращает 785398). Сhar(num1[,nu, 110.36kb.
- Тернарный условный оператор, 346.2kb.
- Вэтом случае необходимо выполнить установку модема вручную, 181.33kb.
- 1. Задачи лабораторного цикла, 132.63kb.
Функции и процедуры модуля 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 проверяет все операции записи на диск, чтобы гарантировать правильность записи, что замедляет работу с диском. |