program WRITE_END_MARK;
const
FileName = 'file.bin';
EndMark = 'сов. секретно';
var
F : file of byte;
Mark : string [80];
Len : real;
I : integer;
B : byte;
begin
TextColor (LightGray);
TextBackGround (Black);
Mark := EndMark;
Assign (F, FileName);
(*$I-*)
Reset (F);
(*$I+*)
if IoResult <> 0
then
begin
WriteLn ('Не найден файл "' + FileName + '"...');
Halt (-1)
end;
Len := LongFileSize (F);
if 512 - Frac (Len / 512) * 512 < Length (Mark)
then
begin
WriteLn ('***Нет места для записи метки***');
Halt (-1)
end;
LongSeek (F, Len);
for I := 1 to Length (Mark)
do
begin
B := Ord (Mark [I]);
Write (F, B);
end;
LongSeek (F, Len);
Truncate (F);
Close (F);
WriteLn ('***Метка записана***');
Halt (0)
end. (* WRITE_END_MARK *)
Вернуться к статье