Тексты программ __________ -w>
FirstChar :- MinChr;
CharsCount:» MaxChr-MinChr+1;
Data0ffset:= Offs;
FileSize :» FileSize+16+3*CharsCount end;
{Записываем заголовок} With FontHead do begin
B[AFileSize] :° Lo(FileSize) ;
B[AFileSize+l] :-Hi(FileSize) end;
{Готовим файл} {SI-} Rewrite(F,1) ;
($!+} if IQResultoO then begin Alarm;
Exit end;
if not WriteFile(FontHead,SizeOf(FontHead)) then Exit;
{Записываем описатель)
if not WriteFile(FontPara,SizeOf(FontPara)) then Exit;
{Записываем таблицу смещений) PredO := Offs;
for k :» MinChr to MaxChr do begin
W := Offs-PredO;
if LengD(k]<>0 then
inc(0?fs,LengD[k]) else
inc(Offs,LengD[MinChr]) ;
if not WriteFile(W,2) theo
Exit end;
{Записываем таблицу ширин) for k := MinChr to MaxChr do
if not WriteFile(Widths[k],l) then Exit;
{Записываем данные) for k := MinChr •to MaxChr do if LengD[k]<>0 then
if not WriteFile (Chars [It]*, LengD[k]) then
Exit else else
if not WriteFile(Charstk]",LengD[MinChr]) then Exit;
Close(F); (Все в порядке) ChangeF := False Mid; {SaveFont} ^——————.—————;
Procedure Run;
{Основная работа: чтение мыши или клавиатуры и вызов нужных процедур}
•VAX
BM,XM,YM,B,X,Y: Integer;
x0g,y0g,xlg,ylg: Integer; {Координаты резиновой нити} MPF: Boolean; (Флаг резиновой нити}