ShowMouse;

while not KeyPressed or not MousePressed do;

while KeyPressed do С := ReadKey;

While MousePressed do;

HideMouse;

PutImagetX^Y^P^NormalPut) ;

ShowMouse;

FreeMem(P,Sz) end; {Alarm} {——————}

Function WriteFile(var Source; S: Word): Boolean;

{Записывает в файл S байт из переменной Source и контролирует результат} var

k: Word;

begin

BlockWrite(F,Source,S,k) ;

WriteFile := S»k;

if Sok then

Alarm end;

/——————;

var

k: Integer;

MinChr,MaxChr: Byte;

W,Offs,PredO: Word;

begin

if not ChangeF then Exit;

{Определяем начальный символ} MinChr := 0;

while (MinChr<255) and (LengD[MinChr]=0) do inc(MinChr) ;

if MinChr=255 then Exit;

(Определяем последний символом} MaxChr := MinChr;

k := MaxChr;

while k<-255 do begin

if LengD[k]<>0 then MaxChr := k;

inc(k) end;

{Корректируем пустые символы к подсчитываем длину загружаемой части} FileSize := 0;

for k := MinChr to MaxChr do if LengD[k]-0 then

begin {Пустой символ) Widths[k] := Widths[MinChr] ;

inc(FileSize,LengD[MinChr]) end else

inc(FileSize,LengD[k]) ;

{Определяем смещение в файле) Offs := 3*(MaxChr-MinChr+l)+16;

(Корректируем описатель шрифта) with FontPara do begin