Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi ЛР№1 Среда разработки.rtf
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
12.55 Mб
Скачать

Var ...; //Переменные

procedure <имя> (<параметры>); //Процедуры

begin ... end;

function <имя> (<параметры>): <тип>; //Функции

begin ... end;

begin <операторы> end.

Тело программы является исполнительной частью блока. Именно из него вызываются описанные выше процедуры и функции. Тело программы начинается зарезервированным словом begin (начало), далее следуют операторы языка, отделенные друг от друга точкой с запятой. Завершает тело программы зарезервированное слово end (конец) с точкой.

Begin Application.Initialize;

Application.CreateForm(TForm1, Form1); Application.Run;

end.

Сочетание end со следующей за ней точкой называется терминатором программной единицы: как только в тексте программы встретится такой терминатор, компилятор прекращает анализ программы и игнорирует оставшуюся часть текста.

1. Откройте файл проекта с помощью главного меню и изучите его содержимое.

Структура модуля

Каждый модуль – это отдельный файл, содержащий исходный код и имеющий расширение .pas. Каждый модуль редактируется и компилируется отдельно.

Модуль состоит из: заголовка; секции интерфейса; секции реализации; секции инициализации (может отсутствовать); секции завершения (может отсутствовать).

unit <имя модуля>; //Заголовок модуля

{$<директивы>} //Директивы компилятора

interface //Интерфейсная часть

uses <имя>, ..., <имя>; //Подключение модулей

const ... ; //Константы

type ... ; //Типы данных

var ... ; //Переменные

procedure <имя> (<параметры>); //Заголовки процедур

function <имя> (<параметры>): <тип>; //Заголовки функций

implementation //Раздел реализации

uses <имя>, ..., <имя>; //Подключение модулей

const ... ; //Константы

type ... ; //Типы данных

var ... ; //Переменные

procedure <имя> (<параметры>); //Реализация процедур

begin ... end;

function <имя> (<параметры>): <тип>; //Реализация функций

begin ... end;

initialization <операторы> //Код инициализации

finalization <операторы> //Код завершения

end.

Каждый модуль заканчивается зарезервированным словом end (конец) с точкой. Для каждой формы Delphi создает отдельный текстовый модуль (Unit).

2. Внимательно просмотрите содержимое модуля MainUnit.pas. В этом файле осуществлено объявление класса формы TForm1, который наследует свойства стандартного класса TForm:

TForm1 = class (TForm)

end;

Далее объявляется переменная Form1, имеющая тип TForm:

Var Form1 : TForm1;

Именно через эту переменную в тексте программы осуществляется доступ к свойствам и методам главной формы (например, выражение Form1.Color := clRed; присвоит свойству «цвет» формы Form1 значение «красный»).

Задание 4. Создание простейшего кнопочного интерфейса

1. Поместите на форму кнопку Button из палитры Standard (для этого нужно щелкнуть мышью необходимый компонент палитры и щелкнуть в нужном месте формы, можно использовать уже имеющуюся на форме кнопку).

2. Обратите внимание, что в описание класса формы была автоматически добавлена переменная типа TButton (TButton -- сокращение от Type Button, Тип Кнопки):

Button1 : TButton;

3. Два раза щелкните по кнопке Button1. При этом будет автоматически сгенерирован обработчик нажатия на данную кнопку.

procedure TForm1.Button1Click(Sender: TObject);

begin

end;

Имя обработчика составляется из имени объекта Button1 (кнопка) и названия действия Click (щелчок) - Button1Click. Имя метода конкретизируется именем класса формы (TForm1).

Обратите внимание, что в описание класса формы автоматически добавлено объявление процедуры обработчика:

procedure Button1Click(Sender: TObject);

Внутри ключевых слов begin end; обработчика запишите код, который будет выполняться при нажатии на кнопку, например, Form1.Color := clRed;

Примечание. Метод Button1Click является объектом класса Form1, поэтому можно не конкретизировать имя свойства именем класса и записать Color := clRed;

4. Запустите приложение и изучите его свойства.

Задание 5. Изучение способов обработки событий

1. Самостоятельно создайте еще одну кнопку и в обработчике нажатия напишите код, который будет изменять цвет формы на зеленый. Запустите приложение и изучите его свойства.

2. Активизируйте одну из кнопок и перейдите на вкладку Events (события) в Object Inspector. В соответствие событию OnClick поставлена функция обработки Button1Click. В выпадающем списке также можно выбрать функцию обработки нажатия на вторую кнопку Button2Click.

Для выполнения однотипных действий не имеет смысла создавать две процедуры обработчика события. Для этого достаточно одного метода, например, Button1Click, внутри которого определяется, какая конкретно кнопка была нажата. Параметр Sender как раз и позволяет определить, какой конкретно объект послал сообщение (send - от англ. посылать).

3. Занесите в обработчик события (OnClick) первой кнопки следующий код:

if Sender = Button1 Then Color := clRed { Если нажата первая кнопка }

else Color := clGreen;

4. Затем с помощью инспектора объектов нужно поставить в соответствие событию OnClick каждой кнопки общую функцию обработки Button1Click.

Функцию Button2Click можно удалить, для этого внутри ключевых слов begin end; просто уберите текст - компилятор автоматически удалит определение метода и его описание внутри класса.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]