Студопедия — Создание заготовок процедур-обработчиков событий. Текст модуля программы
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Создание заготовок процедур-обработчиков событий. Текст модуля программы






Для каждой формы, являющейся прообразом окна будущей программы, система Delphi создает отдельный модуль программы, в строго определенные места которого программист вписывает (вводит с клавиатуры) описания (объявления) элементов и операторы языка Object Pascal, реализующие алгоритм решения поставленной задачи. Другими словами; текст модуля доступен как системе Delphi, так и программисту. Поэтому программисту необходимо внимательно и точно работать в окнах формы (Form1) и редактора текста программы (Unit1.pas). Совместное с Delphi владение текстом модуля будет вполне успешным, если программист будет соблюдать простое правило: он не должен удалять или изменять строки, которые вставлены не им, а системой Delphi.

Содержимое двух разделов модуля (интерфейсного и реализации) система Delphi изменяет в зависимости от числа размещенных на форме компонентов программистом и последующих его действий. После оформления окна программы, наиболее ответственными моментами для программиста являются создание заготовок процедур-обработчиков событий (заготовок методов) и их программирование.

Создать заготовки процедур-обработчиков событий можно двумя способами. При первом способе:

- выбирается компонент (ЩЛК на нём);

- в окне Object Inspector открывается страница Events (ЩЛК на вкладке Events);

- в левой колонке этой страницы находится строка с названием события (например, OnCreate (пер. При создании)), затем в правой колонке этой строки производится 2ЩЛК.

2-й способ гораздо проще: вначале выбирается компонент (ЩЛК на нём) и производится 2 ЩЛК на этом компоненте. Delphi создаёт заготовку процедуры-обработки наиболее характерного для этого компонента события.

Например, текст заготовки процедуры, обрабатывающей событие ‘При создании’ (OnCreate) формы, выглядит так:

 

procedure TForm1.FormCreate(Sender: TObject); // Заголовок процедуры

begin // Начало тела процедуры

end; // Конец описания процедуры

 

После подготовки процедуры-заготовки, Delphi автоматически вносит её заголовок в описание класса TForm1. Составное имя процедуры TForm1.FormCreate содержит имя компонента Form1 и имя события Create. Это имя следует читать (в переводе с английского языка) справа налево: при создание формы компонента TForm1.

Перед созданием очередной заготовки процедуры, необходимо в окне Редактора текста программы переместить курсор в начало пустой строки, следующей после end; (конец описания предыдущей процедуры).

Операторы языка Object Pascal, реализующие алгоритм решения задачи, вводятся в полученную заготовку программистом между открывающей операторной скобкой begin и закрывающей операторной скобкой end;, фиксирующей конец описания процедуры – обработчика события. Совокупность этих операторов иногда называют телом процедуры.

Типы всех программных элементов, используемых операторами программы, могут быть описаны:

- между заголовком и телом процедуры-обработчика события в секции описания переменных (после ключевого слова var), если элементы ‘видны’ (локализованы) только в процедуре;

- в секции var интерфейсного раздела модуля, если элементы ‘видны’ (локализованы) для всех процедур-обработчиков событий.

Порядок размещения и местоположения фрагментов текста модуля более наглядно иллюстрируются на примерах выполнения конкретных заданий.

 

Задание 1. Составить программу (приложение), обеспечивающую:

- выбор пользователем фамилии студента из предварительно введенного 1-го списка;

- случайный выбор, из предварительно введенного 2-го списка, понятия, которое следует пояснить. Случайный выбор понятия должен производиться при ЩЛК на кнопке ‘Случайный выбор’;

- закрытие окна программы при ЩЛК на кнопке ‘Закрыть’.

 

1. Оформление окна программы

Для создания двух списков используем два компонента ComboBox1 и ComboBox2. Над этими компонентами нанесем надписи ‘Фамилия: ’ и ‘Поясните понятие: ’. Для этого используем два компонента Label1 и Label2. Для случайного выбора понятия и закрытия окна программы используем две командные кнопки Button1 и Button2. Разместив каждую пару одноименных компонентов рядом по горизонтали и соблюдая симметрию относительно вертикальной оси по центру формы, получим окно, представленное на рис. 1.

 

 

Рис. 5. 1. Окно программы для задания 1.

2. Изменение свойств компонентов.

Свойству Caption компонента Form1 зададим значение ‘Задание 1’. Свойствам Caption компонентов Label1, Label2 зададим значения ‘Фамилия:’, ‘Поясните понятие: ’ соответственно. Свойству Items (пер. Пункты) компонента ComboBox1 (после ЩЛК на кнопке с тремя точками), в окне String List Editor (Редактор списка строк) зададим пункты 1-го списка фамилий: Иванов, Петров, Сидоров, Волков, Зайцев, Медведев, Галкин, Соколов, Сорокин, Воробьев. Аналогично свойству Items компонента ComboBox2 зададим пункты 2-го списка понятий, которые следует пояснить: Класс, Тип (в языке Object Pascal), Поле, Свойства, Метод, Модуль, Информация, Процессор, Объект, Файл. Свойствам Caption компонентов Button1, Button2 зададим значения ‘Случайный выбор’ и ‘Закрыть’.

3. Получение заготовок процедур-обработчиков событий и их

программирование.

Создадим 3 заготовки процедур-обработчиков событий:

- procedure TForm1.FormCreate(Sender: TObject);

- procedure TForm1.Button1Click(Sender: TObject);

- procedure TForm1.Button2Click(Sender: TObject);

первым способом.

Введем в полученные заготовки процедур операторы, реализующие алгоритм задания 1.

3.1. Для того чтобы после запуска программы в полях ComboBox1 и ComboBox2 появлялись первые из списка фамилия студента и название понятия, в тело процедуры

procedure TForm1.FormCreate (Sender: TObject)

введем 2 оператора присваивания:

ComboBox1.Item Index:=0;

ComboBox2.Item Index:=0;

и вызовем стандартную процедуру Randomize (Располагать в случайном порядке), оператором:

Randomize;

Процедура Randomize в зависимости от момента времени запуска программы всегда выдает псевдослучайное число, которое используется для вычисления псевдослучайного числа функцией Random (N).

3.2. Для того чтобы при ЩЛК на кнопке ‘Случайный выбор’ в поле ComboBox2 появлялось случайно выбранное из списка название понятия, в тело процедуры:

procedure TForm1.Button1Click(Sender: TObject),

введем оператор присваивания:

ComboBox2.ItemIndex:=Random(ComboBox2.Items.Count);

В этом операторе функция Random(ComboBox1.Items.Count) вычисляет псевдослучайное число, равномерно распределенное на отрезке [0,N]. Верхняя граница N отрезка задается числом пунктов в списке, т.е. значением подсвойства Count (пер. Число пунктов) свойства Items (пер.Пункты) компонента ComboBox1. В этом задании N = 9, т.к. нумерация пунктов списка начинается с нуля.

3.3. Чтобы при ЩЛК на кнопке ‘Закрыть’, окно проекта закрывалось и выполнение программы прекращалась, в тело процедуры

procedure TForm1.Button2Click(Sender: TObject);

введем оператор вызова стандартной процедуры Close (Закрыть):

Close;

После выполнения приведенных пунктов, текст модуля принимает следующий вид:

unit Unit1;//З аголовок модуля

interface // Начало интерфейсного раздела

Uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

Type

TForm1 = class(TForm)// Начало описания класса

Label1: TLabel;

Label2: TLabel;

ComboBox1: TComboBox;

ComboBox2: TComboBox;

Button1: TButton;

Button2: TButton;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);







Дата добавления: 2015-10-02; просмотров: 431. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия