Вернуться к статье
Листинг 3. Чтение метки за концом файла
program READ_END_MARK;

const
      FileName = 'file.bin';
      MarkLen  = 13;
var
      F    : file of byte;
      Mark : string [80];
      Len  : real;
      I    : integer;
      B    : byte;
begin
      TextColor (LightGray);
      TextBackGround (Black);
      Assign (F, FileName);
(*$I-*)
      Reset (F);
(*$I+*)
      if IoResult <> 0
      then
           begin
                 WriteLn ('Не найден файл "' + FileName + '"...');
                 Halt (-1)
           end;
      Len := LongFileSize (F);
      LongSeek (F, Len + MarkLen);
      Truncate (F);
      Close (F);
      Reset (F);
      LongSeek (F, Len);
      Mark := '';
      for I := 1 to MarkLen
      do
         begin
               Read (F, B);
               Mark := Mark + Chr (B)
         end;
      WriteLn ('Значение метки = "' + Mark + '"');
      Close (F);
      Reset (F);
      LongSeek (F, Len);
      Truncate (F);
      Close (F);
      WriteLn ('***Конец программы***');
      Halt (0)
end. (* READ_END_MARK *)

Вернуться к статье
491