Процедуры и функции для работы с файлами
Для распаковки параметра TIME используется процедура:
UNPACKTIME(Time: Longlnt; var T:DateTime).
В модуле DOS.TPU объявлен следующий тип DateTime:
type
DateTime = record
year:Word; {год в формате 19ХХ}
month:Word; {месяц I..12}
day:Word; {день 1..31}
hour:Word; {час 0..23}
min:Word; {минуты 0..59}
sec:Word {секунды 0..59}
end;
Результат обращения к процедуре FINDFIRST можно проконтролировать с помощью функции DOSERROR типа WORD, которая возвращает значения:
- 0 – нет ошибок;
- 2 – не найден каталог;
- 18 – каталог пуст (нет указанных файлов).
Процедура FINDNEXT
Возвращает имя следующего файла в каталоге. Формат обращения:
FINDNEXT (<сл.файл>)
Здесь <сл.фаш> – запись типа SEARCHREC (см. выше), в которой возвращается информация о файле.
Следующая простая программа иллюстрирует способ использования процедур FINDFIRST и FINDNEXT. Программа выводит на экран список всех PAS-файлов текущего каталога:
Uses DOS;
var
S: SearchRec;
begin
FindFirst('*.pas',AnyFile,S);
while DosError = 0 do begin
with S do
WriteLn(Name:12,Size:12);
FindNext(S)
end
end.
Процедура GETFTIME
Возвращает время создания или последнего обновления файла. Формат обращения:
GETFTIME (<ф.п.>, <время>)
Здесь <время> – переменная типа LONGINT, в которой возвращается время в упакованном формате.
Процедура SETFTIME
Устанавливает новую дату создания или обновления файла. Формат обращения:
SETFTIME (<ф.п.>, <время>)
Здесь <время> – время и дата в упакованном формате.
Упаковать запись типа DATETIME в переменную типа LONGINT можно процедурой:
PACKTIME (var T:DateTime; var Time:LongInt).
(Описание типа DA TETIME см. выше).
