Главная страница

мпо3116. 4 Событийноуправляемое программирование в delphi программный код хранится в виде модулей. При этом структура модуля достаточно близка к аналогичной структуре в ТурбоПаскале, хотя имеются и некоторые отличия Unit


Скачать 85.48 Kb.
Название4 Событийноуправляемое программирование в delphi программный код хранится в виде модулей. При этом структура модуля достаточно близка к аналогичной структуре в ТурбоПаскале, хотя имеются и некоторые отличия Unit
Дата23.01.2019
Размер85.48 Kb.
Формат файлаdocx
Имя файлампо3116.docx
ТипДокументы
#64880

4.5. Событийно-управляемое программирование В Delphi программный код хранится в виде модулей. При этом структура модуля достаточно близка к аналогичной структуре в ТурбоПаскале, хотя имеются и некоторые отличия: Unit ; Interface Интерфейсная часть> Implementation Initialization Инициализирующая часть> Finalization End. Здесь Unit — зарезервированное слово (единица), начинающее заголовок модуля; — имя модуля (правильный идентификатор); Interface — зарезервированное слово (интерфейс), начинающее интерфейсную часть модуля; Implementation — зарезервированное слово (выполнение), начинающее исполняемую часть; Initialization — зарезервированное слово (инициализация), начинающее инициализирующую часть модуля; Finalization — зарезервированное слово (завершение), начинающее завершающую часть модуля; End — зарезервированное слово, являющееся признаком конца модуля. Таким образом, модуль состоит из заголовка и четырех составных частей, любая из которых может быть пустой. Назначение первых двух частей модуля такое же, как в ТурбоПаскале, поэтому не будем останавливаться на них подробно. Инициализирующая и завершающая части модуля чаще всего отсутствуют вместе с начинающим их словами Initialization и Finalization. В инициализирующей части размещаются операторы, которые исполняются до передачи управления основной программе и обычно используются для подготовки ее работы. Например, в них могут инициализироваться переменные, открываться необходимые файлы и др. В завершающей части указываются операторы, выполняющиеся после завершения работы основной программы. Если несколько модулей содержат инициализирующие части, эти части выполняются последовательно друг за другом в порядке перечисления модулей в Uses главной программы. Если несколько модулей содержат завершающие части, эти части выполняются последовательно друг за другом в Рассмотрим использование некоторых стандартных компонентов. Для примера разработаем программу, которая позволяет решать линейное уравнение вида ах+ b = 0. Спланируем реализуемый проект. Очевидно, что форма для решения задачи должна содержать заголовок с текстом решаемой задачи. Кроме того, должны иметься текстовые поля ввода для значений а, Ь. Результат также должен выводится в определенное поле. Для получения результата после ввода данных необходимо на форме разместить соответствующую кнопку. Для инициализации переменных и очистки формы от ранее полученных результатов требуется кнопка сброса. П р и м еча н и е . Будем полагать, что пользователи вводят корректные данные. Отметим также, что в отличие от ТурбоПаскаля разделителем целой и дробной частей вещественного числа в русскоязычной версии Windows (если не выбрана другая настройка) является запятая. Примерный вид окна программы решения указанной задачи показан на рис. 4.10. Определим, какие компоненты необходимо помещать на форму. Для вывода сообщения «Программа решения линейного уравнения ах + b = 0», надписей «а», «Ь» и ответа используем компонент Label. Для ввода информации используем компонент Edit, и, наконец, для кнопок — компонент Button. Итак, поместим все необходимые компоненты на форму, отрегулируем их размеры, установим значения свойств по умолчанию и переименуем задаваемые по умолчанию идентификаторы компонентов для лучшей читаемости кода программы.
Идентификатор компонента для кнопки [Решить!] назовем Solution, для кнопки [Сброс] — Clear, поле вывода ответа — Answer. Остальные идентификаторы оставим неизменными. Для всех компонентов установим необходимое значение свойства Caption для отображения запланированного текста. Далее программируем реакцию на действия пользователя при работе программы. В нашем случае следует предусмотреть реакцию на нажатие кнопок [Решить!] и [Сброс]. Код для кнопки [Сброс]: Procedure TForml.ClearClick(Sender : TObject); Begin Editl.Text := 'O'; Edit2.Text := 'O'; Answer.Caption := 'Ответ:?'; End; Код для кнопки [Решить!]: Procedure TForml.SolutionClick(Sender : TObject); Var a, b : real; x : real; s : String; Begin a := StrToFloat(Editl.Text); b := StrToFloat(Edit2.Text); If а о 0 Then Begin x := -b/a; Полный код модуля для реализуемого проекта имеет следующий вид: Unit Unitl; Interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; Type TForml = Class(TForm) Labe11 : TLabel; Labe12 : TLabel; Editl : TEdit; Label3 : TLabel; Edit2 : TEdit; Solution : TButton; 231 Procedure TForml.ClearClick(Sender: TObject); Begin Editl.Text :='0'; Edit2.Text := ' 0 '; Answer.Caption :='Ответ:?'; End; End. Данная программа готова к работе. Компиляция осуществляется следующим образом: • выполнить команду Проект/Опции (Project/Option), после чего откроется диалоговое окно Опции проекта (Project Options); • выбрать вкладку Каталог/Условия (Directories/Conditionals); • задать в разделе Каталоги в строке Результат (Output directory) путь до папки с файлами проекта, в которой будет записан результирующий ехе-файл; • выполнить команду Проект/Компилировать проект (Project/ Build All). Имя ехе-файла совпадает с именем файла проекта. Этот файл можно будет запустить вне среды Delphi. Если ехе-файл не требуется, то строку Результат (Output directory) следует очистить, в этом случае файл будет компилироваться в память. В процессе отладки для запуска программы можно использовать кнопку Щ или клавишу F9.


написать администратору сайта