Программирование в X-Window
средствами Free Pascal
Авторы: А.П. Полищук, С.А. Семериков
[Оформление в HTML: Valery Votintsev]
1. Основы программирования в системе X Window
1.3. Работа с внешними устройствами
1.3.3. Лабораторная работа №3 "Работа с внешними устройствами"
- Используя функции
XKeysymToString() и
XKeycodeToKeysym() ,
напишите программу, которая реагирует на нажатие клавиш в окне выдачей
в него кода символа, состояния модификаторов и символьной расшифровки
нажатой клавиши.

- Напишите программу, определяющую координаты мыши в момент
нажатия кнопки и печатающую в позицию мышиного курсора координаты мыши
и номер нажатой кнопки.

- Модифицируйте предыдущую программу для рисования точек
в местах нажатий мыши и при ее движении с нажатой кнопкой.

- Модифицируйте предыдущую программу для рисования отрезков
между нажатиями мыши и при ее движении с нажатой кнопкой.

- Создайте программу, отображающую в окне содержимое текстового файла,
имя которого задается в командной строке. Для скроллинга текста
используйте клавиши Up, Down, Left, Right, PageUp, PageDown, Home, End.

- Составьте программу игры "Пятнашки", выбирая перемещаемую ячейку мышью.

- Составьте программу, которая по нажатию левой клавиши очищает рабочую
область, при движении с нажатой левой клавишей рисует точку в позиции
указателя мыши, а при отпускании левой клавиши соединяет все точки в
рабочей области друг с другом.

Приложение:
Демонстрационные исполняемые файлы: lab3.zip
Исходный код модулей (x.pp, x11.pp, xlib.pp, xresource.pp, xutil.pp):
units.zip
|