Лекция № 1

Тема: «Знакомство со средой разработки Delphi. Работа с проектами»

 

План

1. Сведения о визуальном программировании

2. Обзор языка Object Pascal

3. Структура проекта в Delphi, основные файлы проектов

4. Работа спроектами в Delphi

5. Работа в ИСР Delphi и основные настройки

 

1. Сведения о визуальное программирование

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

Выход из этой ситуации был найден благодаря двум подходам. Первый из них - стандартизация многих функций интерфейса, благодаря чему появилась возможность использовать библиотеки, имеющиеся, например, в Windows. В частности, появился API Windows - интерфейс, в котором описано множество функций, причем от версии к версии набор функций расширяется, внутренний описание функций совершенствуется, но формы вызова функций не меняются. В итоге, при изменении стиля графического интерфейса (например, при переходе от Windows 3.x к Windows 95, а затем к Windows 2000) приложения смогли автоматически приспосабливаться к новой системе без какого-либо перепрограммирования. В результате появились прекрасные условия для развития одной из важнейших задач совершенствования техники программирования - повторного использования кодов. Однажды разработаны вами формы, компоненты, функции могли быть впоследствии неоднократно использованы вами или другими программистами для решения других задач. Каждый программист получил доступ к наработкам других программистов и к огромным библиотекам, созданным различными фирмами. Причем была обеспечена совместимость программного обеспечения, разработанного на различных алгоритмических языках.

Вторым революционным шагом, кардинально облегчившим жизнь программистов, оказалось появление визуального программирования, возникшее в Visual Basic и нашедшее блестящее воплощение в Delphi и C ++ Builder фирмы Borland.

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

Вы работаете в интегрированной среды разработки (ИСР или Integrated development environment - IDE) Delphi. Среда предоставляет вам формы (в приложении их может быть несколько), на которых размещаются компоненты. Обычно это оконная форма, хотя могут быть и невидимые формы. На форму с помощью мыши переносятся и размещаются пиктограммы компонентов, имеющиеся в библиотеках Delphi. С помощью простых манипуляций можно изменить размеры и расположение этих компонентов. При этом вы все время в процессе проектирования видите результат - изображение формы и расположенные на ней компоненты. Вам не надо мучиться, многократно запуская приложение и выбирая наиболее удачные размеры окна и компонентов. Результаты проектирования вы видите, даже не компилируя программу,

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

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

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

 

2. Обзор языка Object Pascal

Язык Object Pascal требует, чтобы все используемые в тексте программы переменные были предварительно описаны в специальном разделе описания переменных, который начинается с ключевого слова VAR.

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

Типы переменных в Object Pascal разделяют на несколько групп.

  Целые типы данных

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

 

Тип Диапазон значений Требования к памяти в байтах Знаковый
(может хранить отрицательные числа)
Byte 0 - 255 1 Нет
Word 0 - 65535 2 Нет
Longword 0 - 4294967295 4 Нет
Shortint (-128) - 127 1 так
Smallint ( 32768) -  32767 2 так
Cardinal 0 - 4294967295 4 Нет
Integer (-2147483648) - (2147483647) 4 так
Longlnt (-2147483648) -  2147483647 4 так

 

Родовым типом ( обеспечивающим максимальную производительность) среди перечисленных является Integer и Cardinal. Арифметические операции над целыми числами возвращают тип Integer.

 

Действительные типы данных

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

Тип Диапазон значений Число значимых
разрядов
Требования к памяти
в байтах
Real48 ± 2.9 * 10-39 -  ± 1.7 * 1038 11-12 6
Real ± 5.0 * 10-324 -  ± 1.7 * 10308 15-16 8
Single ± 1.5 * 10-45 -  ± 3.4 * 1038 7-8 4
Double ± 5.0 * 10-324 -  ± 1.7 * 10308 15-16 8
Extended ± 3.6 * 10-4932 -  ± 1.1 * 104392 19-20 10
Comp - 263 - 262 19-20 8
Currency - 922337203685477.5808 - 922337203685477.5807 19-20 8

 

Родовым (обеспечивающим максимальную производительность) является тип Real. Наименьшую производительность обеспечивает тип Real48, который сохраняется только для обратной совместимости с более ранними версиями языка.

Тип Extended имеет максимальную точность, но могут возникать проблемы с его переносимостью на другие платформы.

Тип Comp является целым, а не действительным числом. Этот тип оставлен только для обратной совместимости с более ранними версиями языка, поскольку его возможности перекрываются целым типом Int64.

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

 

Символьные типы данных

Символьные типы предназначены для хранения одного символа. Ниже приведена таблица символьных типов. Наличие двух разных типов - Char и WideChar связано с двумя различными множествами символов: ANSI, каждый символ которого занимает 1 байт, и Unicode, каждый символ которого занимает 2 байта. Первые 256 символов в этих множествах одинаковы и соответствуют символам ASCII от 0 до 255.

Тип Размер в байтах Что может хранить
Char 1 Один символа ANSI
WideChar 2 Один символ Unicode

Родовым является тип Char.

 

Строчные типы

Строки представляют собой последовательность символов. Ниже приведена таблица типов строк.

 

Тип строки Максимальная длина Используется для
String или 255, или до ~ 2 Гб символов ANSI или Unicode
WideString - 230 (~ 1 Гб) символов Unicode, в серверах СОМ и интерфейсах

 

Родовым является тип String.

 

Математические функции Object Pascal

Для выполнения расчетов в Object Pascal есть стандартные функции. Все эти функции описаны в модуле Math.tpu. Для использования функций необходимо подключить модуль Math в разделе Uses.  

 

Функция Описание
Abs (X) модуль числа
Ceil (X) округления до наименьшего целого
Exp (X) экспонента
Floor (X) округление до наибольшего целого
Frac (X) дробная часть аргумента
Inrange (Avalue, Amin, Amax) определяет, лежит Avalue в диапазоне Amin - Amax
Int (X) целая часть аргумента
Ln (X) натуральный логарифм от X
Log10 (X) десятичный логарифм от X
Logn (N, X) логарифм от X по основанию N
Max (A, B) максимум двух чисел
Min (A, B) минимум двух чисел
Pi число Пи: 3.1415926535897932385
Power (X, Y) возведения X в произвольную степень Y
Roundto (X, Adigit) округления X в Adigit цифр
Sqr (X) квадрат аргумента
Sqrt (X) квадратный корень
Trunc (X) возвращает целую часть действительного выражения

 

Тригонометрические и гиперболические функции

 
Функция Описание
Arccos (X) арккосинус
АrсСоshХ) арккосинус гиперболический
Arcsin (X) арксинус
Arcsinh (X) арксинус гиперболический
Arctan (X) арктангенс
Arctanh (X) арктангенс гиперболический
Cos (X) косинус
Cosh (X) косинус гиперболический
Cotan (X) котангенс
Sin (X) синус
Sinh (X) синус гиперболический
Tan (X) тангенс
Tanh (X) тангенс гиперболический

 

Структура программы на Object Pascal

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

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

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

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

Не перегружайте главную программу приложения никаким дополнительным кодом.

 

Область видимости переменных

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

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

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

В модульном программирования существует понятие «области видимости переменных». Оно означает, что в зависимости от того, в каком месте описана переменная, она может быть «видима» различным элементам программы:

- переменная, описанная внутри подпрограммы, доступна только в коде этой подпрограммы;

- переменная, описанная внутри модуля в разделе Interface, доступна в коде любой подпрограммы любого модуля проекта.

 

3. Структура проекта в Delphi, основные файлы проектов

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

Когда вы проектируете ваше приложение, Delphi создает следующие файлы:

 

Файл проекта (.dpr)

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

Файл модуля (.pas)

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

Файл формы (.dfm)

Это двоичный или текстовый файл, который создается Delphi для хранения информации о вашей форме. Каждому файлу формы соответсвтует файл модуля (.pas).

Файл параметров
проекта (.dfo)

В этом файле хранятся установки параметров проекта.

Файл ресурсов (.res)

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

Файлы резервных копий
(.~dp, .~df, ~pa)

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

 

Следующая группа файлов создается компилятором:

 

Исполняемый файл (.ехе)

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

Объектный файл
модуля (.dcu)

Это откомпилированный файл модуля (.pas), который компонуется в окончательный исполняемый файл.

 

И, наконец, другие файлы Windows, которые могут использоваться Delphi:

 

Файлы справки (.hlp .chm)

Это стандартные файлы справок Windows, которые могут быть использованы вашим приложением Delphi.

Файлы изображений или графические файлы (.wmf, .bmр, .ico)

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

 

Главной частью вашего приложения есть файл проекта (.dpr), содержащий код на языке Object Pascal, с которого начинается выполнение вашей программы и который обеспечивает инициализацию других модулей. В большинстве случаев вы можете создать законченное приложение Delphi, так и не взглянув на этот файл. Он создается и модифицируется Delphi автоматически в процессе вашей разработки приложения. Имя, которое вы даете файлу проекта, когда сохраняете его, становится именем исполняемого файла.

Все изменения файла проекта при добавлении новых форм, изменении имен форм и т.п. поддерживаются Delphi автоматически. Если вам необходимо посмотреть исходный файл проекта, надо выполнить команду Project – View Source. Но конечно это вам не нужно. Не надо без особой надобности менять файл проекта. Это может привести к несогласованности используемых имен и к другим неприятностям.

 

 4. Работа с проектами в Delphi

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

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

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

 Создание нового проекта

Начать новый проект можно несколькими способами. На странице приветствия нажать на ссылку New Project. Также можно выполнить команду File – New – VCL Form Application. Еще один путь – команды File – New – Other. При выборе этой команды открывается окно New Items (новые элементы).

Это окно является витриной Депозитария объектов (Object Repository) – хранилища образцов компонентов, форм, фреймов и проектов. Вы можете и сами создавать какие-то свои формы, компоненты, фреймы, проекты и включать их в Депозитарий.

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

 

Сохранение проекта, его повторное открытие

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

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

Сохранить проект можно командой File – Save All. Удобно также использовать соответствующую быструю кнопку. При первом сохранении Delphi спросит у вас имя файла модуля, а затем – имя файла проекта. Надо иметь в виду, что Delphi не допускает одинаковых имен модулей и проектов. Имена файлов должны быть разными. Всегда при сохранении проектов и модулей задавайте осмысленные имена файлов.

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

Во-вторых, имя файла модуля будет и именем самого модуля. В проекте с одним модулем имя Unit1, возможно, не так уж и страшно. Но если у вас в проекте будет несколько модулей, то вряд ли вам будет удобно все время помнить, что такое Unit1, а что такое Unit5. Кроме того, представьте себе, что вы на время прекратили работу над своими проектами, а затем снова ее возобновили. Или сопровождение ваших проектов осуществляется не вами, а кем-то другим. Вы уверены, что легко будет разобраться в многочисленных Project1 и Unit1 непонятного назначения?

При разработке простых прототипов проектов удобно задавать имена файлов проектов и модулей одинаковыми, различая их только префиксом «Р» или «U» соответственно. Например, файл проекта – Peditor1, файл модуля – Ueditor1. Это упрощает понимание того, какие файлы к какому варианту проекта относятся, поскольку на начальных стадиях проектирования у вас может появиться несколько альтернативных вариантов одного и того же проекта.

Итак, рекомендации по созданию нового проекта сводятся к следующему:

• создайте новый каталог для своего нового проекта;

• создайте новый проект командой File – New – VCL Form Application;

• сразу сохраните проект и файл модуля командой File – Save All.

В последующих сеансах работы вы можете открыть сохраненный проект командой File – Open Project. Но если вы работали с проектом недавно, то намного удобнее открыть его командой File – Reopen. А еще удобнее воспользоваться стрелочкой рядом с подходящей для этой команды быстрой кнопкой. В обоих случаях открывается окно, в котором вы легко найдете несколько проектов, с которыми работали в последнее время, а также ряд файлов, с которыми вы работали.

 

 Задание учетной информации проекта

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

• разработать для вашего проекта файл справки;

• задать учетную информацию о версии вашего программного продукта;

• продумать вопрос об установке приложения на компьютерах пользователей. Возможно, что для этого нужно создать специальную программу установки;

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

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

Для задания или просмотра этой информации надо выполнить команду Project – Options и в открывшемся окне, перейти на страницу Version Info. Указанная на этой странице информация заносится в исполняемый файл и становится доступна пользователю, когда он, работая в Windows, щелкает правой кнопкой мыши на пиктограмме вашего приложения и выбирает команду Свойства. Тогда в диалоговом окне на странице Версия пользователь может видеть информацию о вашем приложении.

Основная опция страницы Version Info окна опций проекта – Include version information. Если она не установлена, то все окна страницы доступны только для чтения. Это позволяет просто посмотреть информацию о версии вашего прошлого приложения, если, конечно, вы позаботились о том, чтобы ввести ее в приложение. Если же вы установите опцию Include version information, то все окна страницы станут доступны для ввода информации.

Окна группы Module Version Number позволяют вам задать номер версии, состоящий из четырех цифр, разделенных точками. Например, 2.3.1.0. Этот номер пользователь видит в верхней части окна. Индикатор Auto-increment build number позволяет автоматизировать смену последней из этих цифр. Если вы включили этот индикатор, последняя цифра будет увеличиваться на единицу каждый раз, когда вы будете выполнять команду Project – Build All. При других командах компиляции цифра меняться не будет.

Группа индикаторов Module Attributes указывает назначения версии. Эти индикаторы можно заполнять для себя в чисто информационных целях, например Debug Build – отладка, Pre-Release – версия не для коммерческого использования, DLL – проект DLL, Special Build – версия получена в стандартном режиме компиляции, Private Build – версия построена не в стандартном режиме компиляции.

Окно Language указывает кодовую страницу системы пользователя, которая нужна для запуска приложения, то есть указывает язык. Окно Language заполняется автоматически в зависимости от установленной в системе кодовой страницы.

Список Key/Value включает в себя стандартные сведения о программном обеспечении: CompanyName (Производитель), FileDescription (Описание), FileVersion (Версия продукта), InternalName (Внутреннее имя), LegalCopyright (Авторские права), LegalTrademarks (Товарные знаки), OriginalFilename (Исходное имя файла), ProductName (Название продукта), ProductVersion (Версия продукта), Comments (Комментарий). Перемещая курсор в этом окне, пользователь может читать то, что вы занесли в список Key/Value. Вообще говоря, для коммерческого продукта все строки списка, кроме LegalCopyright, LegalTrademarks и Comments, должны заполняться, а эти три строки могут заполняться при необходимости.

 

5. Работа в ИСР Delphi и основные настройки

Интегрированная среда разработки (Integrated Development Environment – IDE, в дальнейшем мы будем использовать для нее аббревиатуру ИСР) это среда, в которой есть все необходимое для проектирования, запуска и тестирования приложени, и где все нацелено на облегчение процесса создания программ. ИСР интегрирует в себе редактор кодов, отладчик, инструментальные панели, редактор изображений, инструментарий баз данных – все, с чем приходится работать. Эта интеграция предоставляет разработчику гармоничный набор инструментов, дополняющих друг друга. Более того, как вы увидите в дальнейшем, вам предоставлена возможность расширять меню ИСР, включая в него необходимые вам дополнительные программы, в том числе и собственные. Результатом является удобная для вас среда быстрой разработки сложных приложений.

Запустите Delphi, выбрав пиктограмму Delphi в разделе меню Windows Пуск – Программы. Когда вы нажмете на пиктограмму Delphi, перед вами откроется основное окно интегрированной среды разработки. В общем, окна всех версий Delphi достаточно похожи.

В верхней части окна ИСР вы видите полосу главного меню. Ее состав немного отличается от версии к версии и, кроме того, зависит от варианта Delphi, с которым вы работаете.

Ниже полосы главного меню расположены инструментальные панели, которые содержат наборы быстрых кнопок, дублирующих некоторые наиболее часто используемые команды меню.

В основном поле окна вы можете видеть слева два окна: сверху – Дерево Объектов (Structure), под ним – Инспектор Объектов (Object Inspector). Окно Дерево Объектов будет отображать иерархическую связь визуальных и невизуальных компонентов и объектов вашего приложения. А Инспектор Объектов – это основной инструмент, с помощью которого вы в дальнейшем будете задавать свойства компонентов и обработчики событий.

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

Справа вверху находится окно для отображения всех файлов, входящих  в проект (File). Под ним находится окно с перечнем всех компонентов, которые можно размещать на формах при создании приложений (Tool Palete).

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

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

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

Есть и другой способ поместить компонент на форму – достаточно сделать двойной щелчок на пиктограмме компонента, и он автоматически разместится в центре вашей формы. Если вы выбрали компонент, а затем изменили ваше намерение размещать его, вам достаточно нажать кнопку указателя. Это прервет процесс размещения компонента, и программа вернется в нормальный режим, в котором вы можете выбрать другой компонент или выполнять какую-то команду.

 

Окно формы

Основой почти всех приложений Delphi является форма. Ее можно понимать как типичное окно Windows, на котором размещаются другие компоненты.

Форма имеет свойства, присущие другим окнам Windows. Она имеет управляющее меню в верхнем левом углу, полосу заголовка, занимает верхнюю часть, кнопки развертывания, свертывания и закрытия окна в верхнем правом углу. Можно изменить вид окна, убрав из него какие-то кнопки или всю полосу заголовка, сделав его окном с неизменяемыми размерами и т.п.

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

В некоторых случаях при разработке какого-то модуля форма может оказаться вообще ненужной. Но обычно вся работа в Delphi проводится именно на форме.

Когда вы поместили на форме какие-то компоненты, вы можете получить по ним контекстную справку. Для этого выделите компонент и нажмите F1. При нажатии на самой форме и нажатии клавиши F1, вам будет показана справка по классу формы.

 

Окно Редактора Кода

Одной из наиболее важных частей среды Delphi является окно Редактора кода.

В редакторе применяется выделением цветом и шрифтом синтаксических элементов. Жирным шрифтом выделяются ключевые слова Object Pascal. Синим курсивом выделяются комментарии.

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

В окно Редактора Кода, как и в другие окна Delphi, встроенная контекстная справка. Чтобы получить справку по нужному слову кода (ключевому слову, написанному имени функции и т.п.), достаточно установить курсор на слово и нажать клавишу F1. Вам будет показана соответствующая тема справки Delphi.

 

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

Инспектор Объектов (Object Inspector) обеспечивает простой и удобный интерфейс для изменения свойств объектов Delphi и управления событиями, на которые реагирует объект.

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

Страница свойств (Properties) Инспектора Объектов показывает свойства того объекта, который выделен вами. Щелкните на окне пустой формы, и на странице свойств Инспектора Объектов вы сможете увидеть свойства формы. Вы можете изменять эти свойства.

Страница событий (Events) составляет вторую часть Инспектора Объектов. На ней указаны все события, на которые может реагировать выбранный объект. Для написания обработчика нужного события щелкните два раза справа от названия события. Откроется окно редактора кода с заготовкой процедуры, в которой нужно ввести код обработчика.

Пользуясь Инспектором объектов, вы можете получить контекстную справку по свойствам или событиям. Для этого выделите в окне Инспектора Объектов свойство или событие и нажмите клавишу F1.

 

Вопросы для самоконтроля

1. В чем проявлялся кризис разработки графического интерфейса? Как он был решен?

2. Какие целые и вещественные типы данных Object Pascal вы знаете? Дайте их характеристику.

3. Какие символьные и срочные типы Object Pascal вы знаете? Приведите 10 любых математических функций Object Pascal.

4. Опишите основные принципы построения программ в Delphi. Что означает область видимости переменных? Какие виды переменные с точки зрения области видимости вы знаете? Как их описать?

5. Какие типы файлов могут использоваться в проектах Delphi? Приведите их расширения и дайте характеристику.

6. Опишите принципы создания нового проекта, сохранения проекта. Какие способы открытия проекта вы знаете?

7. Что такое учетная информация проекта? Как ее настроить? Для чего нужна палитра компонентов Delphi? Как ее можно настроить?