Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Динамические объекты






Так же, как и любые типы данных в Паскале, объекты можно размещать в динамической памяти и работать с ними, применяя указатели. Размещение объектов в динамической области памяти осуществляется с помощью процедуры New, традиционно применяемой для работы с указателями:

Var p: ^TPerson;

...

New (p);

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

Если динамический объект содержит виртуальные методы, он должен инициироваться с помощью вызова конструктора: p^.Init (‘Захаров’, ‘Бухгалтер’, 400)

Турбо Паскаль использует расширенный синтаксис процедуры New. Процедура New в одной операции позволяет выделить память под объект и вызвать конструктор. Имя указателя используется в качестве первого параметра, а имя конструктора – в качестве второго параметра: New (p, Init (‘Захаров’, ‘Бухгалтер’, 400));

Для освобождения кучи от динамических объектов применяется стандартная процедура Dispose (p);

Такой вызов уничтожает объект в целом. Если поля данных объекта были динамическими и под них выделялась дополнительная память при выполнении конструктора или иной процедуры инициализации, то их надо освободить до уничтожения самого объекта. Для этих целей вводится специальный вид метода – деструктор. Он объявляется служебным словом Destructor. По сути, деструктор – это метод, противоположный конструктору. Принято деструктору давать имя Done – завершено. Деструкторы могут наследоваться. Они могут быть статическими или виртуальными. Чаще используются виртуальные деструкторы, так как это гарантирует, что будет выполнен именно тот деструктор, который соответствует данному типу объекта. Смысл введения деструктора заключается в том, что его можно использовать в расширенной процедуре Dispose так же, как используется конструктор в New. Dispose (p, Done);

Интегрированная среда разработки

Основой Delphi является графическая среда разработки приложений, называемая интегрированной средой разработки. Многие известные в данный момент приложения для Windows имеют MDI, который определяет особый способ управления нескольких дочерних окон внутри одного большого окна. Представителем MDI-приложения является текстовый редактор Word. Среда Delphi является представителем спецификации, называемой Single Document Interface (SDI), и состоит из нескольких отдельно расположенных окон. SDI ближе к той модели приложений, что используется в Windows 95. Окна могут перемещаться по экрану, частично или полностью перекрывать друг друга. Каждое окно предназначено для решения определенных задач.

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

Главные составные части среды программирования:

1. Главное окно.

2. Окно формы.

3. Окно редактора кода программы.

4. Инспектор объектов.

Разработка приложения в среде Delphi

Создание новой программы на Delphi начинается с выбора опции File/New Application. Это означает, что начинается работа над новым приложением для Windows. В этом случае появляется проект Windows-окна программы (см. рис. 1). В окне текста программы представлен минимально необходимый код, обеспечивающий функционирование окна в Windows. Простейшая программа уже готова. Для того чтобы запустить первую программу, нужно нажать клавишу F9. Эта клавиша соответствует команде Run из пункта меню Run главного меню Delphi. При выполнении этой команды программа последовательно проходит три главных этапа своего жизненного цикла – этапы компиляции, компоновки и исполнения. На этапе компиляции осуществляется преобразование подготовленного текста программы в последовательность машинных инструкций, на этапе компоновки к ней подключаются необходимые вспомогательные подпрограммы, а на этапе исполнения готовая программа загружается в оперативную память и ей передается исполнение.

Полученная программа ничего не умеет делать, кроме как реагировать на нажатие стандартных кнопок минимизации, максимизации окна и вывода системного меню. В заголовке полученного окна высветится имя окна – Form1. По умолчанию заголовок окна совпадает с заголовком формы. Для того чтобы закрыть работающее приложение, необходимо нажать стандартную кнопку закрытия окна Windows.

Обратившись к инспектору объектов, можно изменить свойство Caption формы. Caption означает заголовок. Щелкнув мышью по строке Caption окна инспектора объектов, активизируем эту строку свойств и в правой колонке запишем новый заголовок “Моя первая программа на Delphi”. Новый прогон помощью окна инспектора объектов мы изменили одно из свойств окна программы – его заголовок.

Процесс создания Delphi-программы разбивается на две фазы: фазу конструирования формы и фазу кодирования.

Разместим на форме два компонента из панели Standard: метку и кнопку. Для того чтобы поместить компонент на форму, необходимо выполнить следующие действия:

1. Выбрать страницу, на которой находится нужный компонент.

2. Выбрать компонент, который необходимо разместить в форме, щелкнув по нему мышью.

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

Компонент Label (метка) предназначен для размещения различного рода надписей. Компонент Label на панели Standard отражает кнопка. Произведем последовательно два щелчка: по компоненту на панели и по форме. Теперь форма содержит компонент Label. Новый компонент имеет стандартное имя Label1 и надпись на нем повторяет это имя. Изменить это имя можно с помощью строки Caption окна инспектора объектов. Как только вы начнете вводить новую надпись, вид компонента на форме начнет меняться, динамически отражая все изменения, производимые в окне инспектора объектов.

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

Обработчик события – фрагмент программы, который выполняется в ответ на определенное изменение в программе или в Windows. Этот фрагмент должен представлять собой последовательность операторов языка Object Pascal, оформленных в виде процедуры. В окне инспектора объектов на странице Events следует найти событие OnClick и дважды щелкнуть мышью по правой части строки. Delphi самостоятельно сделает заготовку для обработчика события OnClick. Активизируется окно кода с заголовком процедуры и операторными скобками:

Procedure TForm1.Button1Click(Sender: TObject); Begin End;

Процедура имеет составное имя. Оно состоит из имени класса TForm1 и собственно имени процедуры Button1Click. Процедуры могут иметь параметры.

Класс в Object Pascal – это дальнейшее развитие объектного типа Турбо Паскаля. Написав обработчик события, мы добавляем еще один метод к методам, описанным в стандартных классах.

 

Структура простого проекта Delphi

Программа на Delphi – это совокупность файлов, называемая проектом.

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

Файл проекта имеет расширение.dpr. Он содержит программу, написанную на языке Object Pascal. Для каждого проекта может быть только один такой файл. В файле проекта содержатся ссылки на все формы проекта и относящиеся к ним модули. Он связывает вместе все файлы, из которых состоит приложение, и, таким образом, среда Delphi “знает”, какие файлы необходимы для создания приложения. В файле проекта также содержится код инициализации приложения. Этот файл создается автоматически. DPR-файл может быть открыт для просмотра или редактирования при помощи команды View/Source меню Project. Этот файл обычно не редактируется.

Структура простого проекта Delphi

program Calcul1; uses Forms,

Calcu in ‘Calcu.pas’ {fmCalcu}; {$R *.RES}

Begin Application.Initialize;

Application.CreateForm(TfmCalcu, fmCalcu);

Application.Run; End.

Строки

Uses Forms, Calcu in ‘Calcu.pas’ {fmCalcu};

указывают, что помимо файла проекта в программе должны использоваться модули Forms и Calcu. Модуль Forms является стандартным, а модуль Calcu – новым, ранее неизвестным, и Delphi в этом случае указывает также имя файла с текстом модуля. Каждый раз, когда к проекту добавляется новая форма или новый модуль, Delphi автоматически добавляет директиву Uses в файл проекта.

Директива компилятору

{$R *.RES}

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

Тело программы содержит три исполняемых оператора:

Application.Initialize;

Application.CreateForm(TfmCalcu, fmCalcu);

Application.Run;

Файл программного модуля (файл, содержащий описание связанной с модулем формы, процедур и функций программной логики функциониро­вания окна приложения в синтаксисе Object Pascal) имеет расширение.Pas. Для каждой формы, включаемой в проект, создается отдельный модуль. Именно в этом файле хранится программа: объявление переменных, типов, код обработчиков сообщений для интерфейсных элементов, дополнительный код и т. п. В проект можно включать и модули, не связанные с формами.

Файл формы имеет расширение.Dfm. Он подключается непосредственно к исполняемому файлу в момент компиляции программы. Файл формы – это список свойств всех компонентов, включенных в форму, значения которых были изменены по сравнению со значениями, заданными по умолчанию. Файл формы связывает графическое представление формы с обработчиками сообщений и используется методом TАpplication.CreateForm для начального создания формы.

Файл с расширением.Dfm представляет собой двоичный файл, но его содержимое может быть отображено на экране в виде текста. TextHeight = 13

End Файл параметров проекта имеет расширение.Dof. Это текстовые файлы, содержащие текущие установки проекта: настройки компилятора и компоновщика, имена служебных каталогов, условные директивы и параметры командной строки.

Dsk-файл содержит Desktop-настройки проекта. В этом текстовом файле хранится информация о том, какие окна открыты и в каких позициях они расположены. Этот файл позволяет восстановить внешний вид рабочей среды проекта.

Cfg-файл содержит установки конфигурации проекта. Этот файл используется компилятором при трансляции и имеет такое же имя, как и файл проекта.

Файл ресурсов имеет расширение.Res. Это двоичный файл, содержащий все необходимые для проекта ресурсы, такие как, например, пиктограммы, графические изображения, курсоры мыши или строки. Этот файл создает и модифицирует Delphi. Он не должен изменяться или создаваться пользователем.Расширения.~dp, ~df, ~pa имеют файлы резервных копий.

Исполняемый файл имеет расширение.Exe. Это автономный исполняемый файл, для которого больше ничего не требуется, если только не используются динамически подключаемые библиотеки.Расширение.Dcu имеют объектные файлы модулей. Эти файлы являются откомпилированной версией файлов программных модулей.Кроме этих основных файлов проект Delphi может содержать: динамически присоединяемую библиотеку (.Dll); файлы справки (.Hlp); файлы изображений (.Wmf,.Bmp,.Ico); анимационные файлы (.Avi); файлы, написанные на языке Pascal более ранних версий, или на других языках программирования и др.

Управление проектами

При загрузке Delphi автоматически создается новый проект. Можно использовать этот проект для создания нового приложения или открыть уже существующий проект, либо использовать один из предоставляемых средой шаблонов в качестве основы для нового приложения. Для того чтобы создать новый проект или открыть уже существующий, сохранить проект или закрыть его, необходимо воспользоваться командами, расположенными в меню File: New, Open, Save, Save As, Save Project As, Save All, Close и Close All (см. приложение 2 файла материалов).






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.