Загрузка...

Выбор структур данных


В данной работе используется только одна структура данных (определённая в «mouse.cpp»), испольуемая для работы с «мышью». Общий формат такой структуры выглядит так:

Struct MOSE_STATE

{

char buttons; /* байт состояния / индикации кнопок «мыши» */

int hor_position; /* горизонтальная координата курсора */

int ver_position; /* вертикальная координата курсора */

};

Приведём текст СИ-функции определения текущих координат курсора и числа нажатий кнопки «мыши»:

/* Заполняет структурную переменную по шаблону MOUSE_STATE, на которую указывает current_state, информацией о текущей позиции курсора «мыши». Возвращает число нажатий кнопки. Поле buttons структурной переменной и передаваемая переменная number указывают кнопку, о состоянии которой делается запрос (number==0 – запрос о левой кнопке, number==1 – запрос о правой кнопке). */

#include <dos.h>

Struct MOSE_STATE

{

char buttons; /* байт состояния / индикации кнопок «мыши» */

int hor_position; /* горизонтальная координата курсора */

int ver_position; /* вертикальная координата курсора */

};

int ms_release(struct MOSE_STATE * current_state, int number)

{

struct REGPACK r;

r.r_ax = 6;

r.r_bx = number;

intr(0x33, &r);

current_state -> hor_position = r.r_cx;

current_state -> ver_position = r.r_dx;

return r.r_bx;

}

6. Описание глобальных переменных.

Используются две глобальные переменные типа int класса static:

static int i,j;

Эти две переменные используются для организации циклов как в главном теле программы (функция main), так и в определениях функций, используемых в теле main. А также эти переменные используются для промежуточной пересылки данных во всех функциях.

Загрузка...