Файл: Методические указания к лабораторным работам по Delphi Lazarus.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.11.2023

Просмотров: 115

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.



  1. Установим нужные свойства у формы:

  • Выберите форму. Для этого щелкните мышью по любому месту формы, свободному от других компонентов (только не внутри GroupBox), или же выберите объект Form1 (имя для формы по умолчанию) в Дереве объектов или Инспекторе объектов.

  • Изменим заголовок формы. Найдите свойство Caption и напишите «Человек» (название программы) вместо Form1. Обратите внимание, что заголовок у окна формы изменился соответственно.

  • Изменим цвет фона формы. Найдите свойство Color и выберите один из предопределенных цветов из выпадающего списка (например, clYellow) или же дважды щелкните по названию цвета и выберите любой цвет из стандартного диалога выбора цветов Windows.

  • Сделаем так, чтобы главное окно всегда открывалось в центре экрана при старте программы. Найдите свойство Position и выберите значение poScreenCenter из выпадающего списка.

  • Поскольку главное окно нашей программы является по сути диалоговым, сделаем так, чтобы нельзя было менять размер этого окна или максимизировать его. Найдите свойство BorderStyle и выберите значение bsSingle из выпадающего списка (значение bsDialog в данном случае не подходит, так как при его установке пропадают также системное меню и кнопка минимизации, что нежелательно для главного окна программы). Найдите свойство BorderIcons, щелкните по значку [+] и установите значение Maximize = False.

  1. Изменим заголовок у рамки (компонент GroupBox):

  • Выберите рамку, найдите в Инспекторе объектов свойство Caption и введите строку «Человек – это звучит гордо». Обратите внимание, что заголовок у рамки на форме изменился соответственно.

  1. Изменим названия меток (компоненты Label):

  • Выберите первую метку (с именем Label1), найдите в Инспекторе объектов свойство Caption и введите строку «Фамилия». Аналогично, для второй и третьей метки введите для свойства Caption строки «Имя» и «Отчество» соответственно.

  1. Изменим шрифт для всех трех меток (компоненты Label):

  • При помощи операции Shift + Click выделите группу из трех меток, найдите в Инспекторе объектов свойство Font, нажмите на кнопку […] и выберите нужный шрифт, начертание, размер и цвет в диалоговом окне. К примеру, сделаем наши надписи шрифтом Arial, размером 10.

(При выборе шрифта надо иметь в виду две вещи: а) не все шрифты содержат символы кириллицы, б) если ваша программа расчитана на широкое применение, то надо использовать только «стандартные» шрифты. Дело в том, что если выбранного вами шрифта не окажется на машине пользователя, то ваши надписи могут превратиться в нечитаемые «зябы». Стандартными являются следующие шрифты: Arial, Courier New, Times New Roman, MS Sans Serif, Fyxedsys.)


  1. Очистим содержимое и установим одинаковый размер у трех строк редактирования (компоненты Edit):

  • При помощи операции Shift + Click выделите группу из трех строк редактирования, найдите в Инспекторе объектов свойство Text, удалите имеющийся текст и нажмите клавишу Enter. Затем найдите свойство Width и введите значение 200, чтобы изменить длину всех трех компонентов.

  1. Изменим названия кнопок (компоненты Button):

  • Выберите первую кнопку (с именем Button1), найдите в Инспекторе объектов свойство Caption и введите строку «Заполнить». Аналогично, для остальных кнопок введите надписи: «Очистить», «В заголовок», «О программе» и «Выход» соответственно.




В результате этих манипуляций у вас должна получиться форма примерно следующего вида:

Создание обработчиков событий



Собственно говоря, на этом разработка дизайна главного окна программы закончена. Сохраните ваш проект, нажав кнопку Save All на панели инструментов (или Shift+Ctrl+S), а затем запустите его на выполнение, нажав кнопку Run (или F9).
Все компоненты будут вести себя в соответствии с поведением по умолчанию, но при нажатии на кнопки ничего происходить не будет. Чтобы заставить кнопки выполнять полезную работу, мы должны создать для них обработчики событий.
Создание обработчика событий для кнопки «Заполнить»:

  • Закройте программу и вернитесь в среду разработки Delphi.

  • Выберите на форме кнопку «Заполнить» (компонент Button1).

  • В Инспекторе объектов перейдите на закладку Events (события). Вы увидите перечень событий, определенных для компонента Button, для каждого из которых вы можете создать собственный обработчик. Например, для кнопки определены такие обработчики как: OnClick – когда пользователь нажимает на кнопку, OnEnter – когда кнопка получает фокус ввода, OnExit - когда кнопка теряет фокус ввода и т.д.

  • Чтобы создать обработчик для какого-то события, надо или написать имя этого обработчика (в соответствии с правилами именования процедур и функций языка Pascal) и нажать клавишу Enter, или же просто дважды щелкнуть по полю ввода имени, предоставив Delphi сгенерировать имя обработчика по умолчанию. В любом случае текстовый курсор окажется в окне редактора исходного кода, где Delphi сгенерировала заголовок процедуры обработки указанного события. Вам остается только написать действия, которые должны при этом выполняться.


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

Создание обработчика для кнопки «Заполнить»



Существует и другой, более простой способ создания обработчика нажатия на кнопку. Дело в том, что для многих визуальных компонентов Delphi определяет обработчик события по умолчанию. Для кнопки это обработчик события OnClick, для строки редактирования – обработчик OnChange, для формы – обработчики OnFormCreate и т.д. Для того, чтобы создать обработчик события по умолчанию, достаточно просто дважды щелкнуть по соответствующему компоненту на форме.


  • Создайте обработчик для кнопки «Заполнить», дважды щелкнув по ней на форме. Текстовый курсор окажется в редакторе исходного кода, где Delphi сгенерирует заготовку обработчика события OnClick:

procedure TForm1.Button1Click(Sender: Tobject);

begin

|

end;


  • Напишите 3 строчки кода, которые будут осуществлять заполнение строк редактирования предопределенной информацией о человеке. В конечном итоге обработчик события будет выглядеть следующим образом:

procedure TForm1.Button1Click(Sender: Tobject);

begin

Edit1.Text := ‘Сидоров’;

Edit2.Text := ‘Иван’;

Edit3.Text := ‘Петрович’;

end;


  • После этого запустите программу на выполнение и убедитесь, что обработчик кнопки «Заполнить» действует правильно.


А теперь немного разберемся, что обозначают написанные нами выше строчки. Для этого необходимо пролистать исходный текст модуля Unit1 к началу. Там мы увидим следующее:

unit Unit1;
interface
uses

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

StdCtrls;
type

TForm1 = class(TForm)

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

Form1: TForm1;
...
Когда мы создаем новую форму, Delphi автоматически создает для этой формы новый класс TForm1, порожденный от базового класса TForm (строчка type TForm1 = class(TForm)). Далее, когда мы добавляем на нашу форму различные компоненты, Delphi генерирует для них имена по умолчанию и добавляет их описания в определение нового класса. Таким образом у нас получаются объекты Label1, Label2, Label3, Edit1, Edit2, Edit3 и т.д. Аналогично, когда мы создаем обработчик для какого-либо события, Delphi также добавляет его описание в определение класса.

В обработчике события мы можем обратиться к любому объекту, принадлежащему данному классу (например, строке редактирования), по имени. А чтобы изменить какое-то свойство данного объекта, надо записать имя этого свойства через точку после имени объекта. Таким образом, строчка Edit1.Text := ‘Сидоров’ меняет содержимое (свойство Text) первой строки редактирования на указанную строку.

Создание обработчика для кнопки «Очистить»





  • Переключитесь на форму (клавиша F12) и создайте обработчик для кнопки «Очистить», дважды щелкнув по ней на форме. Delphi сгенерирует заготовку для обработчика события с именем Button2Click.

  • Напишите следующие 3 строчки кода, которые будут осуществлять очистку строк ввода:

procedure TForm1.Button2Click(Sender: Tobject);

begin

Edit1.Text := ‘’;

Edit2.Text := ‘’;

Edit3.Text := ‘’;

end;

  • Запустите программу на выполнение и убедитесь, что обработчики кнопок «Заполнить» и «Очистить» действуют правильно.



Создание обработчика для кнопки «В заголовок»





  • Создайте обработчик для кнопки «В заголовок», дважды щелкнув по этой кнопке на форме. Delphi сгенерирует заготовку для обработчика события с именем Button3Click.

  • Напишите строчку кода, которая будет изменять заголовок нашей программы:

procedure TForm1.Button3Click(Sender: Tobject);

begin

Caption := Edit1.Text + ' ' + Edit2.Text + ' ' + Edit3.Text;

end;

Здесь мы склеиваем в одну строку содержимое 3-х строк ввода (плюс добавляем разделительные пробелы для удобочитаемости) и присваиваем ее заголовку формы (свойство Caption).

Замечание. Поскольку процедура обработчика события принадлежит классу формы, то внутри этого процедуры при обращении к свойствам самой формы имя формы можно опускать. Поэтому мы написали Caption вместо полной записи Form1.Caption, которая также верна, а, в некоторых случаях, и более понятна.

  • Запустите программу на выполнение и убедитесь, что обработчик кнопки «В заголовок» работает правильно.



Создание обработчика для кнопки «Выход»





  • Создайте обработчик для кнопки «Выход», дважды щелкнув по этой кнопке на форме. Delphi сгенерирует заготовку для обработчика события с именем Button5Click.

  • Напишите единственную строчку, которая осуществляет выход из программы:

procedure TForm1.Button5Click(Sender: Tobject);

begin

Close;


end;

Здесь мы обращаемся к процедуре Close, определенной для класса TForm, которая приводит к закрытию соответствующей формы. Если же закрываемая форма является главной, то завершает работу все приложение. Опять мы используем краткую запись вместо полной Form1.Close.

  • Запустите программу на выполнение и убедитесь, что обработчик кнопки «Выход» работает правильно.



Добавление к проекту диалогового окна «О программе»



Прежде чем создавать обработчик нажатия кнопки «О программе», необходимо создать само диалоговое окно «О программе». Для этого можно разработать новую форму «с нуля», но проще воспользоваться имеющимся в Delphi шаблоном.


  1. Добавим в наше приложение диалоговое окно «О программе»:

  • Выберите из меню команду File | New | Other…, в открывшемся диалоговом окне перейдите на вкладку Forms, выберите элемент AboutBox и нажмите OK. В результате к нашему проекту добавляется новая форма с именем AboutBox и соответствующей ей модуль с именем Unit2.

  1. Установим нужные свойства у элементов формы:

  • Выберите форму, найдите в Инспекторе объектов свойство Caption и введите “О программе” вместо About.

  • Выберите картинку (объект ProgramIcon), найдите свойство Picture, нажмите на кнопку […], в появившемся диалоговом окне PictureEditor нажмите кнопку Load и выберите какое-нибудь подходящее графическое изображение для вашей программы (например, можно воспользоваться стандартными картинками, поставляемыми с Delphi, которые по умолчанию находятся в папке C:\Program Files\Common Files\Borland Shared\Images\Splash\256Color) и нажмите кнопку OK.

  • И
    змените названия всех меток так, чтобы они содержали осмысленные надписи на русском языке. Используйте различные шрифты (свойство Font) для придания тексту большей выразительности. В результате у вас должно получиться форма примерно следующего вида:



  1. Сохраним сделанные изменения в проекте:

  • Нажмите кнопку Save All и сохраните модуль Unit2 в папке, где находятся другие файлы вашего проекта.


Создание обработчика для кнопки «О программе»





  • Переключитесь на главную форму приложения. Если она видна, вы можете щелкнуть мышью по главной форме или же нажать кнопку View Forms (Shift + F12) и выбрать из списка форму Form1.

  • Выберите из меню команду File | Use Unit…, в появившемся окне выберите Unit2 и нажмите OK. Это делается для того, чтобы добавить к исходному тексту модуля Unit1 строчку “uses Unit2”, которая говорит компилятору, что все переменные, объявленные в секции interface модуля Unit2 (в частности, переменная формы AboutBox), видны и доступны из модуля Unit1.

  • Создайте обработчик для кнопки «О программе», дважды щелкнув по этой кнопке на форме. Delphi сгенерирует заготовку для обработчика события с именем Button4Click.