с: 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);