end;

end;

{Проверяем текущее состояние мыши} GetMouseState(В,X,Y) ;

if (BOBM) or (XOXM) or (YOYM) then if MousePressed and

MouseIn(XE,YE,XE2,YE2) then

case В of {Контролируем кнопки} LeftButton :MouseInNed;

RightButton:MouseInLine;

end

else {Контролируем перемещение} MouseMove;

XM :» X;

YM := Y;

BM := В end end; {Run}

Procedure Done;

begin

SaveFont;

CloseGraph;

end; (Done} _•-————————————;

begin {Главная программа}

Init; {Инициация шрифта и экрана}

Run; {Редактирование или создание символов}

Done (Завершение работы}

end.

П4. МОДУЛЬ FJMSK ДЛЯ РАБОТЫ С ДИСКОМ НА ФИЗИЧЕСКОМ УРОВНЕ

Описание модуля см. п.3.3.

/..-»—=..=»==,===^ OHIT F_Disk; ^=-===~-====-^

{

+—————————————————————————————————————+

I Модуль содержит подпрограммы для гибкой работы с дисками. I I Во всех подпрограммах параметр DISK относится к логическим I I дискам: 0=А, 1=В, 2=С, 3=0 и т.д. Параметр SEC - относи- I I тельный номер сектора: О •s загрузочный сектор, далее по I

секторам до конца дорожки, по головкам, по цилиндрам. 1 +---__--_------_------__-------------------------------------+

;

INTERFACE type

{Информация из ВРВ загрузочного сектора:}

ВРВ_Туре = record

SectSiz : Word; {Количество байт в секторе}

ClustSiz: Byte; {Количество секторов в кластере.

ResSecs : Word; {Количество секторов перед FAT}

FatCnt : Byte; (Количество FAT}

RootSiz : Word; (Количество элементов корневого каталога}

TotSecs : Word; {Количество секторов на диске}

Media : Byte; {Дескриптор носителя}

FatSize : Word {Количество секторов в FAT}

end; {BPB_Type}