ТОП 10:

Тема: «Создание пользовательских проектов на основе объектно-ориентированного программирования (ООП) в ИСР Delphi 7 – OC Windows»



Введение

Методические указания предназначены для дальнейшего освоения современных компьютерных технологий в дисциплине «Программная инженерия».

Программная инженерия — это область компьютерной науки и технологии, которая занимается разработкой и проектированием больших и сложных программных систем, соответственно сложности современных требований не только к инженерным, но и финансовым, экономическим задачам и задачам других направлений. Во второй половине прошлого столетия в программировании произошел переход от разработки относительно простых программ к разработке сложных программных комплексов. К числу таких сложных программ относятся: системы управления космическими объектами, управления оборонным комплексом, автоматизации крупного финансового учреждения и т.д.

Разработка сложных программных систем (ПС) требует больших финансовых вложений, поэтому уже в конце прошлого столетия появилась необходимость создания новых технологий в программировании. Создание сложных программных систем требует систематизированного, научного и предсказуемого процесса проектирования, разработки и сопровождения программных средств.

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

Программная инженерия относится к циклу базовых дисциплин, поэтому она должна опираться на знания дисциплин: «Информатика», «Вычислительные системы, сети и телекоммуникации», «Информационные системы и технологии», «Операционные системы», «Базы данных», «Разработка и стандартизация программных средств и информационных технологий». Известно, что Информатика занимается теорией и методами вычислительных и программных систем, в то время как программная инженерия занимается практическими проблемами создания ПС. Информатика составляет теоретические основы программной инженерии, поэтому инженер по программному обеспечению должен знать информатику. Круг проблем, стоящих перед программным инженером значительно шире просто написания программ, что требует фундаментальных знаний, выходящих за рамки информатики. Это еще управление финансами, организация работ в коллективе, взаимодействие с заказчиком и т.д.

Решением этих проблем стало использование подхода или метода, который стали называть объектно-ориентированным проектированием и программированием. Поддержка технологии объектно-ориентированного программирования (ООП) осуществляется средствами языков Паскаль, Интегрированных средств разработки (ИСР) Delphi и Си ++ и др. Далее изложение материала касается непосредственно ИСР Delphi7 .

 

Контрольная работа №1, 2

Тема: «Создание пользовательских проектов на основе объектно-ориентированного программирования (ООП) в ИСР Delphi 7 – OC Windows»

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

Задания к выполнению контрольной работы

Теоретическая и практическая работа в среде Delphi7… по созданию проектов.

Задание 1.Краткий реферат (до 10 страниц). Развитие объектно – ориентированного проектирования и программирования. Язык Delphi – Версии и развитие (по материалам Internet – среды, списока литературы).

Задание 2.Знакомство с внешним видом среды разработки. Основные окна Delphi (главное окно, окно дерева объектов, окно инспектора объектов, окно браузера формы, окно формы, окно кода программы). Внешний вид среды можно оформить на одном из заданий 3 -11.

Задания 3. 1. – 3. 11. Создание пользовательских проектов на основе представленных макетов окон и алгоритмов поставленной задачи. Для всех заданий тексты программных кодов представлены в Приложении под соответствующим номером.

1.2. Требования к выполнению заданий:

Учебный план курса предусматривает в 3-м семестре 1 контрольную работу и зачет, 4-м контрольную работу и экзамен.

Контрольные работы выполняется в период между сессиями в установленные учебным графиком сроки.

1.3. Обеспечение дисциплины методическими материалами

§ Описание заданий к выполнению контрольной работы;

§ методических материалы - краткое описание ИСР, а также теории и практики проектирования в ООП;

§ примеры заданий с иллюстрацией последовательности выполнения и конечного результата;

§ порядок оформления контрольной работы;

§ список рекомендуемой литературы.

 

1.4. Для каждого задания 3. 1. – 3. 11. выполнить:

· Запустить Delphi 7;

· Ознакомиться с внешним видом среды разработки Delphi, включая создание нового приложения, открытие и сохранение его.

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

· Конструировать окно формы соответственно макету задания.

· Создать заготовки процедур обработки событий по указанным в макете кнопкам.

· Скопировать коды в заготовки процедур из соответствующего задания, см. Приложение 2.

· Выполнить проект со своими данными и получить результат.

· Скопировать результат через Paint в отчет.


Методические указания к выполнению заданий. Теория и практика

Основы Объектно-ориентированного проектирования и программирования. Теория и практика

Класс

Суть подхода к объектно-ориентированному проектированию и программированию состоит в том, что вводится понятие класса, как развитие понятия модуля с определенными свойствами и поведением, характеризующимися обязанностями класса. Delphiпредусматривает толькоинструментарий создания классов; сами же классы создаются разработчиками ПО. В Delphi7…имеется свыше 400 стандартных классов – компонентов (библиотека), разработанных программистами фирмы Borland, используя важное свойство классов – наследование, однако пользователь может создавать свои новые классы. Новый класс может наследовать свойства, методы и события класса, на основе которого он создан (родительского класса). Таким образом, классаминазываются функционально законченные фрагменты программ, служащие образцами для создания себе подобных экземпляров. Будучи однажды созданными, они могут быть включены в другие программы или в разные места одной и той же программы, что обеспечивает высокую производительность при программировании.

Каждый компонент библиотеки принадлежит к строго определенному классу. Класс и является ядром объектно-ориентированного программирования и относится к структурированному типу, содержащему описание атрибутов и функциональности некоторой категории объектов. Каждый класс может порождать объекты – экземпляры данного класса.

Структура описания класса

Type<Имя класса>= class(<Имякласса-родителя>)

Private

<Частные описания>;

Protected

<Защищенные описания>;

Public

<Общедоступные описания>;

Published

<Опубликованные описания>;

end;

Разделы privateи protectedсодержат защищенные описания, доступные внутри модуля, в котором они находятся, а Publicсодержит общедоступные описания, видимые в любом месте программы, где доступен сам класс. Раздел publishedсодержит опубликованные описания в дополнение к общедоступным описаниям, и порождают информацию о типе времени выполнения(Run-Time Type information-RTTI). Одно из назначений раздела published –обеспечение доступа к свойствам объектов при конструировании приложений. В Инспекторе объектов (это одно из окон интегрированной среды, см. ниже) видны те свойства, которые являются опубликованными. Если published не указан, то по умолчанию он является опубликованным.

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

Пример фрагмента описания пользовательского класса

Type

TMyClass=class

aIntField:intger;

aStrField:String;

Данные – Поля

……..

End;(подобно описанию записей вPascal ), где поля - уникальные для каждого экземпляра данные, обладающие своим типом, например, имя пользовательского класса – TMyClass от предка class,а данные - это поля aIntField(целого типа) и aStrField(строкового типа)

Новый класс может наследовать свойства, методы и события класса, на основе которого он создан (родительского класса). Таким образом, классаминазываются функционально законченные фрагменты программ, служащие образцами для создания себе подобных экземпляров. Будучи однажды созданными, они могут быть включены в другие программы или в разные места одной и той же программы, что обеспечивает высокую производительность при программировании. Основой ООП являются три основных принципа:

· Инкапсуляция.

· Наследование.

· Полиморфизм.

Инкапсуляцией называется объединение данных и логики их обработки в одно целое, название которому объект. Так, например класс TForm инкапсулирует все необходимое для создания Windows - окна, а TString - обеспечивает работу с таблицей и т. д.

Наследование. Любой класс может быть порожден от другого класса, при этом он (порожденный класс) наследует поля, методы и свойства своего родителя, а также может создавать свои. Например, наследование: TChildClass=class(ParentClass) указывает на то, что порожденный новый класс наследует поля, свойства и методы класса – родителя. Таким образом, появляется возможность создавать сложные структуры классов.

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

Класс представляет собой единство трех сущностейполей, методов и свойств.Назначение полей класса – хранение информации об объекте. Методы - это процедуры и функции для обработки полей. Свойства занимают промежуточное положение между полями и методами. С одной стороны, свойства можно использовать как поля, присваивая им различные значения с помощью оператора присваивания, с другой стороны - внутри класса доступ к значениям свойств выполняется методами класса. Объединение этих сущностей в единое называется инкапсуляцией – одним из основных принципов ООП. Задача, решаемая с использованием методики ООП, описывается в терминах объектов и операций над ними, а программа при таком подходе представляет собой набор объектов и связей между ними.

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

· Совокупность данных и способов работы с ними.

· Совокупность свойств и методов, а также событий, на которые он реагирует.

 

Данные называются полями объекта, а подпрограммы его методами. Главные свойства объекта – функциональность и неделимость. Как уже указывалось выше, в Delphi разработаны сотни объектов, позволяющих строить уникальные структуры, позволяющие повысить производительность и качество программ, что соответствует принципам программной инженерии.

 

Программирование в современных средах строится на тесном взаимодействии двух процессов:

· Конструирование визуального проявления программы, т. есть ее окна. Таким окном в указанной технологии является форма, в которую внедряются другие объекты – компоненты (визуальные,

· невизуальные, диалоги). В ИСР Delphi7 библиотека визуальных компонентов представлена линейкой с набором страниц, каждая из которых содержит определенный набор пиктограмм компонентов (кнопки, списки, поля, таблицы и т. д.).

· Написание кода, придающего элементам этого окна и программы функциональность.

Конструирование проекта

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

Ее окно имеет свойства, присущие всем окнам Windows.

Окно формы

Окно формы это проект Windows – окна будущей программы. Вся область на этапе конструирования заполнена точками координатной сетки для упорядоченного размещения компонентов. На начальной стадии это окно пусто, Рис 2. 2. 1 .

Рис 2.2.1. Окно пустой формы

 

Форма имеет определенный набор свойств. Конструирование окна (внедрение в него компонентов ) является прекрасным достоинством визуального программирования.

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

Рис. 2.2.2. Иерархия компонентов Delphi

Все компоненты, которые могут быть внедрены в форму, представляют палитру компонентов. Каждый компонент, как класс, является наследником класса TСomponent(базовый для компонентов), управляющего применением к ним возможностей визуального программирования:

· возможность переноса компонента в форму – создание экземпляра данного класса, управление свойствами компонента с помощью визуального построителя и Инспектора объектов.

· Принадлежность. При создании экземпляра ему определяется его владелец, например, форма.

· Сохраняемость и восстанавливаемоесть. Определяется классом TРersistent(постоянный).

· Поддержка технологии COM, позволяющей преобразовывать компоненты Delphi в объекты ActiveX и импорт изActiveX в Delphi .

Визуальные компоненты (ЭУ – элементы управления) имеют взаимодействие с пользователем, визуальное представление и управляются TСontrol (наследником TСomponent ) с целью определения им свойств, методов и событий, такими как расположение на экране, выравнивание друг относительно друга, применяемые шрифты и др.

Не визуальные компоненты не показаны на экране во время выполнения программы , а отображаются в окне формы в виде пиктограмм, добавляемых в поддержку некоторых технологий, например BDE(), ADO(), а также при взаимодействии программ через сети. Не взаимодействуют с пользователем.

Диалоговые компоненты. Это не визуальные компоненты. Вызываются методом Execute, описанным в классе TСommonDialog, отображают диалоговое окно взаимодействия с пользователем.

Ниже в таблицах приведены основные компоненты ввода/вывода текстовой и графической информации.

 

Организация ввода/вывода данных и основные свойства компонентов, представленных в нижеследующих таблицах

Организация ввода/вывода данных включает использование ряда групп компонентов:

· Ввода – вывода(Edit, MaskEdit, SpinEdit, Label, MontCalendar, DateTimePicker), редактирования простых данных (ввод строк и чисел), редактирование логических значений;

· Работа со списками ListBox, ComboBox, ColorBox, CheckListBox для ввода, хранения, выбора и передачи данных;

· Работа с многострочными редакторами (Memo,RichEdit) для ввода, выбора и передачи многострочных данных с возможностью форматирования ;

· Работа с компонентами (StringGrid, DrawGrid,ValueListEditor) для ввода, редактирования, обработки и передачи данных, представленных в табличной форме;

· Редактирование логических значений с помощью переключателей(RadioButton, CheckBox).

· Изменение числового значения в заданном диапазоне(ScrollBar –полоса скроллинга, TrackBar –выбор числового значения с помощью бегунка).

· Работа с файлами (запись в файл, чтение из файла) .

Компоненты Edit, MaskEdit, Label, LabelEditотносятся к одному классу , вследствие чего имеют множество схожих свойств, а также и свои функциональные особенности . UpDownиспользуют для настройки пределов редактирования значения и шага его изменения(Min, Max, Increment).MaskEdit(англ. -строка маскированного ввода)используют для ввода информации по заданному шаблону (маске).

Остановимся на основных свойствах известных Вам компонентов ввод/вывода Edit, Label, Memo, ListBox, StringGrid.Иные компоненты будем рассматривать по ходу лабораторных работ.

Основные свойства рассматриваемых компонентов:

Edit, Label –Caption .

ListBox – Items, Add, MultiSelect, Selected, SelCount – SelectedCount(количество выбранных элементов).

Memo – Lines, Add.

StringGrid ,как и все указанные компоненты для работы с данными в табличной форме, имеют следующие возможности:

· Отображение таблиц с возможностью изменения видимой области, если вся информация не может быть сразу выведена на экран.

· Редактирование текстовых значений в ячейках.

· Изменение высоты строк и ширины столбцов.

Организацию фиксированных строк и столбцов, не перемещаемых во время прокрутки видимой области. Компонент StringGrid представляет таблицу, содержащую строки и столбцы. Назначение – отображение в таблице текстовой информации. В StringGrid возможно отображение и графической информации. Таблица может иметь полосы прокрутки, при этом заданное число первых столбцов и строк может не прокручиваться. Свойства FixedCols, FixedRows, FixedColor определяют число фиксированных столбцов и строк, а также цвет фона фиксированных ячеек таблицы.


 

 
 


 

 

 

Рис. 2.2.3. Представление фиксированных строк и столбцов в таблице

 

Вертикальная стрелка указывает на фиксированный 0- й столбец, а левая – на фиксированную нулевую строку, рис. 2. 2. 3.

Свойства ColCount и RowCount определяют соответственно количество столбцов , строк в таблице. ColWidths– ширина для каждого столбца(по умолчанию в пикселях), RowHeight –высота строки, применяемая при инициализации таблицы и добавлении ячеек. В данной схеме размещения присутствует три столбца(0, 1, 2) и 12(0 – 11) строк.

Свойство Options представляет собой множество свойств таблицы, определяющих поведение строк и столбцов таблицы, такие как: разделительные линии в фиксированных и не фиксированных ячейках, перемещение столбцов и строк и т. д. В Options важным свойством является goEditing со значением = True, позволяющим редактировать значения в ячейках таблицы. В основном компонент StringGrid используется для того, чтобы была возможность использовать для обработки значения, размещенные в ячейках. Для этого используются свойства Col и Row, определяющие индексы столбцов и строк. А свойство Cells [ACol,ARow:integer]:string – двумерный массив элементов таблицы размером ColCount* RowCount, нумерующийся с 0. Например, NewTabl.Cells [0,0] указывает на ячейку в нулевом столбце и нулевой строке таблицы с именем NewTabl. А Cells [i,j] обозначает ячейку в i й колонке (столбце) и j –й строке.

Рассмотрев основные компоненты ввода/вывода, следует обратить внимание на классификацию типов и на функции преобразования типов, см. Приложение 1.


Страница Standard

Компонент Тип Описание
Метка Label Основное свойство – Caption. Доступно изменение цвета метки и шрифта. Используется для размещения текста на формах и других контейнерах.
Поле редактирования. Edit Основное свойство-Text. Используется для отображения однострочных текстовтовых данных.
Окно многострочного редактора текста. Memo Основное свойство-Lines Используется для отображения многострочных текстовтовых данных.
Окно списка. ListBox Основное свойство-Items. Позволяется выбор элементов списка.
Панель Panel Используется как контейнер для группирования органов управления и других малых контейнеров.
Фрейм Frame Используется как контейнер других компонентов.
Линейки прокрутки (скроллинга) ScrollBar Используется для создания зон отображения с прокруткой.
Окно списка с полем редактирования. ComboBox Основное свойство-Items. Объединяет функции ListBox и Edit.
Группа радиокнопок. RadioGroup Используется для создания групп радиокнопок.

Страница Additional

Компонент Тип Описание
Таблица DrawGrid Используется для отображения в строках и столбцах изображений.
Таблица StringGrid Таблица с массивом строк и столбцов. Основное свойство-Cells.
Кнопки BitBtn SpeedButton Кнопка с надписью(BitBtn), SpeedButton с зависимой, независимой фиксацией. Могут объдиняться в группу при одной нажатой кнопке.
Изображение Image Для рисования и вывода изображений из графических файлов(BMP,WMF,JPG).
Диаграммы и графики Chart Для создания диаграмм и графиков.

Страница Samples

Компонент Тип Описание
Окно редактирования со счетчиком. SpinEdit Окно редактирования в комбинации с кнопкой - счетчиком.
Календарь Calendar Отображение календаря на указанный месяц в стандартном формате.
Таблица цветов ColorGrid Для создания таблицы цветов, из которой можно выбрать требуемый цвет.

Страница Dialogs

Компонент Тип Описание
OpenDialog Диалог для выбора имени файла.
SaveDialog Диалог для выбора имени файла при записи.
OpenPictureDialog Диалог для выбора имени графического файла.
SavePictureDialog Диалог для выбора имени графического файла при записи.
ColorDialog Диалог для выбора цвета.

 

Между содержимым окон (компонентов) формы и кода существует неразрывная связь, которая строго отслеживается средой.

Отдельные экземпляры компонентов, вставляемые в форму, получают имя класса с порядковым числовым индексом. По используемому в Delphi соглашению все имена классов начинаются с буквы Т. Например, TForm1 от стандартного класса TForm, Button1 –экземпляр стандартного класса Tbutton и т. д.

 

Пример описания класса

Type

TForm1 = class(TForm)

SpeedButton1: TSpeedButton;

BitBtn1: TBitBtn;

Button1: TButton;

Button2: TButton;

Memo1: TMemo;

Chart1: TChart;

 

Procedure TForm1. SpeedButton1Click(Sender:TObject);

Procedure TForm1.BitBtn1Click(Sender:TObject);

Procedure TForm1.Button1Click(Sender:TObject);

Procedure TForm1.Button2Click(Sender:TObject);

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

End;

Для связи подпрограмм с классом, методами которого они являются, название класса указывается перед именем самой процедуры и отделяется от него точкой, Tform1.

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

Пояснение к предыдущему примеру:

Строка TForm1 = class(TForm) определяет новый класс TForm1,созданный по образцу стандартного классаTForm.который описывает пустое Windows – окно, а TForm1описывает окно с уже вставленными в него компонентами, см. поля. При этом, левая часть показывает компонент, а после точки - принадлежность к его стандартному классу. Как видно из фрагмента, в форму внедрены 4 кнопки(экземпляры ), имеющие свой стандартный класс.

Компонент (кнопка) SpeedButton1 - экземпляр класса TSpeedButton.

Компонент (кнопка)BitBtn1 - экземпляр класса TBitBtn.

Класс TButton в данном примере имеет два экземпляра - Button1, Button2. Компонент (многострочный редактор) Memo1 – экземпляр класса TMemo. Компонент (диаграмма)Chart1 - экземпляр класса TChart.

Каждый из выше описанных методов (заголовки процедур обработки событий), автоматически попадает в раздел описания типов, как только будет произведен двойной щелчок по объекту (в данном фрагменте – по кнопкам), либо OnClick - в Events(Инспектора объектов среды). Рассмотрим один из заголовков методов описания класса -

Procedure TForm1.Button2Click(Sender:TObject);

Вслед за именем процедуры TForm1.Button2Click располагается в скобках параметр вызова Sender:Tobject, передающийся во все обработчики событий и имеющий тип Tobject. Tobject является ключевым классом,см. Рис. 2, наследниками которого являются все классы в Delphi – программе, в том числе и компоненты. Tobject обеспечивает фундаментальные основы поведения всех объектов, инкапсулируя методы, которые:

· Создают и разрушают экземпляры класса, реагируя на создание и разрушение.

· Возвращают информацию об объектах и классах и времени выполнения.

· Поддерживают обработку событий объектами.

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

Глобальные объекты

С любой запускаемой программой связываются от 2 до 5 глобальных объектов:

· Application(Программа)

· Screen(Экран)

· Printer(Принтер)

· Session(Сеанс)

· Clipboard(Буфер обмена).

Все указанные объекты объявляются глобальными переменными в наиболее часто используемых модулях:

Application и Screen - в модуле Forms,

Printer – в Printers,

Session –в DBTables,

Clipboard – в Clipbrd.

 

Основы создания приложений

При проектировании любого приложения Delphi строит программу, основываясь на модульном принципе. Конструирование компонентов осуществляется в окне дизайнера, связанном с формой(Form1 – Окно формы), называемой главной и принадлежащей конкретной программе. Однако, программа может использовать и другие формы для решения локальных в ней задач. Окно формы, как и другие окна Windows, имеет заголовок. Оно является контейнером для внедрения в него компонентов, для их удобного размещения окно покрыто сеткой.


Проект и его состав

Рис. 2.2.3.Структура проекта Delphi

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

Программные файлы

Delphi создает множество файлов для одного приложения с различными расширениями. Часть из них имеет имя проекта, другая – имя модуля. При этом, первоначально файлам присваиваются имена Project1 и Unit1 c указанными в схеме расширениями, При сохранении их следует изменить на имена по смыслу разрабатываемого проекта. Файл проекта имеет расширение dpr и хранит код головной программы. С его помощью создается объект главной формы программы и обеспечивается связь программы с ядром Windows. Файлы с расширениями exe, res, сfg, dsk, dof имеют имя проекта. Пусть первоначальное имя проекта Project1 сохранено под именем ProjecUrok1, тогда файлы c указанными расширениями, имеет следующие значки файлов:

 

 

Рис. 2.2.4. Пиктограммы файлов проекта


Файлы с расширениями, Рис. 3.: dpr – читаемый файл (Рис. 3.), с exe - загрузочный (исполняемый), с res – создается автоматически для каждого проекта, содержит значок программы, ее версию и прочие данные. Этот файл подсоединяется к исполняемому файлу на этапе компоновки с помощью директивы {$R *.res}, которая содержится в головной программе. Файлы (текстовые) с расширениями сfg, dsk, dof сохраняют параметры настройки: сfg(компиляции), dsk(проекта), dof(среды). При внесении в проект изменений создаются файлы резервных копий, начинающихся со значка “тильда” –“ ~”?, см. значок ProjecUrok1.~dsk.

Файл проекта - это главная программа, автоматически создаваемая Delphi и написанная на языке Delphi. Она содержит всегда несколько строк и не допускает редактирования. Именно она обрабатывается компилятором.

В Delphi (как и в любом языке программирования) началом программной единицы выступает заголовок, а концом ее записи слово end.

Uses

Forms,

Unit1 in ‘Unit1.pas’ {Form1};

{$R *.res}

Begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

End.

Выделенные зарезервированные (служебные) слова Program, uses, in, begin, Endслужат информацией компилятору о начале и конце обработки программы сверху вниз. При этом End.(т. н. - терминатор) указывает на то, что все, расположенное за End с точкой, игнорируется.

Информация, расположенная в фигурных скобках, представляет комментарий, например - {Form1}.В качестве комментария могут выступать следующие знаки: {фрагмент текста от скобки и до скобки },(* фрагмент текста *), // фрагмент текста до конца строки.Как видим, каждое предложение заканчивается знаком точка с запятой.

После заголовка программы следуют строки,

Uses

Forms,

Unit1 in ‘Unit1.pas’ {Form1};

Они указывают на то, что в данной программе будут использованы модули Forms(известный компилятору) и Unit1(новый), поэтому указывается файл с текстом модуля in 'Unit1.pas' и имя связанного с модулем файла описания формы Form1.

Директива {$R *.res} не является комментарием. Она указывает компилятору о необходимости подключения файла ресурсов. Директивы начинаются со знака $, стоящего вслед за фигурной скобкой.

Далее следует тело процедуры, заключенное в операторные скобки (слова begin –начало и End. - конец):

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

End.

Тело процедуры – исполняемые операторы с обращением к трем методам объекта Application. Delphi автоматически создает объект – программу Application для каждого нового проекта. Первый оператор выполняет переход к некоторому фрагменту подпрограммы Delphi, позволяющий осуществить переход к строке Application. CreateForm(TForm1, Form1);

Метод CreateForm показывает на экране окно главной формы, метод Run выдает сообщения Windows о действиях пользователя.

Модуль и его структура

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

Состав модуля:

· Заголовок;

· Интерфейсные объявления;

· Реализация;

· Окончание

Заголовок. Определяется зарезервированным словом Unit и следующим за ним именем модуля. Первоначально имя –Unit1, при сохранении модуля имя следует определить по смыслу. Если предусмотрено несколько модулей, то заголовок имеет вид - Unit <список модулей>, в котором имена разделяются запятыми. На первом этапе программирования в Delphi мы будем использовать один модуль простейшей структур:

Unit <имя>;

Interface –

<интерфейсный раздел>

Implementation

<исполняемая часть>

End.

Раздел interface. Сюда помещаются списки подключаемых модулей, объявления типов, констант, переменных, процедур и функций, к которым будет доступ из других модулей. Подключение модулей отображается в предложении Uses. Если алгоритм разрабатываемого проекта предусматривает обращение к статистическим, математическим функциям или, например даты/времени, тогда в предложение Usesнеобходимо подключить соответственномодуль Math,а для дат – DateUtilsи др.

В разделеImplementation располагается код программы, он может включать в себя процедурыобработки событий (одну или несколько), процедуры общего вида, а также процедуры – функции.

End. - зарезервированное слово (признак конца модуля) с точкой – терминатор.

Модули

Форма – модуль, интерфейсная часть которого включает объявление нового класса, объявление объекта для соответствующего оконного класса.

Файлы модулей -имеют расширения: dfm, pas, ddp, dсu. Файлы с текстами модулей имеют расширения pas. Откомпилированный файл машинного кода получает расширение dсu. Файл с расширением dfm создается на диске после сохранения модуля. В нем сохраняются все свойства компонентов окна. Файл с расширением ddp сохраняет сведения обо всех диаграммах окна. Среди указанных файлов модулей файлы с расширениями dfm и pasявляются для проекта наиболее важными. Ниже представлены значки файлов модуля с именем UnUrok1 и представленными выше расширениями.

Рис. 2.2.5. Пиктограммы файлов модуля


Структура программ







Последнее изменение этой страницы: 2016-04-08; Нарушение авторского права страницы

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