Основы программирования в Embarcadero Delphi. RAD Studio XE5 для эффективного обучения программированию

Это наш первый урок по Delphi! Все дальнейшие уроки рассчитаны на людей, знакомых с основами языка Pascal и хорошо владеющими работой на компьютере. Все уроки «заточенны» под Borland Delphi 7 (не все, в дальнейшем будет использоваться Embarcadero Rad Studio ), однако могут быть изучены и при помощи других, возможно более новых сред Delphi, т.к. принцип разработки приложений во всех версиях Delphi одинаковый. Ко многим урокам для начинающих будут прилагаться дополнительные видеоуроки.

Давайте откроем Borland Delphi 7 и изучим внешний вид интерфейса среды разработки:

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

Окно «Form1» это внешний вид вашей будущей программы, который вы можете визуально спроектировать. Проектировка интерфейса будущей программы основана на компонентах.
Компоненты — это разнообразные кнопки, окна, панели, текстовые окна, чекбоксы и т.д. Перечислить все компоненты очень сложно.
Все установленные компоненты размещены в палитре компонентов, где все они разделены в свою очередь на вкладки, такие как «Standart», «Additional», «Win32» и другие.
Слева от окна «Form1» расположено два окна: «Object TreeView» и «Object Inspector».
В окне «Object TreeView» расположен список всех компонентов размещенных на форме в программе. Выделив какой-либо из них, в окне «Object Inspector» мы получаем возможность изменять любые параметры выделенного в окне «Object TreeView» или в окне «Form1» компонента. Там мы можем изменить такие параметры, как заголовок формы программы, или надпись на кнопке и т.д.
Теперь давайте поговорим о самих компонентах. Компоненты делятся на 2 раздела:

  • Визуальные
  • Невизуальные

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

Теперь давайте научимся создавать компоненты и изменять их свойства.

Компонент TButton (Кнопка) располагается во вкладке «Standart». Этот компонент играет роль самой обыкновенной кнопки, без которых не обойдется ни одна программа.
Для ее создания нужно щелкнуть левой кнопкой мыши в палитре компонентов по значку и щелкнуть по месту на форме, в которое вы хотите поместить компонент. Выделив компонент одним кликом левой кнопки мыши мы можем изменить его размер.
Теперь давайте его выделим одним кликом левой кнопки мыши и в окне
«Object Inspector» отыщим параметр, который изменит надпись на кнопке. Этот параметр называется «Caption». Справа от имени параметра мы видим небольшое текстовое поле, в котором написано «Button1». Это и есть надпись на нашей кнопке. Теперь давайте изменим надпись этой кнопки на «Это моя первая кнопка в DELPHI!».
Вот что у меня получилось:

Теперь давайте рассмотрим другие параметры компонента TButton:

Параметр Описание
Name Имя компонента. Используется в программе для доступа к компоненту и его свойствам
Caption Текст на кнопке
Enabled Признак доступности кнопки. Кнопка доступна, если значение свойства равно True, и недоступна, если значение свойства равно False
Left Расстояние от левой границы кнопки до левой границы формы
Top Расстояние от верхней границы кнопки до верхней границы формы
Height Высота кнопки
Width Ширина кнопки
Visible Признак видимости кнопки. Кнопка будет видима призапуске программы, если значение параметра равно True, и невидима, если False

Теперь, разобрав свойства компонента TButton, перейдем к компоненту TCheckBox во вкладке Standart. На форме он выглядит так:

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

Теперь рассмотрим еще один компонент TMemo . Он тоже расположен на вкладке «Standart». Выглядит так:

Это многострочное текстовое поле.
Рассмотрим его параметры:

Параметр Описание
Lines Это и есть многострочное текстовое содержимое этого компонента. Для его редактирования сделайте двойной клик левой кнопкой мыши по полю редактирования параметра. В открывшемся окне введите содержимое и нажмите OK
ScrollBars Это уже более сложный параметр. Он означает наличие полос прокрутки в тексте.
ssNone- нет полос
ssBoth- вертикальная и горизонтальная полосы
ssHorizontal- только горизонтальная полоса
ssVertical- только вертикальная полоса
Font Это шрифт текста. Этот параметр может разворачиваться для редактирования отдельных параметров (размер, цвет). Но это можно редактировать в более удобном окне, сделайте двойной клик левой кнопкой мыши по полю редактирования параметра и откроется окно редактирования шрифта. Там будет все понятно
Text Это тоже параметр для ввода текстового содержимиго, но уже в одну строку
ReadOnly Если стоит true, значит во время работы программы текст memo нельзя изменить, если false, то можно.

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

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

Думаю, про свойства компонентов я рассказал вам достаточно, теперь поговорим о их событиях.
Например: Вы нажимаете на кнопку, а она изменяет свой параметр Caption, или Left, или Visible.
Для этого в окне «Object Inspector» есть вкладка «Events». В этой вкладке мы видим список событий, которые могут происходить с компонентом:

Событие Когда происходит
OnClick При щелчке кнопкой мыши
OnDblClick При двойном щелчке кнопкой мыши
OnMouseDown При удерживании кнопки мыши
OnMouseUp При отпускании кнопки мыши
OnMouseMove При наведении курсора
OnKeyPress При нажатии клавиши клавиатуры
OnKeyDown При нажатии клавиши клавиатуры. События OnKeyDown и OnKeyPress - это чередующиеся, повторяющиеся события, которые происходят до тех пор, пока не будет отпущена удерживаемая клавиша (в этот момент происходит событие OnKeyUp)
OnKeyUp При отпускании нажатой клавиши клавиатуры
OnCreate При создании объекта (формы, элемента управления). Процедура обработки этого события обычно используется для инициализации переменных, выполнения подготовительных действий
OnPaint При появлении окна на экране в начале работы программы, после появления части окна, которая, например, была закрыта другим окном, и в других случаях
OnEnter При получении элементом управления фокуса
OnExit При потере элементом управления фокуса

Рассмотрев самые распространенные события, перейдем к их созданию.
Для того чтобы создать событие для компонента, нужно сделать двойной клик левой кнопкой мыши по текстовому полю, которое находится справа от названия события.
После этого откроется окно, в котором надо будет ввести программный код того события. Например чтобы при нажатии компонент Button1 изменял свою надпись на «Нажатая кнопка» при обработки события OnClick.

Именно написанием программного кода для события мы и займемся на следующем уроке. Не забывайте подписаться на E-Mail рассылку всех новых и самых интересных материалов сайта.

  • Recovery Mode

Как евангелист Embarcadero я общаюсь с программистами достаточно интенсивно и на пределе физических возможностей. Траффик приблизительно 1000 человек в год. На семинарах ко мне подходят преподаватели, которые используют Delphi и C++Builder в обучении. После знакомства с возможностями RAD Studio XE5 они спрашивают: «Можно ли увидеть список весомых аргументов в пользу Delphi и C++Builder именно для образования?». Вопрос понятен. Люди годами используют эти продукты для обучения программированию, наблюдая, как их воспитанники с нуля достигают хорошего уровня с точки зрения самостоятельной разработки. Но «борьба» между технологиями ведётся и в области образования, а новомодные увлечения и броские продукты с необоснованно раздутым имиджем негативно воздействуют на людей, далёких от учебного процесса, но влияющих на принятие решений. Из уважения к преподавателям, часто за небольшие деньги растящих молодое IT-поколение, привожу такие доводы, подкреплённые личным более чем 15-ти летним опытом (школьники, студенты, аспиранты, преподаватели).

В условиях всё усиливающейся роли обучения программированию на всех этапах – от школьной скамьи до вуза – очень важно выбрать эффективную программную среду. Рассмотрим в этом качестве интегрированную среду разработки IDE и языковой базис на примере RAD Studio XE5, которая состоит из Delphi XE5, C++Builder и HTML5 Builder. Соответственно, языковые средства данного пакетного решения – это Delphi/Pascal, C/C++ и ряд популярных языков и технологий для Web-разработки. Такое сочетание весьма эффективно, если целью обучения программирования является формирование универсальных знаний и навыков, необходимых для создания современного программного обеспечения (ПО), в максимально широком диапазоне учащихся.

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

Знакомство с языками программирования должно происходить в школе. Но в силу различных причин очень многие студенты начинают обучение в вузах, имея весьма отдалённое представление о программирование, по крайней мере, создавать приложения самостоятельно они не умеют. Не нужно, говоря о массовом IT-образовании в плане изучения программирования, исходить из предположений о наличии каких-либо знаний. Именно поэтому требуется выработать единый подход к обучению программированию и в школе, и в среднеспециальном, и в высшем учебном заведении. Ещё раз отметим, что целью является поднятие всеобщего уровня знаний в области программирования и навыков создания приложений среди всех учащихся в национальных масштабах. Авторские методики и целевые программы развития наиболее одарённых учащихся неприменимы в отношении общего уровня. Используемые языки и программные среды при таком обучении не рассматриваться при формировании образовательных стандартов в школах, среднеспециальных и высших учебных заведениях по направлениям, непосредственно не связанным с разработкой ПО.

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

  • первичные навыки и базовые знания в Delphi;
  • профессиональная подготовка и выход на высочайший уровень в C++Builder.
Рассмотрим подробно этот подход в порядке нарастания нагрузки как на учащихся, так и преподавательского состава.
Идеальным языком для обучения программирования в среде Delphi XE5 является Pascal:

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

Языковые особенности языка Delphi/Pascal таковы, что используют в качестве ключевых слов легко читаемые и интерпретируемые символьные последовательности. Это позволяет «проговаривать» тексты программ, и это поддерживается при использовании Delphi/Pascal.

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

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

Delphi принадлежит к семейству RAD-инструментов. Ручной ввод программного текста сочетается с манипуляциями в интерактивном режиме с готовыми компонентами. Преподаватель может варьировать методику, начиная как с «чистого» программирования, так и с «быстрой разработки». Всё зависит от возрастной, психофизических особенностей конкретной группы учащихся. Можно даже делить единый урок на две части – «классическое программирование» и интерактивное обучение в игровой форме для сохранения концентрации внимания.

Актуальной версией является Delphi XE5, но она поддерживает работу в режиме «канонических» учебных примеров а-ля консольное приложение с текстовым или файловым вводом/выводом.

Delphi XE5 имеет встроенный набор визуальных 3D-компонентов. Программирование по-настоящему становится интерактивным. Это не «утомительный набор текста программы», а живое взаимодействие со средой разработки. Часть времени можно уделить «рисованию в 3D» в design-time, затем можно перейти к программному динамическому созданию объекты сцены в runtime, потом добавили эффекты анимации в design-time, потом запрограммировали реакции на действие пользователя.

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

Delphi на основе Pascal – язык профессиональной разработки. Миллионы сточек кода, коммерчески успешные приложения, широкий спектр прикладных областей. Языковые возможности современной версии данного языка не ограничивают учащихся выполнением учебных примеров. Можно использовать методы обобщенного программирования и расширенную RTTI.

Delphi XE5 позволяет создавать приложения для мобильных систем. Теперь уже никто из учащихся не почувствует сомнения по поводу актуальности изучаемой технологии. Телефон или планшет на базе Android, iPhone или iPad - эти современны устройства на базе iOS и Android могут быть запрограммированы на языке Delphi/Pascal.

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

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

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

  • один семестр C;
  • один семестр C++;
  • один семестр Java;
  • один семестр C#;
  • один семестр Objective-C.
Это является вполне обоснованным для профильных учебных заведений или соответствующих специальностей в вузах. Но это совершенно неприемлемо для обычных инженерных специальностей, медицинских вузов, гуманитарных университетов, где на информатику отводится всего 1-2 семестра? Для школ, за исключением специализированных, это также неприемлемо.

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

Delphi для учителей и преподавателей способствует универсализации собственных знаний. При современном темпе развития IT-технологий есть большая опасность того, что учащиеся могут по знаниям превосходить преподавателей. Пусть это лишь поверхностное знакомство, неглубокие навыки, формальные методы – всегда есть риск потери имиджа. С Delphi для Windows, Mac OS, iOS и Android преподаватель чувствует себя защищенным, т.к. самые новые и актуальные операционные системы и устройства не являются проблемой. Практически любое современное и модное устройство, принесенное учащимися в учебное заведение, может быть запрограммировано на основе единого кода.

Delphi как единая технологическая среда способствует сотрудничеству между преподавателями и студентами. Рабочая группа может быть сформирована из студентов любого уровня, аспирантов и преподавателей. Исключается ситуация потери преемственности, когда студенту младшего курса поручают продолжить работу аспиранта, но все время тратится на освоение нового языка (Java или C++), а фактическая работа по модернизации алгоритмического наполнения системы обречена на провал. Единство языка и инструмента, доступного всем, начиная со школы – залог успешности в создании общей базы исходных кодов и возможности перехода с уровня «учебное приложение» на «научный проект».

Delphi на основе Pascal – это не «пожизненная» привязка именно к данной технологии. C++Builder – визуальная среда быстрой разработки, построенная на тех же принципах, что и Delphi. Учащиеся, освоившие Delphi, практически мгновенно адаптируются к C++Builder и начинают осваивать специфику и возможности профессиональных языков C/C++.

C++Builder следует рассматривать как следующий после Delphi этап изучения технологий программирования.

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

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

Изучение и реализация типовых алгоритмов параллельно со знакомством с языком программирования C++ значительно увеличивает нагрузку на учащихся. Если алгоритмы уже освоены, а навыки их реализации уже выработаны, то изучение C++ значительно ускоряется.

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

Учебно-методическая база по работе в Delphi легко переносима в C++Builder с сохранением большинства наглядных примеров выполнения прототипов реальных приложений. Типичным методом быстрого знакомства с C++Builder является выполнение уже пройденных заданий в Delph, т.к. визуальные компоненты и методы взаимодействия с базами данных остаются теми же.

После изучения основ программирования в Delphi и совершенствования навыков разработки в C++Builder возможно использование HTML5 Builder в составе RAD Studio XE5. HTML5 Builder представляет собой удобную визуальную среду для web-разработки, включая HTML5, CSS3, JavaScript и PHP. Такой подход позволит рассматривать широкий спектр современных технологий программирования для создания приложений под Windows, Mac OS, iOS, Android, а также клиентских и серверных web-приложений.

RAD Studio XE5 с Delphi XE5 и C++Builder в своём составе представляет собой набор идеальных для обучения программированию сред, который легко адаптируется под различные учебные заведения, их профили, уровень начальной подготовки учащихся, методики обучения, а также целей и задач обучения – от начального знакомства до профессиональных навыков.

Если учебные программы предполагают использование предыдущих версий Delphi и C++Builder, то при поставке RAD Studio XE5 открывается доступ к ним, включая: Delphi XE4, Delphi XE3, Delphi XE2, Delphi XE, Delphi 2010, Delphi 2009, Delphi 2007, Delphi 7, C++Builder XE4, C++Builder XE3, C++Builder XE2, C++Builder XE, C++Builder 2010, C++Builder 2009, C++Builder 2007, C++Builder 6. Это позволяет обновлять учебные планы до использования версий XE5 без нарушении текущего образовательного процесса, постепенно обновляя содержание курсов и наполнение практических работ вплоть до мобильной разработки под iOS и Android.

С RAD Studio XE5 сохраняется преемственность методических материалов, учебной литературы и образовательных планов и стратегий, что исключительно важно, т.к. более 70% школ Российской Федерации используют Delphi/Pascal в обучении. Но и более сложные языки программирования C/C++ также доступны в продолжении совершенствования навыков и развития знаний, вместе с технологиями web-программирования. При создании приложений для различных платформ, таких как Windows, Mac OS, iOS, Android, а также web-приложений учебные планы становятся актуальными, а учащиеся – гарантированно востребованными как получившие универсальное образование в области программирования.

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

Всего материалов: 1
Показано материалов: 1-1

Страницы: 1

Делфи для начинающих. Среда программирования Delphi XE3

Здесь рассказывается об основах программирования на Delphi, обучение для начинающих. В этом видео уроке мы познакомимся со средой разработки Delphi XE3, изучим её интерфейс и создадим в ней простенькую программку. Для начала работы нужно создать новый проект. Сделать это можно через меню File - New. В результате у нас появилась пустая форма бедующей программы. Теперь мы можем разместить на этой форме различные кнопочки, поля, для ввода данных и другие компоненты, которые имеются в составе...



Книга представляет собой практическое руководство по программированию в Embarcadero Delphi. В ней представлена технология визуального проектирования и событийного программирования, подробно рассмотрен процесс создания VCL приложений, показано назначение базовых компонентов, рассмотрены вопросы программирования графики, работа с базами данных Microsoft Access. Уделено внимание разработке Multi-Device приложений, в том числе для платформы Android, использованию компонентов FireMonkey, использованию компонентов FireDAC для работы с интегрированными базами данных SQLite, 3D графика, Float и Path анимация, работа с датчиками и сенсорами.
Для начинающих программистов

3D графика

Графическое пространство

Стартовой точкой для создания 3D приложения является шаблон 3D Application (рис. 7.1). Приложение, созданное на основе этого шаблона, изначально содержит форму, базовым классом которой является класс TForm3D. Класс TForm3D представляет собой графическое пространство, в которое можно поместить 3D объект, например, куб, сферу или цилиндр.

Следует обратить внимание, 3D объекты можно использовать и в обычных, не 3D приложениях, но в этом случае в качестве графического пространства надо использовать компонент Viewport3D.

Анимация

Анимация - процесс придания объектам способности изменяться, например, перемещаться, вращаться, менять цвет.

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

Анимация объекта выполняется путем анимирования его свойств. Например, чтобы заставить «расти» прямоугольник (элемент столбчатой) диаграммы, надо анимировать свойство Height. Чтобы объект, например, картинка, начал двигаться, надо анимировать свойства, определяющие положение объекта: Position.X и Position.Y.

Свойства объекта, которые могут быть анимированы, помечены значком кинопленки (рис. 8.1). Приведенный пример показывает, что у объектов много свойств, которые могут быть анимированы. Это свойства, определяющие размер компонента (Width, Height), положение (Position) и ориентацию компонента (RotationCenter и RotationAngle), цвет (Color), степень непрозрачности (Opacity) и другие.

Базы данных

Delphi предоставляет программисту набор компонентов, используя которые он может создать программу работы практически с любой базой данных: от Microsoft Access до Microsoft SQL Server и Oracle.

События

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

Для того чтобы программа работала так, как описано, она должна обрабатывать события, возникающие при касании полей (областей) ввода информации, и нажатии командных кнопок. При касании экрана возникает событие MouseDown. Именно эти события и обрабатываются. Следует обратить внимание, для того чтобы компонент Label воспринимал события, его свойству HitTest надо присвоить значение True (по умолчанию значение свойства HitTest компонентов Label равно False).

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

Базы данных в мобильных приложениях

В Multi-Device приложениях для работы с базами данных программист может использовать компоненты dbExpress, dbGo и FireDAC. Эта глава посвящена использованию FireDAC компонентов. В ней на примере работы программы со встроенной базой данных SQLite Расходы демонстрируется назначение и особенности использования компонентов FireDAC, технология связывания данных.

В мобильных приложениях для хранения данных используют СУБД, которые принято называть встроенными (embedded – встроенный, включенный, интегрированный). С точки зрения архитектуры, встроенная СУБД является обычной, хотя и, как правило, с меньшими возможностями СУБД, построенной на основе SQL сервера. В качестве встроенной СУБД в Multi-Device приложениях можно использовать сервер IBLite или свободно распространяемый сервер баз данных SQLite.

FireDAC компоненты доступа к данным

Основные компоненты FireDac находятся на вкладке FireDac палитры компонентов, они обеспечивают доступ к данным и манипулирование ими. Компонент FDConnection обеспечивает соединение с базой данных, компонент FDTable – доступ к таблицам, компонент FDQuery обеспечивает взаимодействие с базой данных посредством SQL запросов.

Компоненты отображения данных

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

Для представления информации в виде списка можно использовать компоненты ListBox и ListView. Для представления информации в виде таблицы используется компонент StringGrid (на вкладке Grids).

Создание базы данных

База данных представляет собой файл в котором находятся таблицы, содержащие информацию и, как правило, она создается до начала работы над приложением при помощи соответствующей СУБД. Базу данных SQLite, которая будет использоваться на этапе разработки приложения, можно создать при помощи FireDac Explorer. Задачу создания рабочей базы данных можно возложить на приложение работы с базой данных: при первом запуске программы на устройстве приложение создаст базу данных.

Процесс создания базы данных SQLite рассмотрим на примере. Создадим при помощи FireDAC Explorer базу данных expenses (расходы), которая представляет собой одну единственную таблицу expenses

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

Рисунок. Главное меню Delphi XE5

Первое с чего следует начать это с меню File (Файл) .

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

VCL Forms Application - Delphi - создает новый проект со стандартными элементами управления.

VCL Metropolis UI Application

FireMonkey Desktop Application - Delphi - создает новый проект с элементами управления FireMonkey

FireMonkey Mobile Application - Delphi

FireMonkey Metropolis UI Application

Package - Delphi

VCL Form - Delphi - добавляет к проекту новую пустую стандартную форму

FireMonkey Form - Delphi - добавляет к проекту новую пустую форму FireMonkey

FireMonkey Mobile Form - Delphi

Unit - Delphi - добавляет к проекту новый модуль

Other - отображает окно с ярлыками для всех модулей, которые могут создаваться

Open - открыть существующий файл, поддерживаемый Delphi.

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

Reopen - повторно открыть проект, который недавно открывался.

Close - закрыть текущий модуль.

CloseAll - закрыть все.

UseUnit - использовать модуль.

Print - печатать модуль.

Exit - выход.

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

Меню Edit (Редактирование) содержит все основные команды редактирования кода и компонентов на форме

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

Search - поиск и замена последовательности символов (текста) в исходном коде

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

Меню Refactor (Улучшение) . Понятие refactoring может быть переведено как улучшение. В данном случае это — улучшение существующего кода. Так как на данный момент мы не написали абсолютно никакого кода, то этот пункт мы рассмотрим немного позже.

В меню Project (Проект) находятся функции управления проектом. Давайте рассмотрим основные пункты этого меню:

Add to project - добавляет в наш проект уже существующий файл;

Remove from project - удаляет из проекта модуль;

Add to repository - добавить в хранилище. Модуль будет добавлен в качестве шаблона, и на его основе можно будет создавать окна;

View source - позволяет просмотреть исходный код проекта. Это не код какого-либо модуля, это код именно проекта, где Delphi автоматически генерирует код инициализации автоматически создаваемых форм;

Compile “Имя проекта” - компилирует созданный нами проект;

Build “Имя проекта” - запускает построение проекта;

Compile All Projects - компилирует все открытые проекты;

Build All Projects - построение всех открытых проектов;

Options - позволяет настроить свойства нашего проекта.

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

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

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

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

В меню Tools (Инструменты) можно найти пункты меню, с помощью которых можно настраивать саму Среду разработки Delphi, а также множество дополнительных утилит.

Help - служит для вызова справки помощи.