DI: TDisk;
begin
CctDiskInfo(Disk,DI) ;
if Dl.TotSecs > $FFFF then
ReadWriteSector(Disk,Sec,Nsec,Buf,3) else
ReadWriteSector(Disk,Sec,Nsec,Buf,1) ;
end; {ReadSectorf ! ===========; end. {Unit F_Disk} /»===»===.»=»;
П5. МОДУЛЬ FJMOUSE ДЛЯ РАБОТЫ С МЫШЬЮ
Описание модуля см. п.4.2.
/_=============; UNIT F_Mouse; {=="=========.==}
^——————————————————————————————+
] В этом модуле собраны процедуры и функции, ¦
¦ обеспечивающие работу устройства ввода ¦
¦ типа мышь I
+————————————————.—————————————+;
INTERFACE
{Следующий тип используется для определения элементов, выбираемых мышью (cis.SetMouseOptlon)} type
MouseItemType = record
X1,Y1,X2,Y2: Integer; {Координаты области) Butt: Word; {Условия вызова} Key : Word {Скан-код клавиши! end;
{Тип MouseHandlerType определяет процедуру обработки событий от мыши} type
MouseHandlerType = Procedure (Mask,Buttons,X,Y,DX,DY: Integer);
{Константы выбора кнопок мыши} const
LeftButton =1; (Левая кнопка)
RightButton =2; {Правая кнопка}
CenterButton =4; {Средняя кнопка}
AnyButton =7; {Любая кнопка} (Коэффициенты пересчета виртуальных координат в текстовые) const
TextRatioX: Byte = 8;
TextRatioY: Byte =8;
^————————————————————————————+
¦ Инициация мыши ¦ +—————————————————————————————+;
Function IsMouse: Boolean;
{Возвращает TRUE, если мышь доступна}
Function InitMouse: Boolean;
(Инициация мыши}
Procedure SetMousePage(Page: Byte);
{Устанавливает страницу для указателя мыши}
Function GetMousePage: Byte;
{Возвращает номер страницы с указателем}
Procedure SetStepToPixel(Hor,Ver: Integer);