Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Язык объектно-ориентированного проектирования object Pascal

Поиск

Структура файла головной программы приложения Delphi

 

Возможности объектно-ориентированного проектирования в Delphi базируют­ся на свойствах языка Object Pascal.

Если вы совсем не знакомы ни с одной версией семейства языков Паскаль, то можно рекомендовать вам прямо сейчас, прежде чем читать это пособие далее, изучить синтаксис этого языка в другой литературе.

В процессе проектирования вами приложения Delphi автоматически создает код головной программы и отдельных модулей. В модули вы вводите свой код, со­здавая обработчики различных событий. Но головную программу, как правило, вы не трогаете и даже не видите ее текст. Только в исключительных случаях вам надо что-то изменять в тексте головной программы, сгенерированном Delphi. Тем не ме­нее, хотя бы ради этих исключительных случаев, надо все-таки представлять вид головной программы и понимать, что означают ее операторы.

Типичная головная программа приложения имеет вид:

program Projectl;

uses

Forms,

Unit1 in 'Unit1.pas' {Form1},

Unit2 in 'Unit2,pas' {Form2};

{$R *.RES}

{Здесь вы можете поместить описания каких-то констант, переменных, функций, процедур. Все это будет доступно только в пределах данного файла}

begin

Application.Initialize;

Application.CreateForm(Tform1, Form1);

Application.CreateForm(TForm2, Form2);

Application.Run;

end.

Начинается программа с ключевого слова program, после которого пишется имя программы. Оно совпадает с именем файла, в которым вы сохранили свой про­ект. Это же имя присваивается выполняемому файлу приложения. По умолчанию это имя Project1.

После заголовка в тексте программы располагается предложение uses. В этом предложении перечисляются модули, загружаемые программой. Первый модуль Forms — системный. А следующие — модули разработанных вами форм. Данный пример подразумевает, что вы создали в проекте две формы с именами Form1 и Form2 в модулях с именами Unit1 и Unit2. Помещенные в фигурные скобки на­звания форм — это комментарии.

Следующая строка текста — {$R *.BES} представляет собой директиву ком­пилятора. Затем после ключевого слова begin и до последнего завершающего программу оператора end с точкой (end.) записано тело программы.

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

Если вам надо ввести какой-то свой текст в головную программу, вы можете сделать это, введя описания необходимых констант, переменных, функций и процедур в место программы, отмеченное соответствующим комментарием в приве­денном выше тексте. Кроме того, вы можете добавить или изменить операторы в теле программы. Например, вам может потребоваться при запуске приложения на выполнение провести какие-то настройки (например настроить формы на тот или иной язык — русский или английский). Или сделать какой-то запрос пользовате­лю и в зависимости от ответа создавать или не создавать те или иные формы.

 

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

 

Рассмотрим теперь, как выглядят тексты модулей. Ниже приведен текст мо­дуля с пустой формой. Подробные комментарии в этом тексте поясняют, куда и что в этот код вы можете добавлять.

unit Unitl;

interface // Открытый интерфейс модуля

(Список подключаемых модулей) uses

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

{Объявление класса формы} type

TForml = class(TForm) private // Закрытый раздел класса { Private declarations }

{Сюда могут помещаться объявления переменных, функций и процедур, включаемых в класс формы, но не доступных для других модулей}

public // Открытый раздел класса { Public declarations }

{Сюда могут помещаться объявления переменных, функций и процедур, включаемых в класс формы и доступных для других модулей)

end;

var

Forml: TForml;

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

implementation // Реализация модуля {$R *.DFM}

{Сюда могут помещаться предложения uses, объявления типов, констант, переменных, к которым не будет доступа из других модулей. Тут же должны быть реализации всех объявленных в разделе interface функций и процедур, а также могут быть реализации любых дополнительных, не объявленных ранее функций и процедур}

end.

Модуль начинается с ключевого слова unit, после которого пишется имя моду­ля. Оно совпадает с именем файла, в котором вы сохранили свой модуль. По умол­чанию для первого модуля имя равно Unit1, для второго Unit2 — и т.д.

Текст модуля состоит из двух основных разделов: interface — открытый ин­терфейс модуля, и implementationреализация модуля. Все, что помещается не­посредственно в раздел interface (типы, переменные, константы, функции, проце­дуры), может быть использовано другими модулями программы. Все, что помеща­ется в раздел implementation — внутреннее дело модуля. Внешние модули не мо­гут видеть типы, переменные, константы, функции и процедуры, размещенные в разделе реализации.

В разделе interface после предложения uses, содержащего список подключае­мых модулей, вы можете видеть заготовку объявления класса вашей формы, под­готовленную Delphi. Имя класса вашей формы — TForml. Класс содержит два раз­дела: privateзакрытый раздел класса, и publicоткрытый раздел класса. То, что вы или Delphi объявите в разделе public, будет доступно для других клас­сов и модулей. То, что объявлено в разделе private, доступно только в пределах данного модуля.

После завершения объявления класса формы вы можете видеть строки

var

Forml: TForml;

Это объявляется переменная Forml класса TForml, т.е. объявляется ваша форма как объект класса TForml.

Затем следует пока пустой раздел реализации implementation, в котором со­держится только директива компилятора. Следите за тем, чтобы случайно не стереть эту директиву.

В модуль вы можете ввести еще два раздела, кроме interface и implementati­on: разделы initialization и finalization.

 



Поделиться:


Последнее изменение этой страницы: 2016-12-28; просмотров: 217; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.105.184 (0.006 с.)