Використання звуку.
Можна використовувати вбудовані динаміки для подачі звукових сигналів.
Включення звуку виконується за допомогою процедури
SOUND (<частота в ГЦ>);
Нормальні значення частоти від 32 гц до 8 кгц.
Звучання не закінчиться до тих пір, поки не виконається процедура виключення звуку
NOSOUND;
Щоб затримати виконання програми використовується процедура
DELAY (<мл.сек.>);
Наприклад, цикл для озвучення сирени можна записати цикл
For i:=32 to 1000 do
Begin
Sound (i);
Delay (100);
NoSound;
end;
Робота з клавіатурою.
При введенні даних з клавіатури спочатку коди всіх натиснутих клавіш заносяться в спеціальний буфер клавіатури і уже з нього можуть бути зчитані в структури програми за допомогою різних засобів. Буфер побудовано по типу черги: нове значення дописується в кінець, а зчитується значення перше. Після зчитування вся черга посувається вперед на один символ. Буфер очищується при використанні процедур вводу алгоритмічних мов.
Можна працювати з самим буфером Для цього використовується дві спеціальні функції:
KEYPRESSED - логічна функція для аналізу натиснення клавіш.
= TRUE, якщо в буфері клавіатури присутній хоча б один символ.
= FALSE, якщо буфер пустий.
READKEY - зчитування одного символу з буферу клавіатури. Функція повертає символьне значення коду, що є на цей момент в буфері клавіатури першим. Якщо буфер пустий, то програма припиняється до натиснення довільної клавіші. Символи натиснутих клавіш не відображаються на екрані.
Клавіші Ctrl, Shift, Alt, NumLock, CapsLock не дають коду символу.
При роботі з буфером клавіатури корисно на початку програми його почистити:
WHILE Keypressed do CH:= ReadKey;
Використання клавіш в регістрі Alt, функціональних клавіш і клавіш управління курсором посилають у буфер 2 символи, перший з них 0, другий - код клавіші.
Для перевірки клавіш в регістрі Ctrl використовується символ " ^ " .
C IN [ ^F, ^P, ^S].
UpCase (<символ>); - перевід символу в верхній регістр.
Можна отримати в тексті програми "образ" будь-якої управляючої функціональної клавіші, якщо натиснути комбінацію клавіш Ctrl+P, а потім саму клавішу.
Коди службових клавіш:
Tab-9; Enter-13; Esc-27
Коди функціональних клавіш:
F1 - 0 59
F2 - 0 60
.........
F10 - 0 68
F11 - 0 133
F12 - 0 134
- 0, 75; - 0, 80; - 0, 76; - 0, 82;
Для створення світлового меню враховується, що один з пунктів повинен бути виділений в порівнянні з іншими. Тобто перед його виводом колір фону встановлюється іншими.
Для формування вертикального меню обробляється натиск на клавіші - стрілка вгору, стрілка вниз, Enter, Esc. Для горизонтального - стрілка вправо, стрілка вліво, Enter, Esc.
Натиск всіх інших ігнорується. Розглянемо вертикальне меню. При натиску на клавішу "стрілка вгору" номер поточного пункту меню повинен зменшитися на 1. Якщо при зменшенні номер стане рівним 0, то встановлюємо номер виділеного пункту - останній. З останнього пункту організується перехід на перший.
При виборі Esc - вихід з меню.
При виборі Enter - виклик процедури обробки відповідного пункту меню.
Дата добавления: 2015-12-10; просмотров: 657;