Иллюстрированный самоучитель по Turbo Pascal

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

Для распаковки параметра 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 см. выше).

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.