{Описание структуры ЖД в резервном файле} 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