Delphi популярная современная среда приложение 1. Прочие средства IDE. Инспектор объектов: использование возможностей

Энциклопедичный 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!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

    Страница

    Название

    Описание

    Стандартные

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

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

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

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

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

    Системные

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

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

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

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

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

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

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

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

    Borland Database Engine

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

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

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

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

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

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

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

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

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

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

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

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

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

    Rave Repo rts

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

    Клиенты Indy

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

    Серверы Indy

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

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

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

    Indy i/o ha ndlers

    Ввод-вывод Indy

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

    Утилиты Indy

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

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

    IW Standard , Data, Client Side, Control

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

    MS Office Servers

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

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

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

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

    Проекты в Delphi

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

    Write(Hello, World!);

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

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

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

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

    C:\HelloWorld\hello.exe

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

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

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

    Интерфейс среды программирования 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) для закрытия программы.

    Лекция № 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 после завершающей точки на экран будет автоматически выведено окно со списком свойств, методов, событий и полей, доступных для этого идентификатора. С помощью щелчка правой кнопкой мыши можно отсортировать этот список по именам или по области видимости. Если окно исчезло с экрана до того, как


    Отчёт к практической работе содержит 23 страницы, 2 рисунка, 7 таблиц, 9 приложений и 3 источника.

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

    Целью данной работы является изучение языка программирования Delphi, использование синтаксических и графических средств Delphi, сравнение сред разработки и синтаксиса языков программирования C++ и Delphi. Для сравнения используются среды программирования Microsoft Visual C++ и Delphi 7. Сравнение осуществляется посредством реализации решения девяти определенных задач на Delphi.

    DELPHI 7, ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ, MICROSOFT VISUAL C++, СРЕДА РАЗРАБОТКИ, СРАВНЕНИЕ С++ И DELPHI

    Введение

    1. Сравнение языков с/с++ и pascal/Delphi

    1.1 Простые типы данных

    1.2 Структурные типы данных

    1.2.1 Строковые переменные

    1.2.2 Массивы

    1.2.3 Множества

    1.2.4 Файлы

    1.2.5 Классы

    1.3 Указатели

    2. Сравнение сред разработки

    2.1 Borland Delphi 7

    2.2 Microsoft Visual C++

    Заключение

    Перечень ссылок

    Приложение А

    Приложение Б

    Приложение В

    Приложение Г

    Приложение Д

    Приложение Е

    Приложение Ж

    Приложение З

    Приложение И

    ВВЕДЕНИЕ

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

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

    Причина выбора данного языка программирования также заключается в его графических средствах.

    Delphi -- это средства разработки в программировании, которые имеют место быть в рамках приложений Microsoft Windows. Delphi представляет собой актуальную и легкую в использовании программу, которая необходима для генерации автономных программ графического интерфейса или 32-битовых консольных приложений -- программ, которые существуют вне рамок GUI, вместо этого, в соответствии с так называемым «DOS box».
    Delphi является первым языком программирования, который обеспечивает уничтожение барьера между приложениями комплексного и упрощенного характера в использовании и низкоуровневыми битовыми программными средствами.

    1. СРАВНЕНИЕ ЯЗЫКОВ С/С++ И PASCAL/DELPHI

    1.1 Простые типы данных

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

    Типы данных можно разделить на следующие группы:

    Структурные;

    Указатели;

    Процедурные(только в Delphi);

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

    Целочисленные;

    Литерные (Символьные);

    Логические (Булевы);

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

    В таблице 1.1 можно увидеть сравнение наиболее часто встречаемых простых типов в языках программирования C++ и Delphi.

    Таблица 1.1 - Сравнение простых типов данных в С++ и Delphi

    Для каждого типа данных существуют отдельные функции, упрощающие работу с ними. В таблице 1.2 приведены некоторые функции для переменных с простыми типами данных в синтаксисе С++ и Delphi.

    Таблица 1.2 - Функции для простых типов данных в С++ и Delphi

    Различия можно заметить не только в самих типах данных, но и в работе с переменными. Для создания переменной в C++ нужно написать тип имя переменной. В Delphi же, создание переменной выглядит так: имя переменной, двоеточие, имя типа. Более того, в С++ переменную можно объявить в любом месте программы, а в Delphi Только в разделе var. Для присваивания в C++ используется знак =, в Delphi - :=. Операция присваивания в обоих языках программирования берёт то, что находится справа от знака и помещает это в переменную, находящуюся слева от знака присваивания.

    Рассмотрим же основные операции для работы с переменными простых типов данных. В таблице 1.3 приведено сравнение их в языках C++ и Delphi.

    Таблица 1.3 - Основные операции

    Операция

    Сложение

    Вычитание

    Умножение

    Деление(целочисленное, простое)

    / (зависит от типа данных)

    Остаток от деления

    Присваивание

    Проверка равенства

    Составное сложение

    Отсутствует

    Составное вычитание

    Отсутствует

    Составное умножение

    Отсутствует

    Составное деление

    Отсутствует

    Составное определение остатка от деления

    Отсутствует

    Инкремент

    Декремент

    Логическое НЕ

    Больше либо равно

    Меньше либо равно

    Логическое ИЛИ

    Логическое И

    Логическое исключающее ИЛИ

    Указатель

    Указатель структуры

    Определение размера в байтах

    Поразрядное НЕ

    Поразрядное И

    Поразрядное ИЛИ

    Поразрядное исключающее ИЛИ

    Поразрядный сдвиг влево

    Поразрядный сдвиг вправо

    При сравнении операторов можно заметить явный недостаток Delphi, который проявляется в отсутствии составных операций (>=, <=, +=, -=, *=, /=, %=).

    1.2 Структурные типы данных

    Теперь перейдем к сравнению структурных типов данных. Структурные типы имеют в своей основе один или более других типов, в том числе и структурных. К структурным типам относятся:

    Множества;

    1.2.1 Строковые переменные

    В Delphi строки обеспечивает тип string, который представляет строку с максимальной длиной около 2х символов. Символы строки кодируются в коде ANSI. Так как строки фактически являются массивами символов, то для обращения к отдельному символу строки можно указать название строковой переменной и номер (позицию) этого символа в квадратных скобках, например, strName [i].

    В С++ существует 2 типа строк: массив переменных типа char и специальный класс string. В отличии от типа char, string является классом. Это объясняет необходимость подключения заголовочного файла и наличие множества функций для работы с переменной типа String. Доступ к элементу строки так же можно получить через его номер в строке, указанном в квадратных скобках. Например, strName [i].

    1.2.2 Массивы

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

    1.2.3 Множества

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

    <Переменная>: Set Of <Тип>;

    set<Тип> <Переменная>;

    В C++ Set (множество) - это ассоциативный контейнер STL, хранящий отсортированный набор уникальных объектов. Контейнер set содержит множество элементов. Строго говоря, set обеспечивает следующую функциональность:

    1. Добавить элемент в рассматриваемое множество, при этом исключая возможность появления дублей;

    2. Удалить элемент из множества;

    3. Узнать количество (различных) элементов в контейнере;

    4. Проверить, присутствует ли в контейнере некоторый элемент.

    1.2.4 Файлы

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

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

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

    Ведется работа с файлом. Из него данные либо считываются, либо в него записываются.

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

    В таблице 1.4 показано сравнение работы с файлами в C++ и в Delphi.

    Таблица 1.4 - сравнение работы с файлами в C++ и в Delphi

    Действие

    Объявление файла

    FILE *идентификатор;

    var идентификатор: File ;

    Открытие файла для записи

    fopen(имя физического файла, “w”)

    fopen(f, “w”);

    AssignFile(имя логического файла, название файла);
    ReWrite(имя логического файла);

    AssignFile(myFile, "Test.txt");
    ReWrite(myFile);

    Запись в файл

    fwrite(адрес записываемой величины, размер одного экземпляра, количество записываемых величин, имя логического файла);

    fwrite(&dat, sizeof(int), 1, f);

    WriteLn(имя логического файла, текст);

    WriteLn(myFile, "Hello World");

    Закрытие файла

    fclose(имя логического файла);

    CloseFile(имя логического файла);

    CloseFile(myFile);

    Открытие файла для чтения

    fopen(имя физического файла, “r”)

    Чтение из файла

    fread(адрес величины, размер одного экземпляра, количество считываемых величин, имя логического файла);

    fread(&dat, sizeof(int), 1, f);

    ReadLn(имя логического файла, переменная для считывания);

    ReadLn(myFile, text);

    Проверка на конец файла

    Открытие текстового файла, для добавления записей в файл (добавляет в конец файла)

    fopen(имя физического файла, “a”)

    Append(имя логического файла);

    1.2.5 Классы

    Механизм классов в C++ позволяет пользователям определять собственные типы данных. По этой причине их часто называют пользовательскими типами. Класс может наделять дополнительной функциональностью уже существующий тип.

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

    class ClassA { /* ... */ };

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

    1. написать ключевое слово class, а после него - имя класса;

    2. указать только имя класса.

    Оба способа сослаться на тип класса эквивалентны. Первый заимствован из языка C и остается корректным методом задания типа класса, а второй введен в C++ для упрощения объявлений.

    Функции-члены класса объявляются в его теле. Это объявление выглядит точно так же, как объявление функции в области видимости пространства имен.

    Функции-члены отличаются от обычных функций следующим:

    1. Функция-член объявлена в области видимости своего класса, следовательно, ее имя не видно за пределами этой области. К функции-члену можно обратиться с помощью одного из операторов доступа к членам - точки (.) или стрелки (->):

    ptrScreen->home();

    myScreen.home();

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

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

    <Имя класса> = class {Заголовок описания}

    <Имя свойства 1>: <Тип свойства 1>; {Описание свойства 1}

    <Имя свойства М>: <Тип свойства N>; {Описание свойства N}

    <Заголовок метода 1>; {Описание метода 1}

    <Заголовок метода М>; {Описание метода М}

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

    Procedure <Имя класса>.<Имя метода>(<Список параметров>);

    или для методов-функций:

    Function <Имя класса>.<Имя метода>(<Список параметров>):

    <Тип значения>;

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

    В таблице 1.5 показано сравнение парадигм объектно-ориентированного программирования на языках программирования C++ и Delphi на примерах.

    Таблица 1.5 - Сравнение парадигм ООП в C++ и Delphi

    Наименование парадигмы

    Инкапсуляция

    int a, b; //данные открытого интерфейса

    int ReturnSomething(); //метод открытого интерфейса

    int Aa, Ab; //скрытые данные

    void DoSomething(); //скрытый метод

    TMyClass = class

    FMyField: Integer;

    procedure SetMyField(const Value: Integer);

    function GetMyField: Integer;

    property MyField: Integer read GetMyField write SetMyField;

    Наследование

    class A{ //базовый класс

    class B: public A{ //public наследование

    class C: protected A{ //protected наследование

    class Z: private A{ //private наследование

    TAncestor = class

    // Виртуальная процедура

    procedure VirtualProcedure; virtual; abstract;

    procedure StaticProcedure;

    Наследник:

    TDescendant = class(TAncestor)

    // Перекрытие виртуальной процедуры

    procedure VirtualProcedure; override;

    procedure StaticProcedure;

    Полиморфизм

    //Перегруженная функция

    virtual void f()

    std::cout << "A::f";

    class B: public A

    //Перегруженная функция

    std::cout << "B::f";

    // базовый класс

    constructor Create(name:string);

    function f: string; virtual;

    // производный от базового

    constructor Create(name:string;gr:integer);

    // Перегруженная функция

    function f: string; override;

    // производный от базового

    constructor Create(name:string;dep:string);

    // Перегруженная функция

    function f: string; override;

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

    В таблице 1.6 приведены атрибуты видимости в Delphi и в C++.

    Таблица 1.6 - Атрибуты видимости

    Атрибут видимости

    Private- доступ открыт самому классу (т.е. функциям-членам данного класса)

    Protected - доступ открыт классам, производным от данного

    Public- доступ открыт всем, кто видит определение данного класса

    Published - Поля, свойства и методы, описанные в данном разделе, называются опубликованными. Их область видимости эквивалентна области видимости общедоступных описаний. Отличие состоит в том, что информация о них, за исключением ряда типов, например real, на этапе проектирования программы помещается в инспектор объектов. Описания, расположенные сразу после заголовка класса, при включенной директиве компилятора {$M+}, по умолчанию принимаются опубликованными.

    1.3 Указатели

    Указатель (пойнтер, англ. pointer) -- переменная, диапазон значений которой состоит из адресов ячеек памяти и специального значения -- нулевого адреса. Значение нулевого адреса не является реальным адресом и используется только для обозначения того, что указатель в данный момент не может использоваться для обращения ни к какой ячейке памяти.

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

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

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

    При объявлении переменной типа указатель в C++, необходимо определить тип объекта данных, адрес которых будет содержать переменная, и имя указателя с предшествующей звездочкой (или группой звездочек). Формат объявления указателя:

    спецификатор-типа [ модификатор ] * описатель.

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

    В качестве модификаторов при объявлении указателя могут выступать ключевые слова const, near, far, huge. Ключевое слово const указывает, что указатель не может быть изменен в программе. Размер переменной объявленной как указатель, зависит от архитектуры компьютера и от используемой модели памяти, для которой будет компилироваться программа. Указатели на различные типы данных не обязательно должны иметь одинаковую длину.

    Для модификации размера указателя можно использовать ключевые слова near, far, huge.

    Ниже, приведены некоторые примеры объявления указателей на C++.

    unsigned int * a;

    addres = & nomer;

    (double *)addres ++;

    Переменная addres объявлена как указатель на объект любого типа. Поэтому ей можно присвоить адрес любого объекта (& - операция вычисления адреса). Однако, ни одна арифметическая операция не может быть выполнена над указателем, пока не будет явно определен тип данных, на которые он указывает. Это можно сделать, используя операцию приведения типа (double *) для преобразования addres к указателю на тип double, а затем увеличение адреса.

    В Delphi существует 2 вида указателей: типизированные и нетипизированные. Нетипизированный указатель представляет собой переменную, в которой хранится адрес некоторой области памяти некоторого размера, и предназначен для хранения произвольных данных. Типизированные ссылки указывают на место в памяти, где хранятся данные определенного типа.

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

    Для описания типизированной ссылки не предусмотрен какой-либо специальный тип данных, в отличие от нетипизированных указателей, имеющих тип Pointer. Поскольку ссылочная переменная такого рода всегда указывает на данные конкретного типа, то ее описание и строится на основе этого типа. Для указания на ссылочную природу переменных используется оператор «^», и описание выглядит следующим образом:

    Var <Переменная>:^<Название типа>;

    Или в разделе описания типов данных:

    Туре <Новый тип данных> =^<Тип данных>;

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

    В таблице 1.7 приведены некоторые отличия синтаксисов C++ и Delphi в области указателей.

    Таблица 1.6 - Отличие указателей в C++ и Delphi

    Как мы видим, есть некоторые отличия в работе с указателями и адресами в C++ и в Delphi, однако общая структура работы с ними свойственна обоим языкам.

    2. СРАВНЕНИЕ СРЕД РАЗРАБОТКИ

    2.1 Borland Delphi 7

    После загрузки среды программирования Delphi 7, на экране появится главное окно.

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

    Object TreeView - служит для отображения всех объектов расположенных на текущей форме разрабатываемого проекта.

    Object Inspector - служит для отображения и редактирование свойств компонентов расположенных на форме разрабатываемого приложения.

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

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

    File - содержит набор команд для работы с файлами, позволяет создавать новые проекты, добавлять новые файлы в проект на основе различных шаблонов, переименовывать файлы проекта, а также распечатывать их. Сюда же включена команда закрытия среды разработки;

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

    View - под этим названием объединены команды вызова инструмента управления проектом, такие как инспектор объектов, конструктор форм, менеджер проектов и т.д.;

    Project - предназначен для того чтобы добавлять и удалять модули проекта, сохранять проект, добавлять проекты в группу и убирать их из неё, компилировать как отдельные проекты, так и все проекты в группе, загружать файл самого проекта в редактор кода, а также вызывать диалог настройки свойств проекта;

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

    Component - здесь сосредоточены команды, предназначенные для установки новых компонентов и пакетов компонентов и создания новых компонентов и шаблонов компонентов;

    Database - здесь сосредоточены команды управления базами дынных;

    Tools - позволяет настраивать свойства рабочей среды Delphi и отладчика, произвести настройки репозитория, добавлять и удалять дополнительные утилиты, а так же команды запуска этих самых утилит;

    Window - позволяет переключаться между окнами, если вы отроете какой - либо модуль для редактирования в новом окне;

    Help - объединяет команды вызова справочной системы Delphi и её настройки, а так же позволяет обратиться к Web-ресурсам компании Borland для получения дополнительной информации.

    Можно вручную настроить панель инструментов. Это было сделано для удобства работы. Для этого нужно вызвать диалоговое окно по ссылке View-Toolbars-Customize.

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

    После ввода текста функции обработки события и сохранения проекта можно из меню Project выбрать команду Compile и выполнить компиляцию. Процесс и результат компиляции отражаются в диалоговом окне Compiling (РИС. В38). В это окно компилятор выводит ошибки (Errors), предупреждений (warnings) и подсказок (Hints). Сами сообщения об ошибках, предупреждения и подсказки отображаются в нижней части окна редактора кода

    На рисунке 2.1 изображено главное окно среды разработки Delphi 7.

    Рисунок 2.1 - Главное окно Delpi 7

    2.2 Microsoft Visual C++

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

    Рисунок 1. Начальная страница MV C++

    Расположение окон инструментов и других элементов интегрированной среды разработки может изменяться в зависимости от примененных параметров и настроек, выполняемых пользователем в процессе работы. Параметры можно изменить с помощью средства Import and Export Settings Wizard. Выбрав параметр Сбросить все параметры, можно изменить язык программирования по умолчанию.

    Можно легко перемещать и закреплять окна с помощью визуального направляющего ромба или временно скрывать окна с помощью функции автоскрытия. Дополнительные сведения см. в разделе Практическое руководство. Размещение и закрепление окон.

    Интегрированную среду разработки можно автоматизировать и расширить с помощью модели автоматизации Visual Studio.

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

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

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

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

    ЗАКЛЮЧЕНИЕ

    программирование delphi класс массив

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

    Была организована работа с текстовыми и бинарными файлами прямого доступа, работа с динамическими структурами данных, работа с символьными и такстовыми данными, рекурсия, наследование, инкапсуляция, полиморфизм, работа с компонентами Delphi, такими как StringGrid, Memo, Edit, RichEdit, Label, Button, GroupBox, Timer и т.п.

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

    ПЕРЕЧЕНЬ ССЫЛОК

    Сухарев М. Основы Delphi профессиональный подход.- НиТ - Санкт Петербург, 2004г.-596.

    Стиввенс Р. Delphi Готовые алгоритмы. - ДМК - Москва, 2004г - 380.

    Банкел Д., Фундаментальные алгоритмы и структуры данных в Delphi.-DS - Москва, 2003г. - 555с.

    Подобные документы

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

      курсовая работа , добавлен 17.05.2010

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

      курсовая работа , добавлен 25.11.2014

      Проектирование программного модуля в среде программирования Borland Delphi 7.0. Схемы алгоритмов решения задач по темам "Символьные переменные и строки", "Массивы", "Работа с файлами", "Создание анимации". Реализация программного модуля, код программы.

      отчет по практике , добавлен 21.04.2012

      Эффективные средства разработки программного обеспечения. Технология визуального проектирования и событийного программирования. Конструирование диалоговых окон и функций обработки событий. Словесный алгоритм и процедуры программы Borland Delphi 7 Studio.

      дипломная работа , добавлен 21.05.2012

      Delphi как среда разработки программ, ориентированных на работу в Windows. Назначение и преимущество использования электронных учебников. Описание возможностей среды Delphi 5 для разработки электронного учебника. Варианты применения служб Internet.

      дипломная работа , добавлен 13.07.2011

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

      курсовая работа , добавлен 15.07.2009

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

      методичка , добавлен 17.11.2011

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

      курсовая работа , добавлен 04.08.2014

      Borland Delphi 7 как универсальный инструмент разработки, применяемый во многих областях программирования, функции: добавление информации об абитуриентах в базу данных, формирование отчетов. Рассмотрение и характеристика основных компонентов Delphi.

      контрольная работа , добавлен 18.10.2012

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