- •Возможности среды разработки delphi
- •Окно кода
- •Окно формы
- •Окно свойств и событий
- •Дерево объектов
- •Строка заголовка
- •Главное меню
- •Панель инструмен. Палитра компонентов
- •Общая реализация программы в Delphi
- •Структура главной программы приложения
- •Код головной программы имя_проекта.Dpr:
- •Структура событийной процедуры.
Общая реализация программы в Delphi
Программа, создаваемая в среде Delphi в процессе проектирования приложения, основана на модульном принципе. Головная программа состоит из объявления списка используемых модулей и нескольких операторов, создающих объекты для необходимых форм и запускающих приложение на выполнение. Все объекты компонентов размещаются в объектах - формах. Для каждой формы проектируемой в приложении Delphi автоматически создает отдельный модуль, в который пользователь может ввести собственный код, создавая обработки различных событий. Именно в модулях и выполняется программирование задачи.
Структура главной программы приложения
Код головной программы создается автоматически и, как правило, не требует модификации.
Код головной программы имя_проекта.Dpr:
Код |
Описание |
program название_прог; |
Программа начинается с ключевого слова program, после которого указывается имя программы. Оно совпадает с именем файла, в котором был сохранен проект. Это же имя присваивается исполняемым файлам приложения. |
uses Forms, Unit1 in ‘Unit.pas’ { Form1 }; |
В разделе uses перечисляются все модули, загружаемые программой. Forms является системным, следующие модули разработаны программистами. Данный проект состоит из одной формы – Form1, которая содержится в модуле Unit1. После ключевого слова in указывается имя файла, в котором содержится модуль. |
{ $R *.res } |
$ эта строка представляет собой директиву компилятора, которая связывает с исполняемым модулем файлы ресурсов Windows ( .dfm и .res ). По умолчанию для файлов ресурсов используется расширение .res |
begin Application.Initialize; Application.CreateForm( TForm1, Form1 ); Application.Run; end. |
Application.Initialize - Инициализирует приложение. Application.CreateForm – Создает объекты формы. Application.Run – Запуск приложения. |
Структура модулей приложения
Текст программы находится в модулях, название которого должно совпадать с именем файла. Модуль состоит из интерфейса (внешний вид), реализации и инициализации.
Код |
Описание |
unit название_модуля; |
Название модуля. Это название используется в приложении uses при подключении модуля к программе. |
Interface … |
Раздел интерфейса. |
Implementation … |
Раздел реализации. |
begin … end. |
Раздел инициализации. |
Структура событийной процедуры.
Некоторые важные команды:
halt – Аварийный выход из программы.
close - Закрыть программу.
Код |
Описание |
procedure <название процедуры> |
Заголовок процедуры. Название процедуры, которое состоит из двух частей: объект + название события |
сonst <имя константы> = <значение>; … сonst <имя константы> = <значение>; |
Раздел описания констант |
type <имя типа> = <тип>; … type <имя типа> = <тип>; |
Раздел типа |
var <имя переменной>: <тип>; … var <имя переменной>: <тип>;
|
Раздел описания переменных |
<Тексты локальных процедур и функций с заголовками> |
Раздел процедур и функций |
begin <инструкция> end; |
Инструкция Object-Pascal |
beep - Сигнал, издаваемый внутренним устройством материнской платы.
При сохранении нового проекта, рекомендуется создавать отдельную папку. Названия project-1 и unit1 рекомендуется не изменять. Копирование файлов проекта выполнять только с помощью файлового менеджера Windows.
Файлы с расширением .exe, .~dfm, .~pas, .~dsm можно не копировать.
Пример модуля Delphi (unit1.pas)
Код |
Описание |
unit unit1; |
Название модуля. Это название используется в приложении uses при подключении модуля к программе. Оно совпадает с именем файла |
Interface |
Раздел интерфейса |
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; |
В разделе uses перечисляются все модули, загружаемые программой
|
type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1; |
Определение нового типа данных – класса. |
Implementation |
Раздел реализации |
{$R *.dfm}
|
$ эта строка представляет собой директиву компилятора, которая связывает с исполняемым модулем файлы ресурсов Windows ( .dfm и .res ). По умолчанию для файлов ресурсов используется расширение .res |
procedure TForm1.Button3Click(Sender: TObject); begin close end; |
Реализация первого события. Щелчок по кнопке с идентификатором Button3. В данном случае произойдет закрытие программы. |
procedure TForm1.Button2Click(Sender: TObject); begin Edit1.Text := ‘‘; Edit2.Text := ‘‘;
Edit3.Text := ‘‘ end; |
Реализация второго события. Щелчок по кнопке с идентификатором Button2. В данном случае произойдет отчистка полей под идентификаторами Edit1, Edit2, Edit3. |
procedure TForm1.Button1Click(Sender: TObject); var a, b: integer; begin a := strtoint( Edit1.Text ); b := strtoint( Edit2.Text ); Edit3.Text := inttostr( a + b ) end; |
Реализация третьего события. Щелчок по кнопке с идентификатором Button1. В данном случае в процедуре объявляются две переменные a и b типа integer. В теле между begin и end в переменные заносятся значения полей с идентификаторами Edit1 и Edit2, при этом предварительно посредством функции strtoint происходит преобразование строки в числовое значение. Затем в поле с идентификатором Edit3 заносится сумма двух этих чисел a и b. Поскольку мы имеем дело с числовыми данными, а поле получает лишь строку, то мы пользуемся функцией перевода с числового значения в строчное – inttostr. |
begin … end. |
Раздел инициализации |