Тексты программ___ ____ ____ ______________ 395

if FColl'-.CuuntOO then begin k := 0;

repeat

ch := FColl^Atfk) ;

inc (It);

until (ch".Name°=FName) or ()<=FColl^. Count) ;

if eh".Name=FName then

Exit end;

{Подготовить очередную запись:} New(ch) ;

ch'^.Name := FName;

ch^.SizO := FileSize(FF);

sz :° 512; (Длина блока чтения} if c^.Siz0^512 then

sz := ch^-SizO; {Файл меньше 512 байт} FillCharfch^.SecO,512,0) ;

BlockReadfFFyCh^.SecO,S2,nz) ;

Close(FF) ;

if nzosz then

MsgC Ошибка чтения из файла '-(•ch^-NanIS) else if not LowMemory then begin

FColl".Insert(ch) ;

FChange := True end else

k := MessageBox('Исчерпана доступная память', NIL,0) end end; {SetFile} ^-_——__—_——-_——;

Procedure BuildArch;

{Создает архивный файл} var

k,S13,013,h,s: Word;

c: CheckType;

ch^CheckType;

Din: TDisk;

begin

Rewrite(F);

if lOResuit <> 0 then begin

WriteLn('Невозможно открыть/создать файл данных );

Halt end;

{Создаем заголовок файла) with Head do begin

Hd := 'ANTIVIR';

{Подсчитываем КС BIOS} BIOS := 0;

for k := 0 to $FFFF do

BIOS := BIOS+Mem[$FOOO:k] ;

{Определяем вход в Intl3} asm

aov ah,$13

Int $2F

push ds (Сегмент)

push dx {Смещение)