Среда разработки и язык программирования Delphi, его графические средства. Среда Delphi и простейшее приложение

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

Состав Delphi и требования к системе

Прежде, чем приступать к работе с какой-либо программой, было бы полезно ознакомиться с ее требованиями к компьютеру. Разумеется, требования у разных версий Delphi разнятся, постепенно повышаясь от версии к версии. В частности, в рассматриваемой нами Delphi 7 рекомендуется процессор не ниже Pentium II и не менее 256 Мбайт оперативной памяти. Более ранние версии требовали меньший объем памяти, однако для комфортной работы я в любом случае рекомендовал бы не менее 256 Мбайт, а для Delphi 7 и выше, да еще и под управлением ОС Windows XP, не помешало бы иметь 512 Мбайт ОЗУ.

Что касается требований к операционной системе, то хотя формально Delphi может работать на любой 32-разрядной версии Windows, я бы настоятельно рекомендовал использовать Windows из линии NT, т.е. Windows 2000 или XP. Дело в том, что Windows 9x, из-за своего 16-разрядного наследия, имеет серьезные ограничения на количество доступных системных ресурсов, вне зависимости от того, насколько мощный ПК вы используете. Кроме того, Windows 9x не может эффективно задействовать даже относительно большие - свыше 128 Мбайт - объемы оперативной памяти. Я уже не говорю о том, что в Windows 9x не поддерживаются ни многопоточность, ни набирающие в последнее время популярность двуядерные процессоры, а производители аппаратных компонентов ПК давно уже забросили оптимизацию драйверов для данного семейства ОС. Результатом всего этого является низкая производительность на современных компьютерах и вполне ощутимый риск "повесить" систему в процессе работы над сложным и ресурсоемким приложением.

Еще один важный вопрос - это монитор. Опять-таки, формально достаточно любого SVGA-монитора. Но работать в среде Delphi при разрешении экрана ниже, чем 1024 на 768 точек, крайне затруднительно: учтите, что вам постоянно надо видеть как элементы управления самой Delphi, так и собственное (разрабатываемое) приложение. Для комфортной работы я бы рекомендовал качественный 19" монитор с рабочим разрешением 1280 на 1024 точки. Причем, если это будет обычный монитор на ЭЛТ (или даже ЖК, но с аналоговым подключением), то вам понадобится еще и качественная видеокарта, способная обеспечить кристально четкую, без "замыливания" картинку. Для ЭЛТ-мониторов также важно обеспечивать поддержку указанного разрешения при частоте регенерации изображения не ниже 85 Гц.

ПРИМЕЧАНИЕ
Помните, что программирование - это напряженная работа с текстом. И если ваша связка "видеокарта-кабель-монитор" не может выдать четкий текст и (или) отсутствие видимого мерцания в нужном вам разрешении, то со временем вы рискуете испортить себе зрение.

Определившись с компьютером, перейдем к установке. В процессе установки про-грамма спросит вас, для каких версий тех или иных третьесторонних приложений следует устанавливать компоненты. Прежде всего, это версии MS Office, для одной из них вы сможете установить набор компонент, обеспечивающих взаимодействие между приложениями office и Delphi. Если вы устанавливаете старшую версию Del-phi (Client/Server, Enterprise, Architect), то вас спросят еще и о том, для каких версий баз данных следует установить компоненты. Наконец, в процессе установки, помимо самой Delphi будут установлено множество дополнительных программ, в основном, связанных с базами данных. Причем некоторые из них (например, сервер InterBase или виртуальная Java-машина) вообще устанавливаются отдельно, хотя и в процессе общего хода инсталляции.

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

  • Image editor - простой графический редактор для рисования иконок и курсоров. За время, прошедшее с момента последнего обновления (в 1996 году), морально устарел, но может пригодиться, если нет ничего другого;
  • WinSight - позволяет просматривать отладочную информацию в любых работающих приложениях;
  • BDE Administrator - позволяет настраивать базы данных;
  • Data Pump - позволяет переносить данных между БД;
  • Database Explorer или SQL Explorer - средство просмотра БД;
  • SQL Monitor (только старшие версии) - позволяет отслеживать обращения приложений к SQL-серверу.

Кроме того, в этой группе будет находиться подгруппа Help, а в ней, среди множества справочных файлов, - еще одна, с еще большим их количеством - MS SDK Help Files. Так вот, все эти файлы вам придется регулярно использовать, причем положение усугубляется не только их количеством и объемами, но и тем, что в русском варианте их не существует. Таким образом, знание английского языка будет вам хорошим подспорьем при изучении как Delphi, так и программирования вообще.

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

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

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

Интегрированная среда разработки Delphi (Delphi IDE) является многооконной системой. Она включает в себя все необходимое для быстрой разработки Windows-приложений, и может гибко настраиваться.

Тем не менее, как и всякая другая программа, Delphi имеет некоторый стандартный, предусмотренный разработчиками вид, в котором она предстает вам при первом запуске. В таком "стандартном" варианте среда Delphi имеет 6 окон (рис. 2.1). Это: главное окно (Delphi 7 - Project1), окно дерева объектов (Object TreeView), окно инспектора объектов (Object Inspector), окно конструктора форм (Form1), а так же совмещенное окно редактора кода и проводника кода (на заднем плане, под Form1). При этом окно проводника пристыковано к левому краю окна редактора. Впрочем, ничего не мешает отсоединить проводник от редактора, или, наоборот, состыковать все окна, кроме главного и конструктора форм, в одном окне, или объединить их по какому-либо иному принципу.

Рис. 2.1. Вид Delphi 7 IDE по умолчанию

К вопросу об удобстве следует отметить, что предлагаемая разработчиками компоновка годится, в принципе, для любого экранного разрешения. Но если у вас имеется возможность установить разрешение экрана в значение 1280 на 1024 точки, то вы можете скомпоновать все кнопки главного окна в одной строке, а все освободившееся внизу место выделить для палитры компонентов (рис. 2.2).

Рис. 2.2. "Оптимизированный" вид главного окна Delphi

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

  • Debug - отладка. Позволяет запустить программу (Run), приостановить ее выполнение (Pause), а так же выполнять построчное выполнение программы;
  • Standard - стандартные. Служит для таких операций, как сохранение, созда-ние, добавление и удаление файлов;
  • View - вид. Используется для быстрого нахождения форм и файлов проекта;
  • Desktops - рабочая среда. С помощью этих инструментов можно переклю-чаться между различными настройками рабочей среды Delphi;
  • Custom - произвольная. Изначально содержит одну-единственную кнопку - для вызова справки;
  • Component palette - палитра компонентов. Содержит все доступные для разработки приложений компоненты.

Отметим, что все инструментальные панели настраиваются: кнопки можно перемещать между панелями, добавлять на них новые, или же удалять. Для обычных панелей (Standard, View, Debug) это делается точно таким же образом, как во многих других современных Windows-приложениях (например, как в Word, т.е. при помощи окна настройки - Customize).

Что касается самой большой панели - палитры компонентов, то для ее настройки следует использовать специальное окном свойств палитры (рис. 2.3). Это окно доступно через пункт Configure Palette из меню Component. Однако учтите, что при настройке важно знать как предназначение компонент, так и понимать принципы их организации, поэтому максимум, что можно себе позволить для начала - это поменять местами группы, перетаскивая их в списке страниц (Pages).


Рис. 2.3. Настройка палитры компонентов требует знания VCL

ПРИМЕЧАНИЕ
Следует учитывать, что поскольку палитра компонентов является ничем иным, как визуальным представлением VCL, то ее вид и состав могут меняться в зависимости от того, какие модули подключены, устанавливались или нет дополнительные компоненты или их наборы, и т.д. В любом случае, в начале изучения Delphi, экспериментов в этой области лучше не производить.

Все компоненты сгруппированы по вкладкам, число и состав которых несколько разнятся в зависимости от версии и варианта поставки. Так, в Delphi 7 Enterprise имеется 33 вкладки, содержащие компоненты, принадлежащие к той или иной группе VCL (табл. 2.1).

Таблица 2.1. Страницы палитры компонент Delphi 7 Enterprise

Страница

Название

Описание

Стандартные

Основные элементы интерфейса приложений Windows (меню, кнопки, подписи и т.п.)

Дополнительные

Набор улучшенных элементов управления, имеющихся в VCL

32- разрядные Windows

Элементы интерфейса приложений, характерные для Windows 95 и последующих версий этой ОС

Системные

Элементы управления и доступа к системным 16 ункцииям Windows (таймер, OLE , DDE )

Доступ к данным

Стандартный набор компонент для доступа к БД

Элементы данных

Элементы пользовательского интерфейса для доступа к БД

Компоненты для доступа к БД при помощи SQL -драйвера dbExpres

Компоненты для взаимодействия с удаленный web -сервером через SOAP

Компоненты для взаимодействия с сервером через DCOM

Borland Database Engine

Компоненты для доступа к БД посредством BDE (классический вариант для простых БД)

Компоненты для взаимодействия с БД через ADO

Компоненты для прямого взаимодействия с БД InterBase

Администрирование InterBase

Компоненты для взаимодействия и управления сервером БД InterBase

Компоненты для взаимодействия с данными через XML

Компоненты для работы с данными через различные протоколы Интернета

Набор ActiveX -компонент для работы через Интернет

Набор компонент для обработки информации в БД

Стандартные и расширенные диалоговые окна

Компоненты пользовательского интерфейса, характерные для Windows 3.1

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

Несколько встраиваемых ActiveX- приложений

Rave Repo rts

Набор компонент для построения отчетов

Клиенты Indy

Набор компонент-клиентов для различных протоколов и служб Интернета

Серверы Indy

Набор компонент-серверов для различных протоколов и служб Интернета

Обработчики Indy

Набор компонент, позволяющих отлавливать сообщения от клиентов и серверов Indy

Indy i/o ha ndlers

Ввод-вывод Indy

Компоненты для отслеживания активности соединений других компонент Indy

Утилиты Indy

Набор вспомогательных компонент, полезных при разработке различных TCP -приложений

Содержит компонент, позволяющий создать управляющий сервер COM +

IW Standard , Data, Client Side, Control

Набор специальных кросс платформенных компонент для создания Web -приложений для любых Web -клиентов, включая КПК и смартфоны

MS Office Servers

Набор ActiveX -компонент для взаимодействия с приложениями Microsoft Office

Суммарно Delphi включает в себя сотни компонент, однако не стоит переживать по поводу огромного их количества: Delphi применяется во многих областях, и вряд ли хоть один разработчик в действительности использовал все доступные компоненты. Так что мы выделим наиболее полезные для нас группы, а именно: стандартные, дополнительные, 32-разрядные Windows, системные и диалоги. Этого набора будет более чем достаточно для начала изучения Delphi. Со временем мы ознакомимся так же с классическими компонентами для доступа к БД (Data Access и Data Controls), а так же с несколькими компонентами из богатой коллекции Indy. На этом введение в палитру компонент можно считать завершенным и перейти к дальнейшему ознакомления со средой, для чего перейдем к детальному исследованию главного окна, начав с его меню, которое состоит из 11 пунктов:

  • File - файл. Операции с файлами, вроде создать, открыть, сохранить;
  • Edit - правка. Операции редактирования, как стандартные для текстового процессора (отмена, копирование-вставка), так и специфические для редактирования разрабатываемых окон приложений (выравнивание, порядок со-здания и т.п.);
  • Search - поиск. Различные варианты поиска и замены;
  • View - вид. Переключение между различными окнами - как относящимися к IDE, так и к разрабатываемому приложению;
  • Project - проект. Все операции по работе с проектом, как то добавление и удаление файлов, настройки, сборка и компиляция;
  • Run - выполнить. Средства для отладки программ;
  • Component - компоненты. Средства для работы с компонентами, включая настройку палитры компонент;
  • Database - Данные. Некоторые средства для работы с БД;
  • Tools - сервис. Настройка параметров IDE, а так же вызов вспомогательных программ (Image editor и др.);
  • Windows - окно. Содержит список всех открытых в текущий момент окон и позволяет переключаться между ними (актуально, когда окон много и одни загораживают другие);
  • Help - справка.

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

Проекты в Delphi

Разработка приложений в Delphi означает работу с проектами. Иначе говоря, когда вы приступаете к разработке собственной программы в Delphi, первым делом создается проект - группа файлов, представляющих исходные данные (прежде всего, код) для приложения. Одни из этих файлов создаются во время разработки приложения (собственно программный код, включая файл проекта, и представленные в виде кода формы), другие же создаются автоматически при запуске программы. Таким образом, все файлы проекта подразделяются на следующие типы:

  • dpr - собственно файл проекта;
  • pas - модули приложения, содержащие код на Object Pascal;
  • dfm - модули приложения, содержащие информацию об окнах приложения;
  • res - файлы со встраиваемыми ресурсами приложения (например, иконками);
  • obj - файлы, содержащие готовый к компиляции объектный код;
  • cfg, dof, dsk - служебные файлы Delphi.

Основными составными частями проекта, помимо самого файла проекта (dpr), являются модули pas и dfm. При этом для каждого модуля окна (dfm) имеется собственный программный модуль (pas).

Чтобы лучше во всем этом разобраться, попробуем создать собственный проект в Delphi. Для этого достаточно запустить Delphi - в том случае, если вы не изменяли настроек, новый проект создастся автоматически. Но на всякий случай, мы все-таки создадим новый проект самостоятельно, для чего следует из меню File зайти в группу New и выбрать в ней пункт Application.

ВНИМАНИЕ
Чтобы постоянно не повторяться, в дальнейшем подобные последовательности действий мы будем обозначать следующим образом: File > New > Application.

В результате мы получим новый проект, полностью готовый к дальнейшему использованию (см. рис. 2.1). Более того, его уже на этом этапе можно выполнить! Для этого достаточно нажать на кнопку Run, находящуюся на панели инструментов отладки, или же выбрать пункт Run из одноименного меню (Run > Run), но лучше всего нажать на клавишу F9: для быстрой разработки приложений в среде Delphi знание хотя бы основных сочетаний "горячих клавиш" просто необходимо.

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


Рис. 2.4. Самое первое приложение в Дельфи

Теперь немного модернизируем свое приложение, заодно изучив еще одно важное окно среды Delphi - Object Inspector. Для этого вернитесь в рабочую среду Delphi, закрыв запущенное приложение, и щелкните по окну Form1, чтобы оно стало актив-ным. Это окно, как и любые другие окна, относящиеся непосредственно к разрабаты-ваемому приложению, называют формой. Теперь обратите внимание на окно инспек-тора объекта (рис. 2.5), по умолчанию оно расположено по левому краю экрана.


Рис. 2.5. Окно инспектора объектов

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

ПРИМЕЧАНИЕ
Все свойства объектов в Delphi, доступные для изменения, делятся на run-time (времени выполнения) и на design-time (времени разработки). При этом первые можно изменять только во время работы программы, а вторые доступны уже во время визуального редактирования.

Попробуем заменить значение одного из свойств. Наиболее безопасным будет изменение такого свойства, как Caption - оно отвечает за текст, находящийся в заголовке окна. Для изменения значения этого свойства, щелкните по строке с ним и вместо "Form1" введите какой-либо собственный текст, например, "Мое первое приложение в Delphi". В данном случае вы сразу же увидите результат своей работы: заголовок окна формы изменится на новый.

Некоторые свойства меняются не путем непосредственного ввода значений, а путем выбора одного из заранее предусмотренных. В простейшем случае это может быть выбор ложь-истина (False или True), включающим или отключающим ту или иную опцию. Иногда списки бывают гораздо более объемными. Например, для выбора цвета предлагается множество цветов, включая системные. Например, свойство Color имеет в нашем случае значение clBtnFace, что означает цвет кнопки, установленный в настройках Windows. Мы можем изменить его на любой другой цвет, как системный (например, clCaptionText - цвет текста заголовка окна), так и на явный, например, clWhite (белый).

Можно заметить, что некоторые из свойств отмечены значком "+". Это означает, что такое свойство является составным, и если щелкнуть по значку, то раскроются строки, содержащие отдельные параметры. Например, можно раскрыть таким образом свойство BorderIcons и поменять значение параметра biMinimize с True на False. Тем самым мы изменим значение свойства, отвечающего за системные элементы управления окна таким образом, что функция разворачивания окна на весь экран будет недоступной.

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

Ну а пока что сведем воедино все измененные нами свойства формы Form1:

Caption: Мое первое приложение в Delphi Color: clWhite BorderIcons:

Последнее свойство - составное и такое его значение получается в результате установки таких его составляющих, как biSystemMenu и biMinimize в True, а biMaximize и biHelp - в False.

Часть из сделанных изменений - цвет окна и его заголовок - видна сразу же, в рабочей среде Delphi, т.е. на этапе разработки. А вот изменения в системных кнопках, хотя и могут быть сделаны на данном этапе, визуально себя не проявляют. Поэтому, чтобы увидеть сразу все произошедшие изменения, запустим приложение на выполнение, нажав клавишу F9, и вы увидите, что не только цвет и заголовок окна изменились, но и кнопка "развернуть" стала неактивной (рис. 2.6).


Рис. 2.6. Первое приложение после небольшой доработки

Таким образом, мы ознакомились с Object Inspector - одним из наиболее важных окон рабочей среды Delphi. Ну а чтобы завершить тему введения в проекты, попробуем сохранить наш проект на диске. Пусть это будет папка Project1, а сам проект мы назовем first. Для этого откройте диалог сохранения проекта (File Save project as) и выберите в нем нужную папку.

СОВЕТ
По умолчанию Delphi предлагает складывать все проекты в недра своей собственно директории в Program Files. Но было бы гораздо лучше, если бы вы создали папку в другом, легко доступном месте, и назвали ее понятным для себя названием. Например, это может быть папка Work на диске C:.

А теперь внимание! Если вы сохраняете проект в первый раз, то Delphi предложит вам сначала сохранить не файл проекта, а все несохраненные рабочие файлы. В данном случае это будет программный файл формы. По умолчанию Delphi предложит назвать его unit1.pas, но лучше сразу взять за правило давать осмысленные имена все рабочим файлам. В частности, раз это окно - главное (и единственное) в нашем приложении, то назовем его файл main.pas. Таким образом будут сохранено сразу 2 файла - программный pas и файл формы dfm.

ВНИМАНИЕ
Имена любых файлов проекта должны состоять только из латинских букв и цифр, при этом начинаться должны с буквы. Также в них недопустимы пробелы и любые специсмволы, кроме знака подчеркивания.

Только после сохранения всех составных частей, будет предложено сохранить собственно файл проекта. Назовем его "first". После сохранения можно, наконец-то скомпилировать исполняемый файл, нажав Ctrl+F9 (или Project Make), закрыть Delphi и посмотреть, что мы имеем в папке Project1. А в ней, как и было обещано, будет файл main.pas - программный код для формы, main.dfm - описание формы, first.dpr - сам проект, first.res - файл ресурсов проекта, main.dcu - подготовленный к компиляции модуль, и, разумеется, first.exe - исполняемый файл готового приложения. Так же вы обнаружите в нем все служебные файлы Delphi, в которых хранится дополнительная информация о проекте и настройках рабочей среды для него - файлы first.cfg, first.dof и first.dsk.

Чтобы теперь вернуться к работе над этим проектом, достаточно дважды щелкнуть по файлу first.dpr, в результате будет загружена и Delphi IDE, и этот проект в нее.

Типы проектов и депозитарий

Только что мы рассмотрели создание наиболее распространенного типа проекта - приложения Windows со стандартным графическим интерфейсом. Но на самом деле, возможности Delphi этим не ограничены, вы можете создавать приложения самого разнообразного характера, включая консольные (для текстового режима Windows), динамически подключаемые библиотеки (DLL), сервисы для Windows NT/2000/XP, межплатформенные приложения CLX (Delphi 6,7) или приложения для платформы Microsoft .NET (Delphi 8, 2005). Чтобы создать приложение определенного типа, следует из подменю File New выбрать пункт Other. Таким образом, откроется окно, позволяющее выбрать тип нового приложения или добавить какой-либо специфический модуль к существующему проекту (рис. 2.7).


Рис. 2.7. Выбор нового приложения или модуля в Delphi 7

Выбор вариантов тут весьма обширен, причем, помимо типовых модулей и классов приложений, присутствуют различные мастера, позволяющие упростить процесс создания того или иного модуля (Wizards), а так же специализированные стандартные формы вроде диалоговых окон или окна "О программе". Рассмотрим некоторые из них подробнее, для чего пройдемся по отдельным закладкам окна New Items.

Начнем с закладки New. На ней представлены наиболее часто востребованные, по мнению разработчиков, варианты. И действительно, тут можно найти стандартное графическое Windows-приложение (Application), форму (Form), программный модуль (Unit), текстовое приложение командной строки (Console Application), и другие варианты, как-то Data Module (полезен для разработки баз данных), DLL Wizard, Component и т.д.

На закладках Forms и Dialogs моно найти ряд стандартных диалоговых окон и даже мастер по разработке диалогового окна.

Закладка Projects дает возможность начать проект того или иного типа, или даже воспользоваться мастером для создания многооконного приложения.

Чтобы создать элемент управления ActiveX или приложение для COM+, следует обратиться к шаблонам на закладке ActiveX. Ну а прочие закладки, в том числе IntraWeb, WebSnap и т.д., позволяют создавать специализированные приложения соответствующего типа или модули к ним. Их количество и названия зависят от версии Delphi и варианта поставки.

Но на самом деле, данное окно, по большому счету, подобно палитре компонент, с тем лишь исключением, что если палитра компонент являет собой представление VCL, то окно New Items - во многом является отображением депозитария (Object Repository). В депозитарии хранятся заготовки форм и иных модулей, которые вы можете многократно использовать в своих проектах. При этом для того, чтобы поместить форму в депозитарий, достаточно воспользоваться ее контекстным меню и выбрать в нем пункт Add to Repository.

Прочие средства IDE

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

Применительно ко всем современным версиям Delphi, редактор кода имеет все стандартные возможности редактирования текста (вроде работы с буфером обмена), а так же ряд особенностей, характерных для редакторов кода, а именно:

  1. Редактор всегда работает с моноширинным шрифтом (т.е. все буквы имеют одинаковую ширину). Это необходимо, поскольку в противном случае было бы тяжело ориентироваться в коде программы;
  2. Моноширинный режим позволяет использовать такой метод, как колоночную разбивку. Иначе говоря, копировать и перемещать можно не только отдельные слова или строки, но и вырезать, копировать и вставлять прямоугольные фрагменты текста;
  3. Редактор постоянно отображает позицию курсора, т.е. в какой строке и колонке находится точка ввода;
  4. Отсутствие автоматического переноса строк. Поскольку в программировании каждый символ, включая обрыв строки, что-то значит, то чтобы программисты не гадали, где в коде конец строки, а где автоматический перенос, такого режима правки нет в принципе. К тому же это мешало бы ориентироваться в номерах строк;
  5. Подсветка синтаксиса выделяет ключевые слова и прочие специфические языковые конструкции;
  6. При перемещении по тексту стрелкой вправо по окончании текста в строке, курсор не переносится на сроку вниз, а продолжает перемещаться дальше;
  7. Вы можете устанавливать закладки, т.е. помечать место в тексте при помощи сочетания горячих клавиш и быстро перемещаться между ними;
  8. Также предусмотрены такие функции, как автоподстановка кода по ключевым фразам, автозавершение кода и т.д.

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

Что касается внешнего вида окна редактора, то в нем, при стандартных параметрах IDE, помимо области редактора кода имеется еще и проводник кода, упрощающего процесс навигации по файлу (рис. 2.8).


Рис. 2.8. Окно редактора кода с проводником и загруженным файлом новой формы

Обратите внимание на то, что весь программный код файла main.pas, показанный в этом окне, был создан автоматически, равно как и код для файла проекта - first.dpr. Иначе говоря, всю работу по созданию базовых блоков приложения интегрированная среда Delphi делает за вас.

Завершая тему окна редактора, отметим, что для того, чтобы загрузить в него какой-либо произвольный файл, следует воспользоваться главным меню (File Open). При открытии проекта файлы открытых форм загружаются в него автоматически, а чтобы загрузить в него иные файл проекта, используйте кнопку View Unit (сочетание горячих клавиш - Ctrl+F12) на инструментальной панели View. Если же требуется загрузить как исходный код, так и саму форму, то воспользуйтесь находящейся по соседству кнопкой View Form (Shift+F12).

Ну и последнее не рассмотренное нами окно - Object TreeView, или окно дерева объектов, служит для просмотра иерархии элементов управления (кнопок, переключателей и т.п.) относительно формы. Т.е., если проводник кода упрощает процесс поиска того или иного компонента в исходном коде программы, то дерево объектов поможет быстрее сориентироваться в элементах, находящихся на форме.

Создание приложения командной строки

Итак, мы уже ознакомились со всеми основными функциями IDE Delphi, и даже создали простейшее приложение для Windows. Однако целью данной части книги является все-таки изучения основы основ - языка Object Pascal. Поэтому для того, чтобы не отвлекаться по ходу его изучения на второстепенные (по отношению к самим языковым конструкциям) детали, рассмотрим вариант создания консольного приложения, т.е. фактически, программы для DOS. Не стоит думать, что это будет шагом назад, или что это давно морально устарело. На самом деле, абсолютно все правила языка действуют совершенно одинаково для любых программ, будь они под DOS, Windows, .NET, или Linux. Вместе с тем, отсутствие необходимости в параллельном изучении специфических для конкретной платформы особенностей (а уж тем более - в параллельном изучении такой обширной библиотеки, как VCL!) существенно упростит нашу задачу. Более того, консольные приложения в типичном случае могут состоять всего лишь из одного единственного файла, что так же упрощает понимание предмета изучения, коим на настоящий момент является сам язык программирования. Ну а после того, как будет выучен язык, применить его для создания полноценных Windows-приложений не составит труда, да и изучение VCL станет легче ввиду того, что будет ясно, что, как и почему в ней устроено.

После такого небольшого отступления, приступим к созданию первого консольного приложения в среде Delphi. Для этого откройте окно New Items (File New Other) и на закладке New дважды щелкните по значку Console Application. В результате откроется окно редактора с загруженным в него проектом (листинг 2.1).

Листинг 2.1. Заготовка приложения командной строки

Program Project1; {$APPTYPE CONSOLE} uses SysUtils; begin { TODO -oUser -cConsole Main: Insert code here } end.

Первой строкой идет название программы, в данном случае это Project1, затем Delphi вставило для себя указание, что это - приложение для командной строки, после чего следует ключевое слово "uses" и перечисление необходимых дополнительных файлов (sysutils), ну и после этого, со слова begin начинается собственно тело программы. Завершается любая программа в Pascal ключевым словом end с точкой. Между ключевыми словами begin и end, в фигурных скобках, вставлен автоматический комментарий, не влияющий на выполнение программы, так что при желании можно его удалить.

А теперь самостоятельно напишем первую программу в Delphi! По традиции, она у нас будет выводить фразу "Hello, World!". Для этого на том месте, где находился комментарий, напишем одну строчку кода:

Write(Hello, World!);

Все! Теперь можно сохранить и скомпилировать нашу программу. Для этого щелкните по кнопке Save или Save All на стандартной панели инструментов, в качестве пути к файлу укажите какой-либо каталог на вашем жестком диске (например, создайте папку HelloWorld на диске C:), а саму программу можно назвать hello. Таким образом, все наше приложение будет сохранено, а исходный код примет вид, показанный в листинге 2.2.

Листинг 2.2. Программа hello

Program hello; {$APPTYPE CONSOLE} uses SysUtils; begin write(Hello, World!); end.

Обратите внимание, что название изменилось автоматически. Теперь остается получить исполняемый (exe) файл, для чего скомпилируем программу, нажав Ctrl+F9. Теперь запустим программу. Поскольку она у нас рассчитана на режим командной строки, то для начала откроем командную строку (Пуск > Все программы > Стандартные > Командная строка в Windows XP, или Пуск > Программы > Стандартные > Сеанс MS-DOS в Windows 98). В командной строке вызовем нашу программу, не забыв указать полный путь к ней. Например, если вы сохранили проект в C:\HelloWorld, а саму программу назвали Hello, то и путь укажите соответствующий, т.е.:

C:\HelloWorld\hello.exe

Запустив программу (т.е. введя в командной строке путь и нажав Enter), вы сразу же увидите результат ее выполнения - она выведет фразу "Hello, World!", и завершится. Собственно говоря, именно по этой причине мы сначала открыли командную строку, а лишь затем запустили программу, поскольку непосредственный ее запуск (через Проводник Windows, или прямо из Delphi - по F9), привел бы к тому, что на экране просто мелькнул бы автоматически запущенный сеанс MS-DOS и сразу закрылся бы. Это объясняется тем, что программа завершает свою работу сразу после того, как будет достигнут ее конец, обозначенный как "end.", а это в нашем случае произойдет моментально после вывода текста. Но мы можем изменить такое ее поведение, добавив еще одну сроку кода непосредственно после "write(Hello, World!);", которая будет дожидаться момента, пока пользователь не нажмет клавишу Enter. Выглядеть она будет так:

Теперь можно запустить наше приложение прямо из среды Delphi, нажав F9. В результате можно будет наблюдать надпись "Hello, World!" на фоне черного окна автоматически запущенного сеанса консоли командной строки до тех пор, пока вы не нажмете Enter.

Исходный код программы вы найдете в папке Demo\Part1\HelloWorld на прилагаемом компакт-диске (или в архиве

Лекция № 2.

Тема: IDE Delphi.

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

Меню Delphi ............................................................................................................................

Раздел меню Project ...................................................................................................................

Раздел меню Run........................................................................................................................

Раздел меню Component............................................................................................................

Раздел меню Database................................................................................................................

Раздел меню Tools .....................................................................................................................

Раздел меню Help.......................................................................................................................

Некоторые настройки компилятора Delphi..........................................................................

Десять важнейших функций графической среды разработки Delphi................................

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

На рис.1 показан общий вид интегрированной среды разработки (IDE) Delphi. На этом рисунке отмечены все основные компоненты среды разработки: главное окно, палитра компонентов, панели инструментов, окно конструктора форм, окно редактора кода, окно инспектора объектов и окно Code Explorer.

Главное окно

Главное окно можно представить как управляющий центр Delphi IDE. В нем содержатся все стандартные элементы и сохранена функциональность других окон Windows. Оно состоит из трех основных частей: главного меню, панелей инструментов и палитры компонентов (Component Palette).

Главное меню

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

Панели инструментов Delphi

Панели инструментов предоставляют доступ к различным функциям главного меню IDE с помощью единственного щелчка на соответствующей кнопке. Обратите внимание, что для каждой кнопки панели инструментов предусмотрен вывод подсказки, содержащей описание ее назначения. Не считая палитры компонентов, в IDE Delphi имеется несколько отдельных панелей инструментов: Debug (Отладка), Desktop (Рабочий стол), Standard (Стандартная), View (Вид) и Custom (Пользовательская). На рис.1 показана конфигурация кнопок этих панелей, принимаемая по умолчанию. Однако любую из кнопок можно удалить или добавить с помощью команды View -> Toolbars - > Customize. Добавление новых кнопок осуществляется путем их перетаскивания из этого окна на любую панель инструментов. Для удаления кнопки достаточно перетащить ее за пределы панели инструментов.

Инспектор объектов Конструктор форм Окно Code Explorer

Редактор кода

Рис.1- Общий вид интегрированной среды разработки (IDE) Delphi

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

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

Палитра компонентов представляет собой панель инструментов удвоенной высоты, содержащей несколько вкладок, в которых находятся все установленные в среде IDE компоненты VCL и ActiveX. Порядок следования и вид вкладок и компонентов может быть настроен с помощью щелчка правой кнопкой мыши на интересующем объекте или посредством выбора в главном меню команды Component -> Configure Palette.

Конструктор форм Form Designer

При запуске конструктор форм представляет собой пустое окно, готовое к превращению в окно приложения Windows. Его можно рассматривать как холст художника, предназначенный для создания интерфейса будущего приложения - здесь определяется, как оно будет выглядеть с точки зрения пользователя. Процесс создания заключается в выборе компонентов на палитре и перетаскивании их в форму. Точное размещение и установка размеров компонентов также выполняются с помощью мыши. Кроме того, внешним видом и поведением компонентов можно управлять из окон Object Inspector и Code Editor.

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

В окне Object Inspector можно изменять свойства компонентов формы или определять события, на которые будет реагировать эта форма или ее компоненты. Свойства (properties) представляют собой данные, определяющие, как объект выглядит на экране, - высоту, цвет, шрифт и т.д.События (events) - это подпрограммы, выполняемые в ответ на некоторые происходящие в вашем приложении действия. Примером события может

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

Cодержимое окна Object Inspector можно упорядочить либо по категории, либо по именам (в алфавитном порядке). Для этого достаточно щелкнуть правой кнопкой мыши в любом месте окна Object Inspector и выбрать в раскрывшемся контекстном меню команду

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

Редактор кода Code Editor

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

Окно Code Explorer

В окне Code Explorer модули, представленные во вкладках окна Code Editor, можно просматривать в виде древовидной структуры. Подобное представление позволяет легче ориентироваться в модулях, а также добавлять новые или переименовывать уже имеющиеся элементы модулей. Очень важно помнить, что между окнами Code Explorer и Code Editor всегда поддерживается связь типа "один к одному". Щелчок правой кнопкой мыши на любом из элементов в окне Code Explorer позволяет вывести контекстное меню с командами, доступными этому объекту. Кроме того, можно управлять сортировкой и фильтрацией отображаемых в окне Code Explorer объектов. Для этой цели используются параметры, расположенные во вкладке Explorer диалогового окна Environment Options.

Генератор исходного кода

При работе с визуальными компонентами в конструкторе форм Delphi автоматически генерирует соответствующий код на языке Object Pascal. Простейший путь познакомиться с этой особенностью Delphi - начать новый проект. Выберите в главном окне команду File -> New Application. В результате в конструкторе форм будет создана новая форма, а в редакторе кода - заготовка исходного текста, представленная в листинге 1.1.

Листинг 1.1. Заготовка исходного текста программы

unit Unitl;interface uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms; type

TForml = class (TForm)

{ Public declarations } end ;

Forml: TForml; implementation

{ $R *.DFM} end .

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

Рассмотрим код заготовки более подробно. Ниже приведена часть ее текста. type

TForml = class (TForm)private

{ Private declarations } public

{ Public declarations } end ;

Этот фрагмент указывает, что объект TForml порожден от объекта TForm. Тут же комментариями отмечены места, предназначенные для ввода собственного кода - как доступного извне (public), так и скрытого (private) от внешних программ. Не беспокойтесь, если вы пока не знаете точного значения терминов "объект", "скрытый" и т.д. Очень важна следующая строка программы:

В Object Pascal директива $R используется для загрузки внешнего файла ресурсов. Приведенная строка связывает файл с расширением.dfm (расширение файлов форм Delphi) с выполняемым модулем. Файл.dfm содержит текствовое или бинарное представление созданной с помощью Form Designer формы. Символ шаблона "*" в данном случае означает, что имя файла должно быть тем же, что и имя модуля. В нашем примере имя модуля определено как Unitl, следовательно, его исходный текст будет находиться в файле Unitl.pas, а значение *.DFM в директиве соответствует файлу Unitl.dfm.

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

команды Project -> View Source. Вот текст файла нашего нового проекта:program Projectl;

uses Forms,

Unitl in "Unitl.pas" { Forml} ; { $R *.RES}

Application.Initialize; Application.CreateForm (TForml, Forml); Application.Run;

end.

При добавлении модулей и форм в приложение они будут появляться в описании uses файла проекта. Обратите внимание, что в описании uses сгенерированный код содер-

жит указания (в виде комментария) того, какая форма находится в подключаемом модуле. Если у вас когда-либо возникнут сомнения, в каком из модулей содержится та или иная форма, их легко можно будет развеять, воспользовавшись окном Project Manager, которое выводится на экран с помощью команды View-> Project Manager.

2. Меню Delphi

Раздел меню Project

Раздел меню Project содержит команды (рисунок 1), которые используются для компиляции и построения приложения.

Команда Add to Project... открывает диалоговое окно для поиска необходимого проекта и добавления его к уже существующему проекту. Когда вы добавляете модуль в проект, Delphi автоматически добавляет в файл проекта соответствующий оператор uses.

Команда Remove from Project удаляет формы и модули из текущего проекта. Когда вы выбираете данную команду и нажимаете OK, Delphi удаляет избранные форму и модуль текущего проекта, а из файла проекта удаляет соответствующий оператор uses.

Команда Import Type Library... импортирует в проект одну из зарегистрированных в системе библиотек типов.

Команда Add to Repository позволяет добавить ваши собственные проекты и формы в хранилище компонентов. Это позволит использовать ваш проект многократно, не создавая его заново.

Команда View Source позволяет осуществлять просмотр файла проекта в окне Редактора кода.

Команда Languages позволяет добавлять, удалять и обновлять DLL ресурсы, используемые при интернационализации проектов, выбирать язык в процессе отладки приложений.

Команда Add New Project... добавляет в группу проектов новый проект.

Команда Add Existing Project добавляет в группу проектов ранее созданный проект. Команда Compile Project1 осуществляет компиляцию всех тех файлов проекта, ко-

торые были изменены с момента последнего выполнения вашей программы.

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

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

Команда Information for показывает информацию о вашей программе: числе строк кода, размер выполняемого модуля, размер стека и т.п.

Команда Compile All Projects компилирует все измененные файлы проектов, которые изменялись с момента последней компиляции.

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

Команда Web Deployment Options позволяет сделать установки для развертывания активной формы или элемента на сервере.

Команда Web Deploy развертывает активную форму ActiveForm или элемент ActiveX на сервере.

Команда Options активизирует диалоговое окно Project Options опций проекта, в котором вы можете устанавливать опции компиляции, редактирования связей и задавать каталоги.

Раздел меню Run

Раздел меню Run содержит команды, обеспечивающие отладку и выполнение приложения.

Команда Run запускает выполнение вашего приложения. Если до этого не была выполнена компиляция программы в ее текущем состоянии, то перед запуском эта компиляция выполняется.

Команда Attach to process отображает окно со списком выполняемых процессов, которые вы можете отлаживать. Для начала отладки надо выделить интересующий вас процесс и сделать на нем двойной щелчок.

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

Команда Register ActiveX Server позволяет зарегистрировать в Windows активный сервер ActiveX. Если вы проведете подобную регистрацию, то ваш управляющий активный элемент можно вызывать, применяя программу просмотра Web или другие приложения.

Команда Unregister ActiveX Server позволяет снять с регистрации в Windows активный сервер ActiveX, в результате чего экземпляр вашего активного элемента удаляется из системы.

Команда Install MTS Objects... допускает MTS объекты в ваше приложение, выполняемое в MTS среде, если на вашем компьютере установлена программа Microsoft transaction server.

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

Команда Trace Into в отладочном режиме выполняет текущую строку кода и прослеживает работу вызываемых подпрограмм.

Команда Trace To Next Source Line позволяет выполнять программу до следующей исполняемой команды. Ее удобно использовать при работе с окном CPU.

Команда Run To Cursor выполняет программу до той точки в исходном тексте, где находится курсор.

Команда Run Until Return позволяет выполнять ваше приложение до тех пор, пока не произойдет возврат из выполняемой функции. Процесс остановится на операторе, следующим за вызовом этой функции.

Команда Show Execution Point показывает точку выполнения. Если вы закрыли окно редактирования и находитесь в процессе пошаговой отладки программы, то эта команда вернет вас в окно редактирования, причем курсор будет расположен на операторе, который будет выполняться следующим.

Команда Program Pause приостанавливает прогон отлаживаемой программы, и вы можете работать с окном Watch.

Команда Program Reset прекращает выполнение приложения и выгружает его из па-

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

компонентов.

Команда Evaluate/Modify открывает окно оценки и модификации выражений. Опции этого окна позволяют вычислять выражения и изменять значения переменных.

Команда Add Watch добавляет переменную или выражение в окно наблюдения. Команда Add Breakpoint добавляет точку прерывания, которая вызывает выделение

цветом соответствующего оператора в исходном тексте вашей программы.

Раздел меню Component

Раздел меню Component (рисунок 3) содержит команды, позволяющие создавать новые компоненты, изменять палитру компонентов и т.д.

Команда New Component... открывает диалоговое окно эксперта компонентов, помогающее создавать новые компоненты.

Команда Install Component... устанавливает новый визуальный компонент Delphi в новый или уже существующий пакет Delphi.

Команда Import ActiveX Control... позволяет импортировать активный управляющий элемент ActiveX, который уже зарегистрирован в системе, в новый или уже существующий проект Delphi.

Команда Create Component Template... сохраняет компонент с нужным набором свойств как шаблон для создания подобных компонентов. Эта команда становится активной, когда вы выделите на форме один или несколько компонентов.

Команда Install Packages... позволяет просмотреть список всех имеющихся пакетов и указать, какие пакеты должны компилироваться в вашем приложении. Вы можете видеть также текущий список компонентов каждого пакета и редактировать состав пакета.

Команда Configure Palette... вызывает диалоговое окно настройки палитры компонентов.

Раздел меню Database

Раздел меню DataBase (рисунок 4) содержит команды, позволяющие создавать, модифицировать и просматривать ваши базы данных.

Команда Explore вызывает инструмент исследования и редактирования структур баз данных Database Explorer или SQL Explorer (в зависимости от версии Delphi).

Команда SQL Monitor вызывает инструмент запросов к базе данных, позволяет наблюдать прохождение запросов в среде Windows и то, как они обрабатываются в вашем приложении.

Команда Form Wizard... вызывает окно эксперта форм для создания формы, отображающей наборы данных из удаленных или локальных баз данных.

Раздел меню Tools

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

Команда Environment Options вызывает окно настройки параметров Delphi и ее инструментов - палитры компонентов и окно просмотра объектов.

Команда Editor Options, введенная в Delphi 5, позволяет отображать диалоговое окно настройки Редактора кода. В Delphi 4 страницы настройки Редактора кода включены в окно настройки окружения Enviromental Options.

Команда Debugger Options... вызывает окно отладчика приложения для установки

необходимых опций.

Команда Repository... открывает окно репозитория Delphi, позволяя добавлять и удалять объекты из репозитория.

Команда Translation Repository имеется только в Delphi 5, она вызывает окно репозитория трансляции, которое используется при интернационализации проектов.

Команда Configure Tools... позволяет настроить Delphi, добавляя инструменты отладки приложения в меню Tools.

Команда Database Desktop вызывает инструмент обслуживания баз данных. Команда Package Collection Editor вызывает окно редактора пакетов. Команда Image Editor вызывает окно редактора графики.

Раздел меню Help

Команды этого раздела позволяют работать со справочной системой Delphi. Команда Contents или Delphi Help показывает содержимое справочной системы

3. Некоторые настройки компилятора Delphi

Компилятор может оказать большую помощь при разработке программы. Компилятор Delphi, например, позволяет включить различные режимы диагностики ошибок во вкладке Compiler диалогового окне Project-> Options, показанной на рис.2. Некоторые специальные директивы компилятора можно поместить непосредственно в текст программы. Кроме того, для получения дополнительной информации о коде полезно установить флажки опций Show Hints (Вывод советов) и Show Warnings (Вывод предупреждений), расположенных в той же вкладке диалогового окна свойств проекта. Зачастую программист тратит несколько часов в бесплодных поисках одной-единственной ошибки, которую компилятор, используя эти вспомогательные средства, смог бы найти немедленно.

Рис.2 - Вкладка Compiler диалогового окнаPro ject Options

Таблица 1. Классификация ошибок времени выполнения в Delphi

Проверка

Директива

Позволяет убедиться, что индекс массива,

(Проверка диапазона)

строки или значение скалярной переменной не

вышли за пределы допустимого диапазона

Контролирует ошибки ввода-вывода после ка-

(Контроль ввода-вывода)

ждого вызова функций ввода-вывода, напри

мер, таких как ReadLn() и WriteLn(). Эту

опцию желательно всегда включать

Overflow Checking

Проверяет, не превышает ли результат вычис-

(Контроль переполнения)

лений размер регистра

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

7. Десять важнейших функций графической среды разработки Delphi

1. Функция дополнения класса (Class Completion)

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

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

2. Функция навигации AppBrowser

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

3. Перемещение между разделами объявления и реализации

Для перемещения между объявлением и реализацией метода достаточно поместить на его имя курсор ввода и нажать комбинацию клавиш или

.

4. Состыковка окон

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

и удерживайте клавишу . Кроме того, можно щелкнуть в окне правой кнопкой мыши

и сбросить в раскрывшемся контекстном меню флажок опции Dockable.

5. Броузер объектов

Выводится на экран с помощью команды View -> Browser. В окне отображается древовидная структура, позволяющая получать доступ к глобальным переменным, классам и модулям, а также контролировать области видимости, цепочки наследования и ссылки на символы.

6. Создание нового GUID

Нажатие комбинации клавиш позволяет поместить в окно редактора кода новое уникальное значение GUID (уникального глобального идентификатора интерфейса). Эта возможность оказывается весьма полезной при создании нового интерфейса.

7. Подсветка синтаксиса С+ +

Если в процессе работы в среде Delphi вам часто приходится просматривать файлы с программами на языке С++ (например, файлы заголовков SDK), то вы сможете по достоинству оценить эту встроенную функцию редактора кодов. Нужно просто загрузить в редактор файл с текстом программы на С++ - все остальное будет сделано автоматически.

8. Список То Do

Используйте список "То Do List" для управления ходом работы над файлами с программами. Вывести содержимое этого списка можно с помощью команды View->To Do List. В этот список автоматически помещаются любые комментарии из создаваемых программ, которые начинаются словом "TODO". Окно То Do Items может использоваться для определения владельца, приоритета и категории каждого из объектов "То Do".

9. Использование менеджера проектов

Окно Project Manager может оказаться очень удобным инструментом при работе над большими проектами - особенно над теми, которые предусматривают создание нескольких файлов ЕХЕ или DLL Вывести это окно на экран можно с помощью команды View -> Project Manager.

10. Использование функции Code Insight для завершения объявлений и параметров

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

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

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

Рис. Среда разработки визуальных приложений

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

Delphi обеспечивает исчерпывающую библиотеку классов - Визуальную Компонентную Библиотеку (VCL), Библиотека Borland Component (CLX), и блок Быстрой разработки (RAD) инструментальные средства, включая приложение и шаблоны форм, и мастера. Delphi объектно-ориентированное программирование.

Из нестандартных улучшений Borland, внесенных в объектный Pascal надо отметить свойства (Properties) и перезагружаемость процедур и функций (Overloading).

Достоинством Delphi является простота, скорость и эффективность. Delphi имеет самый быстрый из всех компилятор. Другим достоинством является простота изучения Object-Pascal. Библиотека VCL позволяет программировать и в среде Windoows API. Модель программирования в Delphi компонентная, что позволяет использовать множество уже созданных компонент, создавать свои и использовать дополнительные чужие. К достоинствам можно отнести достаточно быстрый браузер классов и мгновенный вывод подсказки авто завершения кода.

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

Компилятор встроенный в Delphi обеспечивает трансляцию Object Pascal программы в объектный код, выявляет синтаксические ошибки, обрабатывает исключительные ситуации, позволяет производить отладку, осуществляет линковку и создает исполняемый модуль. В Delphi компиляция производится непосредственно в машинный код.

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

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

Visual Componentes Librares (VCL) - это иерархия из 270 базовых классов. построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE

Borland Database Engine (BDE) - препроцессор операционной системы обеспечивает доступ к объектам БД в Delphi, основанным на SQL: Oracle, Sybase, Informix и InterBase, файлам формата. dbf, или. db (Paradox) или. mdb (Access).

Уникальные возможности Delphi состоят в том, что разработчики могут добавлять CASE-инструменты, кодовые генераторы, а также авторские help"ы, доступные через меню Delphi.

Технология Two-way tools обеспечивает однозначное соответствие между визуальным проектированием и классическим написанием текста программы. Это означает, что разработчик всегда может видеть код, соответствующий тому, что он построил при помощи визуальных инструментов и наоборот.

Инспектор объектов представляет из себя отдельное окно, где можно в период проектирования программы устанавливать значения свойств и событий объектов (Properties & Events).

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

Основа Object Pascal это механизм Run-Time Туре Information (RTTI), т.е. информации о типах на этапе выполнения программы и свойств объектных типов - классов, с понятием свойства (property); а также обработки исключительных ситуаций (exception handling).

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

Основные файлы проекта Delphi это PROJECT1. DPR, UNIT1. PAS, UNIT1. DFM - сведения о форме,PROJECT1. RES содержит иконку для проекта, PROJECT1. OPT по умолчанию, является текстовым файлом для сохранения установок, связанных с данным проектом, После компиляции программы получаются файлы с расширениями: DCU - скомпилированные модули, EXE - исполняемый файл. Установки Editor Options сохраняются в файле DELPHI. INI, который находится в директории Windows.

Технология редактирования ошибок программы предусматривает переход к фрагменту кода, который содержит ошибку, при этом надо установить курсор в строку с сообщением об ошибке и из контекстного меню выбрать команду Edit source.

Предупреждения и подсказки появляются при обнаружении в программе неточностей, которые не являются ошибками, компилятор выводит подсказки (Hints) и предупреждения (warnings).

Ошибки времени выполнения (run-timeerrors) или исключения (exceptions).

Страница настроек Линкера Options позволяет произвести выбор установок, которые напрямую влияют на текущий проект, это могут быть, к примеру, директивы компилятора проверки стека (stack checking) или диапазона (rangechecking).

Страница настроек Directories/Conditionals Options дает возможность расширить число директорий, в которых компилятор и линковщик ищут DCU файлы.

Страница настроек Editor Options позволяет настроить тонкие детали работы Редактора.

Страницы настроек EditorOptions, EditorDisplay и EditorColors позволяют изменить цвета и "горячие" клавиши, используемые IDE.

Пять основных окон ООП среды программирования Delphi:

дизайнер Форм (Form Designer);

окно Редактора Исходного Текста (Editor Window);

палитра Компонент (Component Palette);

инспектор Объектов (Object Inspector);

справочник (On-line help).

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

Основные компоненты Delphi:

Компонент Edit. Text позволяет производить чтение текста из окна Edit

Компонент TCheckBox отображает строку текста с маленьким окошком рядом.

Компонент TRadioButton позволяет выбрать только одну опцию из нескольких.

Компонент TListBox нужен для показа прокручиваемого списка.

Компонент TStringGrid служит для представления текстовых данных в виде таблицы.

Компонент TMainMenu позволяет поместить главное меню в программу.

Компонент TPopupMenu позволяет создавать всплывающие меню.

Компонент TBitBtn представляет кнопку, на которой можно разместить картинку.

Компонент TDrawGrid служит для представления данных любого типа в виде таблицы. Доступ к каждому элементу таблицы происходит через свойство CellRect.

Компонент TImage отображает графическое изображение на форме. Воспринимает форматы BMP, ICO, WMF. Если картинку подключить во время дизайна программы, то она прикомпилируется к EXE файлу.

Компонент TShape служит для отображения простейших графических объектов на форме: окружность, квадрат и т.п.

Диалоги Windows организуются компонентами диалога: OpenDialog - выбрать файл, SaveDialog - сохранить файл, FontDialog - настроить шрифт, ColorDialog - выбор цвета, PrintDialog - печать, PrinterSetupDialog - настройка принтера.

Компонент страницы System - TTimer это таймер, событие OnTimer периодически вызывается через промежуток времени, указанный в свойстве Interval. Период времени может составлять от 1 до 65535 мс.

Компонент страницы System - TFileListBox это специализированный ListBox, в котором отображаются файлы из указанной директории (св-во Directory).

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

Компонент страницы System - TDriveComboBox это специализированный ComboBox для выбора текущего диска. Имеет свойство DirList, в котором можно указать TDirectoryListBox, который будет отслеживать переход на другой диск.

Компонент страницы System - TMediaPlayer служит для управления мултимедйными устройствами (типа CD-ROM,MIDI и т.п.). Выполнен в виде панели управления с кнопками Play, Stop, Record и др.

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

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

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

Компилятор выполняет последовательно две задачи:

1. Проверяет текст исходной программы на отсутствие синтаксических ошибок.

2. Создает (генерирует) исполняемую программу - машинный код.

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

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

Типы данных и выражений. К типам данных относятся целочисленные, вещественные, логические, строковые и символьные:

Shortint - 128-127 8 битов

Smallint - 32 768 - 32 767 16 битов

Longint - 2 147 483 648 - 2 147 483 647 32 бита

Int64 - 263 - 263 - 1 64 бита

Byte 0-255 8 битов, беззнаковый

Word 0-65 535 16 бит, беззнаковый

Longword 0 - 4 294 967 295 32 бит беззнаковый

универсальный целый тип - Integer

универсальный вещественный тип - Real

тип Ansichar - это символы в кодировке ANSI, которым соответствуют числа в диапазоне от 0 до 255;

типwidechar - это символы в кодировкеUnicode, им соответствуют числа от 0 до 65 535.

ObjectPascal поддерживает и наиболее универсальный символьный тип -

тип shortstring представляет собой статически размещаемые в памяти компьютера строки длиной от 0 до 255 символов;

тип Longstring представляет собой динамически размещаемые в памяти строки, длина которых ограничена только объемом свободной памяти;

тип WideString представляет собой динамически размещаемые в памяти строки, длина которых ог-раничена только объемом свободной памяти. Каждый символ строки типа WideString является Unicode-символом

тип string эквивалентен типу shortstring.

Проектирование и инициализация общих элементов управления предполагает использование:

интерфейса присоединения Drag-and-Dock;

интерфейса переноса Drag-and-Drop;

усовершенствованного масштабирования;

управления фокусом;

управления мышью;

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

Технология разработки программы в Delphi для широкого применения включает этапы:

Спецификация (определение, формулирование требований к программе).

Разработка алгоритма.

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

Тестирование.

Создание справочной системы.

Создание установочного диска (CD-ROM).

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

Рабочий экран Delphi (версия Delphi-6) имеет 4 основных окна: главное окно Delphi; окно формы Form1; окно инспектора объектов Object Inspector и окно редактора кода Unit1. pas

Особенности СУБД MySQL

MySQL - свободная система управления базами данных (СУБД). MySQL является собственностью компании Oracle Corporation, получившей её вместе с поглощённой Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License или под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц.

Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

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

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

Delphi позволяет быстро и удобно разрабатывать эффективные приложения, включая приложения для работы с базами данных. Система имеет развитые возможности по созданию пользовательского интерфейса, широкий набор функций, методов и свойств для решения прикладных расчетно-вычислительных задач. В системе имеются развитые средства отладки, облегчающие разработку приложений. Традиционно Delphi относят к системам быстрой разработки приложений. Вместе с тем эта система обладает практически всеми возможностями СУБД, таких как Microsoft Access и Visual FoxPro. Она позволяет удобно создавать приложения с помощью инструментальных программных средств, визуально подготавливать запросы к базам данных, а также непосредственно писать SQL- запросы к базам данных. Применительно к работе с базами данных Delphi обеспечивает широкий набор инструментальных средств, поддерживает современные технологии, в том числе многоуровневую технологию «клиент - сервер» .

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

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

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

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

Две вышеперечисленные особенности Delphi

1) визуальное конструирование форм

2) использование библиотеки визуальных компонентов отражают большие преимущества этого языка и являются положительными моментами в процессе дальнейшей разработки и создания пакета автоматизированных методик.

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

От Visual Basic язык Delphi отличают строгая типизированность, позволяющая компилятору еще на этапе компиляции обнаружить многие ошибки, а также средства работы с указателями. Delphi имеет самый быстрый среди продуктов подобного рода оптимизирующий компилятор, позволяющий создавать быстрые и относительно компактные программы.

Среда Delphi устраняет необходимость программировать такие компоненты Windows общего назначения, как метки, пиктограммы и даже диалоговые панели. Delphi позволяет приспособить компоненты диалоговой панели (например, Choose File и Save File) к имеющейся задаче, чтобы они работали именно так, как требуется создаваемому приложению. Также здесь имеются предварительно определенные визуальные и невизуальные объекты, включая кнопки, объекты с данными, меню и уже построенные диалоговые панели. С помощью этих объектов можно, например, обеспечить ввод данных просто несколькими нажатиями кнопок мыши, не прибегая к программированию. Это наглядная реализация применений CASE-технологий в современном программировании приложений .

В процессе создания проектов в среде Windows с помощью Delphi наблюдаются следующие выгоды: устраняется необходимость в повторном вводе данных; обеспечивается согласованность проекта и его реализации; увеличивается производительность разработки и переносимость программ.

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

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

Cреда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD - rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE. Визуальные компоненты Delphi открыты для надстройки и переписывания.

Эта библиотека объектов включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE.

Среда Delphi состоит их четырех окон, управляемых как многооконное приложение с интерфейсом одного документа (рисунок 1). Главное окно Delphi управляет связанными с ним окнами - инспектора объектов, формы и окна редактора кода.

Рисунок 1 - Интерфейс основных окон среды Delphi

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

Рисунок 2 - Главное окно

Окно инспектора объектов (рисунок 3) является многостраничным окном, содержащим помеченные ярлыками страницы свойств (Ргореperties) и событий (Events). На странице свойств показаны свойства объектов, расположенных в окне формы (Form). На странице событий представлены события, на которые реагирую объекты окна формы. Инспектор Объектов состоит из двух страниц, каждую из которых можно использовать для определения поведения данного компонента. Первая страница - это список свойств, вторая - список событий. Если нужно изменить что-нибудь, связанное с определенным компонентом, то Вы обычно делаете это в Инспекторе Объектов. К примеру, Вы можете изменить имя и размер компонента TLabel, изменяя свойства Caption, Left, Top, Height, и Width.

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

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

Программисты на Delphi проводят большинство времени переключаясь между Дизайнером Форм и Окном Редактора Исходного Текста (которое для краткости называют Редактор). Расскажем поподробнее о каждом окне среды Delphi.

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

Рисунок 3 - Инспектор Объектов

Дизайнер Форм в Delphi - то место, где Вы создаете визуальный интерфейс программы. Он столь интуитивно понятен и прост в использовании, что создание визуального интерфейса превращается в детскую игру. Дизайнер Форм первоначально состоит из одного пустого окна, которое Вы заполняете всевозможными объектами, выбранными на Палитре Компонент. Несмотря на всю важность Дизайнера Форм, местом, где программисты проводят основное время, является Редактор. Логика является движущей силой программы и Редактор - то место, где Вы ее «кодируете» .

Рисунок 4 - Дизайнер Форм

Несмотря на всю важность Дизайнера Форм, местом, где программисты проводят основное время, является Редактор.

Окно редактора кода (рисунок 5) дает возможность набирать и редактировать код модуля программы на языке Object Pascal. Это окно является многостраничным, оно позволяет выполнять переходы между модулями программы. Логика является движущей силой программы и Редактор - то место, где Вы ее «кодируете». В окне Редактора Вы создаете логику управления программой.

Рисунок 5 - Окно Редактора

В главном окне принято выделять три основных выделенных элемента (не считая стандартной строки-заголовка):

Строка меню (Menu System);

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

Панель быстрого доступа (SpeedBar).

Меню (рисунок 6) предоставляет быстрый и гибкий интерфейс к среде Delphi, потому что может управляться по набору «горячих клавиш».

Рисунок 6 - Строка меню

В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10 - 20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора.

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

Палитра Компонент (рисунок 7) позволяет Вам выбрать нужные объекты для размещения их на Дизайнере Форм. Для использования Палитры Компонент просто первый раз щелкните мышкой на один из объектов и потом второй раз - на Дизайнере Форм. Выбранный Вами объект появится на проектируемом окне и им можно манипулировать с помощью мыши.

Палитра Компонент использует постраничную группировку объектов. Внизу Палитры находится набор закладок - Standard, Additional, Dialogs и т.д. Если Вы щелкнете мышью на одну из закладок, то Вы можете перейти на следующую страницу Палитры Компонент. Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе (на странице Additional есть компоненты для организации страниц с закладками сверху и снизу).

Рисунок 7 - Палитра Компонент

SpeedBar (рисунок 8) находится непосредственно под меню, слева от Палитры Компонент. SpeedBar выполняет много из того, что можно сделать через меню. Если задержать мышь над любой из иконок на SpeedBar, то Вы увидите, что появится подсказка, объясняющая назначение данной иконки.

Рисунок 8 - SpeedBar

Последняя важная часть среды Delphi - Справочник (on-line help), (рисунок 9). Для доступа к этому инструменту нужно просто выбрать в системном меню пункт Help и затем Delphi Help.

Рисунок 9 - Справочник

Редактор Картинок (рисунок 10) работает аналогично программе Paintbrush из Windows. Вы можете получить доступ, к этому модулю выбрав пункт меню Tools | Image Editor.

Рисунок 10 - Редактор Картинок

А теперь нужно рассмотреть те элементы, которые программист на Delphi использует в повседневной жизни. В дополнение к инструментам, обсуждавшимся выше, существуют пять средств, поставляемых вместе с Delphi. Эти инструментальные средства: встроенный отладчик; внешний отладчик (поставляется отдельно); компилятор командной строки; WinSight; WinSpector.

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

Чтобы стать сильным программистом на Delphi, Вам понадобится понять, как использовать отладчик Delphi. Отладчик позволяет Вам пройти пошагово по исходному тексту программы, выполняя по одной строке за раз, и открыть просмотровое окно (Watch), в котором будут отражаться текущие значения переменных программы.

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

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

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

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

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

Визуальная среда программирования Delphi . Среда программирования Delphi состоит из множества визуальных и невизуальных стандартных компонент, которые позволяют существенно ускорит процесс разработки программ. Будем рассматривать одну из самых популярных версий Delphi 7. Рабочее окно программы состоит из пяти вспомогательных окон (рис.3.1.): главное окно (1), окно списка модулей (2), окно кода программы (3), окно формы проекта (4), инспектор объектов (5), окно списка объектов (6).

Рис. 3.1. Рабочее окно Delphi7.

Главное окно состоит из строки меню, панели инструментов и палитры компонентов. Палитра компонентов состоит из 14 страниц (Standard, Additional, Win32, System и др.). Для перемещения компонента на форму необходимо сначала щелкнуть по компоненту, а потом по форме.

Окно списка модулей содержит список всех подключенных к программе модулей.

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

Окно формы – это Windows-окно создаваемой программы: меню, размеры окна, заголовки, рамки и любые стандартные компоненты. При работе созданной программы пользователь видит только форму.

Инспектор объектов содержит две страницы: Properties (свойства) и Events (события). На странице свойств отражаются все характеристики выбранного объекта. На странице событий отображаются все возможные действия с объектом.

Окно списка объектов содержит список всех размещенных на форме компонентов.

Структура программы в среде Delphi . Программа на любом языке программирования имеет стандартную структуру: <заголовок программы> <тело программы>. Заголовок программы в среде Delphi содержит имя модуля основной программы и область определения всех стандартных и нестандартных программ-модулей, которые используется средой для организации исполнения программы. Рассмотрим разделы шаблона программы в среде.

Заголовок всегда начинается со слова unit . Стандартное имя программы Unit1. Для изменения имени программы достаточно сохранить программу под новым именем.

Раздел interface начинается с перечисления в предложении uses стандартных модулей. Например, модуль SysUtils разработан для использования в языке всех стандартных функций. Среда Delphi автоматически вставляет в шаблон разрабатываемой программы список необходимых модулей. Но есть модули, которые необходимо пользователю вписать вручную. Далее в разделе interface под заголовком type объявляются все создаваемые в программе типе данных. Здесь под заголовком private объявляются переменные, доступные только в этом модуле, а под заголовком public – доступные во всех модулях программы. Шаблон пустой программы в среде Delphi представлен на рисунке 3.2.

Рис. 3.2. Шаблон пустой программы в Delphi7

Объявление типов заканчивается тогда, когда появляется в программе заголовок следующего раздела. В приведенном примере это ключевое слово var. В этом разделе будут объявлены все переменные по определенным в программе типам данных. В приведенном шаблоне есть только одна переменная Form1, которая является объектом объявленного класса TForm1. Со строки unit до слова implementation находится заголовок программы. После этого слова располагаются описания всех действий в программе. Первое обязательное действие – это директива $R, обеспечивающая объединение модуля формы и модуля программы в один проект – программу. Конец текста программы-модуля определяется словом end с точкой.

Среда Delphi создает программу из нескольких файлов, которые обеспечивают настройку проекта на среду, установку параметров компилятора и другие файлы. Самый большой по размеру файл – это файл с расширением exe, который и является готовой программой. Рабочими файлами являются файлы с расширениями dpr и pas. В файле с расширением cfg обеспечивается настройка опций проекта. Файл с расширением dof обеспечивает установку параметров компилятора. Файл с расширением res определяется как файл ресурсов. Он содержит и стандартную иконку проекта, которую разработчик может заменить. Файл с расширением dcu – это оттранслированный файл модуля. Если модулей несколько, то они будут объединены в единый проект. Файл с расширением dfm содержит характеристики всех стандартных компонент формы.

Типы данных в Delphi 7 . Каждый вариант данных при разработке программы должен быть отнесен к какому-то конкретному типу данных. Для каждого типа есть свой специфический набор операций. Работать с данными определенного типа можно только создания переменных этого типа. Тип данных определяет формат значений, который может принимать переменная этого типа. Типы данных принято разделять на простые, структурированные, динамические, строковые и процедурные. К простым типам относятся вещественные, тип дата-время, целые, логические, символьные, перечислимые. К структурированным типам относятся массивы, записи, множества, файлы, классы.

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

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

Диапазон значений

Размер в байтах

2147483648…2147483647

Соответствует типу integer

2 63 …2 63 – 1

Соответсвует типу cardinal

Таблица 3.29. Целые типы данных в Delphi7.

Часто при создании программ необходимо перевести число в строку или наоборот. Для этого существуют функции: StrToInt(s) и IntToStr(x), первая из которых переводит строку s в число, вторая – число х в строку.

Вещественные (действительные) числа характеризуются наличием десятичной запятой в записи числа. Запись таких чисел обеспечивается с некоторой точностью, определяющей количество разрядов в экспоненциальной записи числа. В Delphi 7 используются 6 вещественных типов (таблица 3.30.).

Вещественный

тип данных

Максимальное значение

Количество цифр

Размер в байтах

9223337203685477.5807

Таблица 3.30. Вещественные типы данных в Delphi7.

Наибольшая производительность обеспеченна для типа real. Для переводов вещественного числа в строку и наоборот существуют функции StrToFloat(s) и FloatToStr(x).

Логический тип данных так же как и в Turbo Pascal 7.0. содержит две переменные: true (истина) и false (ложь). Использование логических переменных позволяет существенно улучшит алгоритм решения задач за счет контроля некоторых особых вариантов решения задачи.

Строковый (string) и символьный (char) типы данных в Delphi 7 аналогичны этим же типам в Turbo Pascal 7.0. Существуют еще 3 строковых типа данных (Shortstring,Ansistring,Widestring), которые отличаются длинной и используются, как правило, для совместимости с другими версиями.

Тип дата-время (TDateTime) введен для удобства пользователя. При этом дата и время могут быть записаны в нескольких формах.

Константы и массивы записываются аналогично записи в Turbo Pascal 7.0.

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

Вопросы для размышления:

1. На каком языке пишутся программы в среде Delphi 7?

2. Из каких частей состоит рабочее окно программы Delphi 7?

3. Из скольких файлов создается программа в Delphi 7?

4. Какие существуют типы данных в Delphi 7?

5. Чем могут отличаться одноименные типы данных в Turbo Pascal 7.0. и Delphi 7?



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: