русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Implementation


Дата добавления: 2013-12-23; просмотров: 2657; Нарушение авторских прав


Interface

СТРУКТУРА МОДУЛЯ

Рассмотрим теперь, как выглядят тексты модулей.

unit Unit4;

 

 

uses

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

 

type

TForm1 = class(TForm)

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

 

{$R *.dfm}

 

end.

 

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

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

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

privateзакрытый раздел класса, и publicоткрытый раздел класса. То, что вы или Delphi объявите в разделе public,будет доступно для других классов и модулей. То, что объявлено в разделе private,доступно только в пределах данного модуля. (подробнее о спецификаторах доступа позже)

 

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

 

var

Forml: TForml;

 

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

форма как объекта класса TForml. Затем следует пока пустой раздел реализации implementation.Раздел implementation включает в себя реализацию модуля. Основное тело модуля составляет коды, реализующие объявленные функции и процедуры.



В данном примере раздел implementation содержит директиву {$R} Директива компилятора {$R} указывает файлы ресурсов (.DFM, .RES), которые должны быть включены в выполняемый модуль или в библиотеку. Указанный файл должен быть файлом ресурсов Windows. По умолчанию расширение файлов ресурсов – файл с расширением .RES. В процессе компоновки компилированной программы или библиотеки файлы, указанные в директивах {$R}, копируются в выполняемый модуль. Компоновщик Delphi ищет эти файлы в том каталоге, в котором расположен модуль, содержащий директиву {$R}.

При генерации кода модуля, содержащего форму, Delphi автоматически включает в файл .pas директиву {$R *.DFM}, обеспечивающую компоновку файлов ресурсов форм. Эту директиву нельзя удалять из текста модуля, так как в противном случае загрузочный модуль не будет создан и сгенерируется исключение EResNotFound.

Существуют еще 2 необязательных раздела: initialization – включает в себя операторы, выполняющиеся только 1 раз при первом обращении программы к данному модулю. В этом разделе могут быть операторы, производящие начальную настройку модуля. Если в программе есть несколько модулей, содержащих разделы initialization, то последовательность выполнения операторов этих разделов определяется последовательностью указания модулей в операторах uses. Например если в головной программе имеется оператор uses unit1,unit2, unit3 , а модуле init1 имеется оператор uses unit3, то последовательность выполнения разделов initialization будет следующей: unit3, unit1,unit2.

Пример применения такого раздела может быть перенос кода головной программы

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.Run;

В раздел initialization какого-либо из объявленных модулей.

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

 



<== предыдущая лекция | следующая лекция ==>
Delphi. Основные понятия ООП. Принципы ООП. | ИНКАПСУЛЯЦИЯ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.