Работа с клавиатурой Использование функции ReadKey и KeyPressed в циклах.

Презентация:



Advertisements
Похожие презентации
Модуль CRT Подготовила: учитель информатики Екимова М.Р.
Advertisements

Файловая переменная. Файл – совокупность данных, записанная во внешней памяти под определенным именем. Любой файл имеет три характерные особенности: уникальное.
Клунейко Вероника Ученица 10 класса. Символьный тип (Сhar) простой тип данных, предназначенный для хранения одного символа в определённой кодировке.Основным.
Файловый тип данных Turbo Pascal Операции для работы с файлами 11 класс.
Тема урока Переменная. Тип данных. Ввод и вывод данных.
Строки в Pascal
БИБЛИОТЕКА CRT Turbo Pascal 7.0. Команды библиотеки CRT Очистка экрана Цвет символов Цвет фона Курсор Режим Задержка Звук Очистка строки Удаление строки.
Char Для обработки символьных (литерных) данных используется тип char (от слова character). char Значениями типа char служат все символы, которые могут.
Множества значений или переменных с одним общим именем называются структурированными типами. По способу организации и типу компонентов выделяют: 1. Массивы.
1 Символьный тип данных Описание: Char; Диапазон значений: любой символ – это буквы, цифры, знаки препинания и специальные символы. Каждому символу соответствует.
Операторы в Turbo Pascal. Общие сведения Оператором называют специальную совокупность служебных слов, идентификаторов и специальных знаков выполняющих.
Знакомство со средой Pascal. Алфавит языка. Структура программы. Операторы ввода и вывода.
Множества. Множество- ограниченный, неупорядоченный набор различных элементов одного типа. Примеры множеств: Множество арабских цифр. Множество знаков.
Программирование типовых алгоритмов вычислений Информатика.
Оператор ветвления. Для реализации ветвления в программе используют условный оператор (оператор ветвления). Условный оператор в полной форме записывается.
Массивы Материалы к урокам по программированию. МАССИВ это УПОРЯДОЧЕННАЯ последовательность данных ОДНОГО ТИПА. Массивы относятся к структурированным.
Основы программирования в Turbo Pascal Язык программирования Паскаль.
Порядковый тип данных Символьный тип данных. Порядковый типы данных В математике порядковым числом называется номер элемента при перечислении. Под порядковым.
Программа имеет заголовок следующего вида Program имя ; Имя - это имя программы. Идентификатор имени имеет не более семи символов. Имя начинается с буквы.
Символы и строки. Процедуры и функции работы со строками.
Транксрипт:

Работа с клавиатурой Использование функции ReadKey и KeyPressed в циклах

Принцип работы с клавиатурой в TP Турбо Паскаль содержит несколько простых и ясных средств, которые позволяют организовать эффективное управление программы посредством клавиатуры. Процедуры Read и ReadLN работают со стандартным входным файлом, который отождествлен с консолью, т. е. с клавиатурой и экраном дисплея. На практике это означает, что информация, введенная с клавиатуры, помимо обработки процедурами, будет отображаться на экране.

Как работает ReadLn? Если в разделе описания переменных имеется описание вида: Var Chislo : integer; то выполнение оператора readln (Chislo) будет происходить следующим образом. Программа будет приостановлена в ожидании ввода с клавиатуры символов, изображающих целое число. После ввода этих символов они будут автоматически преобразованы в соответствующие двоичные значения и присвоены переменной Chislo. Аналогично организован прием значений действительного, символьного и строкового типа.

Использование ReadLn при организации циклов repeat X:=Random (76); Y:=Random (23); GoToXY (X, Y); TextColor (Random(15)); write(***); X:=1; Y:=24; write (Для остановки программы наберите Стоп); write (Для продолжения – любую клавишу ); readln(Stop); until (Stop=Стоп) or (Stop =стоп);

Недостатки Read и ReadLn Несмотря на простоту и удобство, стандартные процедуры read и readln не обеспечивают всеж потребностей, возникающих при работе с клавиатурой. Их важнейший недостаток в том, что вместе с приемом символов они выполняют их отображение на экран (так называемое эхо на монитор). В большинстве случаев это либо не нужно, либо недопустимо. Процедуры read и readln редко используются в серьезных программах.

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

Пример работы с функцией ReadKey Program UsereadKey; Uses Crt; Var Sym : Char; Begin ClrScr; while true do begin write (Введите букву - ); Sym := readKey; writeln (Вы ввели букву -, Sym); if Sym = q then Exit end End.

Работа с функциональными и редактирующими клавишами ReadKey позволяет отслеживать нажатие более широкого множества клавиш, опознавая функциональные и редактирующие клавиши и их сочетания с управляющими клавишами Ctrl, Alt, Shift. Всё множество клавиш и их сочетаний с управляющими клавишами разбито на два подмножества, которые обычно называют основным и расширенным наборами.

Основной набор символов В основной набор входят клавиши букв, цифр, разделителей и знаков препинания, их комбинации с клавишей Shift (или, что то же самое, при включенном переключателе CapsLock), а также клавиши Tab, BackSpace, Enter и Esc. Если нажата одна из перечисленных клавиш, то ReadKey возвратит обычный ASCII-код соответствующего символа.

Расширенный набор символов В расширенном наборе содержатся некоторые (не все) клавиши из основного набора в комбинации с клавишами Ctrl и Alt, а также функциональные и редактирующие клавиши. Если нажимается одна из клавиш расширенного набора, то функция ReadKey возвращает символ с кодом 0 (его представление в программе – chr(0) или #0). В этом случае повторное обращение к ReadKey вернет код клавиши из расширенного набора.

Пример программы Program UsereadKey2; Uses Crt; Var Sym : Char; Begin ClrScr; while true do begin write (Нажмите клавишу); Sym := readKey;

Пример программы if Sym <> #0 then begin {основной набор} case Sym of #8 : writeln (Вы нажали BackSpace); #9 : writeln (Вы нажали Tab); #13 : writeln (Вы нажали Enter); #27 : writeln (Вы нажали Esc); else writeln (Вы ввели символ,Sym); end; if Sym = #27 Then Exit end

Пример программы else begin {расширенный набор} Sym := readKey; {повт. чтение: берем расширенный код} writeln (Вы нажали клавишу с кодом, Ord (Sym))); end end End.

Стандартная функция KeyPressed В отличие от ReadKey, она предназначена не для приема кода нажатой клавиши, а для простой проверки, была ли нажата какая-либо клавиша. Эта функция вызывается без параметров и возвращает значение булевого типа: True, если было нажатие, и False в противном случае. Важно понять, что KeyPressed не производит никаких действий с кодом нажатой клавиши, но код может быть далее прочитан функцией ReadKey, например:... if KeyPressed then S := ReadKey;...

Работа с буфером памяти в MS-DOS В системной области DOS имеется небольшой буфер, в который операционная система помещает коды нажатых клавиш. Буфер организован в виде очереди, причем помещение кодов производится в ее хвост, а считывание из головы. Буфер очень невелик и рассчитан на хранение максимум 15 кодов, что соответствует 15 нажатиям. Кстати говоря, иногда встречается такая ситуация, когда та или иная программа не успевает выбирать коды клавиш из буфера (то есть нажатия производятся чаще). Ситуация переполнения буфера индицируется звуковым сигналом, после чего коды вновь нажимаемых клавиш будут пропадать.

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