с: Byte;

S: String;

Sz: Word;

FF: File;

Font: Pointer;

const

Txt: array [1..6] of String [10]=(

•Из таблицы', 'В таблицу', 'Очистить', 'Образец', 'Сохранить', 'Конец');

Items: array [1..6] of MouseItemType=(

(X1:1 ; Y1:1; X2:13; 12:2; Butt: LeftButton; Key 1 ehl 8), (X1:14; Y1:1; X2:25; Y2:2; Butt: LeftButton; Key 2 shi 8), (XI:26; Y1:1; X2:37; Y2:2; Butt: LeEtButton; Key 3 shi 8), (X1:38; Y1:1; X2:49; Y2:2; Butt: LeftButton; Key 4 shi 8), (X1:50; Y1:1; X2:61; Y2:2; Butt: •LeftButton; Key 5 shi 8), (X1:61; Y1:1; X2:80; Y2:2; „Butt: beftButton; Key 6 shi 8));

begin {BuildScreen)

{Переходим в графику}

D := Detect; {Автоопределение драйвера I

InitGraph(D,R,''); (Инициируем графику}

Е :=• GraphResult; {Проверяем результат}

if EoO then

begin {Есть ошибка} WriteLn(GraphErrorMsg(Б));

Halt end;

{Выбираем шрифт а зависимости от разрешения экрана}

case GetMaxY of

199: с := S; {CGA 8х8} 349: с := 14; {EGA 8х14} 479..1024: с := 19; {VGA,SVGA 8х19}

else

с := 8 {Прочие 8х8}

end;

with FontPara do

MaxH := UpperMargin-LowerMargin+1;

{Определяем границы рабочего поля}

DYE = succ(GetMaxY) div (5*MaxH div 4); (Высота клетки}

DXE = succ(GetMaxX) div (2*MaxW); {Ширина клетки}

XE = DXE div 3; (Смещение слева}

YE = 2*с; (Смещение сверху}

ХЕ2 = XE+MaxW*DXE; (Правый нижний угол}

YE2 = YE+MaxH*DYE;

(Определяем размеры указателя мыши в рабочем поле и формируем его маски}

dXm = XE;

dYm = DYE div 3;

(Проверяем наличие мыши}

if not InitMouse then

begin (Нет мыши - завершаем работу} CloseGraph;

WriteLn('Нет мыши - программа не может работать');

Halt end;

(Готовим стандартный указатель}

ShowMouse;

MouseGotoXY(0,0); (В левый верхний угол}

PutCur(CurM); (Получить образ}

HideMouse;

(Указатель-квадратик для рабочего поля}

Rectangle(0,0,2*dXm,2*dXm);