Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Ответ
 
Опции темы
Старый 26.05.2013, 21:16   #1
 Разведчик
Аватар для Re.PaCK
 
Re.PaCK лучик света в грозовом небеRe.PaCK лучик света в грозовом небеRe.PaCK лучик света в грозовом небеRe.PaCK лучик света в грозовом небеRe.PaCK лучик света в грозовом небеRe.PaCK лучик света в грозовом небеRe.PaCK лучик света в грозовом небе
Регистрация: 07.04.2012
Сообщений: 34
Популярность: 718
Сказал(а) спасибо: 47
Поблагодарили 63 раз(а) в 49 сообщениях
Отправить сообщение для Re.PaCK с помощью Skype™
 
По умолчанию Изучение 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

*Страница Название Описание
_________________________________
*Standard Стандартные Основные элементы интерфейса приложений Windows (меню, кнопки, подписи и т.п.)
__________________________________________________ _______________________________________________
*Additional Дополнительные Набор улучшенных элементов управления, имеющихся в VCL
__________________________________________________ _____________________________
*Win32 32-разрядные Windows Элементы интерфейса приложений, характерные для Windows 95 и последующих версий этой ОС
__________________________________________________ __________________________________________________ ________________
*System Системные Элементы управления и доступа к системным 16 функциям Windows (таймер, OLE, DDE)
__________________________________________________ _____________________________________________
Data Access Доступ к данным Стандартный набор компонент для доступа к БД
__________________________________________________ ___________________

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

dbExpress dbExpress Компоненты для доступа к БД при помощи SQL-драйвера dbExpress
__________________________________________________ ______________________________________________
WebServices WebServices Компоненты для взаимодействия с удаленный web-сервером через SOAP
__________________________________________________ __________________________________________________ __

DataSnap DataSnap Компоненты для взаимодействия с сервером через DCOM
__________________________________________________ ______________________________________________
BDE Borland Database Engine Компоненты для доступа к БД посредством BDE (классический вариант для простых БД)
__________________________________________________ __________________________________________________ ____________________
ADO ADO Компоненты для взаимодействия с БД через ADO
__________________________________________________ _____________________

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

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

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

WebSnap WebSnap Компоненты для работы с данными через различные протоколы Интернета
__________________________________________________ _______________________________________________
Internet Internet Набор ActiveX-компонент для работы через Интернет
__________________________________________________ _____________________________

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

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

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

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

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

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

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

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

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

Indy i/o handlers Ввод-вывод Indy Компоненты для отслеживания активности соединений других компонент Indy
__________________________________________________ __________________________________________________ __________

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

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

IW Standard, Data, Client Side, Control IntraWeb Набор специальных кросс платформенных компонент для создания Web-приложений для любых Web-клиентов, включая КПК и смартфоны
__________________________________________________ __________________________________________________ __________________________________________________ ______________________________________

Servers 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]




Последнее свойство - составное и такое его значение получается в результате установки таких его составляющих, как 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, редактор кода имеет все стандартные возможности редактирования текста (вроде работы с буфером обмена), а так же ряд особенностей, характерных для редакторов кода, а именно:

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

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

Редактор постоянно отображает позицию курсора, т.е. в какой строке и колонке находится точка ввода;

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

Подсветка синтаксиса выделяет ключевые слова и прочие специфические языковые конструкции;

При перемещении по тексту стрелкой вправо по окончании текста в строке, курсор не переносится на сроку вниз, а продолжает перемещаться дальше;

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


Также предусмотрены такие функции, как автоподстановка кода по ключевым фразам, автозавершение кода и т.д.


При всем этом следует отметить, что практически все функции редактора, включая правила подсветки, сочетания горячих клавиш, поведение курсора, автоподстановка и т.д., гибко настраиваются. Для этого следует открыть окно свойств редактора (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. Выглядеть она будет так:


Цитата:
readln;


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

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

Копи-паст!!!
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
Делаю Музыкальные сеты

Последний раз редактировалось Re.PaCK; 26.05.2013 в 21:24.
  Ответить с цитированием
Старый 26.05.2013, 21:20   #2
 Фельдмаршал
Аватар для Dimedrol1536
 
Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
Отправить сообщение для Dimedrol1536 с помощью ICQ Отправить сообщение для Dimedrol1536 с помощью Skype™
 
По умолчанию Re: Изучение Delphi

А зачем это тут?
Есть специальный раздел для Delphi.
  Ответить с цитированием
Старый 26.05.2013, 21:21   #3
 Разведчик
Аватар для Re.PaCK
 
Re.PaCK лучик света в грозовом небеRe.PaCK лучик света в грозовом небеRe.PaCK лучик света в грозовом небеRe.PaCK лучик света в грозовом небеRe.PaCK лучик света в грозовом небеRe.PaCK лучик света в грозовом небеRe.PaCK лучик света в грозовом небе
Регистрация: 07.04.2012
Сообщений: 34
Популярность: 718
Сказал(а) спасибо: 47
Поблагодарили 63 раз(а) в 49 сообщениях
Отправить сообщение для Re.PaCK с помощью Skype™
 
По умолчанию Re: Изучение Delphi

Цитата:
Сообщение от Dimedrol1536Посмотреть сообщение
А зачем это тут?
Есть специальный раздел для Delphi.

Не знал про этот раздел - Пусть Модераторы Потом перенесут.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
Делаю Музыкальные сеты
  Ответить с цитированием
Старый 29.05.2013, 20:06   #4
Super Moderator
 Маршал
Аватар для Тигрь
 
Тигрь сломал счётчик популярности :(Тигрь сломал счётчик популярности :(Тигрь сломал счётчик популярности :(Тигрь сломал счётчик популярности :(Тигрь сломал счётчик популярности :(Тигрь сломал счётчик популярности :(Тигрь сломал счётчик популярности :(Тигрь сломал счётчик популярности :(Тигрь сломал счётчик популярности :(Тигрь сломал счётчик популярности :(Тигрь сломал счётчик популярности :(
Регистрация: 05.05.2009
Сообщений: 875
Популярность: 48955
Золото Zhyk.Ru: 850
Сказал(а) спасибо: 155
Поблагодарили 739 раз(а) в 274 сообщениях
 
По умолчанию Re: Изучение Delphi

На делфи 7 пишут только те кого 10 лет назад заморозили в криокамере и разморозили вчера.
________________
Продаю приват читы для AION Absolute, desteny 3.5, Legend, Cataclysm, Ru, EU, NA
Продаю многооконку на R2 Пишу читы на заказ под любые игры. Предложения в ЛС.
Все мои читы/программы/статьи тут: http://zhyk.ru/forum/showpost.php?p=38501&postcount=21
  Ответить с цитированием
Старый 30.05.2013, 22:14   #5
 Пехотинец
Аватар для NebesaBag
 
NebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражания
Регистрация: 27.12.2011
Сообщений: 73
Популярность: 2425
Сказал(а) спасибо: 334
Поблагодарили 57 раз(а) в 27 сообщениях
 
По умолчанию Re: Изучение Delphi

Цитата:
Сообщение от ТигрьПосмотреть сообщение
На делфи 7 пишут только те кого 10 лет назад заморозили в криокамере и разморозили вчера.

Почему?) На данный момент, не чувствую проблем при работе с 7. На компе есть ещё XE3 но комп его долго грузит и юзаю 7 покачто доволен=)

ПС полный год где-то есть с момента моего первого знакомства с Д7 и вообще увлечением среды разработки.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]

Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)


Кто плюсует популярность, подписывайтесь пожалуйста)
  Ответить с цитированием
Старый 04.06.2013, 18:15   #6
 Разведчик
Аватар для Junе
 
Junе скоро будет известенJunе скоро будет известенJunе скоро будет известенJunе скоро будет известен
Регистрация: 16.05.2013
Сообщений: 4
Популярность: 305
Сказал(а) спасибо: 0
Поблагодарили 23 раз(а) в 15 сообщениях
Отправить сообщение для Junе с помощью Skype™
 
По умолчанию Re: Изучение Delphi

Цитата:
Сообщение от ТигрьПосмотреть сообщение
На делфи 7 пишут только те кого 10 лет назад заморозили в криокамере и разморозили вчера.

работаю на Delphi почти всегда , хороший простой понятный язык , ну и как у любых других языков есть конечно заморочки , а вот относительно Borland Delphi он тут немного лоялен , он вступил силу в свою эпоху в 2003 году
Цитата:
в 2003 году

, сам Delphi уникален тем что он прост и доступен каждому но и сложен в другом плане изучения .
  Ответить с цитированием
Старый 04.06.2013, 18:32   #7
 Сержант
Аватар для Роспотребнадзор
 
Роспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражания
Регистрация: 10.08.2011
Сообщений: 136
Популярность: 1781
Сказал(а) спасибо: 60
Поблагодарили 246 раз(а) в 145 сообщениях
Отправить сообщение для Роспотребнадзор с помощью Skype™
 
По умолчанию Re: Изучение Delphi

Цитата:
Сообщение от JunеПосмотреть сообщение
вот относительно Borland Delphi он тут немного лоялен , он вступил силу в свою эпоху в 2003 году

А в 2009 загнулся, когда Borland перестал существовать. А CodeGear продолжила развивать его дальше, назвав среду разработки и язык одинаково.


Цитата:
Сообщение от JunеПосмотреть сообщение
Delphi уникален тем что он прост и доступен каждому но и сложен в другом плане изучения

Что что?

Последний раз редактировалось Роспотребнадзор; 04.06.2013 в 18:36.
  Ответить с цитированием
Старый 04.06.2013, 18:34   #8
 Разведчик
Аватар для Junе
 
Junе скоро будет известенJunе скоро будет известенJunе скоро будет известенJunе скоро будет известен
Регистрация: 16.05.2013
Сообщений: 4
Популярность: 305
Сказал(а) спасибо: 0
Поблагодарили 23 раз(а) в 15 сообщениях
Отправить сообщение для Junе с помощью Skype™
 
По умолчанию Re: Изучение Delphi

Цитата:
Сообщение от РоспотребнадзорПосмотреть сообщение
Что что ?

для меня сложен тем ! что , : написать программы допустим для сети интернет ,написать авторизацию как пример Darkorbit, а вот другие примеры создать не проблема , сделать проигрыватель , или базу данных не проблема . Это моё личное мнение.

Последний раз редактировалось Junе; 04.06.2013 в 18:43.
  Ответить с цитированием
Старый 04.06.2013, 18:38   #9
 Сержант
Аватар для Роспотребнадзор
 
Роспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражанияРоспотребнадзор блестящий пример для подражания
Регистрация: 10.08.2011
Сообщений: 136
Популярность: 1781
Сказал(а) спасибо: 60
Поблагодарили 246 раз(а) в 145 сообщениях
Отправить сообщение для Роспотребнадзор с помощью Skype™
 
По умолчанию Re: Изучение Delphi

Цитата:
Сообщение от JunеПосмотреть сообщение
для меня сложен тем ! что , : написать программы допустим для сети интернет ,написать авторизацию как пример Darkorbit, а вот другие примеры , сделать проигрыватель , или базу данных не проблема . Это моё личное мнение.

Тут не в языке дело. А в криворукости
  Ответить с цитированием
Старый 04.06.2013, 18:40   #10
 Разведчик
Аватар для Junе
 
Junе скоро будет известенJunе скоро будет известенJunе скоро будет известенJunе скоро будет известен
Регистрация: 16.05.2013
Сообщений: 4
Популярность: 305
Сказал(а) спасибо: 0
Поблагодарили 23 раз(а) в 15 сообщениях
Отправить сообщение для Junе с помощью Skype™
 
По умолчанию Re: Изучение Delphi

Цитата:
Сообщение от РоспотребнадзорПосмотреть сообщение
А в криворукости

в знаний если мягко выражаться !
  Ответить с цитированием
Старый 04.06.2013, 19:01   #11
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: Изучение Delphi

Цитата:
Сообщение от JunеПосмотреть сообщение
для меня сложен тем ! что , : написать программы допустим для сети интернет ,написать авторизацию как пример Darkorbit, а вот другие примеры создать не проблема , сделать проигрыватель , или базу данных не проблема . Это моё личное мнение.

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


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обсуждение] Как добавить исключение ошибок в delphi Mezya67 Вопросы и ответы, обсуждения 3 16.03.2013 20:40
[Помогите!] Получение ХП (Delphi) hiho Общение разработчиков 11 19.05.2012 11:12
[Куплю] Обучение Delphi (2010) Cropp Dark Orbit 1 20.07.2011 18:51

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 19:13.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net