Советы и лайфхаки

На делфи программа – HelloDelphi. Создаем свое первое приложение на Delphi — Основы программирования на Delphi — Основы Delphi

Изучаем Delphi — О программировании и о Дельфи

О программировании и о Delphi

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

Что такое программирование

Итак, прежде всего, уясним для себя, что же понимают под термином программирования? Сейчас многие называют себя программистами, не зная даже о том, что это такое: на проверку оказывается, что человек, изменивший пару строк кода в HTML-документе уже готов считать себя программистом. Но на самом деле, работая с HTML (именно с самим HTML), стать программистом нельзя, поскольку HTML, что явствует из названия (Hypertext Markup Language — язык разметки гипертекста), языком программирования не является.

В результате мы имеем первое условие: для изучения программирования нужен какой-либо язык программирования. В нашем случае это будет язык Object Pascal последних версий (14.0 или 15.0).

Далее, допустим кто-то, называющий себя программистом, не только правил пару строк кода HTML, но и видел Delphi, и даже нарисовал в нем форму с 2-3 кнопками и текстовым полем. Это ли программист? Скорее всего, тоже нет. Дело в том, что под визуальной оболочкой, на самом деле, скрывается сложнейший механизм, обеспечивающий взаимодействия элементов управления (тех же кнопок) с пользователем и операционной системой — с одной стороны, и позволяющий выполнять практически любые вычислительные действия — с другой. При всем этом следует уметь делать главное — составлять алгоритмы поведения программы — будь то ее реакция на нажатие той или иной кнопки, или создание функции для решения сложного математического уравнения.

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

Что такое Delphi

Теперь мы знаем, что программирование — есть составление алгоритмов плюс использование языка программирования. Но если изучаемым нами языком является Object Pascal, то что такое Delphi? Ответ таков: Delphi — это RAD, или Rapid Application Development — среда быстрой разработки приложений. Иначе говоря, Delphi включает в себя не только все средства для работы с языком Object Pascal (тем более, что начиная с версии, 2005 в Delphi имеется поддержка других языков программирования, в частности, C#), но и ряд дополнительных средств, призванных максимально ускорить и упростить создание программ. К таковым средствам относятся, прежде всего, визуальный редактор форм, при помощи которого за считанные минуты и без лишних усилий можно создать полноценно выглядящую программу, а так же прочие составные части визуальной составляющей разработки программ.

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

Вкупе с развитыми средствами для написания и отладки кода — специализированным текстовым редактором, оптимизирующим компилятором и отладчиком, Delphi являет собой средство быстрой разработки приложений. При этом основой Delphi для конечного пользователя является IDE — Integrated Development Environment (интегрированная среда разработки), которая объединяет в себе редактор кода и средства визуальной разработки, а также связывает это с компилятором, средствами разработки баз данных и прочими составными частями Delphi.

Delphi и другие

Разумеется, Delphi — не единственная среда быстрой разработки приложений. Существуют и другие RAD, столь же удобные для визуальной разработки программ, например, Visual Basic. Но BASIC известен как не самый мощный и удобный язык программирования, кроме того, программы на нем отличаются сравнительно невысоким быстродействием.

Вместе с тем, имеются и не менее мощные, по сравнению с Object Pascal, языки программирования, имеющие свои RAD — прежде всего, это язык C++ вместе с таким наиболее известными средствами разработки, как Visual C++ и C++ Builder. Однако C++ не в лучшую сторону отличается от Object Pascal с точки зрения простоты изучения. Кроме того, сборка и отладка программ на C++ происходит сравнительно медленно, хотя готовые программы выполняются так же быстро, как и созданные при помощи Delphi.

ПРИМЕЧАНИЕ

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

В результате мы получаем практически идеальный продукт для быстрой разработки программ: с одной стороны простота и удобство, сравнимые с Visual Basic, а с другой — мощь, скорость и гибкость, характерные для C++.

Здесь следует отметить, что используемый в Delphi язык Object Pascal имеет мало общего со своим прародителем — языком программирования Pascal, который, возможно, вы изучали в школе или в ВУЗе. Прежде всего, в Delphi применяется чистая объектно-ориентированная модель программирования, в то время как Pascal был обычным процедурным языком. В чем же суть отличий процедурного программирования от объектно-ориентированного? Вот этот вопрос мы и обсудим в следующих двух параграфах.

Процедурное программирование и алгоритмы

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

Давайте рассмотрим простейший алгоритм — для игры «угадай число». Логика его работы состоит в том, что требуется проверить, является ли число большим или меньшим, чем загаданное, и если это так, ты вывести соответствующую подсказку, а если оно не больше и не меньше (т.е. совпадает) — то игра заканчивается. Блок-схема такого алгоритма будет состоять из 2 ветвлений (рис. 1.1).



Рис. 1.1. Блок-схема простого алгоритма

Первым делом здесь у пользователя запрашивается число A, которое дважды сравнивается с предварительно заданным числом B. Сначала проверяется, не является ли число A больше, чем B, и если да, то программа сообщает, что произошел «перелет», и возвращается на точку ввода числа. Если число не больше, то происходит второе сравнение — на то, не является ли A меньше B. Если это так, то выводится сообщение о том, что число меньше («недолет») и, опять-таки, происходит возвращение к началу. Но если число A не меньше числа B, то, учитывая тот факт, что на данный момент уже известно, что оно и не больше, следовательно, оно равно числу B, и программа завершает свою работу. При этом она может вывести поздравление пользователя с тем, что он угадал число.

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



Рис. 1.2. Блок-схема управления программой

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

Конкретная реализация того или иного алгоритма зависит от применяемого языка программирования, а так же от предпочтений создателя программы, поскольку, как правило, одну и ту же конструкцию можно решить, используя несколько различных методов. Например, для возврата к какой-либо точке, обозначенной на блок-схеме, можно использовать как циклы, так и операторы безусловного перехода. Ну а сами блоки могут выноситься в отдельные процедуры и вызываться в качестве подпрограмм. Единственной общей чертой является условный оператор, отвечающий за развилку — практически во всех языках, и Pascal тут не исключение, он называется IF. Впрочем, с операторами Object Pascal мы еще успеем ознакомиться.

Об объектно-ориентированном программировании

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

ПРИМЕЧАНИЕ

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

Инкапсуляция представляет собой объединение данных и обрабатывающих их подпрограмм — методов — внутри одного объекта, называемого в ООП «классом». Это означает, что в классе инкапсулируется все необходимое для работы с тем или иным объектом.

Наследование — это еще одна важная составная часть ООП. Под наследованием понимают возможность создания типа (объекта), базирующегося на определении другого объекта. При этом все свойства и методы родительского объекта, могут быть унаследованы потомком. К примеру, если у нас есть объект «машина», то на его основе можно создать другой объект, скажем, «трамвай», который унаследует все его свойства, и получит вдобавок к ним какие-либо собственные. В свою очередь, этот объект так же сможет иметь своих потомков, и т.д. В результате образуется дерево объектов, называемое иерархией классов.

В Object Pascal все классы происходят от единого предка — класса TObject, который реализует такие общие для всех классов действия над объектом, как создание и удаление.

СОВЕТ

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

Наконец, третий кит, на котором стоит ООП — это полиморфизм, или возможность создавать в рамках родственных объектов одноименные свойства и методы, которые будут отличаться по своей сути. Скажем, у нас уже есть классы «машина» и «трамвай», и для обоих определено свойство «мотор», но если для машины тип мотора будет объектом одного типа, то для трамвая — совсем другого.

Еще одна важная составная деталь, характерная для ООП — это скрытие, которое позволяет делать невидимым ряд свойств объектов. Иными словами, если у нас может быть определен объект типа «машина», для которого, в свою очередь, определены такие свойства, как шасси, мотор и колеса. Так вот, если мотор и колеса, можно сделать видимыми (и доступными) повсеместно, где только доступен сам класс «машина», то шасси — нет. Соответственно доступ к такому свойству можно будет получить только в тех частях программы, в которых производится описание самого объекта «машина». Такие свойства называют защищенными.

Подробнее об объектно-ориентированном программировании будет рассказано во второй части настоящего издания.

Визуальное программирование и Delphi

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



Рис. 1.3. Классический и визуальный подходы к созданию интерфейса

То, что Delphi является визуальной средой разработки, наносит свой отпечаток и на язык программирования. В частности, в нем предусмотрены специальные средства для того, чтобы определенные свойства классов могли быть доступны уже на этапе разработки программы, а не только во время выполнения. Но самой важной частью всего этого великолепия является библиотека классов — VCL (Visual Component Library). Именно VCL скрывает все острые углы внутренностей Windows, и позволяет легко создавать приложения, не вступая в затяжную войну с обработкой системных сообщений, обратных вызовов, дескрипторов и указателей.

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

Визуальные компоненты мы детально рассмотрим в 3-й части этой книги.

Версии Delphi и их отличия

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

Delphi 1. Вышедший незадолго до появления Windows 95, Delphi 1.0 был первым инструментом разработки приложений Windows (3.1), объединившим в себе оптимизирующий компилятор, визуальную среду разработки и мощные средства для работы с базами данных. Для языка Pascal это стало настоящим перевоплощением — он стал Object Pascal.

Delphi 2. Вышедшая через год 2-я версия Delphi предлагала все то же, но уже для 32-разряных версий Windows (95/NT), опять-таки став первым средством, сочетающим 32-битный компилятор, средства для работы с БД и визуальную среду разработки, поддерживающую OLE (а после выхода обновленной Delphi 2.01 — и ActiveX). Язык так же изменился, став ориентированным на 32-разрядное применение.

Delphi 3. Дальнейшее совершенствование Delphi по всем направлениям привело к выходу 3-й версии, имевшей расширенный набор инструментов для создания приложений благодаря поддержке COM и ActiveX. В этой версии также впервые был сделан акцент на возможности создания приложений для Интернета, а так же появился нетипизированный тип данных — variant.

Delphi 4. Еще одна ключевая веха развития. В этой версии было введено много нового и полезного для упрощения разработки приложений, включая новую среду с динамическими подсказками и т.д. Была усовершенствована модель работы с компонентами (VCL), появилась возможность быстрого использования таких технологий, как MIDAS, DCOM и CORBA. В этой версии так же был усовершенствован язык Object Pascal: появились новые черты, свойственные современному ООП, были введены новые типы данных, включая 64-битные.

Delphi 5. Изменений в Delphi 4 было так много, что, к сожалению, не обошлось без досадных накладок и ошибок. Результатом был выпуск 3-х пакетов обновлений (наши пираты продавали их под вывесками Delphi 4.1, 4.2 и 4.3). Но самым полным и правильным пакетом обновлений следует считать Delphi 5 — в этой версии было доведено до ума все то, что было начато в Delphi 4.

Delphi 6. С выходом шестой версии Borland провозгласила новую, кросс-платформенную эпоху в Delphi, параллельно выпустив версию Delphi для ОС Linux (Kylix 1.0). Теперь при создании приложения можно было выбирать его тип — для Windows, или же универсальное. Соответственно, к библиотеке VCL добавилась библиотека CLX, совместимая как с Windows, так и с Linux. Кроме того, в 6-й версии наконец-то появились «родные», а не чужеродные ActiveX, компоненты для работы с Интернетом, причем сразу в обоих вариантах — и для VCL и для CLX. Начиная с этой версии, сам язык программирования Object Pascal официально называется Delphi.

Delphi 7. Дальнейшее развитие Delphi 6, улучшенная библиотека CLX и новая корреспондирующая версия среды разработки под ОС Linux — Kylix 3. Вместе с тем, начиная с Delphi 7, Borland озаботилась вопросом совместимости с еще одной платформой — Microsoft .NET, для чего некоторые изменения были внесены как в VCL, так и в язык (и, соответственно, в компилятор).

Delphi 8. Первая версия Delphi, ориентированная на работу с платформой Microsoft.NET. В этой версии разработчики рискнули изменить интерфейс среды, сделав его похожим на продукцию Microsoft — нового крупного акционера Borland. Поддержка, соответственно, была Kylix прекращена.

Delphi 2005. Менее чем через год после выхода Delphi 8, появилась новая версия, в которой спешно вернули возможность работать в классическом стиле IDE при разработке приложений для Windows. Вместе с тем, Delphi 2005, в случае разработки приложений специально для платформы NET, позволяет работать не только с языком Delphi, но и с C#. При этом в сам язык Delphi были введены такие новшества, как оператор for…in и встраиваемые процедуры и функции.

Delphi 2006. Последняя версия Дельфи, выпущенная фирмой Borland. Так же была выпущена облегченная версия — Turbo Delphi. Дальше началось странствие по другим разработчикам.

Delphi 2007. Версия, выпущенная CodeGear. Добавлена поддержка интерфейса Aero для Windows Vista.

Delphi 2009. Версия, выпущенная Embarcodero. Реализована поддержка Unicode в VCL и RTL, заменены обращения ко всем функциям Windows API на аналоги в Unicode, добавлены обобщенные типы и анонимные методы.

Delphi 2010. Поддержка Windows 7, компоненты для работы с касаниями и жестами, компоненты dbExpress теперь официально поддерживает Firebird.

Delphi XE (Delphi 2011). Добавлена поддержка для облачных вычислений.

« Предисловие к электронной редакции
|
Среда Delphi и простейшее приложение »

www.snkey.net

Известные программы на Delphi

Приведем небольшой список известных программмных продуктов, написанных на Delphi. Этот список можно продолжить. Если вам известны программы реализованные на Delphi — Пишите в комментариях. Зачем это надо знать? А чтобы понять, стоит ли использовать Delphi для реализации вашего проекта или отдать предпочтение какой-то другой среде разработки. Здесь можно высказать свое мнение по поводу выбора среды разработки для приложения. Чему отдавать предпочтение: тому что хорошо знаешь или тому на чем пишут другие. А может быть есть другой подход?


Продукция Embarcadero:
Embarcadero Delphi, Embarcadero C++ Builder, Borland JBuilder 1 и 2 версии.
Администрирование/разработка баз данных:
MySQL Tools (Administrator, Query Browser), Navicat, IBExpert, TOAD (software).
Инженерное ПО:
Altium Designer/Protel.
ПО для химической отрасли:
Продукты ACD/Labs.
Просмотрщики графики:
FastStone Image Viewer, FuturixImager, Photofiltre.
Видео и аудио проигрыватели:
The KMPlayer (не путать с KMPlayer), X-Player, Snow Player, AIMP.
Доставка информации в Интернете:
QIP и R&Q, Skype, The Bat! и si.Mail, PopTray, FeedDemon, XanaNews, Xnews.
Создание музыки:
FL Studio (ранее FruityLoops), Guitar Pro (до версии 6.0).
Разработка программного обеспечения:
Dev-C++, Dev-PHP, Maguma Open Studio и Open Perl IDE (IDE), DUnit, Jedi Code Format, Game Maker, Help & Manual, Inno Setup.
Веб-разработка:
Macromedia HomeSite (HTML-редактор), TopStyle, Pro (CSS-редактор), Macromedia Captivate, Quick Page 2008.
Веб-браузеры (оболочки для MSIE):
Avant Browser, Netcaptor.
Утилиты:
Spybot — Search & Destroy, Ad-Aware, jv16 PowerTools, FDK, Total Commander, Frigate, DarkCrypt TC/GUI, ImageSpyer, StegoTC, Copernic Desktop Search, MCubix, Download Master, ASProtect, XNResourceEditor, Victoria, Battery Eater Pro.
Текстовые редакторы:
SynEdit, Notepad GNU, Bred, KeyNote, cEdit Professional, UniRed, gleditor.
Редакторы двоичных файлов (HEX-редакторы):
Hexapad.
Бухучёт и налогообложение:
Lacerte Professional Tax Software, Парус, ТурбоБухгалтер, AVARDA, Комплекс VirGo 2.5М.
Электронное декларирование и связь с госорганами
Альта ГТД PRO (подготовка и передача таможенных деклараций)
Торговый и складской учёт:
Полюс (Система учёта).
Программы для чтения и каталогизации электронного текста:
DarkLib, IxReader, Гарант F1.
Программы для создания анимаций:
Pivot Stickfigure Animator.
Программы для сжатия данных:
ALZip, PowerArchiver, PeaZip.
Компьютерные игры:
Age of wonders, Космические рейнджеры, Космические рейнджеры 2, Venom. Codename: Outbreak, Space Empires 4, Space Empires V, Pythian project, Битва героев, GTA 2, Hedgewars.


2010-11-26 • Просмотров [ 13067 ]

primat.org

HelloDelphi. Создаем свое первое приложение на Delphi — Основы программирования на Delphi — Основы Delphi

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

В компьютерной литературе принято писать первое приложение, которое выводит на экран надпись “HelloWord”, мы же несколько переиначим и создадим свое первое приложение, которое будет выводить надпись “HelloDelphi”.

Понятное дело, для начала нам нужно запустить сам Delphi. После того как перед нами открылось окно оболочки – создаем новый проект File | New | VCL Forms Application – Delphi.

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

Рисунок. Менеджер проекта, создаваемого приложения

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

ProjectGroup1 (Заголовок дерева) — имя группы проектов. В одной группе проектов может быть несколько приложений. В нашем случае мы создали одно новое приложение, поэтому в группе будет только оно. Если вы нажмете кнопку New (Новый) в окне менеджера проектов и создадите новое приложение, то оно будет добавлено в существующую группу проектов.

Project1.exe — имя проекта (приложения). Когда мы создаем новое приложение, Delphi дает ему имя Project плюс порядковый номер.

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

Unit1.dfm — это визуальная форма. Она сохраняется в файле с таким же именем, как у и модуля, но с расширением dfm.

Когда у нас в проекте несколько приложений, то только одно из них является активным, и именно его мы можем выполнять и отлаживать в среде оболочки Delphi. Имя активного приложения написано жирным шрифтом. Чтобы изменить активное приложение, достаточно дважды щелкнуть по его имени левой кнопкой мыши или щелкнуть правой по имени нужного проекта и из контекстного меню выбрать Activate (Активировать).

Но сейчас мы будем работать только с одним приложением, поэтому если вы создали два, то второе надо удалить. Для этого выделяем имя приложения и нажимаем на клавиатуре кнопку Delete. Перед нами появляется окно с подтверждением на удаление. Если нажать Yes (Да), то приложение будет удалено из группы проектов.

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

Давайте сохраним наше новое приложение. Для этого выберем из главного меню File | SaveAll. Перед нами откроется стандартное окно сохранения файла. Для начала Delphi запросит ввести имя модуля. По умолчанию указано текущее имя — Unit1.pas. Давайте изменим его на MainUnit и нажмем кнопку Save (Сохранить).

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

После того как мы сохранили MainUnit, Delphi запросит у нас имя будущего проекта. Поскольку мы решили писать новое приложение под названием HelloDelphi, то здесь давайте и введем HelloDelphi. Имя проекта также как и имя модуля должно вводиться без пробелов и только латиницей. После того как ввели имя проекта, можем нажимать кнопку Save (Сохранить). Проект сохранится в файле под именем HelloDelphi.dpr. Когда мы захотим вновь открыть этот проект, то нам нужно открывать именно этот файл. Не нужно открывать файлы с расширением pas, потому что это всего лишь составляющая часть проекта. Открывать нужно файлы с расширением dpr.

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

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

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

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

1. HelloDelphi.cfg — файлы с расширением cfg, содержат конфигурацию проекта.

2. HelloDelphi.dof — файлы с расширением dof, содержат опции проекта.

3. HelloDelphi.dpr — файлы с расширением dpr, это сам проект. В этом файле находится описание используемых в проекте модулей и код инициализации программы. Его можно использовать и для написания кода. В будущем мы узнаем, что можно писать в этом модуле и для чего.

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

5. MainUnit.pas — файлы с расширением pas, содержат исходный код модулей.

6. MainUnit.dfm — файлы с расширением dfm, содержат визуальную информацию о форме.

7. MainUnit.ddp — файлы с расширением ddp, определяют вспомогательные файлы модуля, например, диаграммы. Если вы не используете диаграммы, то можете удалять эти файлы, хотя они все равно будут генерироваться.

8. MainUnit.dcu — файл с расширением dcu, представляет откомпилированный модуль проекта в промежуточном формате. Когда компилируется программа, все модули компилируются в файлы формата DCU, а потом собираются в один и получается один исполняемый файл. Если модуль не изменялся с последней компиляции, то Delphi пропустит его, а во время сборки будет использовать существующий файл формата DCU, чтобы увеличить скорость компиляции. У вас пока не может быть этого файла, потому что вы еще не компилировали свой проект.

Файлы исходных кодов (с расширением pas) — это текстовые файлы, которые мы будем редактировать в редакторе кода. Файлы визуальных форм (с расширением dfm) создаются автоматически, и в них будет храниться информация о том, что находится на форме, а также настройки самой формы. Я открыл этот файл с помощью Блокнота, и вот что я там увидел:

Код

object Form1: TForm1
  Left = 0
  Top = 0
  Caption = ‘Form1’
ClientHeight = 213
ClientWidth = 455
  Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = ‘Tahoma’
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
End

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

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

А теперь давайте вернемся к нашей программе HelloDelphi, которую мы должны написать. Сначала посмотрим, что у нас уже есть. В принципе, мы ничего особого не сделали, но у нас уже есть готовое окно, которое можно превратить в программу. Для этого нужно скомпилировать проект. Чтобы скомпилировать проект, выбираем из меню пункт Project | Compile HelloDelphi, или нажимаем Ctrl+F9. Если мы ничего не меняли в настройках Delphi, то у нас должно появится окно состояния компиляции.

Рисунок. Окно состояния компиляции в Delphi

Давайте разберемся, что показывает нам это окно.

В этом окне довольно хорошо отображается состояние компиляции. Интерес представляют три значения.

Hints — сообщения. Это простые сообщения, которые указывают на места, где можно улучшить код. Например, вы объявили переменную, но не пользовались ею. В этом случае появится соответствующее сообщение. Это, конечно же, не ошибка, и программа все же будет скомпилирована. Но благодаря этим сообщениям вы сможете увидеть, где была объявлена лишняя переменная или, возможно, просто что-то было забыто.

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

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

Как видим, никаких сообщений, предупреждений или ошибок у нас нет. И это понятно, ведь мы еще ничего не делали и не успели испортить созданную для нас заготовку. Программа скомпилирована. Просто нажимаем кнопку ОК, и это окно закрывается. Можно сделать так, чтобы окно автоматически исчезало по завершении компиляции, для этого нужно поставить галочку в Automatically close on successful compile (Автоматически закрывать после удачной компиляции), но я не рекомендую этого делать.

Теперь давайте вернемся в папку, где мы сохранили проект и посмотрим, что у нас изменилось. В этой папке появился исполняемый файл HelloDelphi.exe. Запустим его, и мы увидим пустое окно.

Давайте изменим заголовок нашей формы на HelloDelphi. Как известно, в Delphi все объекты, а значит, и окно программы тоже объект. Заголовок окна — это скорей всего свойство окна. Для того чтобы изменить это свойство, нужно перейти в объектный инспектор (вкладка Properties (Свойства)), найти свойство Caption (Заголовок) и ввести в его поле ввода слово HelloDelphi (сейчас у нас там написано Form1 и при запуске HelloDelphi.exe у нас появляется форма с заголовком Form1). После этого можно нажать Enter или просто перейти на другую строку с другим свойством.

После всего этого давайте запустим нашу программу. Для этого можно вновь скомпилировать ее и запустить файл. Однако на этот раз мы будем действовать иначе. Выбираем из меню Run (Выполнить) пункт Run (или нажимаем на клавиатуре клавишу F9). Delphi сразу откомпилирует и запустит готовую программу. Как видим, программирование не настолько страшно, как кажется на первый взгляд.

Рисунок. Объектный инспектор. Изменение свойства Caption

К уроку (статье) HelloDelphi. Создаем свое первое приложение на Delphi прилагается исходник, посмотрев который, вы можете ознакомиться с полным исходным кодом программы и посмотреть как работает созданная программа. Исходный код сопровождается комментариями, благодаря чему вы сможете легко в нем разобраться. Но я настоятельно рекомендую делать все самостоятельно. Так вы лучше и быстрее усвоите то, о чем говорилось в этом уроке

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

delphischool.3dn.ru

Библия Delphi 7 | Готовые программы в Delphi и разработка программ в делфи на заказ

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

Структура книги

Глава 1. «Основные принципы работы компьютера». Эта глава посвящена принципам работы компьютера. В ней рассматривается всё, что необходимо знать о том, как компьютер производит расчёты и выполняет различные команды. Это основы, без которых невозможно понимание самого принципа программирования.

Глава 2. «Машинная математика». В этой главе рассматриваются основы машинной математики. Это основа программирования.

Глава 3. «Оболочка Delphi». В этой главе описывается процесс установки Delphi. В этой главе будут в основном начальные сведения о
Delphi и её могут пропустить те, кто уже знаком с Delphi.

Глава 4. «Визуальная модель Delphi». В этой главе рассматривается визуальная модель Delphi. А так же будет затронута теория объектно-ориентированного программирования, без понимания которого невозможно движения дальше.

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

Глава 6. «Работа с компонентами». Основы работы с
компонентами. Их основные свойства, которые можно встретить у большинства
объектов. А так же познакомимся с событийной моделью Windows, и основными
событиями главной формы.

Глава 7. «Палитра компонентов Standard». В этой главе мы познакомимся с закладной Standard палитры компонентов. Напишем громадное количество примеров с использованием этих компонентов и закрепим всё описанное на практике.

Глава 8. «Учимся программировать». В этой главе подробно рассматриваются циклы, логические операции, работу со строками и многое другое.

Глава 9. «Создание рабочих приложений». Здесь будут рассмотрена основа многооконных приложений. Сейчас уже трудно себе представить программу, состоящую только из одного главного окна. Большинство приложений состоит хотя бы из нескольких окон, а некоторые даже из сотен. Здесь же будет описано, как создавать главное меню программы.

Глава 10. «Основные приёмы кодинга». На первый взгляд тут находиться сборная солянка. Тут и работа с массивами, файлами, реестром, преобразование данных, структуры и указатели.

Глава 11. «Обзор дополнительных компонентов Delphi». Остальные компоненты Delphi с писанными к ним достаточно полезными примерами.

Глава 12. «Графические возможности Delphi». Здесь будет рассказано всё, что касается графики. Будет показано, как рисовать встроенными средствами в Delphi различные фигуры и как работать с изображениями разного формата.

Глава 13. «Печать Delphi». Эта глава будет полностью посвящена печати и только
печати.

Глава 14. «Delphi и базы данных». Все знают, что на Delphi очень легко писать базы данных, потому что в него встроены сильнейшие для этого средства.

Глава 15. «Создание отчётности». Здесь будет показано, как можно экспортировать данные из твоих таблиц в Excel и подготавливать к печати документы любой сложности.

Глава 16. «Работа с DBF, Paradox и XML базами данных». В этой главе будет рассказано, как работать с другими таблицами, отличными от Access. Здесь будет описана технология доступа к данным через BDE и dbExpress.

Глава 17. «Потоки». Windows – многозадачная система и позволяет писать многопоточные приложения, в которых операции выполняются параллельно.

Глава 18. «Динамические библиотеки». В этой главе будет рассказано всё необходимое, что касается динамических библиотек. Ты увидишь, как создавать библиотеки с математическими процедурами и функциями, как хранить окна в библиотеках и увидишь реальные примеры их использования.

Глава 19. «Разработка собственных компонентов». В этой главе пойдёт рассказ о том, как создавать свои VCL компоненты, как устанавливать чужие разработки в Delphi и как работать с пакетами компонентов.

Глава 20. «Мультимедиа». Эта глава полностью посвящена принципам программирования звука и видео. Будет рассматриваться, как создавать приложения для работы со звуком с использованием встроенных в Delphi компонентов и без них.

Глава 21. «Графика OpenGL». Есть две достаточно перспективные разработки для профессиональной работы с компьютерной графикой – OpenGL и DirectX.

Глава 22. «OLE, COM, ActiveX». В этой главе будут описаны основные принципы технологий OLE, COM и ActiveX. Все эти термины взаимосвязаны и должны описываться вместе.

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

Глава 24. «Дополнительная информация». Эта глава единственная, которую ты можешь прочитать вне очереди. Как только ты почувствуешь, что твоих знаний достаточно для написания собственных небольших приложений, то ты можешь перескочить на эту главу. Здесь будут описаны некоторые приёмы работы с оболочкой Delphi, которые смогут тебе помочь при разработке собственных приложений, а так же принципы тестирования и отладки твоих программ.

Глава 25. «Сплошная практика». Напоследок будет приведено несколько интересных программ, чтобы ты смог увидеть некоторые приёмы программирование, которые могут пригодиться тебе в будущем. Эту главу можно рассматривать как дополнительный материал ко всему сказанному.

ns2d.ru

Отправить ответ

avatar
  Подписаться  
Уведомление о