Borland delphi 4 0 для начинающих палитры компонентов


Содержание

Borland delphi 4 0 для начинающих палитры компонентов

На компьютер пользователя установила Delphi7 и свою программу. Все проверила, программа работает. Через 2 месяца понадобилось внести изменения в расчеты. Открываю проект, форму не загружает, палитра компонентов отсутствует. Переустановила Delphi7, та же проблема, палитры компонентов нет. В чем может быть ошибка? Подскажите пожалуйста. Тот же проект на другом компьютере открывается и компилируется без проблем.

а зачем вообще на компьютере пользователя дельфи?

См. в настройках окружения

>а зачем вообще на компьютере пользователя дельфи?

Иногда это необходимо


> а зачем вообще на компьютере пользователя дельфи?

Мне было нужно доотлаживаться, т.к. он далеко(компьютер). И программу я на нем написала. Короче,сестра в бухгалтерии попросила написать расчет оплаты для учеников по доп. образованию.


> См. в настройках окружения

В том то и дело, что я облазила все меню в Delphi, но никаких настроек не увидела. Где это?


> Анна (14.01.09 11:44) [4]

настройки окружения <> настроки делфи


> настройки окружения <> настроки делфи

Да я поняла это. Поэтому и спрашиваю вас, где эти настройки посмотреть и исправить. Если не сложно, то ответьте, пожалуйста.

Если в вкладке Palette указанного выше окружения у Вас все Ок, то, вероятно, сам Контролбар с Табконтролом палитры либо не умещается на экране пользователя (т.е. он вообще-то есть, но его просто не видно), либо его «задвинули» вручную, просто стащив в отдельное окно и опять-таки засунули куда-то :)

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

В дальнейшем при «переездах» проекта с одного ПК на другой с РАЗНЫМИ разрешалками просто перед загрузкой проекта в делфу удаляйте вышеуказанный файл.

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


> MsGuns © (14.01.09 12:27) [8]

У меня нет в проекте файла .dsk Посмотрела другие проекты — тоже нет. В двух старых проектах на Delphi3 файлы .dsk сть. Проблема остается. :((

View — Toolbars — Component palette случайно не снят?


> View — Toolbars — Component palette случайно не снят?

Нет, не снят. Но даже когда и снимаешь, то все равно проект нормально загружается, форму видно и все компилируется (на моей машине).
А там, проект загружается, но формы нет, и переключатель «Toggle Form/Unit/F12» — погашен.

Какой-то там неправильный делфи :)

Кстати, а на глюкавом ПК не была ранее установлено еще одна Д ?


> Кстати, а на глюкавом ПК не была ранее установлено еще одна
> Д ?

Нет, не было.


> Какой-то там неправильный делфи :)

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

Тогда переустановить винду :)


> Тогда переустановить винду :)

Наверное да. Спасибо за участие!

не винда.
Было у меня такое. В чем именно причина — не выяснено. проявилось после установки скачанной из сети семерки. Хотя, «визуально» нормальный дистрибутив. Потом нашел свой старый оригинальный диск, но! перед этим я вычистил реестр. Так что, либо запись в реестре скривилась (ибо семерку сносил, ставил шестую, потом бдсы всякие. ), либо дистрибутив пиратов был кривой.

. : Компоненты Delphi (24) : .

HGM Components

General Public License + Исходник 21-07-2020

Описание

Набор компонентов для современного дизайна программ без отдельных скин-движков. Основные компоненты: 1. TButtonFlat — button (Numbers, Notification, Animate) 2. TTableEx — virtual table data

Информация

  • Статус: Полнофункциональный
  • Исходник: Да
  • EXE-демо: Нет
  • Цена: 0 руб.
  • Размер: 198 Кб

kuLibrary

Freeware + Исходник 18-01-2020

Описание

kuLibrary – набор компонентов и модулей от Горкуна Григория полезных для программирования на Delphi. Включает в себя:

— kuShellListView. Компонент аля проводник. Аналог TShellListView, который выпилили из палитры компонентов Delphi после 7 версии. А жаль! Хороший и полезный был компонент! kuShellListView повторяет TShellListView и обладает множеством приятных дополнений, например Drag&Drop.
— kuLabelLink. Компонент для работы с ссылками. Например сайт автора, написать письмо, перейти в папку. Переходим по любой ссылке указанной в свойстве Link
— kuFontDialog. Диалог выбора шрифта. Более простой и понятный, чем стандартный заводской.
— kuShellDialog. Диалог выбора папок и файлов. Заменяет стандартный OpenDialog и даёт возможность выбирать не только файлы, но и папки.
— kuDrag. Модуль Delphi, добавив который вы сможете перетаскивать файлы ИЗ своей программы в другие приложения. Можно, например, перетащить файл из своей программы в проводник.
— kuDrop. Модуль Delphi, добавив который вы сможете перетаскивать файлы В свою программу. Можно, например, перетащить файл из проводника в свою программу.
— kuLanguage. Модуль Delphi – добавьте его к своему проекту, и вы сможете переводить вашу программу на другие языки.
— kuTray. Модуль Delphi содержащий методы для сворачивания вашей программы в трей (область уведомлений).
— Также этот модуль содержит описание класса TkuForm – форма имеющая свойство CloseToTray – при нажатии кнопки [x] в заголовке такой формы, приложение сворачивается в трей.
— kuModul. Модуль Delphi содержащий множество полезный функций и процедур общего назначения на все случаи жизни.
— kuShell. Модуль Delphi для работы проводником: копирование вырезка и вставка в/из буфера обмена, открытие приложений через вашу программу, написать письмо, открыть ссылку в браузере.

Информация

  • Статус: Полнофункциональный
  • Исходник: Да
  • EXE-демо: Присутствует
  • Размер: 8008 Кб

WordReport

Freeware + Исходник 25-08-2020

Описание

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

Информация

  • Статус: Полнофункциональный
  • Исходник: Да
  • EXE-демо: Присутствует
  • Размер: 9266 Кб

ImageEn

Описание

Набор компонентов ImageEn предназначен для просмотра, обработки, и анализа изображений. ImageEn может загружать и сохранять множество векторных и растровых форматов изображений, редактировать изображения используя слои а-ля Adobe Photoshop, получать изображения через TWAIN сканер (одна и несколько страниц), производить захват видео через DirectShow, применять фильтры для улучшения изображения, соединять изображения в панорамы, выбирать отдельные части изображения, распознавать на изображениях различные объекты, в том числе и распознавание текста с изображений (OCR), генерировать баркоды и многое другое.

Информация

  • Статус: Полнофункциональный
  • Исходник: Нет
  • EXE-демо: Нет
  • Цена: 19950 руб.
  • Размер: 3735 Кб

FastReport

Описание

Генератор отчетов FastReport это современное решение для внедрения Business Intelligense в программное обеспечение любого уровня. Он создан с учетом большинства потребностей разработчиков, желающих использовать готовые компоненты для отчетных средств. Именно FastReport при всей своей простоте, удобстве и малом размере дистрибутива, способен обеспечить должный функционал и скорость работы на практически любом современном компьютере.

Информация

  • Статус: Полнофункциональный
  • Исходник: Нет
  • EXE-демо: Нет
  • Цена: 13000 руб.
  • Размер: 2880 Кб

TFreeButton

Free for non-commercial use + Исходник 29-02-2020

Описание

Пример рисования нестандартной кнопки. Есть возможность создания падающей тени для текста кнопки. Текст может быть размещен в любом из девяти позиций. Глифы могут быть прозрачными. Можно также нарисовать подсветку у кнопки, которая автоматически срабатывает при нажатии. Кнопка реагирует на наведение мыши (падающая тень становится более глубокой), а контур кнопки при этом подсвечивается.

Информация

  • Статус: Полнофункциональный
  • Исходник: Да
  • EXE-демо: Присутствует
  • Цена: 0 руб.
  • Размер: 185 Кб

MyLittleBase 2.0.2

Freeware + Исходник 21-02-2020

Описание

Компонент базы данных для Borland Delphi, C++ и PHP, который позволяет взаимодействовать с данными текстового формата CSV и хранить в нем данные.

Информация

  • Статус: Полнофункциональный
  • Исходник: Да
  • EXE-демо: Нет
  • Размер: 81 Кб

TLightSMTP 2.0

Freeware + Исходник 21-02-2020

Описание


Компонент для работы с протоколом SMTP через сокеты. Позволяет отправлять почту по протоколу SMTP. Поддерживает авторизацию и отправку файлов, но главная его особенность — работа через сокеты и малый размер компилированного файла (не добавляется 70-100 лишних Кб, как у TIdSMTP).

Информация

  • Статус: Полнофункциональный
  • Исходник: Да
  • EXE-демо: Нет
  • Размер: 19 Кб

TSimpleGraph

Freeware + Исходник 21-02-2020

Описание

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

Информация

  • Статус: Полнофункциональный
  • Исходник: Да
  • EXE-демо: Нет
  • Размер: 82 Кб

TImageAndMore

Freeware + Исходник 21-02-2020

Описание

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

История Delphi

Что такое delphi? Делфи — это высокоуровневый, императивный язык программирования (диалект Object Pascal) со строгой типизацией переменных.

По данным Tiobe Index, наибольшая популярность делфи наблюдалась в октябре 2001 года, когда этот замечательный язык программирования занимал шестую строчку в рейтинге самых популярных языков программирования

На этой странице представлено краткое описание всех версий Delphi. История Delphi начинается с 1995 года и насчитывает более 20 различных версий. Сегодня Delphi поддерживает разработку под Windows, Linux, Mac OS, iOS и Android.

Borland Delphi (Delphi 1)

Дата выхода: 14 февраля 1995 года

Слоган: Delphi и Delphi Client/Server являются единственными средствами разработки, которые обеспечивают быструю разработку приложений (RAD), преимущества визуального компонент-ориентированного дизайна, мощность оптимизации родного компилятора и масштабируемые клиент/серверные решения.

Внешний вид IDE:

Надо сказать, что Delphi 1 можно назвать без преувеличения «единственной и неповторимой» так как в этой версии Delphi можно было собирать приложения только под 16-ти разрядную версию Windows 3.1.

Delphi 2

Дата выхода: 10 февраля 1996 года

Слоган версии: «Простота VB с Силой C++»

В Delphi 2 была реализована поддержка 32-разрядной версии Windows (Win 95), обеспечена ещё более продвинутая быстрая разработка приложений (RAD). Тогда же в Delphi появилась поддержка OLE Automation, вариантных типов, long string и т.д.

Вид IDE Delphi 2:

Project Manager Delphi 2:

Delphi 3

Дата выхода: 5 августа 1997 года

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

Так, если Delphi 2.0 позиционировалась как инструмент для создания высокопроизводительных приложений для работы с базами данных, то новая версия — Delphi 3 имела уже в своем составе новые компоненты, реализующие работу с сетевыми протоколами: HTTP, SMTP, POP3 и т.д. Все новые компоненты для работы с Сетью расположились на вкладке Internet палитры компонентов Delphi. Надо сказать, что часть тех компонентов дожили и до сегодняшнего дня, например, PageProducer.

Внешний вид IDE Delphi 3:

Delphi 4

Дата выхода: 16 июня 1998 года

Delphi 4 представляет собой полный набор профессиональных и клиент/сервер средств разработки для создания высокопроизводительных решений.

В Delphi 4 реализованы механизмы Drag&Drop, Drag&Dock для компонентов. Новые функции, включенные AppBrowser, динамические массивы, перегрузка методов, поддержка Windows 98, улучшенная OLE и COM поддержка, а также расширенная поддержку баз данных.

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

Внешний вид IDE Delphi 4:

Delphi 5

Дата выхода: 10 августа 1999 года

Слоган: высокопродуктивная разработка приложений для Интернет.

Delphi 5 преподнесла разработчикам достаточно много новых возможностей и функций. Так, например, в Delphi 5 впервые была реализована поддержка различных макетов рабочего стола (Layouts), была реализована поддержка фреймов, инструменты для перевода интерфейса приложений на другие языки. По части Интернет-технологий, помимо прочего, была реализована поддержка XML. Для работы с базами данных была реализована поддержка ADO. Кроме того были улучшены механизмы отладки приложений.

Вид IDE Delphi 5:

Delphi 6

Дата выхода: 21 мая 2001 года

Слоган: с Delphi 6 Вы сможете легко и быстро создавать приложения для электронного бизнеса.

Borland Delphi 6 была введена поддержка Web Services. В Delphi 6 введены новые функции и усовершенствования в следующих областях: IDE, Интернет, XML, Компилятор, COM / Active X, поддержка баз данных …
Более того, в Delphi 6 добавлена поддержка кросс-платформенной разработки — что позволило, используя один и тот же код собирать приложения как с Delphi (под Windows) так и Kylix (под Linux). Кроме этого в Delphi 6 была реализована поддержка DBExpress, добавлены новые модули, классы и компоненты.

Заставка Delphi 6:

Внешний вид IDE Delphi 6:

Delphi 7

Дата выхода: 9 августа 2002 года

Размер дистрибутива: 680 Mb

Delphi 7 — это та версия Delphi, которая оставалась, да и видимо остается, самой популярной версией из всех ранее существующих версий. Во многом популярность Delphi 7 можно обозначить одной простой фразой — абсолютный провал следующей версии (Delphi 8). Эта версия Delphi стала настолько популярной, что даже спустя 10 лет после её выпуска многие разработчики так и продолжают её использовать, а разработчики Delphi (Embarcadero) в рамках своей акции «Купи Delphi XE и получи все предыдущие версии Delphi бесплатно» предлагали скачивать предыдущие дистрибутивы, начиная именно с Delphi 7.

Эта же версия Delphi и стала последней вехой развития классического интерфейса IDE Delphi так как уже в следующей версии Delphi был реализован новый интерфейс (Galileo), который усугубил и без того шаткое положение Delphi 8 и ещё раз подчеркнул популярность старой доброй Delphi 7.

Заставка Delphi 7:

Внешний вид IDE Delphi 7:

Delphi 8

Кодовое название: Octane

Дата выхода: 22 декабря 2003 года

Новая версия Delphi под кодовым названием Octane должна была, по-видимому, стать той вехой развития Delphi, начиная с которой все влюбились бы в .NET-технологии. Сейчас уже мало, что можно найти и вспомнить по Delphi 8, но, тем не менее, сохранились в Сети некоторые сообщения от разработчиков Delphi, например, в Wiki (источник):

Delphi 8 была выпущена в декабре 2003 года исключительно в . NET-версии, что позволило разработчикам Delphi компилировать код Object Pascal в .NET CIL. IDE был переписан, чтобы приспособить его для. NET-развития. Delphi 8 была подвержена резкой критике за её низкое качество и за то, что было уже не возможно создавать приложения (*.EXE). Неспособность генерировать собственные приложения применима только к этой версии, так как возможность была добавлена обратно в следующем выпуске (Delphi 2005).

Действительно, Delphi 8 была самой нестабильной и, по-видимому, самой НЕ любимой версией Delphi как до так и после её выхода.

Внешний вид IDE Delphi 8:

Согласно данным tiobe.com к концу 2004 года рейтинг Delphi упал до своего абсолютного минимума. Но разработчики из Borland постарались сделать правильные выводы из сложившейся ситуации и в 2005 году на свет появилась новая версия Delphi.

Delphi 2005

Кодовое название: Diamondback

Дата выхода: 12 октября 2004 года

Начиная с 2005 года Delphi входит как часть в состав RAD Studio. В новой версии Delphi вновь появилась возможность разработки для Win32, а также был внесен ряд изменений, которые позволили частично изменить ситуацию в лучшую сторону. Хотя, как и предшествующая версия, Delphi 2005 подвергалась критике за нестабильность и большое количество всякого рода багов, тем не менее нельзя не отметить и ряд улучшений, которые были тогда сделаны разработчиками из Borland и до сих пор используются в Delphi.

Так, по части языковых возможностей, именно в Delphi 2005 была впервые реализована такая конструкция как:

аналог for … each в C#.

Или, например, по части полезных инструментов — в Delphi 2005 появился Help Inside. Также в редакторе исходного кода стали выделяться синтаксические ошибки схожим с MS Office образом (волнистой красной линией). В общем в Delphi 2005 наметилась тенденция на изменение курса в лучшую для всех нас сторону. Но тем не менее, назвать Delphi 2005 качественной, к сожалению было нельзя.

SplashScreen Delphi 2005:

Help Inside Delphi 2005:

Delphi 2005 Unlocked Layout:

Delphi 2006

Кодовое название: DeXter

Год выпуска : 2006

Новая версия Borland Developer Studio оказалась, наверное, первой, начиная с Delphi 8 версией, которая вела себя более-менее стабильно. Как и в BDS 2005 в новой версии студии была поддержка разработки проектов на C#, C++, Delphi for Win32 и Delphi for .NET. В Delphi 2006 появились нововведение как по части языковых конструкций, так и улучшения в отладке приложений:

Debugger Delphi 2006:

Кроме этого в Delphi 2006 были добавлены новые функции рефакторинга:

Также в Delphi 2006 были добавлены новые компоненты в VCL. В общем по этой версии можно было сказать, что Borland всё-таки смог выпустить вполне стабильную версию студии, которая использовала Galileo.

А потом случилось, то, чего мало кто ожидал.

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

Ниже Вы можете видеть скрины последней версии Delphi, которая разрабатывалась Borland’ом:

Стартовое окно BDS 2006:

Сравнение версий проекта:

Delphi 2007

Год выпуска: 2007

Весной 2007 года была выпущена новая версия студии, но уже под лэйблом CodeGear. Это была первая версия студии, которую можно было установить через Интернет. Delphi 2007 оказалась наиболее стабильной и быстрой за последние 4 года. Эта версия, можно сказать, реанимировала разработку под Win32 на Delphi. В этой версии Delphi появилась поддержка Windows Vista, AJAX и пр. улучшения.

Вот как выглядел установщик Delphi 2007:

IDE Delphi 2007
Думаю, что многие разработчики, использующие последние версии Delphi после выхода Delphi 2007 вздохнули более менее свободно — вот она та самая версия, которая отличалась стабильностью и скоростью.

В 2008 году CodeGear была продана и новым владельцем студии стала Embarcadero Technologies. Но продажа CodeGear для нас, как разработчиков, стала не главным. Главным в итоге стало то, что Delphi 2007 оказалась последней НЕ юникодной версией Delphi.

Delphi 2009

Кодовое название: Tiburon

Год выпуска: 2009

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

Так, например, в Delphi 2009 впервые появилась вкладка компонентов Ribbon Controls о которой так много было рассказано в блоге WebDelphi.ru. В языке появился новый тип данных — Generics. Но, как сказано выше, одним из важнейших нововведений стала поддержка Юникода.


IDE Delphi 2009:

Delphi 2010

Кодовое название: Weaver

Год выпуска: 2009

В августе 2009 года была выпущена новая версия RAD Studio в состав которой вошла и новая версия Delphi — Delphi 2010. Установщик Weaver был выполнен в стильных чёрных тонах:

Но это конечно же не самое главное. В новой версии Delphi появился новый RTTI, поддержка Windows 7 Direct 2D, новые компоненты Gestures, экранная клавиатура и т.д. Кроме того в Delphi 2010 было введено по-крайней мере два очень значительных нововведения в самой IDE — это Code Formatter и возможность сделать интерфейс «под 7-ку» то есть получить тот самый внешний вид IDE, который так полюбили многие разработчики.

Вид IDE Delphi 2010 «под 7-ку»

Delphi XE

Кодовое название: Fulcrum

Год выпуска: 2010

Embarcadero Technologies спустя 1 год и 5 дней с момента выхода Delphi 2010 порадовала нас новой версией Delphi — Delphi XE. Не могу сказать, что новая версия преподнесла нам что-то кардинально новое, но, тем не менее, нельзя не отметить то, что именно в Delphi XE реализована поддержка perl-подобных регулярных выражений, поддержка работы с SVN. В палитре компонентов появилась новая вкладка Windows Azure. Сама IDE стала работать по-быстрее своей предшественницы — Delphi 2010. В состав IDE были включены такие инструменты как AQTime, FinalBuilder, CodeSite. Кроме этого разработчики Delphi приложили достаточно большое усилий в разработку DataSnap о котором Вы можете не только прочитать, но и посмотреть несколько полезных видео-роликов

Delphi XE2

Кодовое название: Pulsar

Год выпуска: 2011

Очередной этап становления Delphi, как языка разработки кросс-платформенных приложений, наступил с выходом Delphi XE2.

Так, если внешний вид IDE практически ничем не отличался от предыдущей версии — Delphi XE, то «под капотом» Delphi XE2 было немало приятных сюрпризов для разработчиков, а именно:

  • Поддержка платформы x64 (пока только для Windows).
  • Поддержка операционных систем Mac OS X и iOS.
  • Кросс-платформенная библиотека FireMonkey для создания современного пользовательского интерфейса.
  • Библиотека LiveBindings для связывания интерфейса с различными наборами данных.

Внешний вид установщика Delphi XE2:

Казалось, что Delphi XE2 — это настоящий прорыв в разработке приложений. И, видимо, так и было — чего только стоила возможность разрабатывать приложения под Mac OS X. Однако, как оказалось позднее — FireMonkey работала очень нестабильно и, если с тем, что FireMonkey никак несовместима с VCL разработчики в итоге смирились, то нестабильность работы новой библиотеки визуальных компонентов вызвала довольно серьезную критику новой версии Delphi. Однако Embarcadero не только не отказались от FireMonkey, но и продолжили её активно развивать, т.к. именно на эту библиотеку возлагались задачи поддержки таких операционных систем как Linux и Android.

Ещё одной новинкой Delphi XE2 стало именование модулей. Теперь появилась возможность использовать в названии модуля точки и называть модули, например, так — System.Types and Vcl.Styles. Очевидно, что такое нововведение было связано, прежде всего, с появлением новой библиотеки и дальнейшими планами по поддержке новых платформ.

Изменения в RTL:

  • в модуле System.SysUtils появилась запись (record) TOSVersion, позволяющая определять под какой операционной системой запущено приложение Delphi.
  • модуль System.Zip для работы с zip архивами в делфи без сторонних компонентов

Delphi XE3

Год выпуска: 2012

В этой версии разработчики Delphi серьезно переработали библиотеку FireMonkey и, даже, назвали её несколько иначе — FM 2 . FireMonkey была переработана до такой степени, что некоторые проекты, разработанные в Delphi XE2 отказывались собираться. Однако, в FM 2 появилась возможность использовать действия (TActionList), что не могло не радовать разработчиков, разглядевших в новой библиотеке преимущества по сравнению с VCL. Основными отличительными особенностями Delphi XE3 стали:

  1. Нет возможности разрабатывать приложения под iOS — предполагалось, что эта возможность появится в новом продукте Embarcadero под названием Mobile Studio.
  2. Серьезно переработан механизм Live Bindings. Теперь это Visual Live Bindings (см. скрин):

3. Новый тип приложений — VCL Metropolis UI Application:

4. В Delphi XE3 был обновлен DBExpress — добавлена поддержка такой популярной СУБД как SQLite.

Delphi XE4

Год выпуска: 2013

  • Вернулась поддержка iOS, которая отсутствовала в RAD Studio XE3. Взамен RAD Studio XE3 Mobile, выход которой ожидался в начале 2013 года, RAD Studio XE4 была дополнена функционалом для разработки мобильных приложений.
  • Программирование непосредственно под iPhone и iPad с учётом всех программных и технических особенностей.
  • Эмулятор мобильных устройств.
  • Улучшено взаимодействие с такими базами данных, как InterBase, SQLite, MySQL и прочими.

Внешний вид IDE:

И, если релиз Delphi XE4 прошел относительно спокойно и, даже можно сказать, буднично, то развитие компании Embarcadero продолжалось и уже 5 февраля 2013 года, компания Embarcadero заявила об ещё одном своем приобретении. На этот раз Embarcadero Technologies объявила о приобретении технологии AnyDAC от компании DA-SOFT Tecnologies. В последующих версиях Delphi эта библиотека получит название FireDAC.

Также, для разработки под мобильную ОС iOS (а, впоследствии под Android) в палитре компонентов появилась новая вкладка — Sensors, содержащая три компонента:

  • TLocationSensor — датчик местоположения
  • TMotionSensor — датчик ускорения (акселерометр)
  • TOrientationSensor — датчик компаса/гироскопа

Delphi XE5

Год выпуска: 2013

С FireMonkey, которая отныне именуются как FM Platform появилась возможность разрабатывать приложения под мобильную операционную систему Android. Среди основных новинок Delphi XE5 можно выделить следующие:

  1. Компилятор Delphi для Android ARM compiler как для устройств, так и для эмулятора
  2. Платформа FM platform для создания «нативных» приложений под Android для Gingerbread (2.3.3 – 2.3.7), Ice Cream Sandwich (4.0.3, 4.0.4) и Jelly Bean (4.1.x, 4.2.x, 4.3.x).
  3. Поддержка iOS 7 SDK и соответствующих стилей
  4. Менеджер развёртывания (Deployment Manager) для Android
  5. Удалённая отладка для Android
  6. Редакция Professional включает расширенную поддержку FireDAC для локальных баз данных, включая Microsoft Access database, SQLite database, InterBase ToGo / IBLite, InterBase при локальном взаимодействии, MySQL Embedded, MySQL Server при локальном взаимодействии, Advantage Database при локальном взаимодействии, PostgreSQL при локальном взаимодействии, Firebird Embeddedи Firebird при локальном взаимодействии
  7. Клиентская библиотека REST Client для упрощенного вызова REST-сервисов. Поддержка авторизации, включая Basic Authentication, Plan Authentication, OAuth1, OAuth2.
  8. Средства отладки REST для тестирование вызовов REST и их параметров

Delphi XE6

Год выпуска: 2014

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

Ключевые возможности Delphi XE6:

  • Компоненты для взаимодействия приложений (Application Tethering Components)
  • Взаимодействие с сервисами в облаках (BaaS), компоненты для Kinvey и Parse.
  • Новые стили VCL: Придание приложением обновленный вид под актуальные версии Windows или создание для них уникального дизайна. Включает стиль планшетной Windows. Поддерживает Windows 7 и
  • Компоненты VCL для работы с датчиками: Delphi-приложения могут использовать возможности датчиков положения, перемещения и других. Доступ к датчиками устройств из VCL-приложений для планшетов под управлением Windows.
  • Расширение ключевых возможностей FireDAC

По сути, Delphi XE6 — это «качественный релиз», т.к. в этой версии Delphi исправлено более 2000 ранее зарегистрированных ошибок.

Delphi XE7

Год выпуска: 2014

Из ключевых особенностей Delphi XE7 можно выделить добавление в RTL библиотеки для параллельных вычислений. По большому счёту, IDE осталась той же самой (в плане внешнего вида), хотя, как это водится, была проделана работа над ошибками. Также, начиная с Delphi XE7 прекращена поддержка устаревшей технологии BDE — теперь всем настоятельно рекомендуют использовать FireDAC. Также в Delphi XE7 была реализована поддержка работы с репозиториями Git.

Просмотр внешнего вида разрабатываемого приложения (с использованием FireMonkey)

Новые компоненты в VCL:

  • TTaskBar и TJumpList — компоненты позволяют управлять иконкой вашего приложения в панели задач Windows 7 и выше.

Delphi XE8

Год выпуска: 2015.

  • Появилась возможность разработки 64-битных приложений под iOS;
  • Delphi поддерживает новую систему контроля версий, интегрированную в IDE, для управления и отслеживания изменений в проектах: Mercurial Version Control System Integrated;
  • Позволяет создавать универсальные приложения для iOS с разной разрядностью — в одном исполняемом файле два кода: 32 бит и 64 бит (ARMv7 + arm64);
  • Добавлены два новых независящих от платформы типа данных: FixedInt и FixedUInt.
  • Добавлен новый HTTP Client API для отправки http-запросов к серверам и получения ответов.

На этой версии прекращается, так называемая, эпоха XE-версий. Следующая, по логике, версия Delphi XE9 никогда не выйдет, а вместо неё появится Delphi 10 Seattle.

Delphi 10 Seattle

Год выпуска: 2015

  • поддерживается iOS 8.4;
  • поддерживается Android 5.1.1;
  • поддержка служб Android;
  • поддержка модульного тестирования DUnitX для Android и iOS;
  • поддержка DirectX 12;
  • поддержка вызова API WinRT;
  • поддержка FireDAC для базы данных NoSQL MongoDB
  • новое поведение MultiView;
  • новые компоненты VCL;
  • новые компоненты для работы с Beacon;
  • улучшен механизм стилей;
  • улучшен диспетчер библиотек GetIt;
  • улучшены возможности IDE;
Илон Маск рекомендует:  Добавил к рисунку альтернативный текст, но его не видно в браузере. Почему

Заставка RAD Studio 10 Seattle:

Новые компоненты для Windows 10:

  1. TActivityIndicator — индикатор активности;
  2. TToggleSwitch — переключатель типа TCheckBox, имитирующий физический переключатель.
  3. TSearchBox — поле ввода для поиска
  4. TRelativePanel — это контейнерный элемент управления, который позволяет позиционировать дочерние элементы управления по различным критериям
  5. TSplitView — позволяет отображать или скрывать временный контент. Например, вы можете использовать его в качестве навигационного меню верхнего уровня, где навигационный контент скрыт и показывается на форме при необходимости

Delphi 10.1 Berlin

Год выпуска: 2020

Из нововведений в «Берлине» — поддержка Android 6.0. Платформа для мобильной разработки (FireMonkey — FM Platform — FMX) продолжает развиваться и улучшаться. Изменена работа с диалогами InputBox, InputQuery и т.д.

Заставка Delphi 10.1 Berlin:

IDE Delphi 10.1 Berlin

Delphi 10.2 Tokyo

Год выпуска: 2020

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

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

Заставка Delphi 10.2 Tokyo:

IDE Delphi 10.2 Tokyo:

  • TStackPanel — позволяет выравнивать элементы управления внутри себя по одинаковым значениям свойств, например, выровнять все компоненты по горизонтали и сделать между ними одинаковые отступы.
  • TCardPanel — позволяет отображать коллекцию панелей или страниц (элементы управления TPanel), которые отображаются пользователю по одной за раз.
  • TTimePicker и TDatePicker — позволяют выбирать значения времени и даты из раскрывающегося списка, как это делается, например в Andro >

Delphi 10.3 Rio

Год выпуска: 2020

Нововведения в Delphi 10.3 Rio:

  • усовершенствования VCL для High DPI дисплеев
  • поддержка Per Monitor V2
  • новые интерфейсы программирования приложений для Windows 10 и WinRT,
  • обновленная поддержка мобильных платформ (поддержка Android API26, соответствие требованиям Google Play Store в отношении новых приложений с августа 2020 года и обновления приложений с ноября 2020 года).
  • собственные элементы управления Android и стилизованные элементы управления FMX в одной и той же форме Android, включая тему материального дизайна для Android 5.0 или выше
  • поддержка iOS 12 (32- и 64-бит) для создания App Store и корпоративных приложений.
  • поддержка смайликов Юникод.

В этой версии Delphi впервые введена поддержка т.н. Inline Variable, в результате чего стало возможным определение переменных непосредственно в теле методов, например, так:

Инструкция по установке компонентов на Delphi

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

Набор библиотек JEDI API распаковываем в папку (путь указываю для примера, каждый может распаковывать туда куда душе будет угодно, главное что-бы путь в Environment Variables был прописан правильно):

Набор моих библиотек распаковываем в папку (про расположение папки см. выше):

    1. Запускаем Delphi

  • $(JEDI)\jwa\branches\2.3\Common
  • $(JEDI)\jwa\branches\2.3\Includes
  • $(JEDI)\jwa\branches\2.3\SaCMAPI
  • $(JEDI)\jwa\branches\2.3\Win32API
  • $(KANDIRAL)\Release\$(ProductVersion)\$(Platform)
  • $(KANDIRAL)\Resources
  • $(KANDIRAL)\Common
  • $(KANDIRAL)\Automation

  • $(KANDIRAL)\File
  • $(KANDIRAL)\Media
  • $(KANDIRAL)\Net
  • $(KANDIRAL)\Utils
  • $(KANDIRAL)\Graphics
  • Kandiral150.groupproj Delphi XE
  • Kandiral160.groupproj Delphi XE2
  • Kandiral170.groupproj Delphi XE3
  • Kandiral180.groupproj Delphi XE4
  • Kandiral190.groupproj Delphi XE5
  • Kandiral200.groupproj Delphi XE6
  • Kandiral210.groupproj Delphi XE7
  • Kandiral220.groupproj Delphi XE8
  • Kandiral230.groupproj Delphi 10 Seattle
  • Kandiral240.groupproj Delphi 10.1 Berlin
  • Kandiral250.groupproj Delphi 10.2 Tokyo
  • Kandiral260.groupproj Delphi 10.3 Rio

Если всё сделано правильно, то в палитре компонентов должны появиться установленные элементы.

При установке путей к библиотекам нужно указать платформу «32-bit Windows»
В некоторых версиях компилятор ругается на файл с картинками

Мне, во всех случаях возникновения этой ошибки, помог перезапуск Delphi.

Если перезапуск Delphi не помогает, то идём следующим путем

Первый способ. Убираем из пакета файл с картинками. На работу библиотек это не повлияет, просто сами компоненты будут без картинок. Для этого в «Project Manager» на названии пакета (например KRCommon160) жмём правой кнопкой мыши и в контекстном меню выбираем «View Source»

и перекомпилируем пакет.

Второй способ. Подключаем картинки старого формата. В каждом пакете есть файл типа «ИмяПакета.dcr», в нем содержатся картинки всех компонентов (которые я уже нарисовал). Но есть и еще dcr файлы, которые сделаны в imageedit от Delphi 7. Второй способ заключается в том, что-бы заменить новый файл с картинками на старые. Для этого в «Project Manager» на названии пакета (например KRCommon160) жмём правой кнопкой мыши и в контекстном меню выбираем «View Source»

И вместо файла KRCommon.dcr подключаем все остальные dcr файлы из папки Common

Перекомпилируем пакет. Аналогично проделываем с остальными пакетами где вылетает ошибка.

Блог GunSmoker-а

. when altering one’s mind becomes as easy as programming a computer, what does it mean to be human.

3 июля 2010 г.

Как настроить Delphi 2010, чтобы она выглядела как Delphi 7

Я не собираюсь обсуждать, какой интерфейс лучше — умалчиваемый в Delphi 2010 или old-school Delphi 7 (лично я предпочитаю новый), но я хочу показать, как вы можете настроить Delphi 2010 так, чтобы она выглядела и «чувствовалась» как Delphi 7.

Один из самых частых затыков при обновлении версии Delphi — незнакомый интерфейс. Человек вроде уже и хочет обновиться (всякие вкусности пощупать, часто — поддержку Windows Vista/Windows 7), но. родная 7-ка ближе к телу. Что ж, с этой статьёй у вас будет на одну причину меньше использовать Delphi 7 (а желающие всё же остаться на Delphi 7 читают тут).

Итак, по-умолчанию 2010-я студия имеет такой вид:

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

1. Отстыковка окон.

Первое, что мы сделаем — отстыкуем окна. Для этого вы можете щёлкнуть на любом окне и сбросить галочку «Dockable»:

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

Вы можете руками отстыковать все окна. Или вы можете просто переключиться на предопределённый шаблон раскладки окон (такой шаблон называется Desktop-ом или рабочим столом). Для этого разверните список рабочих столов в главном окне и выберите рабочий стол «Classic undocked»:

Если вы не видите этой панели — вы можете переключиться на другой рабочий стол через меню («View»/»Desktops»/»Classic undocked»):

В результате у вас должно получиться что-то такое:

Как видите, все окна плавают — всего в два щелчка мыши!

2. Отстыковка дизайнера форм.

Второе, что мы сделаем — отстыкуем дизайнер форм, ведь отстыковать его методом, указанным выше, нельзя. Для этого мы идём в опции IDE («Tools»/»Options»):

В появившемся окне сбрасываем галочку «Embedded designer» в разделе «Environment Options»/»VCL Designer»:

После сброса галочки среда попросит у вас перезапуск:

Закрываем все окна и перезапускаем Delphi. После перезапуска дизайнер форм будет плавающим окном:

Окей, щелчков здесь было больше и нам потребовался перезапуск IDE. Но всё равно не сложно.

Примечание: Начиная с Delphi XE3, опция «Embedded designer» скрыта из настроек среды, но её всё ещё можно изменить вручную, отредактировав ключ реестра HKEY_CURRENT_USER\Software\Embarcadero\BDS\10.0\Form Design (10.0 — это для XE3), изменив значение Embedded Designer в False . Учтите только, что FireMonkey поддерживает только интегрированный дизайнер.

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

Далее — включение палитры компонент «как в Delphi 7». Во-первых закройте плавающее окошко «Tool Palette» (вернуть обратно его можно из меню «View»/»Tool Palette»), затем щёлкните правой кнопкой по главному окну и выберите палитру «Component»:

Кстати, если панельки «Desktop» вы у себя не нашли (помните, выше, когда мы переключались на «Classic undocked»?), то вы также можете включить её тут — щёлкайте по пункту «Desktop». В любом случае, в итоге вы получаете свою палитру компонентов «в стиле Delphi 7»:

Три щелчка — и любимая палитра компонент снова с вами.

4. Переключение сортировки в инспекторе объектов.

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

Вы можете переключаться между двумя видами инспектора объектов, щёлкая правой кнопкой по нему и выбирая «Arrange»/»be Category» или «Arrange»/»by Name»:

Вот вид инспектора с сортировкой по категориям:

А вот с сортировкой по именам:

Выберите вид, к которому вы привыкли в Delphi 7.

5. Устанавливаем справку из D7 в D2010.

Ещё одна претензия к Delphi 2010 — её изменившаяся справочная система. Позвольте мне снова остаться в стороне от вопроса что лучше — я просто покажу, как вы можете встроить свою любимую справку от Delphi 7 в Delphi 2010.

Для этого есть два способа:

  1. Минимальная интеграция — открытие справки отдельной командой.
  2. Максимальная интеграция — подмена штатной справки.

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

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

Итак, способ первый: скопируйте файлы справки от Delphi 7 на вашу машину (куда — не суть важно, главное, чтобы в записываемую папку). Далее, идите в меню настройки утилит «Tools»/»Configure tools»:

В открывшемся окне щёлкайте по кнопке «Add» для добавления новой утилиты:

После этого открывается окно создания команды вызова новой утилиты. Вводите такую информацию:

  • Title — любое. Это имя команды будет показываться в меню.
  • Program — «winhlp32.exe». Если вы работаете на Windows Vista или выше, вам нужно доустановить поддержку устаревшего формата справки, как указано в этой статье.
  • Working dir — каталог, куда вы положили файлы от справки Delphi 7.
  • Parameters — «-k $CURTOKEN d7.hlp». Вы также можете указать полный путь к D7.hlp (включая каталог, только не забудьте про кавычки, если ваш путь содержит пробелы), если у вас возникают проблемы с открытием справки. $CURTOKEN — это текущее слово в редакторе Delphi (раскройте список Macros, чтобы увидеть другие варианты). А «-k» — указание на открытие справки по слову в индексе. В принципе, вы можете убрать эту часть, оставив только имя файла справки.

После сохранения команды, вы теперь можете вызывать справку Delphi, выбирая её из меню:

Что касается способа два, то вам также нужно скопировать файлы справки Delphi 7 на свою машину (кто-бы сомневался!). Кроме того, вам также нужно доустановить поддержку справки WinHelp, если вы работаете в Vista или выше.

После подготовки вам нужно скачать с CodeCentral эксперт (расширение) к IDE для интеграции справки. Вот вариант 1. Вот вариант 2. Они весьма похожи и ставятся примерно одинаково, но мне больше понравился второй — он и покрасивше и позволяет использовать кнопку F1. Поэтому я буду описывать процесс для второго эксперта, но первый ставится полностью аналогично — надеюсь, вы сумеете при желании разобраться с ним самостоятельно по аналогии.

Для качала распакуйте скачанный архив. Лучше всего распаковывать в свою папку с проектами или вроде того. Далее, запускаете Delphi 2010 и открываете пакет из папки Packages. Варианта для Delphi 2010 там нет, но это не имеет значения — просто открывайте вариант для самой последней версии Delphi. Вот открытый пакет в менеджере проектов Delphi 2010:

Далее щёлкайте по нему правой кнопкой и выбирайте Install:

При этом эксперт будет скомпилирован и установлен в IDE. Всё, можете закрывать все файлы (сохранив изменения). Файлы с диска, понятно, удалять не надо :)

Теперь осталось только настроить эксперт. Для этого открываем меню «Help»/»Delphi Help Expert»:

Откроется окно настроек, где вы можете задать аж три разных вида справки!

Тут вообще всё тривиально: есть три типа справки — CHM, HLP и интернет. Вы можете указать источник для любой справки и забиндить любую справку на любую из комбинаций кнопок: F1, Ctrl + F1, Shift + F1, Alt +F1. Достаточно просто.

К примеру, на снимке экрана выше я указал открывать справку от Delphi 7 по кнопке F1, а по Ctrl + F1 — открывать справку по Delphi в интернете (вот вам строка для Copy&Paste: «http://www.google.ru/search?q=%s+site:http://docwiki.embarcadero.com/»). docwiki.embarcadero.com — это Вики для продуктов Embarcadero. Т.е. пополняемая сообществом справка. Более полный вариант обычной справки.

Итак, когда вы всё настроили, закрывайте окно настроек и жмите F1. Бац, вылезает справка Delphi 7. Если при этом вы стояли в редакторе кода на каком-то слове, то это слово будет указано в индексе (в этом примере я стоял на TRegistry):

Если же вы нажмёте Ctrl + F1, то откроется ваш браузер по-умолчанию с online-справкой (пример с тем же TRegistry):

Итак, последняя преграда пала перед нашим натиском :)

Бонус-примечание: если вы хотите ещё больше возможностей со справкой и чувствуете, что вы уже не совсем начинающий — вы можете установить этот навороченный IDE Expert, вместо простых экспертов, упомянутых выше. Для него есть даже видео-инструкция. Посмотрите, не пожалеете: будете потом облизываться и срочно его себе поставите :D (лично я поставил себе именно его)

6. Прочие финты ушами.

В заключение хотелось ещё сказать, что вы можете стыковать любые окна с любыми другими в любых комбинациях. Чтобы окно можно было пристыковать — оно должно быть «Dockable». Помните, мы снимали такую галочку в первом пункте? Вот, если хотите пристыковать окно — её надо установить, если она не стоит. А если вы двигаете окно, и оно очень некстати хочет пристыковаться — зажмите Ctrl.

Кроме стыковки вы также можете «приколоть» окно к другому, на манер панелек в Photoshop. Для этого перетащите окно на закладку панели в другом окне. А если закладок у вас на экране нет — то кидайте одно окно на центр другого (если кидать на сторону — оно пристыкуется вместо прикалывания). К примеру, бывает достаточно удобно совместить все вспомогательные окна в одно окно:

Когда я ещё сидел на Delphi 7, я именно так и делал.

7. Итог.

Итак, мы смогли «сделать из Delphi 2010 Delphi 7» и сделать это достаточно просто. Никаких сторонних прибамбасов — всё штатными средствами (окей: кроме справки). Ну а теперь, найдите 10 отличий (фоновый рисунок не считается! :D ):

Импорт библиотеки типов в вашу палитру компонентов с помощью Delphi XE6

Недавно я переключился с Borland Delphi 7 на Embarcadero Delphi XE6, и мне очень сложно установить библиотеку с компонентами. Я хочу установить библиотеку Microsoft Speech.

Я искал в Интернете учебники и руководства, но не из них помогли мне.

Может кто-то, пожалуйста, помогите мне, давая пошаговый учебник. Я попросил двух моих друзей, которые также используют Delphi XE6, и они переключились с Delphi 7 и Delph 2010. Они также не знают, как это сделать.

У меня больше нет Delphi XE6. Я теперь использую Delphi 10.1 Berlin Update 1, но я действительно пытался импортировать библиотеку типов в XE6, поскольку он немного отличался от Delphi 7. В любом случае я не помню, как мне удалось это сделать в XE6, Предполагая, что в Берлине это одно и то же. Так вот:

  1. Перейдите в «Компонент» в главном меню.
  2. Выберите «Импортировать компонент».
  3. Выберите «Импортировать библиотеку типов» и нажмите «Далее».
  4. Выберите библиотеку, которую вы хотите установить.
  5. Выберите имя для него и где/как вы хотите его установить.
  6. Просто следуйте остальным шагам. Затем он скомпилирует и установит его в вашу среду IDE.

Имейте в виду, что импортер библиотеки типов в XE6 сломан. Я нашел хотя бы один экземпляр, где результирующий блок имеет несколько интерфейсов с параметром, объявленным некорректно как тип const вместо типа var. Delphi 2010 импортирует одну и ту же библиотеку правильно.

Borland delphi 4 0 для начинающих палитры компонентов

Сегодня:

Последние:
— 29.11, 09:46 / #6691
— 29.03, 23:32 / #6682
— 30 апреля 2012

Сейчас онлайн:
На сайте — 11
На IRC-канале — 2

Обзор палитры компонент: Standard, Additional

Чтобы создать интерфейс программы, нужно иметь выбор из различных компонент. В Windows существует множество элементов, и все они доступны в Delphi для использования. Познакомимся с двумя первыми вкладками Палитры Компонент — Standard и Additional. Именно на них расположено большинство элементов, наиболее часто используемых в программах.

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

Frames — позволяет разместить на форме так называемый «фрейм«. Фрейм из себя представляет другое окно. Чтобы создать окно-фрейм, следует выбрать пункт меню File -> New -> Frame, либо выделить значок Frame в окне File -> New -> Other на вкладке New. До тех пор, пока в приложении не будет ни одного фрейма, использовать данный объект не удастся. Фреймы удобны в том случае, когда какие-либо настройки запрашиваются во время работы программы в виде отдельной формы, а также, например, на одной из вкладок основной формы.

MainMenu — основное меню окна. Связать его с формой можно через свойство Menu формы. При двойном щелчке по значку MenuMenu появляется дизайнер меню, в котором можно добавлять и удалять пункты. В Caption задаётся текст пунта меню. Чтобы создать черту-разделитель, следует в свойство Caption прописать знак «минус» (««, без кавычек).

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


Label — текстовая метка (надпись) на форме. Используется для отображения любого текста в окне. Текст задаётся в свойстве Caption. Свойство Font позволяет настроить шрифт текста.

Edit — поле ввода. Используется для ввода любых данных (текста, числа и т.д.), представленных одной строкой. Свойство ReadOnly позволяет запретить редактирование текста в поле. Текст хранится свойством Text. Свойство MaxLength позволяет задать максимальное число символов, которое может быть введено в поле. Значение означает, что ограничение не установлено.

Memo — многострочный Edit. Используется для ввода больших объёмов текста. Свойство ScrollBars позволяет указать полосы прокрутки, которые будут отображаться у поля при недостатке места для всего текста:

  • ssNone — без полос прокрутки;
  • ssHorizontal — горизонтальная полоса прокрутки;
  • ssVertical — вертикальная;
  • ssBoth — обе: и горизонтальная, и вертикальная.

Button — кнопка, самая что ни есть обыкновенная. Caption — текст на кнопке.

CheckBox — флажок-переключатель. Состояние хранится в свойстве Style:

Само состояние следует изменять с помощью свойства Checked. Таких флажков может быть несколько и каждый может быть отмечен независимо от остальных.

RadioButton — радио-переключатель. Аналогичен CheckBox, но при наличии нескольких переключателей может быть выбран только один из них. Свойство Checked позволяет изменить состояние переключателя.

ListBox — список текстовых строк. Используется для выбора одного из вариантов. Строки задаются в свойстве Items. Чтобы изменить исходные значения, следует щёлкнуть по кнопке с тремя точкам («. «) в строке свойства Items и в открывшемся редакторе ввести требуемые значения. Свойство MultiSelect позволяет включить/выключить одновременный выбор нескольких строк из списка.

ComboBox — ещё один список для выбора, но выпадающий — на экране видна всего одна строка, а сам список появляется при нажатии на кнопку со стрелкой. Установив свойство Style в csDropDownList можно запретить ввод произвольного значения в ComboBox. Текст выбранной строки доступен в свойстве Text.

ScrollBar — полоса прокрутки. Свойство Kind определяет ориентацию полосы на форме: sbHorizontal — горизонтально, sbVertical — вертикально.

GroupBox — «контейнер» для компонент. Используется для объединения элементов в отдельные области. При перемещении GroupBox’а все компоненты, расположенные на нём, также перемещаются. Для размещения компонент в этом контейнере следует после выбора их на Палитры компонент щёлкнуть по самому контейнеру (а не по форме, как обычно). У GroupBox можно задать текст заголовка (свойство Caption).

RadioGroup — группа из нескольких RadioButton’ов. Тексты строк задаются в свойстве Items. Номер выбранной строки — свойство ItemIndex ( нумерация строк начинается с нуля! ).

Panel — практически такой же контейнер, что и GroupBox, однако без заголовка и с возможностью отключения рельефных границ.

ActionList — позволяет управлять действиями (Actions), которые привязываются к пунктам меню, кнопкам и т.д.

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

BitBtn — кнопка, на которой помимо текста можно разместить изображение. За изображение отвечает свойство Glyph. Формат — *.bmp. Чтобы добавить картинку, следует щёлкнуть по кнопке с тремя точками в строке свойства Glyph, в открывшемся окне нажать Load. и указать файл с картинкой.

SpeedButton — ещё один тип кнопки. Также поддерживает добавление изображения. Помимо этого кнопку можно сделать «плоской», т.е. без границ — за это отвечает свойство Flat.

MaskEdit — аналог Edit, но используется для ввода текста по маске. Например, можно указать ввод только цифр. Маска задаётся в свойстве EditMask. Имеется несколько стандартных вариантов.

StringGrid — таблица, в каждой ячейке которой может быть расположен текст. Часть ячеек можно сделать фиксированными (свойства FixedCols и FixedRows). Количество строк и столбцов таблицы задаётся соответственно свойствами RowCount и ColCount.

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

Image — изображение, которое можно разместить на форме. Изображение задаётся в свойстве Picture. Свойство Center позволяет отцентрировать изображение, если размеров недостаточно для его полного отображения. Stretch позволяет задать сжатие/растяжение картинки под размеры компонента, Proportional указывает, следует ли при этом сохранять пропорции исходного изображения.

Shape — один из вариантов геометрических фигур. Тип фигуры определяется в свойстве Shape:

  • stCircle — окружность;
  • stEllipse — эллипс;
  • stRectangle — прямоугольник;
  • stRoundRect — прямоугольник с закруглёнными углами;
  • stRoundSquare — квадрат с закруглёнными углами;
  • stSquare — квадрат.

Свойства Pen и Brush позволяют задать стиль границ фигуры и её внутреннюю заливку.

Bevel — компонент для создания рельефа на форме — линий, окошек и т.д.

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

CheckListBox — аналог ListBox, но к каждой строке добавляется флажок. Таким образом более удобно выбирать значения из списка.

Splitter — разделитель для создания областей изменяемых размеров. Компонент следует разместить между двумя элементами, которые должны быть изменяемого размера. После этого следует настроить выравнивание (Align) элементов и Splitter автоматически начнёт работать.

StaticText — текстовая метка, аналог Label, но в отличие от него является полноценным элементом управления Windows. Использовать StaticText имеет смысл в том случае, если нужно разместить текст поверх какого-либо другого компонента. С Label этого сделать не удастся.

ControlBar — один из типов панелей инструментов. Автоматически перетаскивается по области, отведённой для панелей инструментов.

ApplicationEvents — используется для доступа к некоторым свойствам и событиям объекта TApplication. Этот объект — и есть само приложение. Работать с этим объектом можно и программно, но с помощью этого компонента всё же удобнее. Он является невизуальным.

ValueListEditor — таблица из двух колонок — поля и значения. Некое подобие StringGrid.

LabeledEdit — Label и Edit «в одном флаконе». Оба компонента являются полностью настраиваемыми.

ColorBox — выпадающий список для выбора цвета.

Chart — мощный объект для построения диаграмм и графиков.

ActionManager — используется для управления действиями TAction. Аналогичен ActionList со страницы Standard, но имеет намного больше возможностей. При создании приложения на основе этой технологии рекомендуется использовать именно ActionManager.

ActionMainMenuBar — меню, работающее на основе TAction.

ActionToolBar — аналогично, панель инструментов на основе TAction.

XPColorMap , StandardColorMap , TwilightColorMap — стандартные цветовые схемы для объектов на основе TAction (кстати, они называются Action-band компонентами).

CustomizeDlg — диалог для настройки Action-band компонентов. Такой диалог используется, например в Microsoft Word для индивидуальной настройки панелей инструментов и меню. Помимо этого, Action-band компоненты позволяют сохранять и восстанавливать состояние всех объектов. Это делает приложение полностью настраиваемым.

Вот мы кратко и познакомились с компонентами первых двух вкладок Палитры компонент — Standard и Additional. Теперь Вы можете поэкспериментировать с созданием интерфейса для своей программы. В следующей главе мы начнём изучение языка Object Pascal.

Автор: Ерёмин А.А.

Статья добавлена: 27 апреля 2007

Зарегистрируйтесь/авторизируйтесь,
чтобы оценивать статьи.

Статьи, похожие по тематике

Для вставки ссылки на данную статью на другом сайте используйте следующий HTML-код:

Ссылка для форумов (BBCode):

Быстрая вставка ссылки на статью в сообщениях на сайте:
<> (буква a — латинская) — только адрес статьи (URL);
<<статья:107>> — полноценная HTML-ссылка на статью (текст ссылки — название статьи).

Поделитесь ссылкой в социальных сетях:

Комментарии читателей к данной статье

Репутация: нет
Репутация: нет

Оставлять комментарии к статьям могут только зарегистрированные пользователи.

Borland delphi 4 0 для начинающих палитры компонентов

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

Новые инструменты

Customized Desktops: использование различных конфигураций среды разработки

Delphi 5 позволяет сохранять сведения о том, какие окна среды разработки открыты, и где именно на экране они расположены. Таких конфигураций может быть создано и сохранено несколько, при этом имеется возможность выделить отдельную конфигурацию, которая будет автоматически загружаться в режиме отладки (так называемый debug desktop) и выгружаться при выходе из него. Для этой цели инструментальная панель содержит кнопки Save current desktop и Set debug desktop, а главное меню — соответствующий подраздел View/Desktops (рис. 1).

Рисунок 1. Инструментальная панель Delphi 5 со списком конфигураций.

Все сохраненные конфигурации среды разработки хранятся в файлах с расширением .dst подкаталога Delphi 5\Bin.

Object Inspector: некоторые полезные нововведения

В Delphi 5, в отличие от предыдущих версий Delphi, инспектор объектов может содержать графические изображения. Например, в строке, содержащей значение такого свойства, как Color, теперь содержится не только наименование, но и изображение прямоугольника соответствующего цвета. Еще один пример: при выборе свойства Cursor из выпадающего списка можно выбрать изображение нужного курсора. Аналогичные редакторы свойств имеются у свойств Pen, Brush, ImageIndex (рис. 2).

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

Помимо этого, Delphi 5 позволяет установить, какие именно категории свойств должны отображаться в инспекторе объектов. Список отображаемых категорий свойств можно изменить, выбрав опцию View контекстного меню инспектора объектов. Кроме того, выбрав опцию Arrange из контекстного меню инспектора объектов, можно указать, как именно сортировать отображаемые в нем свойства — по алфавиту или по категориям (рис. 3).

Рисунок 2. Инспектор объектов с графическими изображениями

Рисунок 3. Инспектор объектов, отображающий свойства, отсортированные по категориям

Некоторые свойства могут содержаться одновременно в нескольких категориях. Например, свойства Top, Left, Width, Height формы содержатся и в категории Layout, и в категории Visual.

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

DataModule Designer: новый редактор модулей данных

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

Рисунок 4. Новый редактор модулей данных

Однако сходство редактора модулей данных с CASE-средствами этим не ограничивается. Если соединять в нем изображения компонентов — наследников TDataSet с помощью мыши, при этом автоматически будут добавляться новые компоненты (например, TDataSource), устанавливаться значения свойств, обеспечивающие эту связь, при этом при необходимости могут появляться диалоговые панели редакторов этих свойств. Тип связи (master-detail, lookup, property) можно выбрать, нажав соответствующую кнопку на вертикальной инструментальной панели слева от диаграммы. Можно также добавлять блоки комментариев и связывать их с изображениями компонентов.

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

И последнее. Помимо собственно компонентов TDataSet, на странице DataDiagram могут быть отображены и другие компоненты, и их свойства также можно устанавливать, связывая эти изображения с помощью мыши (рис. 5).

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

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

Code Editor: новые возможности настройки опций редактора кода

Рисунок 6. Страница Key Mappings
диалоговой панели Editor Properties

Настройки редактора кода в Delphi 5 содержатся в отдельной диалоговой панели (рис. 6). При этом, в дополнение к стандартным наборам «горячих» клавиш, эмулирующих наиболее популярные текстовые редакторы и средства разработки, можно, используя Open Tools API, создать и зарегистрировать свой собственный набор.

Опции командной строки

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

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

Нововведения в менеджере проектов

Менеджер проектов Delphi 5 теперь позволяет не только работать одновременно над несколькими проектами, но и выбирать активный проект из выпадающего списка (рис. 7).

Рисунок 7. Менеджер проектов Delphi 5

Новый браузер проектов

Браузер проектов (Project Browser) заменил Object Browser, присутствовавший в предыдущих версиях Delphi. В отличие от Object Browser, он доступен, даже если проект еще не скомпилирован. Есть возможность выбора, какие именно объекты отображать — классы данного приложения или все классы VCL. С помощью двойного щелчка мыши на имени класса можно вывести отдельное окно с детальной информацией о нем (рис. 8).

Рисунок 8. Браузер проектов

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

To-do list: список недоделанных дел…

Delphi 5 теперь поддерживает так называемый список заданий (to-do list). Задания могут относиться как ко всему проекту в целом, так и к отдельному модулю. Их список можно получить, выбрав пункт меню View/To-do list. В этом окне можно добавлять элементы в список, отмечать их как выполненные, редактировать, менять их приоритетный порядок. Можно также добавить элемент в список с помощью соответствующей опции контекстного меню редактора кода или с помощью комбинации клавиш Ctrl-Shift-T (рис. 9, 10).

Рисунок 9. Создание нового задания

Рисунок 10. Список заданий, помещенных в To-do list.

Задания к отдельным модулям хранятся в качестве комментариев в исходном тексте модуля:

Задания для всего проекта хранятся в файле с расширением .TODO. В списке задания для всего проекта и для отдельных форм сопровождаются разными пиктограммами.

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

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

Отметим, что список заданий может быть скопирован в буфер обмена в виде текста или HTML-таблицы.

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

Управление автоматическим созданием форм в проектах

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

Translation Repository: создадим коллективный словарь…

Delphi 5 предоставляет новые удобные средства создания приложений в различных языковых версиях. Для создания таких приложений используется набор средств под общим названием International Translation Environment.

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


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

Рисунок 11. Эксперт для создания многоязычных приложений

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

Рисунок 12. Проект приложения, имеющего две языковые версии

Translation Manager представляет собой, по существу, редактор строковых ресурсов, которые могут присутствовать в форме. В нем отображены сведения о тех свойствах интерфейсных элементов, которые могут быть различными в различных языковых версиях приложения. В числе этих свойств — не только свойства типа Caption или Text, но и иные визуальные характеристики, например, Height и Width. Помимо этого, в строковых ресурсах присутствуют и стандартные строки (названия дней недели и месяцев, сообщения об ошибках, названия общеупотребимых кнопок типа «Yes», «No», «Cancel», «Help», и др.).

Отредактируем в нашем примере названия интерфейсных элементов (рис. 13).

Рисунок 13. Translation Manager

Теперь мы можем выбрать опцию Project/Languages/Set Active и выбрать один из доступных языков. Скомпилировав приложение, получим нужную языковую версию (рис. 14).

Рисунок 14. Две языковых версии одного приложения

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

Отметим, что языковые версии строк можно сохранить в специальном хранилище (так называемомTranslation Repository — репозитарии переводов) и загружать из него. Данный репозитарий является разделяемым, что позволяет использовать его при групповой работе.

TeamSource — новое средство управления коллективной разработкой проектов

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

Средства управления коллективной разработкой проектов существовали и в предыдущих версиях Delphi (Intersolv PVCS или интерфейс к нему). В Delphi 5 вместо PVCS используется TeamSource — оригинальный инструментарий, весьма удобный в использовании (рис. 15).

Рисунок 15. Borland TeamSource

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

Рисунок 16. Синхронизация локальной версии с мастер-копией

После приведения в соответствие изменения в локальной версии сохраняются в мастер-копии, а ее изменения — в локальной версии. Именно эта модель контроля версий используется в TeamSource. Собственно средство контроля версий (которым может быть и PVCS) используется для организации архива файлов, подлежащих коллективной разработке. Одно из простейших средств организации архива, ZLib, поставляется вместе с TeamSource.

Новое в Visual Component Library

Библиотека компонентов Delphi 5 претерпела серьезные изменения по сравнению с предыдущей версией. Остановимся на них подробнее.

В предыдущих версиях Delphi для создания обработчика события объекта TApplication следовало создать процедуру, а затем в явном виде присвоить имя этой процедуры обработчику события TApplication, например:

Иными словами, способ создания обработчиков таких событий отличался от привычного, использующего генерацию «заготовок» кода при щелчке на нужной строке инспектора объектов. Теперь же создавать такие обработчики событий можно и традиционным способом. Для этой цели можно использовать новый компонент TApplicationEvents, список событий которого включает все события TApplication. Этот компонент можно поместить на любую форму приложения (и даже на несколько форм), и при наступлении обрабатываемого события все имеющиеся обработчики будут выполняться по очереди. Если необходимо, чтобы один из имеющихся обработчиков этого события выполнялся первым, следует вызвать его метод Activate (например, в обработчике события OnActivate формы, на которой он находится). Для того, чтобы предотвратить выполнение последующих обработчиков данного события, можно вызвать метод CancelDispatch компонента TApplicationEvents.

Control Panel Applications: приложения для Панели управления

Для создания приложений, доступных в Панели управления Windows (.CPL), в Delphi 5 имеется новый класс TAppletApplication. Такое приложение может содержать несколько модулей — потомков класса TAppletModule, каждый из которых может быть отображен в Панели управления. Для создания таких приложений имеются два эксперта, доступные на странице New репозитария объектов: ControlPanel Application и ControlPanel Module (рис. 17).

Рисунок 17. Апплеты Панели управления, созданные с помощью Delphi 5

Advanced custom drawing: дополнительные события компонентов TToolBar и TListView

В Delphi 5 у компонентов TTreeView, TListView и TToolBar расширен список событий. Теперь, наряду с событиями OnCustomDraw, OnCustomDrawItem и др. имеются также события OnAdvancedCustomDraw, OnAdvancedCustomDrawItem и т.д.

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

Создадим простейший пример, иллюстрирующий данные возможности. Поместим на форму компоненты TListView, TToolBar с несколькими кнопками и два компонента TImageList. Добавим в оба компонента TImageList по несколько изображений, а в TListView — несколько элементов, и установим их свойства LargeImages и SmallImages равными номерам изображений из одного из компонентов TListView (рис.1). То же самое проделаем и с компонентами TToolButton. Установим также свойство OwnerDraw компонента TListView равным True (рис. 18).

Рисунок 18. Проект для тестирования событий Advanced Custom Drawing

Создадим обработчики событий, связанных с нажатием на кнопки:

Теперь можно создать обработчики событий OnAdvancedCustomDraw, OnAdvancedCustomDrawItem компонента TListView, например:

Аналогичным образом можно создать и обработчики событий OnAdvancedCustomDraw и OnAdvancedCustomDrawButton компонента TToolBar. В результате можно наблюдать за различными стадиями рисования изображения на этих интерфейсных элементах (рис. 19).

Рисунок 19. Одно из событий Advanced Custom Drawing в момент выполнения его обработчика

Новые контейнерные классы

В библиотеке компонентов Delphi 5 появились новые контейнерные классы TObjectList, TComponentList и TClassList. Все они — потомки класса TList и предназначены для хранения ссылок на объекты, компоненты и классы. TComponentList может отслеживать уничтожение компонента, ссылку на который он содержит, и автоматически удалять ее.

Помимо этого, в Delphi 5 введены новые классы TObjectQueue и TObjectStack, предназначенные для хранения ссылок на объекты в виде очередей и стеков (рис. 20).

Рисунок 20. Иерархия объектов — потомков TList и TOrderedList

В Delphi 5 имеется одно очень полезное нововведение, позволяющее существенно облегчить повторное использование форм. Эта версия Delphi позволяет создавать так называемые фреймы, представляющие собой визуальные контейнеры, которые можно в дальнейшем размещать на формах. Соответствующий эксперт имеется в репозитарии объектов Delphi 5. Выбрав его пиктограмму, можно создать наследник класса TFrame, на котором далее можно размещать интерфейсные элементы и создавать обработчики событий для них точно так же, как это делается в случае обычной формы (рис. 21).

Рисунок 21. Фрейм на этапе разработки

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

Это делается путем выбора со страницы Standard палитры компонентов «компонента» Frames. При этом появляется список доступных в данном проекте фреймов, из которого следует выбрать нужный. Далее можно изменять свойства как самого фрейма, так и входящих в него компонентов (рис. 22).

Рисунок 22. Приложение, использующее фрейм: можно менять свойства компонентов фрейма.

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

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

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

Затем можно выбрать из меню пункт Component/Install Component, выбрать «пакет» для установки компонента и скомпилировать его. В результате фрейм окажется на указанной в процедуре регистрации странице палитры компонентов.

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

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

В частности, в состав Delphi теперь входит набор компонентов InterBase Express. Этот набор компонентов предназначен для непосредственного доступа к серверу IB Database версии 5.5 и выше и использует непосредственно его клиентский API, не требуя, таким образом, использования BDE. Эти компоненты находятся на странице InterBase палитры компонентов. Подробности об этих компонентах можно прочесть в посвященной им статье.

Помимо компонентов для работы с IB Database, в комплект поставки Delphi 5 Enterprise входят также компоненты для работы с ADO (Active Data Objects) — COM-серверов, входящих ныне в состав многих продуктов Microsoft и использующих OLE DB для доступа к данным (ранее с этими объектами можно было работать только используя COM-интерфейсы). Эти компоненты взаимодействуют непосредственно с библиотеками, входящими в состав ADO, и не требуют наличия BDE. Однако они разработаны таким образом, чтобы их можно было легко использовать программистам, привыкшим работать с компонентами, взаимодействующими с BDE. Вместе с VCL-компонентами в комплект поставки Delphi Enterprise и сами библиотеки MDAC 2.1 (Microsoft Data Access Components). Пользователи Delphi 4 Professional могут приобрести эти VCL-компоненты и MDAC 2.1 отдельно. Подробности об этих компонентах также можно прочесть в отдельной посвященной им статье.

В связи с поддержкой ADO на уровне компонентов в VCL введены новые классы-потомки TFields для поддержки типов данных, специфичных для ADO: TWideStringField, TGuidField, TVariantField, TInterfaceField. TIDistatchField. Помимо этого, в Delphi 5 введены классы TGraphicField и TObjectField (последний является абстрактным классом).

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

Помимо этого, в Delphi 5 введен новый класс TCustomConnection, представляющий собой базовый класс для компонентов, представляющих источники данных, таких как TDatabase, TIBDatabase, TADOConnection, а также классов — предков компонентов TDCOMConnection, TSocketConnection, TCorbaConnection и TWebConnection.

Новое в поддержке COM

На странице ActiveX репозитария объектов имеется эксперт для создания активных серверных объектов — Active Server Objects. Эти объекты представляют собой объекты автоматизации, доступные на активных серверных страницах (Active Server Pages), которые можно получить с помощью Internet Information Server. При создании такого объекта может быть сгенерирован простейший скрипт для его тестирования. Подробности об этом можно найти в статье, посвященной их использованию.

Delphi 5 при импорте библиотек типов в приложения предоставляет возможность установить COM-серверы в палитру компонентов, при этом полученный компонент (наследник класса TOleServer) обладает событиями, имеющимися у данного объекта автоматизации (это касается в том числе и библиотек типов COM-серверов MIcrosoft, предназначенных для работы с наборами данных). Это позволяет создавать их обработчики с помощью инспектора объектов, тем самым существенно упрощая создание кода для реагирования на события сервера. Что касается свойств таких компонентов, они, как и свойства серверных объектов, доступны только на этапе выполнения, поэтому в инспекторе объектов они не отображаются (рис. 23).

Рисунок 23. Компоненты для доступа к серверным объектам Netscape Communicator 4.5, полученные в результате импорта библиотеки типов.

Отметим, что на страницу Servers палитры компонентов изначально установлены компоненты — наследники TOleServer для доступа ко всем серверным объектам Microsoft Office (а именно, компоненты TWordApplication, TWordDocument, TWordFont, TWordParagraphFormat, TwordLetterContent, TBinder, TExcelApplication, TExcelQueryTable, TExcelChart, TExcelWorkSheet, TExcelWorkBook, TExcelOleObject, TDoCmd, TAccessHyperLink, TAccessForm, TAccessReport, TAccessReference, TPowerPointApplication, TPowerPointSlide, TPowerPointPresentation, TOutlookApplication, TContactItem, TAppointmentItem, TJournalItem, TMailItem, TMeetingRequestItem, TNoteItem, TPostItem, TRemoteItem, TReportItem, TTaskItem, TTaskRequestItem). Это облегчает создание контроллеров автоматизации MS Office (рис. 24).

Рисунок 24. Страница Servers палитры компонентов Delphi 5

Подробности об использовании компонентов страницы Servers при создании контроллеров автоматизации MS Office также можно прочесть в отдельной статье, посвященной этой теме.

Помимо этого, есть еще несколько небольших изменений в поддержке COM, таких как поддержка применяемых в некоторых COM-серверах таблиц виртуальных методов с «пустотами» (sparse vtables); кроме того, исправлены некоторые погрешности в классе TComObjectFactory, связанные с поддержкой модели free многопоточности; ситуация, когда регистрация COM-сервера невозможна из-за отсутствия права редактировать реестр, теперь также обрабатывается корректно (ранее об этом разработчику просто не сообщалось). Изменились также некоторые установки по умолчанию в экспертах для создания COM-объектов — теперь по умолчанию в них предлагается создавать библиотеку типов и генерировать код, предназначенный для поддержки автоматизации.

MIDAS 3, InternetExpress и XML

Технология MIDAS, предназначенная для организации распределенных вычислений с COM-серверами доступа к данным, стала весьма популярной за последние два года. В Delphi 5 эта технология получила свое дальнейшее развитие.

Помимо поддерживаемых ранее средств доступа к серверам, базирующихся на DCOM, CORBA и использовании сокетов, Delphi 5 предоставляет возможность использовать протокол HTTP (для этой цели предназначен новый компонент TWebConnection). Это означает, что при соединении с сервером можно использовать брандмауэры и SSL (Secure Sockets Layer — протокол, гарантирующий безопасную передачу данных по сети, комбинирующий криптографическую систему с открытым ключом и блочное шифрование данных), а также применять организацию пула ресурсов (resource pooling).

Помимо этого, MIDAS 3 (версия MIDAS, поставляемая с Delphi 5) поддерживает удаленные модули данных, не хранящие состояния (stateless data module), то есть не хранящие данные, связанные с конкретным клиентом. Это означает, что при создании объектов Microsoft Transaction Server, являющихся MIDAS-серверами доступа к данным, код, удовлетворяющий требованиям к таким объектам, теперь генерируется автоматически (в прежней версии Delphi его нужно было создавать вручную).

Рисунок 25. «Ультратонкий» клиент, обращающийся к WebMIDAS-приложению.

Отметим, что компоненты InternetExpress можно также применять и при создании приложений, не использующих MIDAS.

Следует, однако, отметить, что изменения в MIDAS привели к тому, что ранее созданные MIDAS-серверы и клиенты могут потребовать небольшой модернизации. Например, вместо интерфейса IProvider используется интерфейс IAppServer, вместо dbclient.dll — midas.dll; компонент TProvider также больше не используется. Вместо него рекомендуется использовать TDataSetProvider, который теперь может иметь дело с любым набором данных, в том числе не имеющим отношения к BDE.

Подробности о MIDAS 3 содержатся в отдельной статье, посвященной этой проблеме.

Компоненты для создания Web-приложений

Страница Internet палитры компонентов теперь состоит из восьми компонентов. Компоненты от NetMasters содержатся на отдельной странице FastNet. Компонент THTML в этой версии Delphi заменен на TWebBrowser, представляющий собой оболочку элемента управления ActiveX, устанавливающегося вместе с Microsoft Internet Explorer.

Помимо этого, в Delphi 5 имеются компоненты InternetExpress для создания MIDAS-клиентов в виде Web-приложений (о них было сказано выше).

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

Другие полезные мелочи

Из других нововведений и улучшений следует отметить существенное расширение списка стандартных объектов TAction, используемых в компоненте TActionList (рис. 26).

Рисунок 26. Список стандартных объектов TAction в Delphi 5

И уж совсем маленькая, но приятная деталь: наконец-то минимизация и восстановление главной формы Delphi-приложения происходит с анимацией, характерной для большинства современных Windows-приложений.

Новые возможности отладки

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

Breakpoint actions, breakpoint groups: новые свойства точек прерывания

В прежних версиях Delphi точки прерывания были предназначены только для остановки процесса выполнения в режиме отладки. В Delphi 5 можно указать, какие именно действия (breakpoint actions) следует выполнить в момент достижения точки остановки: приостановить выполнение (как в прежних версиях Delphi), добавить текстовое сообщение в log-файл для регистрации событий отладчика (event log), записать в log-файл результат вычисления выражения, содержащего переменные отлаживаемого процесса (или вычислить выражение и никуда результат не записывать), а также сделать доступной или недоступной группу точек прерывания (о группах будет сказано ниже). Можно выполнить одновременно несколько действий в одной точке прерывания (рис. 27).

Рисунок 27. Новые свойства точек прерывания: их установка и отображение на этапе выполнения.

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

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

Другие полезные нововведения

С помощью пункта меню Run/Attach to Process можно начать отлаживать любой из уже запущенных процессов, в том числе не имеющий отношения к Delphi. Процесс, подлежащий отладке, можно выбрать из соответствующего диалога (рис. 28).

Рисунок 28. Список запущенных процессов.

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

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

Помимо окна просмотра CPU, в Delphi 5 имеется также окно просмотра FPU (Floating Point Unit), позволяющее получить информацию о регистрах FPU, флагах и др.

Отметим также, что среда разработки Delphi 5 поддерживает операции drag-and-drop во время отладки. Например, из редактора кода можно перенести выражение в окно Watch List, после чего это выражение останется в соответствующем списке. Можно перенести выражение в Debug Inspector. Можно также перенести выражение на панель, содержащую дамп памяти в окне CPU, и получить его адрес.

К диалоговой панели Evaluate/Modify добавлено несколько новых кнопок, позволяющих загрузить выражение в Debug Inspector, вычислить или изменить его, поместить в Watch List (рис. 29).

Рисунок 29. Диалоговая панель Evaluate/Modify

Отметим также, что список исключений, которые можно игнорировать при использовании Delphi, пополнился исключениями, связанными с использованием библиотек ADO, внутренними исключениями VisiBroker и пользовательскими исключениями.

Вместо заключения

Таким образом, Delphi 5 обладает немалым количеством весьма полезных нововведений, поддерживающих самые современные технологии и способных повысить эффективность разработки программных продуктов самого разнообразного назначения — от простейших утилит, игр, мультимедиа-приложений до самых сложных (в том числе распределенных) систем. С более подробными сведениями о наиболее значимых из них (в том числе о поддержке ADO и ASP, MIDAS 3, компонентах для непосредственного доступа к IB Database, использовании серверов автоматизации) можно ознакомиться в других статьях, посвященных этому продукту и размещенных на сайте российского представительства Inprise.

Дополнительную информацию Вы можете получить в компании Interface Ltd.

Использование Аdo-компонентов в Delphi

Вид урока: практическое занятие

Метод обучения: частично-поисковый

Цели урока:

  • Обучающие:
    • изучить свойства компонентов TADOConnection, TADODataSource, TADODataSet, TADOTable, TADOQuery.
    • научить использовать ADO-компоненты Delphi и их свойства для создания приложений.
  • Развивающие:
    • продолжить развитие логического мышление студентов;
    • показать вариативность использования разных свойств объектов для выполнения одних и тех же задач;
    • продолжить формирование у студентов навыков по разработке интерфейса программы;
    • организовать взаимосвязь между дисциплинами «Базы данных», «Основы алгоритмизации и программирования»
  • Воспитывающие:
    • воспитывать способность к самостоятельному поиску решения задачи.


Оборудование: персональные компьютеры

Учебный и раздаточный материал:

  • электронный практикум;
  • файл базы данных, подключаемой с помощью ADO-компонентов;
  • задания для самостоятельной работы;

ПО: Borland Delphi for Microsoft Windows.

Этапы урока

Деятельность преподавателя

Деятельность студентов

Средства обучения 1.

Организационный момент Преподаватель приветствует студентов, проверяет посещаемость ,сообщает тему занятия. Студенты записывают тему занятия в тетрадь

Повторение пройденного материала Преподаватель повторяет со студентами основные ADO- компоненты Delphi. Студенты отвечают на вопросы преподавателя Приложение Delphi 3.

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

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

Подведение итогов урока, выдача домашнего задания Подводит итоги занятия.
Выставляет оценки студентам
Выдаёт студентам индивидуальные домашние задания Студенты демонстрируют результаты работы, записывают д/з Задания для самостоятельной работы

Задание. Информационная система хранит информацию о врачах, о пациентах и их лечении. База данных включает в себя следующие сущности:

Создать проект в Borland Delphi и обеспечить доступ к БД , используя ADO-компоненты.

I. Повторение пройденного материала в форме опроса

Вопросы:
– Для чего используются ADO-компоненты в Delphi?
– Какие ADO-компоненты необходимо использовать для организации связи с базой данных? (Приложение 1)
– Какие свойства ADO-компоненты компонентов вы знаете?

II. Изучение нового материала

Вывод данных с помощью ADO-компонент на форму.
Создаем проект Delphi, сохраняем созданное нами приложение в папку «Больница», где расположен файл базы данных.
Помещаем на форму компонент ADOConnection с вкладки ADO палитры компонентов.
Устанавливаем свойство ConnectionString для этого компонента (на вкладке «Поставщик данных» выбираем «Microsoft Jet 4.0 OLE DB Provider» на вкладке «Подключение» выбираем подключаемый файл).
Поскольку файл базы данных и приложение, разрабатываемое в Delphi, находятся в одной папке «Больница», удобнее при подключении не указывать весь путь к базе данных, а ввести только его полное имя. Тогда при переносе в дальнейшем папки «Больница» в другое место, никаких проблем с приложением возникать не будет!

Проверяем подключение.
Помещаем на форму компонент ADOTable с вкладки ADO палитры компонентов.
Устанавливаем свойство Connection (указываем наш ADOConnection1) – в свойстве TableName компонента ADOTable должно появиться окно ‘Database Login’ а затем в выпадающем списке появится список таблиц нашей базы данных.

Выбираем таблицу или запрос, которые нам необходимо вывести (обратите внимание, что для вывода каждой таблицы или запроса необходим отдельный компонент ADOTable или ADOQuery соответственно, но ADOConnection для всех один!).
Устанавливаем на форму компонент DataSource со вкладки Data Access.
Свойство DataSet этого компонента меняем на ADOTable1.
Помещаем DBGrid с вкладки Data Controls и свойству DataSource присваиваем значение DataSource1.
Помещаем DBNavigator с вкладки Data Controls и свойству DataSource присваиваем значение DataSource1.
Активируем подключенную таблицу, задав свойству Active компонента ADOTable1 значение True, в результате чего в DBGrid отобразится таблица из нашей базы данных. Можно активировать таблицу с помощью кнопки:
procedure TForm1.Button1Click(Sender: TObject).

begin
adotable1.Open;
end;

Чтобы каждый раз при запуске программы на экран не выходило окно ‘Database Login’, установите свойство LoginPrompt компонента ADOConnection равным False.

III. Создание интерфейса приложения

По шаблону, предложенному выше, необходимо для каждой из таблиц определить свой ADO-компонент. Для этого размещаем на форме компоненты ADOTable1, …, ADOTable6, подключаем их к файлу базы данных (свойство Connection), задаем свойству TableName для этих компонентов следующие значения:

ADOTable1 – таблица «Пациенты»
ADOTable2 – таблица «№ палаты»
ADOTable3 – таблица «Врачи»
ADOTable4 – таблица «Палаты»
ADOTable5 – таблица «Препараты»
ADOTable6 – таблица «Лечение»

Размещаем на форме компоненты DataSource1, …, DataSource6, которые могут нам понадобиться для отображения или передачи данных. Для каждого из них определяем в свойстве DataSet соответствующую таблицу.

Устанавливаем на форму компонент DBLookupComboBox (см. рис 5) с вкладки Data Controls (список будет использоваться для отображения номеров палат ) и в свойствах ListSource, ListField и KeyField этого компонента задаём имя отображаемого столбца . Свойство DataSource компонента необходимо оставить пустым.

Отобразим с помощью компонента DBGrid содержимое таблицы «Пациенты» (присваиваем свойству DataSource значение DataSource1)

Обеспечим возможность модификации созданной таблицы с помощью компонента DBNavigator и проверим его работоспособность (если редактирование таблицы с помощью этого компонента оказалось затруднительным, то необходимо изменить свойство Options компонента DBGrid, задав dgEditing ––> true)

Определим событие OnClick для компонента DBLookupComboBox, при выполнении которого выводится информация о пациентах, размещённых в палате с выбранным номером. Реализовать это событие можно двумя способами:

1 способ (с использованием фильтра):

Размещаем на форме компоненты DataSource7, который будет использован для отображения и передачи данных запроса ADOQuery1 ( определяем в свойстве DataSet компонент ADOQuery1). Создаём SQL- запрос на вывод информации о пациентах путём использования свойства SQL ––> Text компонета ADOQuery1 с помощью команды form1.ADOQuery1.SQL.Text:=’SELECT … FROM …..’.
Открываем SQL- запрос и осуществляем фильтрацию информации по заданному критерию с помощью команд:

2 способ (критерий отбора задаётся в разделе Where SQL-запроса):

Создаём SQL-запрос на вывод информации о пациентах находящихся в палате, номер которой задан в компоненте DBLookupComboBox, с помощью команды:

Определим событие OnClick для кнопки «Назначение номера палаты и лечащего врача».
При нажатии на эту кнопку открывается форма «Добавление информации» (см. рис.10), на которой отображаются «№ палаты» и «ФИО врача» пациента с заданным номером. Поиск этих данных осуществляется (см. рис. 1) по схеме:

Палаты.[Код пациента] ––> Палаты. [Код палаты]
Палаты.[Код пациента] ––> Палаты.[Код врача] ––> Врачи.[Код врача] ––> Врачи.[ФИО врача]

Определим событие OnClick для кнопки «Добавить» (см. рис.7). При нажатии на эту кнопку введённая информация добавляется в поля «Код пациента», «код врача» и «Код палаты» таблицы «Палаты»:

Определим событие OnClick для кнопки «Информация о всех пациентах» (см. рис.7), которая будет отображать в компоненте DBGrid содержимое Таблицы «Пациенты» с помощью команды:

Размещаем на форме (см.рис.11 )компонент DBLookupListBox с вкладки Data Controls (список будет использоваться для отображения фамилий врачей, работающих в больнице) и в свойствах ListSource, ListField и KeyField этого компонента задаём имя таблицы и отображаемого столбца . Свойство DataSource компонента необходимо оставить пустым.

Ниже приведён фрагмент программы, позволяющий при включении переключателя «Врачи» отобразить содержимое поля «ФИО врача» в компоненте DBLookupListBox

Создадим для компонента DBLookupListBox контекстное меню (см. рис.11), позволяющее редактировать записи в списке (добавлять записи, редактировать записи, удалять записи):
Рассмотрим фрагмент программы для добавления информации в список DBLookupListBox с помощью функции Inputbox (на рис. 13 показано окно для ввода данных, реализованное с помощью функции Inputbox ).

Рассмотрим фрагмент программы для редактирования информации в списке DBLookupListBox (на рис. 15 показано окно для ввода данных, реализованное с помощью функции Inputbox )

Рассмотрим фрагмент программы для удаления информации из списка DBLookupListBox

IV. Самостоятельная работа студентов

По аналогии с п.7 предыдущего раздела, создадим событие OnClick для кнопки «Назначение лечения».При нажатии на эту кнопку открывается форма «Добавление информации о лечении», на которой будет отображен код выбранного пациента, можно выбрать название препарата из списка (компонент DBLookupComboBox), задать количество препарата, выбрать врача из списка (компонент DBLookupComboBox) и ввести дату назначения. По заполненным данным должны быть определены «код_ препарата», «количество_препарата», «код врача», «дата назначения» и информация добавлена в таблицу «Лечение»

По аналогии с п.10 предыдущего раздела, создадим событие обработки нажатия на переключатель «Препараты» (см. рис.11). При включении переключателя «Препараты» необходимо отобразить содержимое поля «Препараты» в компоненте DBLookupListBox.

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

V. Подведение итогов урока, выдача домашнего задания

Преподаватель подводит итоги занятия, выставляет оценки студентам, выдаёт студентам домашние задание:
Создать SQL-запрос, подсчитывающий количество пациентов в больнице
Создать SQL-запрос, позволяющий удалить из базы данных выписавшихся больных (дата выписки которых больше сегодняшней даты)

Полный код программы и файл базы данных вы можете просмотреть в Приложении 2.

Borland delphi 4 0 для начинающих палитры компонентов

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

Hадо отметить, что к моменту выхода продукта обстановка вокруг компании Borland складывалась не лучшим для нее образом. Поговаривали о возможной перепродаже компании, курс акций компании неудержимо катился вниз. Сейчас уже можно без всяких сомнений утверждать, что период трудностей позади. Hеверно, конечно, было бы говорить, что только Delphi явился причиной восстановления компании; кроме Delphi, у Borland появились и другие замечательные продукты, так же, как и Delphi, основывающиеся на новых, появившихся недавно у компании Borland, технологиях. Я имею в виду новые BDE 2.0, BC++ 4.5, Paradox for Windows 5.0, dBase for Windows 5.0, BC++ 2.0 for OS/2.

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

Delphi. Основные характеристики продукта.

Delphi — это комбинация нескольких важнейших технологий:

  • Высокопроизводительный компилятор в машинный код
  • Объектно-ориентированная модель компонент
  • Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов
  • Масштабируемые средства для построения баз данных

Компилятор в машинный код

Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре «клиент-сервер». Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода (хотя это возможно).

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

Объектно-ориентированная модель программных компонент

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

В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. Для начала — неплохо. Но если возникнет необходимость в решении какой-то специфической проблемы на Delphi, советуем, прежде чем попытаться начинать решать проблему «с нуля», просмотреть список свободно распространяемых или коммерческих компонент, разработанных третьими фирмами, количество этих фирм в настоящее время превышает число 250, хотя, возможно, я не обо всех знаю. Скептики, возможно, не поверят мне, когда я скажу, что на Delphi можно одинаково хорошо писать как приложения к корпоративным базам данных, так и, к примеру, игровые программы. Тем не менее, это так. Во многом это объясняется тем, что традиционно в среде Windows было достаточно сложно реализовывать пользовательский интерфейс. Событийная модель в Windows всегда была сложна для понимания и отладки. Но именно разработка интерфейса в Delphi является самой простой задачей для программиста.

Быстрая разработка работающего приложения из прототипов

Игровая программа Rendzu была собрана моим коллегой из готовых кусков за рабочий день, причем большая часть времени была посвящена прихорашиванию и приукрашиванию. Screen Saver в виде прыгающих часиков был также изготовлен на Delphi за весьма незначительное время. Теперь эти часики украшают почти каждую IBM-совместимую машину в нашем Демо-центре клиент-серверных технологий. Конечно, на разработку серьезной информационно-поисковой системы в архитектуре клиент-сервер может уйти гораздо большее время, чем на разработку программы-игрушки. Тем не менее многие наши коллеги, до Delphi программировавшие на других языках, утверждают, что на Delphi скорость изготовления сложного проекта выше раз в 10.

Cреда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD — rap >Соответствующий стандарт компонент назывался VBX. И этот стандарт так же поддерживается в Delphi. Однако, визуальные компоненты в Delphi обладают большей гибкостью. Вспомним, в чем была проблема в VB. Прикладной программист программировал, вообще говоря, в среде языка бэйсик. А компоненты в стандарте VBX готовили ему его коллеги-профессионалы на С++.

VBX’ы приходили, «как есть», и ни исправить, ни добавить ничего было нельзя.

А для изготовления VBX надо было осваивать «кухню» языка C++. В Delphi визуальные компоненты пишутся на объектном паскале, на том же паскале, на котором пишется алгоритмическая часть приложения. И визуальные компоненты Delphi получаются открытыми для надстройки и переписывания. Чувствуете разницу?

Масштабируемые средства для построения баз данных

Объекты БД в Delphi основаны на SQL и включают в себя полную мощь Borland Database Engine. В состав Delphi также включен Borland SQL Link, поэтому доступ к СУБД Oracle, Sybase, Informix и InterBase происходит с высокой эффективностью. Кроме того, Delphi включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние SQL-сервера приложения в офлайновом режиме. Разработчик в среде Delphi, проектирующий информационную систему для локальной машины (к примеру, небольшую систему учета медицинских карточек для одного компьютера), может использовать для хранения информации файлы формата .dbf (как в dBase или Clipper) или .db (Paradox). Если же он будет использовать локальный InterBase for Windows 4.0 (это локальный SQL-сервер, входящий в поставку), то его приложение безо всяких изменений будет работать и в составе большой системы с архитектурой клиент-сервер.

Вот она — масштабируемость на практике — одно и то же приложение можно использовать как для локального, так и для более серьезного клиент-серверного вариантов.

Delphi — два варианта поставки

Я уже упомянул о технологиях, которые объединяет Delphi. Теперь можно перейти к описанию собственно продукта. Что лежит внутри в коробке, и чем может воспользоваться программист при разработке прикладной системы? Выпущены две версии Delphi — одна (Delphi Client-Server) адресована для разработчиков приложений в архитектуре «клиент-сервер», а другая (Delphi for Windows) предназначена для остальных программистов. Приложения, разработанные при помощи Delphi, можно использовать без выплаты royalty-процентов и без оплаты runtime- лицензий.

Клиент-серверная версия Delphi

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

Клиент-серверная версия включает в себя следующие особенности:

  • SQL Links: специально написанные драйвера для доступа к Oracle, Sybase, Informix, InterBase
  • Локальный сервер InterBase: SQL-сервер для Windows 3.1. СУБД для разработки в корпоративных приложений на компьютере, не подключенном к локальной сети.
  • ReportSmith Client/server Edition: генератор отчетов для SQL-серверов
  • Team Development Support: предоставляет версионный контроль при помощи PVCS компании Intersolve (приобретается отдельно) или при помощи других программны х продуктов версионного контроля
  • Visual Query Builder — это средство визуального построения SQL-запросов
  • лицензия на право распространения приложений в архитектуре клиент-сервер, изготовленных при помощи Delphi
  • исходные тексты всех визуальных компонент

Delphi for Windows

Delphi for Windows представляет из себя подмножество Delphi Client-Server и предназначен для разработчиков высокопроизводительных персональных приложений, работающих с локальными СУБД типа dBase и Paradox.Delphi Desktop Edition предлагает такую же среду для быстрой разработки и первоклассный компилятор как и клиент-серверная версия (Client/Server Edition). Эта среда позволяет разработчику быстро изготавливать персональные приложения, работающие с персональными СУБД типа dBase и Paradox. Delphi позволяет также создавать разработчику DLL, которая может быть вызвана из Paradox, dBase, C++ или каких-нибудь других готовых программ.

В Delphi for Windows, как и в Delphi Client-Server, входят

  • компилятор Object Pascal (этот язык является расширением языка Borland Pascal 7.0)
  • генератор отчетов ReportSmith 2.5 (у которого, правда, отсутствует возможность работы с SQL-серверами)
  • среда визуального построителя приложений
  • библиотека визуальных компонент
  • Локальный сервер InterBase

RAD Pack for Delphi

В этом обзоре стоит упомянуть еще один продукт, выпущенный компанией Borland для Delphi. В RAD Pack for Delphi входит набор полезных дополнений, которые помогут разработчику при освоении и использовании Delphi. Это учебник по объектному паскалю, интерактивный отладчик самой последней версии, Borland Visual Solutions Pack (набор VBX для реализации редакторов, электронных таблиц, коммуникационные VBX, VBX с деловой графикой и т.п.), Resource WorkShop для работы с ресурсами Borland Pascal 7.0, а также дельфийский эксперт для преобразования ресурсов BP 7.0 в формы Delphi.

Для кого предназначен Delphi

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

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

Некоторые особенности Delphi

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

Team Development Support — средство поддержки разработки проекта в группе. Позволяет существенно облегчить управление крупными проектами. Это сделано в виде возможности подключения такого продукта как Intersolve PVCS 5.1 непосредственно к среде Delphi.

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

Открытая компонентная архитектура

Благодаря такой архитектуре приложения, изготовленные при помощи Delphi, работают надежно и устойчиво. Delphi поддерживает использование уже существующих объектов, включая DLL, написанные на С и С++, OLE сервера, VBX, объекты, созданные при помощи Delphi. Из готовых компонент работающие приложения собираются очень быстро. Кроме того, поскольку Delphi имеет полностью объектную ориентацию, разработчики могут создавать свои повторно используемые объекты для того, чтобы уменьшить затараты на разработку.

Delphi предлагает разработчикам — как в составе команды, так и индивидуальным — открытую архитектуру, позволяющую добавлять компоненты, где бы они ни были изготовлены, и оперировать этими вновь введенными компонентами в визуальном построителе. Разработчики могут добавлять CASE-инструменты, кодовые генераторы, а также авторские help’ы, доступные через меню Delphi.

Two-way tools — однозначное соответствие между визуальным проектированием и классическим написанием текста программы Это означает, что разработчик всегда может видеть код, соответствующий тому, что он построил при помощи визуальных инструментов и наоборот.

Визуальный построитель интерфейсов (Visual User-interface builder) дает возможность быстро создавать клиент-серверные приложения визуально, просто выбирая компоненты из соответствующей палитры.

Библиотека визуальных компонент

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

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

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

Поддержка OLE 2.0, DDE и VBX

Это очень важная особенность для разработчиков в среде Windows, поскольку в уже существующие Windows-приложения программист может интегрировать то, что разработает при помощи Delphi.

Delphi: настраиваемая cреда разработчика

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

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

Понятно, что поскольку в Delphi вы визуальным образом строите свою программу, все эти компоненты имеют свое графическое представление в поле форм для того, чтобы можно было бы ими соответствующим образом оперировать. Но для работающей программы видимыми остаются только визуальные компоненты. Компоненты сгруппированы на страницах палитры по своим функциям. К примеру, компоненты, представляющие Windows «common dialogs» все размещены на странице палитры с названием «Dialogs».

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

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

Интеллектуальный редактор

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

Графический отладчик

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

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

Этот инструмент представляет из себя отдельное окно, где вы можете в период проектирования программы устанавливать значения свойств и событий объектов (Properties & Events).

Менеджер проектов.

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

Менеджер проектов показывает имена файлов, время/дату выбранных форм и пр.

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

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

Дизайнер меню

Можно создавать меню, сохранить созданные в виде шаблонов и затем использовать в их в любом приложении.

Эксперты

Это набор инструментальных программ, облегчающих проектирование и настройку Ваших приложений.

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

Включает в себя:

  • Эксперт форм, работающих с базами данных
  • Эксперт стилей и шаблонов приложений
  • Эксперт шаблонов форм

В состав RAD Pack входит эксперт для преобразования ресурсов, изготовленных в Borland Pascal 7.0, в формы Delphi. Уже появились эксперты, облегчающие построение DLL и даже написание собственных экспертов

Интерактивная обучающая система

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

Компоненты доступа к базам данных и визуализации данных

Библиотека объектов содержит набор визуальных компонент, значительно упрощающих разработку приложений для СУБД с архитектурой клиент-сервер. Объекты инкапсулируют в себя нижний уровень — Borland Database Engine.

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

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

Разработка приложений БД

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

Библиотека объектных Визуальных Компонент

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

Этот костяк называется Visual Component Library (VCL). В VCL есть такие стандартные элементы управления, как строки редактирования, статические элементы управления, строки редактирования со списками, списки объектов.

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

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

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

Здесь следует отметить, что обычных ограничений, присущих средам визуальной разработки, в Delphi нет. Сам Delphi написан при помощи Delphi, что говорит об отсутствии таких ограничений.

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

Язык программирования Delphi базируется на Borland Object Pascal.

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

Формы, модули и метод разработки «Two-Way Tools»

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

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

Такая синхронизация и делает Delphi two-way-инструментом, обеспечивая полное соответствие между кодом и визуальным представлением. Как только вы добавите новый объект или код, Delphi устанавливает т.н. «кодовую синхронизацию» между визуальными элементами и соответствующими им кодовыми представлениями.

Например, предположим, вы добавили описание поведения формы (соотв. обработчик событий), чтобы показывать окно сообщения по нажатию кнопки. Такое описание появляется, если дважды щелкнуть мышкой непосредственно на оъект Button в форме или дважды щелкнуть мышью на строчку OnClick на странице Events в Инспекторе объектов. В любом случае Delphi создаст процедуру или заголовок метода, куда вы можете добавить код.

Cоздавая этот код, Delphi автоматически формирует декларацию объекта TForm1, которая содержит процедуру ButtonClick, представляющую из себя собственно обработчик события.

Конечно вы запросто можете решить после получения этого кода, что автоматически созданные имена Вас не устраивают, и заменить их. Например, Button1 на Warning. Это можно сделать изменив свойство Name для Button1 при помощи Инспектора объектов. Как только вы нажмете Enter, Delphi автоматически произведет соответствующую синхронизацию в коде. Так как объект TForm1 существует в коде, вы свободно можете добавлять любые другие поля, процедуры, функции или object definition. К примеру, вы можете дописать в коде свою собственную процедуру, обрабатывающую событие, а не делать это визуальным методом.

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

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

Добавление новых объектов

Delphi — это прежде всего среда разработки, базирующаяся на использовании компонент. Поэтому вы можете добавлять совершенно новые компоненты в палитру компонент. Вы можете создавать компоненты внутри Delphi, или вводить компоненты, созданные как управляющие элементы VBX или OLE 2.0, или же вы можете использовать компоненты, написанные на С или С++ в виде dll.

Последовательность введения новой компоненты состоит из трех шагов:

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

Это все делается через меню Install Components

Добавление управляющих элементов VBX

Delphi генерирует объектное расширение VBX, которое инсталлируется в качестве компонент.

Например, если вы инсталлируете SaxComm VBX из Visual Solutions Pack компании Borland в Delphi, автоматически генерится тип объекта TComm, который наследуется из стандартного TVBXControl. Когда вы инсталлируете компоненты, Delphi будет компилировать и подлинковывать их к библиотеке компонент.

Делегирование: события программируются проще

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

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

К примеру, когда вы добавляете кнопку в форму и прикрепляете код, обрабатывающий нажатие, вы фактически используете делегирование кода для ассоциирования кода с событием OnClick. Такая ассоциация происходит для вас автоматически. Если проверить страницу Events в Инспекторе объектов для вашего приложения, можно увидеть ассоциированные с событиями процедуры.

Ссылки на классы

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

Обработка исключительных ситуаций

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

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

Обработка исключений реализована в виде exception-handling blocks (также еще называется protected blocks), которые устанавливаются ключевыми словами try и end. Существуют два типа таких блоков: try. except и try. finally.

Общая конструкция выглядит примерно так:

Конструкция try. finally предназначена для того, чтобы разработчик мог быть полностью уверен в том, что, что бы ни случилось, перед обработкой исключительной ситуации всегда будет выполнен некоторый код (например, освобождение ресурсов).

Немного о составе продукта

Документация.

  • Руководство пользователя
  • Руководство по написанию компонент
  • Построение приложений, работающих с базами данных
  • Руководство по генератору отчетов ReportSmith
  • Руководство по SQL Links

В составе Delphi входит 5 интерактивных обучающих систем, документация в электронном виде и около 10 Мб справочной информации.

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

  • Windows 3.1 и выше
  • 27 Mb дискового пространства для минимальной конфигурации
  • 50 Mb дискового пространства для нормальной конфигурации
  • процессор 80386, а лучше 80486
  • 6-8 Mb RAM

Заключение

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

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL