Задание2_Скорость_бега (1076687), страница 2
Текст из файла (страница 2)
Следует обратить внимание на то, что для добавления в программу процедуры обработки события нужно в окне Object Inspector выбрать компонент, для которого создается процедура, затем на вкладке Events выбрать событие и сделать двойной щелчок в поле имени процедуры. Delphi сформирует шаблон процедуры обработки события. После этого можно вводить инструкции, реализующие процедуру обработки.
В процедуре обработки события OnKeyPress параметр Key -символ, соответствующий нажатой клавише. Если символ недопустимый, то процедура должна заменить его на символ с кодом 0. В результате этого символ в поле редактирования не появится, и у пользователя создается впечатление, что программа не реагирует на нажатие клавиш.
Повторное использование функций и процедур
Разработав некоторую функцию, программист может использовать ее в другой программе, поместив текст этой функции в раздел implementation. Однако этот способ неудобен, т. к. приходится набирать текст функции заново или копировать его из текста другой программы.
Создание модуля
Delphi позволяет программисту поместить свои функции и процедуры в отдельный модуль, а затем использовать процедуры и функции модуля в своих программах, указав имя модуля в списке модулей, необходимых программе (инструкция uses).
Чтобы приступить к созданию модуля, нужно сначала закрыть окно формы и окно модуля формы (в ответ на вопрос о необходимости сохранения модуля следует выбрать No, т. е. модуль, соответствующий закрытой форме, сохранять не надо). Затем из меню File нужно выбрать команду New | Unit. В результате открывается окно редактора кода, в котором находится сформированный Delphi шаблон модуля. Его текст приведен в листинге 2.
Листинг 2. Шаблон модуля
unit Unitl;
interface
implementation
end.
Начинается модуль заголовком — инструкцией unit, в которой указано имя модуля. Во время сохранения модуля это имя будет автоматически заменено на имя, указанное программистом.
Слово interface отмечает раздел интерфейса модуля. В этот раздел программист должен поместить объявления находящихся в модуле процедур и функций, которые могут быть вызваны из других модулей, использующих данный.
В раздел implementation (реализация) нужно поместить процедуры и функции, объявленные в разделе interface.
В качестве примера в листинге 3 приведен модуль программиста, который содержит рассмотренные ранее функции IsInt и IsFloat.
Листинге 3. Модуль программиста
unit my_unit;
interface // объявления процедур и функций, доступных программам, // использующим этот модуль
function Islnt(ch : char) : Boolean;
//функция Islnt проверяет, является ли символ
// допустимым во время ввода целого числа
function IsFloat(ch : char; st: string) : Boolean;
// Функция IsFloat проверяет, является ли символ допустимым
// во время ввода дробного числа
// ch — очередной символ
// st — уже введенные символы
impelementation // реализация
function Islnt(ch : char) : Boolean;
begin
…
end;
function IsFloat(ch : char; st: string) : Boolean;
begin
…
end;
end.
Сохраняется модуль обычным образом, т. е. выбором из меню File команд Save. Вместе с тем, для модулей повторно используемых процедур и функций лучше создать отдельную папку, назвав ее, например, Units.
Использование модуля
Для того чтобы в программе могли применяться функции и процедуры модуля, программист должен добавить этот модуль к проекту и указать имя модуля в списке используемых модулей (обычно имя модуля программиста помещают в конец сформированного Delphi списка используемых модулей).
В разрабатываемой программе процедура обработки события onKeyPress
в полях ввода исходных данных обращается к функциям IsInt и IsFloat, которые находятся в модуле my_unit.pas, поэтому в список используемых модулей должно быть добавлено имя модуля my_unit.
После добавления имени модуля в список модулей, используемых приложением, сам модуль нужно добавить в проект. Для этого из меню Project надо выбрать команду Add to Project и в открывшемся диалоговом окне — имя файла модуля. В результате добавления модуля к проекту в окне редактора появится вкладка с текстом добавленного к проекту модуля.
После добавления модуля к проекту и включения его имени в список используемых модулей (инструкция uses) можно выполнить компиляцию программы.