uses crt, graph, mouse;
Var x, y: integer;
strx, stry: string;
oldx, oldy: integer;
rec: locrec;
gDriver, gMode: integer;
Begin
gDriver:=Detect;
gMode:=0;
InitGraph(gDriver,
gMode,'C:\BP7\BGI');
mshow;
mcolrange(40,GetMaxX-40);
mrowrange(40,GetMaxY-40);
line(40,40,GetMaxX-40,40);
line(40,40,40,GetMaxY-40);
line(40,GetMaxY-40,GetMaxX- 40,GetMaxY-40);
line(GetMaxX-40,40,GetMaxX- 40,GetMaxY-40);
mpos(rec);
oldx:=rec.column;
oldy:=rec.row;
mmoveto(40,40);
repeat
mpos(rec);
x:=rec.column;
y:=rec.row;
if ((x<>oldx)OR(y<>oldy)) then
begin
SetColor(BLACK);
OutTextXY(2, 2, ' ');
OutTextXY(2, 14,' ');
SetColor(LIGHTGRAY);
Str(x, strx); Str(y, stry);
OutTextXY(2, 2, 'x='+strx);
OutTextXY(2, 14, 'y='+stry);
end;
oldx:=x; oldy:=y;
until keypressed;
CloseGraph;
End.
| {подключает необходимые
модули}
{объявляем необходимые
переменные}
{инициализация графического режима}
{показываем курсор мыши}
{устанавливаем минимальные и
максимальные границы движения
курсора мыши}
{рисуем зону движения курсора мыши}
{данные, возвращаемые в
структуре rec, будут сообщать
текущее состояние мыши}
{присваиваем переменным oldx и oldy значения координат текущего
состояния мыши}
{перемещаем курсор мыши в
заданные координаты}
{программа будет выполнять действия этого цикла, пока мы не нажмем клавишу}
{сравним «старые» и «новые» координаты мыши, если положение мыши изменилось, то выполним следующие действия}
{очищаем две строки, где выводится x и y, для этого необходимо между апострофами поставить спец. символ из ASCII с кодом 219 (удерживая клавишу «ALT», наберите код и отпустите клавишу)}
{преобразуем целочисленные значения x и y в строки strx и stry и выводим координаты положения мыши на экран}
{закрываем графический режим}
|