fff: file;
LOld: Longint;
label
NotBack,NotFag;
begin
LOld := FIleSize(fe); {Запоминаем ffvapya длину файла) if BakFile then begin
n :- copy(NE,l,pos('.',ME))+'BAK';
Assign(fb,n);
l$I-l Rewrite(fb,l) ;
{!+}
if lOResult <> 0 then NotBack:
WriteLn(1Невозможно соэдать резервную копию ',п) else begin
Seek(fe,0) ;
L := LOld;
repeat
s := 65520;
if L < s then s := L;
if MaxAvail < s then s :•= MaxAvail;
GetMemfp, s);
BlockReadtfetp^tStk);
if not CheckRead(NE,s,k) then Exit;
BlockWriteffb.p^tS.k);
if not CheckWrite(n,s,k) then goto NotBaek;
FreeMem(p,s);
dec(L,s) until L=0;
Close(fb) end end;
Seek(fe,0);
BlockWrite(fe,HH,SizeOf(H),k); (Пишем новый заголовок} if CheckWrite(ne,SizeOf(H),k) then begin
Randomize; (Инициируем генератор} HH.Key := Random($FFFF); (Получаем ключ} for k := 1 to 12 do with HH,HH.Head24 do
W[k] :° W[k] xor Key; (Шифруем заголовок} Seek(fe,LS*16); (Смещаем на границу параграфа} (Записываем ключ} BlockWrite(fe,HH,SizeOf(НН),k) ;
it CheckWrite(ne,SizeOf(HH),k) then begin
(Записываем фаг} Bloc]<Write(fe,CFag'',LFag,k) ;
if CheckWrite(ne,LFag,k) then
HriteLn(NE,' защищен') else
goto NotFag end