Тексты программ 3St

Msg('Ошибка записи в архивный файл');

Halt end end; {WriteFile} /-._——————————;

Procedure CheckErr(S: String);

{Проверяет статус диска, выводит сообщение S и останавливает счет, если

Dis^Error^True }

begin

if not Disk_Error then Exit;

Msg(S) ;

Halt

end; {CheckErr} /-^——————————/

Function Equal(var A,B; Size: Word): Boolean;

(Сравнивает Size байт из переменных А и В и возвращает TRUE, если они совпадают} var

Х: array [1..65535] of Byte absolute A;

Y: array [1..65535] of Byte absolute B;

Res: Boolean;

k : Word;

begin

k := 1;

repeat

Res X[k]=Y[k];

inc(k)

until not Res or (k>Size);

Equal := Res end; {Equal} {,...—————————}

Function Okay(s: String): Boolean;

{Дает сообщение S, возвращает TRUE,если нажата клавиша Y} var

с: Char;

begin {Okay}

Write(s+' (Y/N,Enter=Y)? ');

repeat

с := UpCase(ReadKey) ;

if KeyPressed then it ReadKey=' ' then;

case с of

#13: с := •Y';

:;

'N' :;

else Write(*7) end;

until (c-'Y') or (c°'N');

WriteLn(c) ;

Okay := c='Y' end; {Okay} ^_——————————/

Procedure ReStartDOS;

(Осуществляет перезапуск DOS! begin asm

mov ax,$FOOO (Сегмент перезапуска) push ax (Помещаем его в стек} mov ax,$FFFO {Смещение}