Тексты Программ 303

Name := 'BGI 4-Name+t4+t5+t6+t5+#0;

for k := 1 to Length(Name) do B[k+4] := ord(Name[k]);

AFileSize :" k+12;

Name := #$80#0+FName;

Name[0] := #$1A; {CopyrightEndl Name[7] := #0; {LolfileSise]} Name[8] := #0; {Hl[FileSizeJ} Name[9] :- *1; {VI.) Name[10] :- #0;

Name[11] := #1; (V.I} for k := 0 to 11 do

B[AFileSi2e-7+k] :- ord(Name[k]) ;

end;

{Готовим Блок параметров} with FontPara do begin

ParPrefix :" '+';

CharsCount :=° 0;

FirstChar :» 0;

DataOffset := 16;

FillFlag := 0;

UpperMargin := H;

LowerMargin := HH end;

{Готовим таблицу длин} for k :- 0 to 255 do LengD[k] := 0;

Assign(F,FName) end;

(—————} begin {Init} repeat

Namelnput(FName); {Вводим и контролируем имя файла} it FNameoI' then

ReadData {Читаеи данные из файла/ else

NewFile(FName) {Создаем новый файл} until FNameo'';

BuildScreen {Создаем экран} end; {Init} /————————————^

Procedure SaveFont;

{Сохраняет шрифт в файле} Procedure Alarm;

{Сообщает об ошибке записи} •чах

X2,Y2,X1,Y1: Integer;

Sz: Word;

P: Pointer;

С: Char;

begin

HideMouse;

Colors(White,Red) ;

Window(15,12,65,14) ;

GetWindGraphCoo(Xl,Yl,X2,Y2) ;

Sz := ImageSize(Xl,Yl,X2,Y2) ;

GetImage(Xl,Yl,X2,Y2,PЛ);

SetWindow(15,12,65,14,2,' Нажмите любую клавишу ',True,True,True);

Write('Ошибка доступа к файлу!':37);