рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Эксперты в Delphi

Эксперты в Delphi - раздел Информатика, Эксперты В Delphi, Или Программист, Упростите Себе Жизнь Олег Гопанюк, Ведущи...

Эксперты в Delphi, или Программист, упростите себе жизнь Олег Гопанюк, ведущий программист департамента "KM-Solution" корпорации "Квазар-Микро", "Комиздат" Имеющее множество достоинств и довольно популярное средство разработки Delphi позволяет расширять функциональные возможности среды разработчика. Речь идет не о косметических изменениях в интерфейсе и не о добавлении компонентов или их наборов, а о придании рабочему окружению программиста новых полезных возможностей, не предусмотренных его создателями.

Для решения подобной задачи в Delphi можно воспользоваться так называемыми экспертами. Вспомните, как удобно, ответив на несколько вопросов, создать готовую форму для вывода содержимого таблиц.Или, щелкнув мышью на нужном элементе в списке New Items, получить “костяк” вашего будущего проекта (рис. 1). Рис. 1. Многие возможности Delphi реализуются с помощью экспертов Что это — стандартные возможности рабочей среды? Да, но применить их можно лишь с помощью эксперта.

О том, как это сделать, и пойдет речь далее. Эксперты в Delphi — что это такое? Если не хватает возможностей среды или какие-то операции кажутся слишком громоздкими, то эксперты — именно то, что нужно. С помощью экспертов вы словно проникаете внутрь среды Delphi и без труда дополняете ее. Естественно, такое проникновение должно быть осторожным и аккуратным, потому как неправильное обращение с объектами и интерфейсами может вызвать сбои в работе среды или даже ее разрушение.Эксперты могут существовать в виде библиотек DLL либо компилированных модулей DCU. Выбор “формы жизни” будущего эксперта остается за вами, но имейте в виду, что расширение файла эксперта определяет способ его регистрации.

О способах регистрации чуть далее — сперва давайте рассмотрим стили экспертов Delphi. Их всего четыре, и все они приведены в таблице.Стили экспертов Стиль Способ вызова Стандартный Добавить в подменю Help пункт меню Надстройки То же в определенное экспертом подменю пункт меню Формы - // - во вкладку Forms диалогового окна New Items пиктограмму эксперта Проекта - // - во вкладку Projects диалогового окна New Items то же Главное отличие между стилями заключается в способе вызова эксперта пользователем в среде Delphi.

Как видите, можно определить самый удобный из них. Реализация экспертов предполагает использование интерфейса Open Tools API — набора классов, позволяющего обращаться ко множеству функций среды Delphi.В экспертах Open Tools API может использоваться для: получения информации о проекте; получения информации о модуле или форме; управления модулями проекта (дл открытия, закрытия, добавления, создания); управления ресурсами проекта; модификации меню Delphi; регистрации изменений в проекте; регистрации изменений в модуле.

Следует заметить, что интерфейс Open Tools API доступен только из программ, запущенных как часть интегрированной среды Delphi. В следующем разделе мы рассмотрим несколько полезных экспертов.Реализация класса TIIExpert, переопределив при этом часть его методов (таблица 2) Возможность переопределени методов экспертов тех или иных стилей Все девять методов (таблица 3) предоставляют информацию об эксперте и организуют его взаимодействие со средой.

TIExpert — это абстрактный виртуальный класс с заданными, но не реализованными функциональными возможностями. От этого класса будут порождены другие, имеющие необходимые возможности.Определение класса TIExpert приведено далее. TIInterface) public { Методы пользовательского интерфейса с экспертом } function GetName: string; virtual; stdcall; abstract; function GetAuthor: string; virtual; stdcall; abstract; function GetComment: string; virtual; stdcall; abstract; function GetPage: string; virtual; stdcall; abstract; function GetGlyph: HICON; virtual; stdcall; abstract; function GetStyle: TExpertStyle; virtual; stdcall; abstract; function GetState: TExpertState; virtual; stdcall; abstract; function GetIDString: string; virtual; stdcall; abstract; function GetMenuText: string; virtual; stdcall; abstract; { Запуск эксперта } procedure Execute; virtual; stdcall; abstract; end; Open Tools API Open Tools API — это набор интерфейсов; они предоставляют доступ к среде Delphi и позволяют управлять файлами и проектами.

Основной объект Open Tools API — ToolServices — это глобальная переменная.

При запуске Delphi создается экземпляр класса TIToolServices, и переменной ToolServices присваивается ссылка на него. Эксперты могут использовать ToolServices для доступа к функциям среды разработки.

Любой сервис, предоставляемый Open Tools API, прямо или косвенно вызывается через ToolServices.В таблице приведено краткое описание Open Tools API. Переопределение методов — задача довольно простая; она предполагает написание всего нескольких строк кода. Например, реализация метода GetStyle вряд ли отнимет у вас много времени: function MyExpert.GetStyle: TexpertStyle begin Result := [esStandard]; end; Регистрация экспертов Зарегистрировать эксперт можно одним из двух способов.

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

Сперва рассмотрим регистрацию эксперта как компонента. Необходимо добавить в модуль эксперта процедуру Register: Procedure Register; Implementation {$R*.DFM} Procedure Register; Begin RegisterLibraryExpert (TPowerExpert. Create); // TpowerExpert — это класс регистрируемого эксперта End; Для регистрации эксперта как DLLбиблиотеки следует выполнить две операции: реализовать новый проект DLL и изменить содержимое системного реестра Windows.Итак, создаем DLL. Выполните команду File р New, а затем укажите Delphi, что необходимо создать DLL. В результате появится новое окно модуля с неким набором исходного кода. После этого следует экспортировать функцию InitExpert.

Обратите внимание, что эта функция экспортируется с помощью специальной константы ExpertEntryPoint, которую Delphi определяет для всех экспертов, создаваемых в виде DLL. Основное назначение функции InitExpert — возврат ссылки на объект ToolServices для дальнейшего использования и вызова процедуры RegisterProc, которая, собственно, и регистрирует эксперт.

Ниже приведена реализация этой функции: Function InitExpert( ToolServices:ToolServices; RegisterProc:TexpertRegisterProc; var Terminate:TExpertTerminateProc): Boolean; export; stdcall; implementation procedure TerminateExpert; begin // завершение работы эксперта end; function InitExpert( ToolServices:ToolServices; RegisterProc:TExpertRegisterProc; var Terminate:TExpertTerminateProc): Boolean; export; stdcall; begin Result:=False; end; // проверка, является ли запущенное приложение единственным if (ToolServices=nil) or Assigned(ExptIntf. ToolServices) then Exit; ExptIntf.ToolServices:=ToolServices; //сохраняем указатель на ToolServices Application.Handle:= ToolServices.GetParentHandle; //сохраняем указатель на ToolServices для родительского окна Terminate:=TerminateExpert; //устанавливаем процедуру завершения RegisterProc(TGenericExpert.Create); //регистрация эксперта Result:=True; end; Когда DLL с экспертом будет готова, от вас потребуется лишь изменить системный реестр так, чтобы Delphi “знала” расположение библиотеки с экспертом и смогла ее загрузить.

Для этого с помощью редактора реестра (regedit.exe) добавьте в реестр такую запись: HKEY_CURRENT_USERSoftwareBorland Delphi4.0Experts MyExpert=C:MyExperttsMyExpert.DLL Для того чтобы среда зарегистрировала DLL, Delphi необходимо перезапустить.

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

Еще одна проблема — неполна совместимость экспертов в виде DLL, которые были созданы и скомпилированы для других версий Delphi. Автор надеется, что эта стать поможет профессионалам поближе познакомиться с экспертами Delphi.Возможно, ее публикация подтолкнет многих программистов к изучению темы. Некоторые полезные эксперты Знаете ли вы, что в Internet есть предостаточно мест, где можно найти эксперты для Delphi.

Одно из таких мест — польский сервер “Delphi Super Page” (http://delphi.icm.edu.pl/). Там вы найдете множество различных экспертов и полезных компонентов. Давайте рассмотрим самый интересный, по мнению автора, набор экспертов, предоставляющий возможность ускорить разработку приложений на Delphi.Его можно загрузить по адресу:  http://delphi.icm.edu.pl/ftp/d40free/mye xp100.zip. Рассмотрим вкратце эти маленькие “добавки”. Набор содержит эксперт — редактор префиксов для имен компонентов.

После того, как он будет установлен в инспекторе объектов, напротив свойства Name появится кнопка с многоточием. Это говорит о том, что можно воспользоваться редактором для изменения свойства Name. С его помощью можно указывать префикс для данного класса компонента.Строго говоря, использование префиксов в названиях компонентов — это правило хорошего тона. В меню Tools теперь появляется новое подменю Prefix list editor, с помощью которого можно изменять и добавлять такие префиксы.

Как известно, некоторые компоненты являются контейнерами для других (например, TPanel, TGroupBox, TScrollBox и т. п.). Установленный набор позволит управлять выравниванием дочерних компонентов. Для этого достаточно щелкнуть правой кнопкой мыши и выбрать в контекстном меню пункт Align controls. В Delphi есть мастер создания элементов управления, работающих с данными.Однако в рассматриваемом наборе имеется эксперт, благодаря которому можно создавать компоненты для работы с данными более совершенным способом.

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

– Конец работы –

Используемые теги: Эксперты, Delphi0.052

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Эксперты в Delphi

Что будем делать с полученным материалом:

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

Еще рефераты, курсовые, дипломные работы на эту тему:

Дополнительные кнопки Delphi TSpeedButton и TBitBtn
Глава Обзор дополнительных компонентов Delphi...

Буфер обмена и стандартные компоненты Delphi
Глава Буфер обмена...

Имеет обширный набор классов. Фрагмент структуры классов Delphi приведен на рис.5.24.1
Классы в Delphi... Delphi имеет обширный набор классов Фрагмент структуры классов Delphi... Предком всех классов Delphi является класс TObject Он обладает самыми общими методами присущими любому объекту...

Состав проекта Delphi
На сайте allrefs.net читайте: Состав проекта Delphi.

БЮРОКРАТИЯ И ВЛАСТЬ В НОВОЙ РОССИИ: ПОЗИЦИЯ НАСЕЛЕНИЯ И ОЦЕНКИ ЭКСПЕРТОВ
Аналитический доклад Подготовлен в сотрудничестве с Представительством Фонда имени Фридриха Эберта в Российской Федерации...

Тема 4. Язык программирования Delphi
Тема Язык программирования Delphi... Введение... ЭВМ может выполнять программы записанные на машинном языке В машинном языке все команды операции адреса ячеек...

Далее немного вашего внимания уделю процессу установки Delphi на компьютер
Delphi Делфи... Здравствуйте Меня зовут Semen Я ведущий уроков по Delphi Мы с вами... Что же такое Delphi Это среда разработки используемой прежде всего для создания и поддержки приложений...

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

BDE ТАADO ТЕХНОЛОГІЇПРОЕКТУВАННЯ БАЗ ДАНИХ В DELPHI
Національний технічний університет України... Київський політехнічний інститут... BDE ТАADO...

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

0.032
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам
  • ОСНОВЫ ПРОГРАММИРОВАНИЯ в среде TURBO DELPHI Учебное пособие РЯЗАНСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ... В В КАРАСЕВ ОСНОВЫ... Редактор М Е Цветкова...
  • Середовище програмування Delphi Масиви... Масив це обмежена впорядкована сукупність однотипних величин Кожна окрема... Рядки...
  • Лекция 1. От языка Pascal к системе Delphi Работа над новым проектом так в Delphi называется разрабатываемое приложение начинается с создания стартовой формы Так на этапе разработки... Стартовая форма создается путем изменения значений свойств формы Form и... Свойства формы табл В определяют ее внешний вид размер положение на экране текст заголовка вид рамки...
  • Создание имиджа олигарха в электронных СМИ ("Эксперт", "Русский Newsweek", "Forbes") на примере Р. Абрамовича В России с ее вековыми традициями нелюбви к богатым на смену образу «нового русского» пришел имидж олигархов. Тем не менее, успешная социальная… Итак, актуальность темы настоящего исследования «Создание имиджа олигарха в… Цель работы: выявить причины успеха имиджа Романа Аркадьевича Абрамовича.
  • Компетенции, права и обязанности судебного эксперта Лица, которые могут быть назначены судебными экспертами, должны иметь высшее образование. Закон предусматривает поэтапное определение его… Оно сводится к следующему: по согласованию с органом, назначившим экспертизу,… В случае если, не приступая к исследованию, эксперт убе¬дился, что поставленный перед ним вопрос выходит за пределы…