end

end; {with chл} inc(k)

end; {while k<FColl".Count) Dispose(P,Done) end; {FreshFiles} I +-—•--------------------------+

I Основная программа AntiVir ¦ +----—----——----------------+

;

var

k: Word;

ch^CheclcType;

begin {AntiVirl

{Проверяем параметры обращения) if not Auto then

Dialog {Диалог с пользователем} else

Stop := False; {He было диалога} if not Stop then

Check; {Контролируем файлы} {Если коллекция изменялась, переписываем еев архивный файл} if FChanga then begin

Seek(F,BegDat) ;

for k := 0 to precKFCol^ .Count) do begin

ch := FColl^Attk) ;

Write(F,ch^) end;

Truncate(F) end;

Close (F) {Закрываем DAT-файл} end. {AntiVir}

П9.2. Программа восстановления структуры ЖД Set$v$.pas

Эта программа восстанавливает структуру ЖД (главный загрузчик и описатели разделов), предварительно спасенную программой AntiVir. t

Uses F Anti,F_Disk;

type

(Описатель раздела ЖД} Part_Type = record

BootF: Byte; {Флаг активности раздела}

BegHd: Byte; {Головка для начала раздела}

BegSC: Word; {сектор/цилиндр}

Sys : Byte; {Код системы}

EndHd: Byte; {Головка для конца раздела/

EndSC: Word; {сектор/цилиндр}

Sees : Longint; {Относительный номерначального сектора}

Size : Longint; {Длина раздела в секторах} end; {Part_Type}

{Структура загрузочного сектора} BootSecType = record

a: array [0..$1BD] of Byte;

Part: array [1..4] of Part_Type;

b: array [1..2] of Byte end;