Тарифы Услуги Сим-карты

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

Энциклопедичный YouTube

  • 1 / 5

    Среда предназначена для быстрой (RAD) разработки прикладного ПО для операционных систем Windows, Mac OS X, а также iOS и Android. Благодаря уникальной совокупности простоты языка и генерации машинного кода, позволяет непосредственно, и, при желании, достаточно низкоуровнево взаимодействовать с операционной системой, а также с библиотеками, написанными на C/C++. Созданные программы независимы от стороннего ПО, как то Microsoft .NET Framework или Java Virtual Machine. Выделение и освобождение памяти контролируется в основном пользовательским кодом, что, с одной стороны, ужесточает требования к качеству кода, а с другой - делает возможным создание сложных приложений с высокими требованиями к отзывчивости (работа в реальном времени). В кросс-компиляторах для мобильных платформ предусмотрен автоматический подсчёт ссылок на объекты, облегчающий задачу управления их временем жизни.

    Произношение

    По поводу «правильного» произношения названия среды разработки было сломано немало копий не только в России . Интересно, что нет единства даже среди англоязычных стран. В частности, согласно данному источнику, в Великобритании доминирует произношение «дел-фи́» , а в США - «дел-фа́й» .

    CodeGear

    История версий Delphi

    Borland Delphi

    Первая версия Borland Delphi (позже известная как Delphi 1) была выпущена в 1995 году и была предназначена для разработки 16-разрядных приложений для Windows 3.1. Это была одна из первых систем RAD .

    Delphi 2

    Delphi 2 появилась в 1996 году и позволяла разрабатывать 32-битные приложения. Для программирования под Windows 3.1 в комплект поставки включалась Delphi 1.

    Delphi 3

    Delphi 3 выпущена в 1997 году. В этой версии появилась технология Code Insight, пакеты компонентов, поддержка ActiveForms, MIDAS и интерфейсов COM.

    Inprise Delphi 4

    Inprise Delphi 4 была выпущена в 1998 году. IDE была полностью переработана с применением интерфейсов Drag-and-Dock. В VCL добавлена поддержка ActionLists. Была введена перегрузка процедур и функций, динамические массивы, поддержка Windows 98, CORBA и Microsoft BackOffice. Это была последняя версия поставляемая с Delphi 1 для 16-битных программ.

    Borland Delphi 5

    Borland Delphi 5 появилась в 1999 году. Добавлены фрэймворки, параллельное программирование, расширенный интегрированный отладчик, поддержка XML, поддержка баз данных ADO.

    Kylix

    В 2001 году Borland реализовал версию Delphi под Linux , названную Kylix. Вместо библиотеки VCL использовалась кроссплатформенная CLX (оболочка для ). IDE Kylix базировался на библиотеках Wine. Так как kylix раньше был по другому назван GRODT потом Н.Никос изменил название на kyluix. [ ]

    Borland Delphi 6

    Поддерживала кросс-платформенную библиотеку CLX.

    Borland Delphi 7

    Delphi 7, выпущенная в августе 2002 года, стала стандартом для многих разработчиков Delphi.

    Это один из самых успешных продуктов Borland из-за стабильности, скорости и низких требований к аппаратному обеспечению. В Delphi 7 добавлены новые компоненты для Windows XP и увеличено число компонентов для создания Web-приложений .

    Borland Delphi 8

    Delphi 8 выпущена в декабре 2003 года. Имела новый закрепленный интерфейс Galileo, подобный Visual Studio.NET Microsoft. Поддерживала разработку приложений только под .NET . Позиционировалась как первая система программирования под.NET, выпущенная не Microsoft, а сторонним разработчиком.

    Borland Delphi 2005

    Также Delphi 9 и Borland Developer Studio 3.0. В этой версии была возвращена возможность разработки приложений под Win32, убранная из предыдущей Delphi 8. Но если библиотека VCL была возвращена, то CLX больше уже не поддерживалась.

    Borland Delphi 2006

    Delphi 2006 (Delphi 10, Borland Developer Studio 4.0) Была выпущена в декабре 2005 года. В одной IDE поддерживалась разработка проектов C#, Delphi.NET, Delphi Win32 и C++.

    CodeGear Delphi 2007

    Delphi 2007 (Delphi 11, в составе IDE CodeGear RAD Studio 5.0) вышла в сентябре 2007 года. Является последней неюникодной версией Delphi.

    Новое в Delphi 2007

    • Стандартные компоненты в новой Delphi, теперь автоматически поддерживают темы Windows. В предыдущих версиях нужно было кидать на форму компонент XPManifest. XPManifest некорректно работал (исчезал цвет на некоторых компонентах) в ОС Windows Vista и выше;
    • Некоторые изменения претерпел VCL . Наряду с обычной, стандартной вкладкой «Dialogs», появилась новая - «Vista Dialogs». Она содержит всего три компонента: TFileOpenDialog, TFileSaveDialog и TTaskDialog;
    • В VCL добавлены Vista-ориентированные классы диалогов (TCustomFileDialog, TCustomFileOpenDialog, TCustomFileSaveDialog, TCustomTaskDialog, TFavoriteLinkItem, TFavoriteLinkItems, TFavoriteLinkItemsEnumerator, TFileTypeItem, TFileTypeItems, TTaskDialogBaseButtonItem, TTaskDialogButtonItem, TTaskDialogButtons, TTaskDialogButtonsEnumerator, TTaskDialogProgressBar, TTaskDialogRadioButtonItem) и переработаны некоторые существовавшие классы под Windows Vista;
    • Справочная система Delphi сделана в формате Microsoft Document Explorer. Многие его пункты переработаны и расширены. Визуально выглядеть он стал лучше;
    • Некоторым изменениям подверглась DBExpress . Появилась поддержка Interbase 2007, MySQL 4.1 и 5. Также появилась поддержка Unicode в драйверах Oracle , Interbase и MySQL .

    Delphi 2009

    Новое в Delphi 2009
    • полная поддержка Unicode . Приложения могут выполняться на любой языковой версии Windows. Применение Unicode гарантирует, что приложения будут одинаково выглядеть и функционировать во всех языковых версиях Windows и поддерживать как Unicode-строки, так и ANSI-строки. Новые усовершенствованные средства локализации помогают переводить приложения на различные языки. Все функции Windows API заменены на их unicode-аналоги (например, ранее MessageBox определялась как MessageBoxA, теперь - MessageBoxW); тип String теперь на самом деле является UnicodeString, а Char - WideChar, PChar теперь объявлен как PWideChar. Старые типы и описания ANSI-вариантов системных функций сохранились, однако теперь потребуется прямое их указание (например, Set of Char в Delphi 2009 будет Set of AnsiChar, а MessageBox - MessageBoxA). Delphi 2009 - первая из версий Delphi для Win32 , требующая серьёзной переработки проектов при переходе на новую версию, что особенно критично для системных программистов, широко использовавших прямую обработку типов данных;
    • новые элементы языков программирования, в том числе Generics и анонимные методы для Delphi, позволяют создавать более гибкий и качественный код и предоставляют новые возможности для рефакторинга ;
    • новая библиотека VCL включает в себя множество усовершенствований и новых компонентов для создания развитого графического интерфейса;
    • веб-библиотека VCL позволяет создавать веб-приложения с развитым интерфейсом с поддержкой AJAX ;
    • уменьшено время передачи приложением сообщений операционной системе;
    • визуальное проектирование и разработка баз данных благодаря входящему в состав редакции Delphi Architect профессионального средства моделирования Embarcadero ER/Studio.

    Delphi 2010

    25 августа 2009 года компания Embarcadero Technologies объявила о продаже интегрированной среды разработки Embarcadero Rad Studio 2010, в которую вошла новая версия Delphi 2010.

    Новое в Delphi 2010

    • Поддержка Windows 7 API, Direct2D и мультисенсорного ввода.
    • Поддержка касаний и жестов для Windows 2000 , , Vista и 7.
    • IDE Insight в Delphi 2010 - мгновенный доступ к любой функции или параметру.
    • Delphi 2010 включает свыше 120 усовершенствований для повышения производительности.
    • Визуализаторы отладчика.
    • В Delphi 2010 включена поддержка Firebird с помощью dbExpress .
    • Классический интерфейс Delphi 7 и панель инструментов со вкладками как опция.
    • Расширение RTTI - поддержка атрибутов, которые могут быть применены к типам(в том числе классам и интерфейсам), полям, свойствам, методам и к элементам перечислений.
    Редакция Delphi 2010 Professional
    • Локальное подключение к базам данных InterBase , Blackfish SQL и MySQL
    • Развертывание Blackfish SQL в системах с одним пользователем и размером базы данных 512 МБ.
    • Веб-библиотека VCL с ограничением числа подключений (не более 5).
    Редакция Delphi 2010 Enterprise
    • Delphi 2010 Enterprise включает все возможности редакции Delphi 2010 Professional и ряд дополнительных возможностей.
    • Подключение к серверам баз данных InterBase , Firebird , Blackfish SQL, MySQL , Microsoft SQL Server , Oracle , DB2 , Informix и Sybase при подключении через dbExpress.
    • Разработка многоуровневых приложений баз данных DataSnap.
    • Развертывание Blackfish SQL в системах с пятью пользователями и размером базы данных 2 ГБ.
    • Веб-библиотека VCL без ограничения числа подключений.
    • Дополнительные возможности UML -моделирования.
    Редакция Delphi 2010 Architect
    • Delphi 2010 Architect включает все возможности редакции Delphi 2010 Enterprise и ряд дополнительных возможностей.
    • Обратное проектирование, анализ и оптимизация баз данных.
    • Создание логических и физических моделей на основе сведений, извлеченных из баз данных и файлов сценариев.
    • Удобные для восприятия и навигации диаграммы.
    • Delphi 2010 Architect дает возможность прямого проектирования путём автоматического создания кода базы данных из моделей.
    • В Delphi 2010 Architect усовершенствовано двунаправленное сравнение и объединение моделей и структур баз данных.

    Delphi XE

    Новые возможности Delphi XE

    • Интеграция Subversion.
    • Новые возможности VCL и RTL.
    • Доработки в редакторе кода.
    • Обновление DataSnap, в частности по части поддержки новых версий СУБД.
    • Обновление средств моделирования, поддержка диаграмм последовательностей.
    • Новые возможности для расширения IDE, обновленный Open Tools API.

    Delphi XE2

    1 сентября 2011 года Embarcadero выпустила RAD Studio XE2, которая включает в себя Delphi XE2, а также C++ Builder XE2, Prism XE2 и RadPHP XE2.

    Новое в Delphi XE2;

    Delphi XE3

    Delphi XE3 поддерживает 32 битную и 64 битную редакции Windows (включая Windows 8) и улучшенную поддержку Apple Mac OS X с фреймворком Firemonkey 2/FM². Поддержка iOS была прекращена (с намерением вернуть её обратно в отдельном продукте - Mobile Studio), но приложения под эту платформу по-прежнему можно разрабатывать в Delphi XE2.

    Delphi XE4

    Нововведения
    • Вернулась поддержка iOS , которая отсутствовала в RAD Studio XE3.
    • Взамен RAD Studio XE3 Mobile, выход которой ожидался в начале 2013 года , RAD Studio XE4 была дополнена функционалом для разработки мобильных приложений.
    • Программирование непосредственно под iPhone и iPad с учётом всех программных и технических особенностей.
    • Генерация кода для эмулятора Apple iOS.
    • Улучшено взаимодействие с такими базами данных, как InterBase , SQLite , MySQL , SQL Server, Oracle , PostgreSQL , DB2 , Advantage DB, Firebird , Access , Informix , DataSnap и тд.

    Delphi XE5

    RAD Studio XE5 появилась в продаже 11 сентября 2013 года . В новой версии добавлена поддержка разработки ПО для устройств с архитектурой ARM , работающих под управлением Android .

    Delphi XE6

    15 апреля 2014 года Embarcadero выпустила RAD Studio XE6. Разработчики назвали его «качественным релизом», так как были исправлены сотни дизайн-ошибок и ошибки производительности.

    Новое в IDE XE6

    • Дизайн устройства Google Glass добавлен в конструкторе форм.
    • Новые иконки в IDE. Иконки были обновлены по всему продукту.
    • Новые возможности в диспетчере развёртывания. Новая опция Перезапись позволяет выбрать файлы, которые не нужно разворачивать, специально, чтобы можно было избежать перезаписи файлов на целевом устройстве. Опция Перезапись установлена в Всегда по умолчанию.
    • Изменения в SDK-менеджере для Android-платформ. Свойства для Android SDK теперь организованы в трёх различных вкладках: SDK, NDK и Java.
    • Изменены и добавлены некоторые параметры в окне Опции проекта (новая ориентация страницы для мобильных приложений, новая функция Use MSBuild externally to compile для Delphi-компилятора, новый ключ hardwareAccelerated на Info Version Page для Android, новые возможности для C++ Linker для всех мобильных платформ).
    • Команды выполнения предоставляют новый параметр -cleaninstall для мобильных платформ.
    Новые ключевые возможности Delphi XE6
    • Компоненты для взаимодействия приложений (Application Tethering Components)
    • Компоненты для панели задач (Taskbar component): Компоненты для реализации предварительного просмотра нескольких окон, которые можно выбрать в приложениях при помощи управляющих кнопок. Автоматический или пользовательский предварительный просмотры. Отображение прогресса в кнопках панели задач для приложений. Перекрывающиеся иконки на кнопках панели задач.
    • Взаимодействие с сервисами в облаках (BaaS), компоненты для Kinvey и Parse: Взаимодействие с ведущими поставщиками «бэкендов-как-сервисов» для добавления данной функциональности к мобильным приложениям. Лёгкий доступ к сервисам в облаках, что избавляет от необходимости создавать и поддерживать собственные «бэкенд-сервисы». Использование push-уведомлений для вовлечения любых пользователей устройств и платформ. Доступ к данным и хранилищам объектов в облаках. Аутентификация пользователей. Поддержка REST -клиентов, создание которых доступно начиная с XE5. Поддержка трёх наиболее популярных поставщиков BaaS - Kinvey и Parse на основе набора компонент доступа через API.
    • Новые стили VCL : Придание приложением обновленный вид под актуальные версии Windows или создание для них уникального дизайна. Включает стиль планшетной Windows. Поддерживает Windows 7 и Windows 8. Полная стилизация приложений, включая меню и границы окон.
    • Компоненты VCL для работы с датчиками: Delphi-приложения могут использовать возможности датчиков положения, перемещения и других. Доступ к датчиками устройств из VCL-приложений для планшетов под управлением Windows. Возможности акселерометра , GPS и гироскопа .
    • Покупки из приложения и реклама в приложениях: Мобильные приложения дают возможность зарабатывать деньги для их разработчиков. Можно монетизировать мобильные приложения за счёт встраивания возможностей покупки из приложений и рекламы. Продажа контента, функциональности, сервисов и подписки в iOS и Android. Поддержка главных рекламных сетей (Google AdMob и Apple iAd).
    • Приложения для Google Glass : С помощью Delphi разработка для различных устройств теперь простирается за рамки ПК, планшетов и смартфонов до носимых гаджетов. Возможность создания Andorid-приложений для Google Glass . Новые пользовательские стили для оптимизации дизайна приложений и разрешения под Google Glass . Шаблоны дизайнера для устройства Google Glass .
    • Специальные возможности: Можно делать приложения более удобными для использования большим количеством пользователей, включая тех, кто использует устройства чтения экрана. Новые специальные возможности для настольных приложений на основе FM. Поддержка JAWS на Windows и VoiceOver на Mac OS X.
    • Качество, производительность и стабильность: Наилучшие возможности по разработке и поставке приложений с высочайшим уровнем пользовательского взаимодействия. Исправлено более 2000 зарегистрированных ошибок. Повышена общая производительность приложений на этапе исполнения для всех платформ.
    • Ключевые возможности и работа с базами данных: Расширение ключевых возможностей продукта. Улучшение в библиотеке FireDAC по работе с базами данных, FDMemTable. «Обозреватель данных» (Database Explorer) для FireDAC. Поддержка Apache (WebBroker). Поддержка DirectX 11 , OpenGL 4.3 и более ранние. Производительность DataSnap и обновлённые мастера (wizards). Рефакторинг и улучшения в RTL. Обновление драйвера FireDAC для Informix. Поддержка Apache C++.

    Delphi XE7

    Основные изменения

    Delphi XE8

    • Появилась возможность разработки 64-битных приложений под iOS;
    • Предварительный просмотр дизайна приложения на разных устройствах одновременно;
    • Возможность запускать iOS-приложения на любом зарегистрированном в RAD Studio iOS-симуляторе (iPad, iPad Air, iPhone от 4 и выше);
    • Возможность отключения встроенных в RAD Studio Android-библиотек;
    • RAD Studio теперь поддерживает новую систему контроля версий, интегрированную в IDE, для управления и отслеживания изменений в проектах: Mercurial Version Control System Integrated;
    • Позволяет создавать универсальные приложения для iOS с разной разрядностью - в одном исполняемом файле два кода: 32 бит и 64 бит (ARMv7 + arm64);
    • Интегрирована Castalia (добавляет функциональность, позволяющую выполнять некоторые задачи более простым способом);
    • Добавлены два новых независящих от платформы типа данных: FixedInt и FixedUInt . (FixedInt - 32-битное целое число со знаком, FixedUInt - 32-битное целое число без знака).

    Delphi 10 Seattle

    Основные нововведения среды разработки

    Delphi 10.1 Berlin

    Добавлена поддержка Android 6.0.

    Delphi 10.2 Tokyo

    Основные новые возможности Delphi 10.2 Tokyo:

    • в состав Delphi включён компилятор приложений под Linux (Ubuntu Server (LTS 16.04) and RedHat Enterprise (V7));
    • включена поддержка СУБД MariaDB .

    Delphi for PHP

    В марте 2007 года CodeGear выпустила среду разработки Delphi for PHP , предназначенную для разработки веб-приложений на языке программирования PHP . Теперь среда Delphi ориентирована не только на язык Delphi . Были выпущены 1-я и 2-я версии, после чего Delphi for PHP была переименована в RadPHP XE (по сути 3-я версия), затем RadPHP XE2, и с выпуском Delphi XE3 этот продукт сильно переработан и назван HTML5 Builder.

    Delphi for .NET

    Первая версия полноценной среды Delphi для.NET - Delphi 8. Среда позволяет писать приложения только для.NET.

    В Delphi 2005 можно писать приложения для.NET, используя стандартную библиотеку классов.NET и VCL для.NET. Среда позволяет писать.NET-приложения на . Delphi 2005 также позволяет писать обычные приложения с использованием библиотек VCL и CLX .

    Delphi 8, 2005, 2006 используют.NET Framework версии 1.1. Delphi for .NET 2007, включённая в состав CodeGear RAD Studio 2007, разработана для.NET Framework 2.0.

    Начиная с версии 2009, поддержка Delphi.NET была прекращена . Для разработки под.NET предлагается Delphi Prism.

    Delphi Prism

    Delphi Prism - среда разработки под .NET и Mono на языке Oxygene , использующая Visual Studio Shell (с возможностью интеграции в Visual Studio).

    См. также

    Примечания

    1. “Сила независимых поставщиков средств разработки - в поддержке многоплатформенности” (неопр.) (18 сентября 2015). - «у нас только три таких центра вне США (один в Канаде, а недавно появился ещё в Испании вместо закрытого в Румынии)». Проверено 4 октября 2015.

    Интерфейс среды программирования Delphi

    В первую очередь Delphi предназначен для профессионалов-разработчиков корпоративных информационных систем. Может быть, здесь следует пояснить, что конкретно имеется в виду. Не секрет, что некоторые удачные продукты, предназначенные для скоростной разработки приложений (RAD - rapid application development) прекрасно работают при изготовлении достаточно простых приложений, однако, разработчик сталкивается с непредвиденными сложностями, когда пытается сделать что-то действительно сложное. Бывает, что в продукте вскрываются присущие ему ограничения только по прошествии некоторого времени. Delphi такие ограничения не присущи. Хорошее доказательство тому - это тот факт, что сам Delphi разработан на Delphi. Можете делать выводы. Однако Delphi предназначен не только для программистов-профессионалов. Я читал в электронной конференции совершенно неожиданные для меня письма, где учителя, врачи, преподаватели ВУЗов, бизнесмены, все те, кто используют компьютер с чисто прикладной целью, рассказывали о том, что приобрели Delphi for Windows для того, чтобы быстро решить какие-то свои задачи, не привлекая для этого программистов со стороны. В большинстве случаев им это удается. Поразительный факт - журнал Visual Basic Magazine присудил свою премию Delphi for Windows. Руководители предприятий, планирующие выделение средств на приобретение программных продуктов, должны быть уверены в том, что планируемые инвестиции окупятся. Поэтому одним из оцениваемых факторов должен быть вопрос - а легко ли найти специалиста по Delphi и сколько будет стоить его обучение, сколько времени специалист затратит на овладение продуктом. Ответ здесь получить весьма просто - любой программист на паскале способен практически сразу профессионально освоить Delphi. Специалисту, ранее использовавшему другие программные продукты, придется труднее, однако самое первое работающее приложение он сможет написать в течение первого же часа работы на Delphi.

    Структура среды программирования

    Внешний вид среды программирования Delphi отличается от многих других из тех, что можно увидеть в Windows. К примеру, Borland Pascal for Windows 7.0, Borland C++ 4.0, Word for Windows, Program Manager - это все MDI приложения и выглядят по-другому, чем Delphi. MDI (Multiple Document Interface) - определяет особый способ управления нескольких дочерних окон внутри одного большого окна. Если Вы используете SDI приложение типа Delphi, то уже знаете, что перед началом работы лучше минимизировать другие приложения, чтобы их окна не загромождали рабочее пространство. Если нужно переключиться на другое приложение, то просто щелкните мышкой на системную кнопку минимизации Delphi. Вместе с главным окном свернутся все остальные окна среды программирования, освободив место для работы других программ.

    Главные составные части среды программирования

    Ниже перечислены основные составные части Delphi:

    1. Дизайнер Форм (Form Designer)
    2. Окно Редактора Исходного Текста (Editor Window)
    3. Палитра Компонент (Component Palette)
    4. Инспектор Объектов (Object Inspector)
    5. Справочник (On-line help)

    Дизайнер Форм в Delphi столь интуитивно понятен и прост в использовании, что создание визуального интерфейса превращается в детскую игру. Дизайнер Форм первоначально состоит из одного пустого окна, которое Вы заполняете всевозможными объектами, выбранными на Палитре Компонент. Несмотря на всю важность Дизайнера Форм, местом, где программисты проводят основное время является Редактор. Логика является движущей силой программы и Редактор - то место, где Вы ее “кодируете”. Палитра Компонент позволяет Вам выбрать нужные объекты для размещения их на Дизайнере Форм. Для использования Палитры Компонент просто первый раз щелкните мышкой на один из объектов, и потом второй раз - на Дизайнере Форм. Выбранный Вами объект появится на проектируемом окне и им можно манипулировать с помощью мыши. Палитра Компонент использует постраничную группировку объектов. Внизу Палитры находится набор закладок - Standard, Additional, Dialogs и т.д. Если Вы щелкнете мышью на одну из закладок, то Вы можете перейти на следующую страницу Палитры Компонент. Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе. (На странице Additional есть компоненты для организации страниц с закладками сверху и снизу). Слева от Дизайнера Форм Вы можете видеть Инспектор Объектов. Заметьте, что информация в Инспекторе Объектов меняется в зависимости от объекта, выбранного на форме. Важно понять, что каждый компонент является настоящим объектом, и Вы можете менять его вид и поведение с помощью Инспектора Объектов. Инспектор Объектов состоит из двух страниц, каждую из которых можно использовать для определения поведения данного компонента. Первая страница - это список свойств, вторая - список событий. Если нужно изменить что-нибудь, связанное с определенным компонентом, то Вы обычно делаете это в Инспекторе Объектов. К примеру, Вы можете изменить имя и размер компонента TLabel, изменяя свойства Caption, Left, Top, Height, и Width. Последняя важная часть среды Delphi - Справочник (on-line help). Для доступа к этому инструменту нужно просто выбрать в системном меню пункт Help и затем Contents. На экране появится Справочник. Справочник является контекстно-зависимым; при нажатии клавиши F1, Вы получите подсказку, соответствующую текущей ситуации. Например, находясь в Инспекторе Объектов, выберите какое-нибудь свойство и нажмите F1 - Вы получите справку о назначении данного свойства. Если в любой момент работы в среде Delphi возникает неясность или затруднение - жмите F1 и необходимая информация появится на экране.

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

    В данном разделе внимание фокусируется на трех инструментах, которые можно воспринимать как вспомогательные для среды программирования:
    Меню (Menu System);
    Панель с кнопками для быстрого доступа (SpeedBar);
    Редактор картинок (Image Editor).
    Меню предоставляет быстрый и гибкий интерфейс к среде Delphi, потому что может управляться по набору “горячих клавиш”. Это удобно еще и потому, что здесь используются слова или короткие фразы, более точные и понятные, нежели иконки или пиктограммы. Вы можете использовать меню для выполнения широкого круга задач; скорее всего, для наиболее общих задач вроде открытия и закрытия файлов, управления отладчиком или настройкой среды программирования. SpeedBar находится непосредственно под меню, слева от Палитры Компонент. SpeedBar выполняет много из того, что можно сделать через меню. Если задержать мышь над любой из иконок на SpeedBar, то Вы увидите что, появится подсказка, объясняющая назначение данной иконки. Редактор Картинок работает аналогично программе Paintbrush из Windows. Вы можете получить доступ к этому модулю выбрав пункт меню Tools | Image Editor. А теперь нужно рассмотреть те элементы, которые программист на Delphi использует в повседневной жизни.

    Инструментальные средства

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

    Стандартные компоненты

    Для дальнейшего знакомства со средой программирования Delphi потребуется рассказать о составе первой страницы Палитры Компонент. На первой странице Палитры Компонент размещены 14 объектов определенно важных для использования. Мало кто обойдется длительное время без кнопок, списков, окон ввода и т.д. Все эти объекты такая же часть Windows, как мышь или окно. Набор и порядок компонент на каждой странице являются конфигурируемыми. Так, Вы можете добавить к имеющимся компонентам новые, изменить их количество и порядок. Стандартные компоненты Delphi перечислены ниже с некоторыми комментариями по их применению. При изучении данных компонент было бы полезно иметь под рукой компьютер с тем, чтобы посмотреть, как они работают и как ими манипулировать. TMainMenu позволяет Вам поместить главное меню в программу. При помещении TMainMenu на форму это выглядит, как просто иконка. Иконки данного типа называют "невидимыми компонентом", поскольку они невидимы во время выполнения программы. Создание меню включает три шага: (1) помещение TMainMenu на форму, (2) вызов Дизайнера Меню через свойство Items в Инспекторе Объектов, (3) определение пунктов меню в Дизайнере Меню. TPopupMenu позволяет создавать всплывающие меню. Этот тип меню появляется по щелчку правой кнопки мыши. TLabel служит для отображения текста на экране. Вы можете изменить шрифт и цвет метки, если дважды щелкнете на свойство Font в Инспекторе Объектов. Вы увидите, что это легко сделать и во время выполнения программы, написав всего одну строчку кода. TEdit - стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы. TMemo - иная форма TEdit. Подразумевает работу с большими текстами. TMemo может переносить слова, сохранять в Clipboard фрагменты текста и восстанавливать их, и другие основные функции редактора. TMemo имеет ограничения на объем текста в 32Кб, это составляет 10-20 страниц. (Есть VBX и “родные” компоненты Delphi, где этот предел снят). TButton позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. В Delphi все делается очень просто. Поместив TButton на форму, Вы по двойному щелчку можете создать заготовку обработчика события нажатия кнопки. Далее нужно заполнить заготовку кодом (подчеркнуто то, что нужно написать вручную):

    Procedure TForm1.Button1Click(Sender: TObject); begin MessageDlg("Are you there?", mtConfirmation, mbYesNoCancel, 0); end; TCheckBox отображает строку текста с маленьким окошком рядом. В окошке можно поставить отметку, которая означает, что что-то выбрано. Например, если посмотреть окно диалога настроек компилятора (пункт меню Options | Project, страница Compiler), то можно увидеть, что оно состоит преимущественно из CheckBox’ов. TRadioButton позволяет выбрать только одну опцию из нескольких. Если Вы опять откроете диалог Options | Project и выберете страницу Linker Options, то Вы можете видеть, что секции Map file и Link buffer file состоят из наборов RadioButton. TListBox нужен для показа прокручиваемого списка. Классический пример ListBox’а в среде Windows - выбор файла из списка в пункте меню File | Open многих приложений. Названия файлов или директорий и находятся в ListBox’е. TComboBox во многом напоминает ListBox, за исключением того, что позволяет водить информацию в маленьком поле ввода сверху ListBox. Есть несколько типов ComboBox, но наиболее популярен выпадающий вниз (drop-down combo box), который можно видеть внизу окна диалога выбора файла. TScrollbar - полоса прокрутки, появляется автоматически в объектах редактирования, ListBox’ах при необходимости прокрутки текста для просмотра. TGroupBox используется для визуальных целей и для указания Windows, каков порядок перемещения по компонентам на форме (при нажатии клавиши TAB). TPanel - управляющий элемент, похожий на TGroupBox, используется в декоративных целях. Чтобы использовать TPanel, просто поместите его на форму и затем положите другие компоненты на него. Теперь при перемещении TPanel будут передвигаться и эти компоненты. TPanel используется также для создания линейки инструментов и окна статуса. TScrollBox представляет место на форме, которое можно скроллировать в вертикальном и горизонтальном направлениях. Пока Вы в явном виде не отключите эту возможность, форма сама по себе действует так же. Однако, могут быть случаи, когда понадобится прокручивать только часть формы. В таких случаях используется TScrollBox. Это полный список объектов на первой странице Палитры Компонент. Если Вам нужна дополнительная информация, то выберите на Палитре объект и нажмите клавишу F1 - появится Справочник с полным описанием данного объекта. Остальное связано с построением пользовательского интерфейса: размещению объектов на форме, настройке их свойств и написанию обработчиков событий. А также созданию приложений, работающих с базами данных. Итак, очевидно, что пользователь является замыкающим звеном системы управления, т.е. субъектом управления, а программа является объектом управления. Рациональная организация труда пользователей является одним из важнейших факторов, определяющих эффективное функционирование системы в целом. До появления операционных систем семейства Windows пользователь вёл управление, «не видя» реального объекта. Между реальным объектом управления и пользователем находилась информационная модель объекта (средства отображения информации). Поэтому возникала проблема проектирования не только средств отображения информации, но и средств взаимодействия пользователя с техническими средствами программы, т.е. проблема проектирования системы, которая имеет название интерфейс пользователя.

    Возможности среды программирования Delphi

    Анализ опыта внедрения в школах, вузах и различных предприятиях, компьютерных программ учебного назначения показывает, что важным фактором, препятствующим их широкому применению, является неполное соответствие предлагаемого материала идеям и методам преподавания той или иной дисциплины. Многие педагоги проявляют значительную осторожность в использовании обучающих программ и педагогических программных средств. Идеальным решением этой проблемы является полный учет требований пользователя (преподавателя), что практически недостижимо. В настоящее время в сфере разработки обучающих и других учебных программ доминируют интересы и предпочтения производителя, то есть программистов-разработчиков компьютерных программ. В печати и на конференциях различного уровня не раз высказывалось мнение, что современному педагогу, скорее нужен не диск с полным мультимедийным курсом по предмету, а некоторые элементарные кирпичики, которые он мог бы использовать в качестве красочных иллюстраций своих идей и методов и которые более органично вписались бы в традицию использования наглядных пособий, подбираемых педагогом для своего занятия. В связи с этим представляется целесообразным создание не законченной обучающей продукции, а своеобразных электронных конструкторов - инструментальных программных средств (авторских систем) для создания педагогом собственных приложений. Одним из таких инструментальных средств является Delphi. Однако, имеется крайне мало литературы начального уровня, предназначенной для освоения Delphi применительно к использованию в учебном процессе. Профессиональным программистам такие задачки, как мини-калькулятор или учебный графический редактор, неинтересны - им, скорее, подавай примеры работы с базами данных по технологии "клиент-сервер". А учителю это как раз совсем не нужно. Delphi можно изучать и использовать на нескольких уровнях: Работа с визуальными объективами практически без программирования. Использование готовых компонентов системы с написанием на их основе собственного программного кода. Создание собственных компонентов на языке Паскаль и включение их в палитру компонентов Delphi в качестве стандартных. Разработка законченных Windows-приложений. Для школьного курса более чем достаточно первого уровня (задачи второго уровня можно решать в курсе профильной школы и на факультативах). Не так давно программирование, ориентированное на объекты и события, казалось непрофессионалам большой экзотикой. Однако даже после прихода Windows 95/98 такой стиль создания программ пока фактически не востребован в реальной школьной практике. Приведу пример проведения занятий по созданию приложений Windows с группами школьников, углубленно изучающими информатику. Для работы была выбрана среда визуального конструирования программ Delphi3. Школьники, приступившие к изучению и применению Delphi, уже достаточно хорошо работали в Windows 95 и приложениях. Поэтому интегрированная среда разработки Delphi воспринималась учениками совершенно естественно. Конструирование форм с различными визуальными компонентами (хорошо знакомыми элементами управления Windows) и работа с инспектором объектов по установлению свойств объектов вызывала у школьников неподдельный интерес. Одновременно создавались первые приложения, в которых свойства объектов можно изменять в программном режиме. Весьма живо воспринималось применяемое преподавателями образное сравнение: мы проектируем Windows"кого робота, создаем заготовки его частей, программируем его реакции на те или иные действия пользователя, в процессе компиляции Delphi собирает робота и запускает его в работу. Теперь надо определить, получился ли робот, таким, как мы хотели. Получая практический опыт конструирования событийно-управляемых объектно-ориентированных программ, школьники выходили затем с помощью преподавателя на уровень соответствующих теоретических обобщений. Ряд школьников с эмпирическим стилем мышления успешно конструировали весьма интересные приложения, ограничиваясь минимальным применением базовых управляющих структур при разработке процедур. В то же время за этими структурами они видели теперь не средства для организации трудно воспринимаемых абстрактных вычислений, а средства для обучения Windows"кого робота, то есть средства решения очень интересной задачи. Школьники с развитым теоретическим стилем мышления, освободившись от рутины организации интерфейса Турбо Паскаля и жестких рамок его возможностей, выходили на разработку серьезных развитых проектов с использованием разнообразных компонентов Delphi и хорошей проработкой кода процедур. По моему мнению, современные технологии конструирования приложений Windows на Delphi во многом более доступны школьникам, чем традиционное программирование, вызывают большой интерес, способствуют раскрытию творческого потенциала ученика и обладают замечательными дидактическими возможностями.

    Обзор приложений созданных в среде Delphi

    Требования к средам визуального программирования

    Основные требования, которым должна удовлетворять среда визуального конструирования алгоритмов:

    1. Среда должна быть разработана для функционирования в наиболее популярной из современных операционных систем, которая поддерживает графический интерфейс с пользователем. Это даст возможность изучать основы алгоритмизации, используя значительное количество компьютерной техники, которой укомплектованы средние школы. На данный момент - это операционные системы семейства Windows фирмы Microsoft.
    2. Среда должна быть разработана с соблюдением общих стандартов для современных программных продуктов. Это обеспечит удобство и простоту работы с элементами управления среды: меню, панелями инструментов и т.п., и даст возможность закрепить основные навыки работы пользователя с программными средствами.
    3. Среда должна быть простой и мощной. Простота освоения и пользования средой, возможности конструирования широкого класса алгоритмов с использованием всех доступных на сегодняшний момент ресурсов мультимедийных компьютеров.
    4. Для предоставления алгоритмов необходимо выбрать форму, которая должна удовлетворять двум основным критериям: быть наглядной и понятной для пользователя и быть удобной для реализации в графической оболочке операционной системы. Кроме этого, форма предоставления, в силу возможностей, должна быть наиболее приближенной к содержанию алгоритма, а не к синтаксису алгоритмических структур, который используется в этом представлении.
    5. Методы, при помощи которых конструируются алгоритмы в среде, должны основываться на методах создания программного обеспечения при помощи современных средств разработки, в основе которых лежит объектный подход и визуализация. Это, по нашему мнению, даст возможность ученикам при необходимости, например, при изучении основ современного программирования в классах с углубленным изучением информатики или факультативно, быстрее освоить технологию визуального программирования.
    6. Одной из главных задач является создание среды, ориентированной на выделение смыслового содержания решаемой задачи, а не на изучение алгоритмических структур конкретного представления. "Невзирая на то, что разработка каждого нового алгоритма требует своего подхода, тем не менее существуют определенные общие приемы и этапы этого рода деятельности". Поэтому в среде должна быть реализована унификация алгоритмических структур как конструкций, которые содержатся в любых алгоритмах, а не только алгоритмах определенного класса. В роли таких унифицированных структур целесообразно использовать такие стандартные алгоритмические конструкции: следование, разветвление, повторение и вызов подпрограммы.
    7. Действия, которые относятся к решению определенной задачи, должны быть определенными по смысловому содержанию, и организованы в виде отдельного блока (подпрограммы). Например, если необходимо проиграть какой-нибудь звуковой файл, то и смысл этой конструкции должен быть - "проиграть звуковой файл с определенным именем".
    8. В среде структура алгоритма должна быть представлена в графической форме при помощи определенного "графического" синтаксиса. Наряду с этим для обозначения идентификаторов, названий методов графически-визуальных объектов возможное использование текстового синтаксиса. Такого рода синтаксис нельзя "изъять" полностью, поскольку он является внешним по отношению к алгоритмическому представлению. Но такой "внешний" синтаксис основывается на понятиях, известных ученикам по собственному опыту, приобретенному при изучении других школьных предметов, и его применение не должно вызывать значительных трудностей.
    9. В среде пользователю должна быть предоставлена возможность свободно менять синтаксис текстово-символьных команд (там, где это целесообразно). Например, изменить символ арифметического сложения "+" на какой-то другой вряд ли стоит с точки зрения ясности и унификации, а вот выбрать название для действия изъятия в символьной строке - "стереть" или "delete" - целиком зависит от желания пользователя.
    10. Как известно, каждый алгоритм работает с определенным набором данных, которые обрабатываются при помощи некоторых методов. Собственно, алгоритм - это процесс преобразования входных данных в выходные. Поэтому следует предусмотреть явное разграничение между данными и методами их обработки. Это не противоречит парадигме процедурного программирования. Достаточно только вспомнить известную "формулу" Н. Вирта "алгоритмы + данные = программа". При этом, данные логично сделать строго типизированными, как того требуют правила современных языков программирования, и разместить их отдельно, например в виде таблицы, доступ к которой можно быстро получить в любой момент конструирование алгоритма.

    Методология создания приложений учебного назначения

    Создание любого компьютерного приложения, а особенно курса по информатики, сегодня не мыслится без тщательно продуманного плана разработки. В настоящее время существует хорошо отработанная методология создания компьютерных обучающих систем. Как и всякая методология проектирования, она включает целый ряд последовательных этапов. Для создания обучающей программы необходимо:
    Выбрать тип программы. На этом этапе определяются основные цели и задачи программы, а также средства её реализации.
    Собрать подходящие исходные материалы - тексты, репродукции и иллюстрации, аудиозаписи, видеокассеты, компьютерные файлы. Полнота собранных материалов говорит о готовности к реализации программы и определяет уровень её качества.
    Написать сценарий программы и взаимодействия преподавателя с ней, определяющий композицию всех собранных материалов. Здесь определяется вся логика программы. Сценарий описывает связи между слайдами, структуру и изменения на этих слайдах, а также звуковые и видеоэффекты.
    Обработать собранные материалы на компьютере, подготовив их к включению в обучающую программу, т.е. создать и отредактировать текстовые, графические, анимационные, видео, звуковые сопровождения. Здесь используются как стандартные средства самой операционной системы, так и ставшие стандартными пакеты редактирования текстов (Microsoft Word), компьютерной графики и анимации (3D Studio, Adobe PhotoShop), видеомонтажа (Adobe Premiere), Web-мастеринга (Microsoft FrontPage), а также программы, поставляемые вместе с аудио- и видео платами.
    Реализовать сценарий в виде действующей программы, внося необходимые изменения в материалы и сценарий в процессе опытной эксплуатации. Для авторов, не являющихся программистами, лучшим вариантом является использование таких средств визуального программирования, как Power Point из Microsoft Office, Macromedia Director, а также средства Web-мастеринга. Наконец, профессиональные программисты могут использовать системы программирования Visual C++, Visual Basic, Delphi, Java и др., но оптимальных сроков разработки они добьются, если будут их использовать в дополнение к перечисленным выше системам.
    Подготовить методические материалы для пользователей программы - преподавателей. Такие материалы необходимы, так как пользователи программы, как правило, не обладают квалификацией её авторов.

    Практическая часть

    Создание простейших программ учебного назначения.

    Проект "Подбор цвета"

    Формирование цвета из отдельных компонент. Класс TColor, константы цвета, функция RGB Цвета объектов образуются смешением трех компонент - красной (red), зеленой (green) и синей {blue). Интенсивность каждой составляющей цвета может изменяться от 0 до 255. Комбинация (0, 0, 0) соответствует черному, а (255, 255, 255) - белому цвету. Почти у каждого визуального компонента есть свойство Color. До сих пор мы выбирали его значение из списка стандартных цветов, но ничто не мешает создать цвет из отдельных компонент. Для этого воспользуемся функцией RGB: Color:= RGB (red, green, blue); Можно создать также свою цветовую гамму, заранее заготовив цвета для различных визуальных объектов. Но использовать эти цвета можно будет только при создании соответствующего объекта на этапе выполнения программы (об этом поговорим немного позже). Для подбора цвета разработаем проект, позволяющий легко изменять цвет панели с помощью полос прокрутки - объектов класса TScrollBar. Поместим на форму панель и три полосы прокрутки (они также находятся на вкладке standard). Каждая полоса прокрутки будет отвечать за интенсивность одной из трех цветовых компонент. Крайнее левое положение ползунка должно соответствовать минимальному, а крайнее правое - максимальному значению интенсивности. Зададим для всех полос свойство Min=0, а свойство Мах=2 5 5. Настроим другие свойства: Kind - определяет размещение полосы - горизонтальное (sbHorizontal) или вертикальное (sbVertical); LargeChange-шаг перемещения ползунка при щелчке на самой полосе; SmallChange - шаг перемещения ползунка при щелчке на стрелке; Position - числовой эквивалент положения ползунка на полосе скроллинга,

    Исходный код:

    Вы можете сразу скачать в архиве ZIP.

    Программа1. «Подбор цветов»
    Основное событие для полосы скроллинга - перемещение ползунка (событие OnChange), при этом способ перемещения значения не имеет. Напишем отдельную процедуру изменения цвета панели:

    Procedure SetPanelColor; var red, green, blue, k: word; begin red:= Form1. ScrollBar1.Position; if form1.rb1.Checked then begin k:=255 div 2; if (red>=0) and(red=0) and(green=0) and(blue и будем ее вызывать в ответ на перемещение ползунка на любой полосе скроллинга: procedure TForm1.ScrollBar1Change(Sender: TObject); begin SetPanelColor; end; procedure TForm1.ScrollBar2Change(Sender: TObject); begin SetPanelColor; end; procedure TForm1.ScrollBar3Change(Sender: TObject); begin SetPanelColor; end; Выбирая палитру из 8 цветов мы должны изменять положение ползунка так чтобы его движение равнялось 0 либо 255: procedure TForm1.RB1Click(Sender: TObject); begin Form1.Caption:="Палитра из 8 цветов; ScrollBar1.LargeChange:=255; ScrollBar1.SmallChange:=255; ScrollBar1.Position:=0; ScrollBar2.LargeChange:=255; ScrollBar2.SmallChange:=255; ScrollBar2.Position:=0; ScrollBar3.LargeChange:=255; ScrollBar3.SmallChange:=255; ScrollBar3.Position:=0; end; procedure TForm1.RB2Click(Sender: TObject); begin Form1.Caption:="Палитра из 256 цветов; ScrollBar1.LargeChange:=1; ScrollBar1.SmallChange:=1; ScrollBar1.Position:=0; ScrollBar2.LargeChange:=1; ScrollBar2.Position:=0; ScrollBar2.SmallChange:=1; ScrollBar3.LargeChange:=1; ScrollBar3.SmallChange:=1; ScrollBar3.Position:=0; end; Проект готов, можем запустить и поработать с ним. Вариант оформления проекта приведен на рисунке:

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

    Составные компоненты программы:
    Панель (Panel) для отображения цвета;
    3 полосы прокрутки (ScrollBar) для изменения цветовой гаммы (КЗС или КККЗЗЗСС);
    2 переключателя (RadioButton) для выбора цветовой палитры;
    3 текстовых поля (Edit) для вывода цветового кода;
    Кнопка(BitBtn) для закрытия программы.

    Система Delphi воплощает в себе лучшие достижения современной теории программирования. Иногда говорят, что Delphi -- это интегрированная среда для разработки программ. Действительно, она объединяет в себе множество полезных инструментов и готовых компонентов, из которых, как дом из кирпичиков, собираются проекты -- пользовательские программы. Delphi - визуальная среда разработки программ. Это означает, что внешний вид каждой программы (ее «лицо», или интерфейс) создается простым перемещением составных элементов из некоторого набора. Такое проектирование по силам даже тем, кто умеет лишь собирать впечатляющие сооружения из деталей детского конструктора. Конечно, чтобы такая конструкция «ожила» и заработала, необходимо продумать и кое-что еще - написать программу ее поведения.

    Базовым языком программирования в Delphi служит язык Object Pascal - объектно-ориентированный Паскаль. Продуктивным ядрышком, из которого буйно разрослось ветвистое дерево Delphi, был старый и добрый язык программирования Turbo Pascal. Принципиальное различие систем программирования Delphi и Turbo Pascal (Turbo - торговая марка разработчика системы фирмы Borland International, Inc. (США)) состоит в использовании экранного режима монитора: Turbo Pascal ориентирован на текстовый режим операционной системы DOS, a Delphi, как и Windows, - на графический. Тем не менее, программы, написанные на языке Turbo Pascal и не использующие графические средства, после небольшой настройки могут исполняться в среде Delphi. Изобразительные возможности Delphi позволяют увидеть на экране монитора, как в буквальном смысле «оживают» те или иные конструкции языка, а это немаловажно для его быстрого и эффективного усвоения (поистине: «лучше один раз увидеть, чем сто раз услышать»).

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

    Delphi - результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль начиная с версии 5.5 добавил в Паскаль объектно-ориентированные свойства, а Delphi - объектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, и воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию. Также отличительным свойством Delphi от С++ является отсутствие возможности располагать объекты в стеке (объекты, унаследованные из Турбо Паскаля, располагаться в стеке могут) - все объекты попадают в динамически выделяемую область.

    Де-факто Object Pascal, а затем и язык Delphi являются функциональными наращиваниями Turbo Pascal. Об этом говорят обозначения версий компилятора. Так, в Delphi 7 компилятор имеет номер версии 15.0 (Последняя версия Borland Pascal / Turbo Pascal обозначалась 7.0, в Delphi 1 компилятор имеет версию 8.0, в Delphi 2 -- 9.0, и т. д. Номер версии 11.0 носит компилятор Pascal, входивший в состав среды C++Builder).

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

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

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

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

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

    Контекстно-зависимое внедрение файлов справки позволяет поднять уровень проектируемого приложения на порядок выше. А не сказать про поддержку работы с базами данных - значит не сказать многого. При работе в среде программирования посредством, так называемого BDE (Borland Database Engine), системного администратора баз данных, можно получать прямой доступ к таким стандартным форматам данных, как dBASE, Paradox, FoxPro, Access, ASCII таблицам. Набор драйверов Borland SQL Links обеспечивает все необходимые соединения с SQL-серверами.

    В стандартную поставку Delphi входят основные объекты из 270 базовых классов.

    Мы считаем, что именно седьмая версия идеально подходит для того чтобы начать создавать свои собственные программы и приложения. Как и предыдущие версии, Borland Delphi 7 Studio позволяет создавать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. В состав пакета включены разнообразные утилиты, обеспечивающие работу с базами данных, XML-документами, создание справочной системы.

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

    Лекция № 2.

    Тема: IDE Delphi.

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

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

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

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

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

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

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

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

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

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

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

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

    Главное окно

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

    Главное меню

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Окно Code Explorer

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

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

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

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

    unit Unitl;interface uses

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

    TForml = class (TForm)

    { Public declarations } end ;

    Forml: TForml; implementation

    { $R *.DFM} end .

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

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

    TForml = class (TForm)private

    { Private declarations } public

    { Public declarations } end ;

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

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

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

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

    uses Forms,

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

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

    end.

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

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

    2. Меню Delphi

    Раздел меню Project

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Раздел меню Run

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Раздел меню Component

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

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

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

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

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

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

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

    Раздел меню Database

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

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

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

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

    Раздел меню Tools

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

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

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

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

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

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

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

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

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

    Раздел меню Help

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

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

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

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

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

    Проверка

    Директива

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

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

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

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

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

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

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

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

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

    Overflow Checking

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

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

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

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

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

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

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

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

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

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

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

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

    .

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

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

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

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

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

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

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

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

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

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

    8. Список То Do

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2147483648…2147483647

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

    2 63 …2 63 – 1

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

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

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

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

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

    тип данных

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

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

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

    9223337203685477.5807

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

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

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

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

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

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

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

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

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

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

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

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

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