Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Управление объектом с помощью клавиатуры
Для управления клавиатурой в Delphi используются следующие события: 1. OnKeyDown – событие, которое возникает при нажатии любой клавиши на клавиатуре, включая функциональные и специальные. 2. OnKeyUp – событие, которое происходит при отпускании клавиши на клавиатуре. Коду нажатой или отпущенной клавиши соответствует параметр Key. При управлении клавиатурой с помощью этих событий параметр Key имеет целочисленный тип. Key представляет собой код виртуальной клавиши Windows.
Текст программного кода будет следующим:
В этой программе параметр Shift указывает состояние клавиши Alt (нажата или нет). Этот параметр также определяет состояние клавиш Ctrl и Shift.
3. OnKeyPress – событие, которое возникает, когда нажата и отпущена клавиша на клавиатуре. Оно отличается от событий OnKeyDown и OnKeyUp тем, что параметр Key, передаваемый в метод обработки, имеет не целочисленный, а символьный тип Char. Событие OnKeyPress возникает при вводе с клавиатуры символа ASC II, т.е. оно не генерируется, например, при нажатии функциональных клавиш. Обработчик события вызывается только при нажатии буквенных, цифровых клавиш, а также некоторых комбинаций клавиш. Каждому символу, как видимому, так и невидимому, а значит и каждой клавише клавиатуры соответствует определенный код ASCII. Для получения символа по его коду в языке Delphi используется либо функция Chr, либо запись вида # код. В таблице 1 приведены расширенные коды клавиш.
Таблица 1 ASC II кода
Рассмотрим пример проекта с использованием события OnKeyPress.
Создадим графический интерфейс по образцу рис. 25. Для этого на форме разместим два компонента TImage. В объект Image1 загрузим изображение прицела, в объект Image2 – изображение пульки. У объекта Image2 установим свойство Visible равным false.
Рис. 25 Графический интерфейс окна
Создадим обработчик события OnKeyPress. В нем сначала опишем движение прицела вместе с пулькой вправо при нажатии на клавишу . Для этого проверим, чему равен код key. Когда код равен #39, перемещаем прицел вместе с пулькой вправо на 5 позиций. Аналогично задаем движение прицела влево. Далее описываем движение пульки при выстреле. Если нажата клавиша Enter (код #13), тогда пулька должна выстрелить из прицела. Обработчик события OnKeyPress будет следующим:
Задания 1. Создать проект «Морской бой», в котором клавишами управления курсором следует навести прицел на движущийся корабль. При нажатии на клавишу Enter прицел должен выстрелить в корабль пулькой. Если пуля попадет в корабль, то образуется взрыв. 2. Изменить проект «Морской бой» таким образом, чтобы после поражения корабля, он появлялся вновь у левой границы. В проекте должно отображаться количество попаданий в корабль. 3. Создать проект «Морской бой» с режимом игры на двоих, при котором возможна стрельба и из прицела и с корабля. В проекте должно отображаться число попаданий каждого игрока и определяться победитель. 4. Создать программу, имитирующую движение по форме белого кубика нажатием клавиш управления указателем. Кубик должен увеличивать свои размеры при нажатии клавиши Insert и уменьшать при нажатии клавиши Delete. 5. Составить проект рисования дома и обеспечить возможность зажигать и гасить свет в доме. Включение и выключение света в окне должно выполняться: с клавиатуры; с помощью мыши.
6. Написать игровую программу, в которой необходимо попасть мячиком по кирпичикам. Мяч находится на движущейся подставке и управляется с помощью мыши. При попадании кирпич исчезает. После окончания времени выводится итоговое сообщение о количестве попаданий.
Работа со строками
Объекты строкового типа string довольно часто встречаются в программах, написанных на языке Delphi, поэтому рассмотрим подробней свойства и методы этих объектов. Строковый тип данных Строковый тип данных служит для хранения строк или цепочки символов. Переменная строкового типа объявляется следующим образом: Var str1: String; или Var str1: String [длина] где: Str1 – имя переменной; string – ключевое слово обозначения строкового типа; длина – константа целого типа, которая задает максимально допустимую длину строки. Если в объявлении строковой переменной длина строки не указана, то ее длина задается равной 255 символам. Используя операции =, <, >, <=, >=, переменную типа string можно сравнить с другой переменной типа string или со строковой константой. Строки сравниваются посимвольно, начиная с первого символа. Если все символы сравниваемых строк одинаковые, то такие строки считаются равными. Если в одинаковых позициях строк находятся разные символы, большей считается та строка, у которой в этой позиции находится символ с большим кодом. Кроме операции сравнения, к строковым переменным и константам можно применить операцию сложения. В результате выполнения этой операции получается новая строка. Например, в результате выполнения команд: first__name: ='Иван'; last_name:='Иванов'; ful_name:=first_name+last_name; переменная ful_name получит значение ‘Иван Иванов’.
Основные свойства и методы объектов строкового типа (объектов TString) рассмотрим в следующем пункте на примере работы с текстовой областью.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 810; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.238.20 (0.01 с.) |