русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Использование сторонней библиотеки UKEYB


Дата добавления: 2013-12-23; просмотров: 931; Нарушение авторских прав


Использование таймеров

Таймеры позволяют выполнять указанное действие периодически через равные промежутки времени. Процедуры и функции для управления таймерами содержатся в модуле Timers.

Функция CreateTimer(ms,TimerProc) создает таймер, выполняющий каждые ms миллисекунд действие, содержащееся в процедуре без параметров TimerProc, и возвращает его целочисленный описатель. Созданный таймер сразу же запускается.

Процедура StartTimer(n) запускает таймер с описателем n.

Процедура StopTimer(n) останавливает таймер с описателем n.

Процедура SetTimerInterval(n,ms) устанавливает у таймера с описателем n интервал в ms миллисекунд.

Функция TimerInterval(n) возвращает интервал у таймера с описателем n.

Функция TimerEnabled(n) возвращает True, если таймер запущен, и False в противном случае.

Процедура DestroyTimer(n) разрушает таймер с описателем n.

Для периодического вызова процедуры таймера необходимо после его создания продолжить выполнение приложения. Это можно сделать, подключив модуль Events.

uses Timers,Events; procedure TimerProc1; begin write(1); end; procedure TimerProc2; begin write(2); end; var t1,t2: integer; begin t1:=CreateTimer(200,TimerProc1); t2:=CreateTimer(300,TimerProc2); end.
Пример:

 

 


 

 

Для плавного управления клавиатурой при создании игры недостаточно средств модуля CRT или использования событий клавиатуры. Можно использовать стороннюю библиотеку UKEYB. Она несовместима с CRT, поэтому при её подключении CRT нужно исключить из списка модулей, и все подпрограммы из CRT заменить аналогами из UKEYB.

 

UKEYB содержит такие функции для работы с клавиатурой:

Функция ispressed(key:integer):boolean; проверяет, нажата ли клавиша, заданная параметром.

Функция is_any_key:boolean; проверяет, нажата ли хоть какая-нибудь клавиша.



Функция arrow_dir:byte; проверяет, куда нажаты клавиши-стрелки. (0-не нажаты, 1-8 - от вертикали по часовой стрелке)

При вызове ispressed удобно вместо кода клавиши использовать перечисленные ниже константы:

 

F1_key=112; F2_key=113; F3_key=114; F4_key=115; F5_key=116; F6_key=117; F7_key=118; F8_key=119; F9_key=120; F10_key=121; F11_key=122; F12_key=123; pgup_key=33; pgdn_key=34; caps_key=20; Lctrl_key=162; Rctrl_key=163; Lalt_key=164; Ralt_key=165; Lshift_key=160; Rshift_key=161;
esc_key=27; tab_key=9; space_key=32; enter_key=13; up_key=38; down_key=40; left_key=37; right_key=39; ins_key=45;del_key=46; home_key=36; end_key=35;    
A_key=65; B_key=66; C_key=67; D_key=68; E_key=69; F_key=70; G_key=71; H_key=72; I_key=73; J_key=74; K_key=75; L_key=76; M_key=77; N_key=78; O_key=79; P_key=80; Q_key=81; R_key=82; S_key=83; T_key=84; U_key=85; V_key=86; W_key=87; X_key=88; Y_key=89; Z_key=90;

 

Библиотека UKEYB содержит также средства для работы с мышью:

 

Функция mousebutton возвращает 0, если кнопки мыши не нажаты, 1 – левая, 2 – правая кнопки мыши и 4 – нажато колёсико.

Функция SetMouseCursorOff убирает курсор мыши из окна, а SetMouseCursorOn восстанавливает его.

Функции MouseX и MouseY дают координаты левой верхней точки курсора.

program krugok; uses graphabc,ukeyb; begin randomize; setmousecursoroff; lockdrawing; setbrushcolor(clred); repeat clearwindow(clblack); circle(mousex,mousey,20); redraw; if mousebutton=1 then begin setbrushcolor(random(clwhite)); sleep(50); end; until is_any_key; end.
В качестве примера рассмотрим программу, которая перемещает кружок по движению мыши, а нажатие левой кнопки мыши меняет цвет кружка:


[1] Однако, работы в этом направлении (искусственный интеллект) ведутся.



<== предыдущая лекция | следующая лекция ==>
Событие Переменная | При работе в операционной системе Windows


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.