logo
Методичка_Delphi_Ч1

Процедуры обработки событий onKeyPress

Эти события возникают при нажатии клавиш клавиатуры во время ввода данных в текстовые поля. Процедуры обработки этих событий дают доступ к вводимому символу через параметр процедуры key.

На рисунке 4.9 приведен пример написания такой процедуры.

Рисунок 4.38 – Процедура обработки события onKeyPress

В списке параметров этой процедуры, помимо параметра Sender, есть параметр Key символьного типа, передаваемый по наименованию, о чем свидетельствует слово var перед именем параметра. Это означает, что если символ, передаваемый параметром key, в процедуре изменить, то это изменение сохранится после выхода из процедуры. Передаваемый символ можно вовсе удалить, если заменить его символом #0.

В процедуре приведенной на рисунке 4.9 анализируются символы, вводимые в текстовое поле edtA. Для анализа и изменения введенного символа используется процедура testRealKey, рассмотренная в пункте 4.1.3.2.

После обработки символа производится проверка, не является ли введенный символ, символом перевода строки. Если это так, то курсор переносится в поле edtB для ввода следующего коэффициента.

Для того чтобы проверить работу этой процедуры следует предварительно написать процедуру testRealKey. Так как эта процедура может использоваться и в других приложениях, то ее лучше разместить в дополнительном модуле unitDop, а в данном сделать на него ссылку в инструкции uses.

После того, как это будет сделано, напишите процедуры обработки событий onKeyPress для всех трех полей ввода коэффициентов. Отличаться они будут только тем, куда передается управление после нажатия клавиши «Enter». Проверьте работу созданных процедур.