{Описание структуры ЖД в резервном файле} TStruc = record BHd: Byte;

BSC: Word;

Sec: BootSecType end;

const

tx: array [ 1..5] of String»(

'Эта программа предназначена для восстановления структуры жесткого диска, ',

'испорченной в результате работы программы ANTIVIR', 'и сохраненной в файле VIRDAT.$V$',

'Используйте вызов с указанием маршрута поиска файла VIRDAT.$V$, например' ,

' SET$V$ A:\') ;

var

Name: String;

F: File of TStruc;

LD: array [1..48] of TStruc;

k: Byte;

Err: Boolean;

Count: Byte;

begin

if ParamCountOl then begin

for k := 1 to 5 do WriteLn(tx[k]) ;

Halt end;

Name := ParamStr(l);

for k :•== 1 to Length (Name) do Namefk] := UpCase(Name[k]) ;

k := Pos('VIRDAT',Name);

if k<>0 then

Delete(Name,k,Length(Name)-k) ;

if Name[Length(Name)]о'\' then Name :=> Name+'\';

Name :" Name+'VIRDAT.$V$';

{$!-} Assign(F,Name) ;

Reset(F) ;

l$I+{ if IQResultOO then begin

WriteLn('Нельзя открыть файл ',Name);

Halt;

end;

Count := 0;

Err := False;

while -Ot (Err or EOF(F» do begin

inc(Count) ;

{$!-} Read(F,LD[Count]) ;

{$!+} Err := lOResultOO end;

Close(F) ;

if odd(k) or Err then