====== Программирование в X-Window средствами Free Pascal ====== [[index|Перейти к содержанию]] ===== 1.3.3. Лабораторная работа №3 "Работа с внешними устройствами" ===== - Используя функции ''XKeysymToString()'' и ''XKeycodeToKeysym()'', напишите программу, которая реагирует на нажатие клавиш в окне выдачей в него кода символа, состояния модификаторов и символьной расшифровки нажатой клавиши. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image17.gif }} Напишите программу, определяющую координаты мыши в момент нажатия кнопки и печатающую в позицию мышиного курсора координаты мыши и номер нажатой кнопки. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image18.gif }} Модифицируйте предыдущую программу для рисования точек в местах нажатий мыши и при ее движении с нажатой кнопкой. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image19.gif }} Модифицируйте предыдущую программу для рисования отрезков между нажатиями мыши и при ее движении с нажатой кнопкой. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image20.gif }} Создайте программу, отображающую в окне содержимое текстового файла, имя которого задается в командной строке. Для скроллинга текста используйте клавиши Up, Down, Left, Right, PageUp, PageDown, Home, End. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image21.gif }} Составьте программу игры "Пятнашки", выбирая перемещаемую ячейку мышью. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image22.gif }} Составьте программу, которая по нажатию левой клавиши очищает рабочую область, при движении с нажатой левой клавишей рисует точку в позиции указателя мыши, а при отпускании левой клавиши соединяет все точки в рабочей области друг с другом. {{ http://www.sources.ru/pascal/graph/xwinfpc/images/image23.gif }} == Приложение: == Демонстрационные исполняемые файлы: [[http://www.sources.ru/pascal/graph/xwinfpc/lab3.zip|lab3.zip]] Исходный код модулей (x.pp, x11.pp, xlib.pp, xresource.pp, xutil.pp): [[http://www.sources.ru/pascal/graph/xwinfpc/units.zip|units.zip]]