Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!)





НазваниеЭтот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!)
страница4/7
Дата публикации04.12.2014
Размер0.73 Mb.
ТипДокументы
100-bal.ru > Информатика > Документы
1   2   3   4   5   6   7

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

Инспектор объектов предназначен для установки доступных на этапе проектирования свойств компонентов (то есть свойств, объявленных как published). Окно инспектора состоит из трех основных частей:

  • Селектора компонентов

  • Страницы свойств (Properties)

  • Страницы событий (Events)

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

Страница Properties инспектора объектов отображает все свойства выбранного компонента, доступные на стадии проектирования. Страница разделена на два столбца. Столбец Property слева показывает имя свойства, столбец Value справа - значение этого свойства. Если свойство имеет тип класса, записи, или множества, то слева от его имени отображается знак +. Дважды щелкнув на имени такого свойства, можно получить доступ к отдельным его полям. Того же эффекта можно достичь, выбрав пункт Expand в контекстном меню инспектора объектов. Для закрытия развернувшегося списка полей необходимо повторно дважды щелкнуть на имени свойства, либо использовать пункт Collapse в контекстном меню инспектора объектов. Во многих случаях редактор отображает список возможных значений свойства. Для свойств, представляющих собой объекты (экземпляры классов VCL) существуют две возможности для редактирования. Во-первых, можно, щелкнув на кнопке с многоточием (…) в столбце Value свойства вызвать редактор соответствующего свойства; либо, щелкнув дважды на имени свойства, можно развернуть список его полей, как описано выше. Если на форме выделено несколько компонентов, инспектор объектов покажет их общие свойства. Это дает возможности менять свойства нескольких компонентов одновременно.

Страница Events редактора объектов содержит список событий, которые может обрабатывать данный компонент. Для создания обработчика события необходимо дважды щелкнуть на столбце Value рядом с именем этого события. При этом Delphi создаст метод, со всеми параметрами, необходимыми для обработки события. Активизируется окно редактора кода с курсором, расположенным внутри обработчика события. Остается только ввести код обработчика! Обычно имя обработчика события генерируется автоматически, однако, можно вручную задать требуемое имя в столбце Value напротив имени события. После нажатия клавиши Enter произойдет генерация скелетного кода обработчика события с заданным именем. Можно связать событие с уже имеющимся обработчиком. Для этого используется выпадающий список, появляющийся при нажатии соответствующей кнопки в столбце Value напротив имени события. В список включаются только обработчики событий, совпадающие по типу с данным событием.

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

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

Шаблоны компонентов

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

Создание шаблона включает следующие шаги:

1. На форме необходимо разместить требуемые компоненты, выровнять их и настроить нужные свойства.

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

3. Выбрать в меню Components Главного окна среды разработки команду Create Component Template.

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

Теперь шаблон можно использовать обычным способом: после выбора его на странице Палитры компонентов и переноса, на форме появляется заданный набор компонентов с определенными ранее свойствами.

Шаблоны кода

Шаблоны кода предназначены для быстрой вставки в исходные код моду-. лей проекта стандартных (или часто используемых) комбинаций операторов языка Object Pascal. Для вызова шаблона кода используется комбинация клавиш иш

+, после нажатия которой появляется список доступных в настоящее время шаблонов.

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

Опция завершения кода

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

Опция включается на странице Code Insight в диалоговом окне команды Environment Options меню Tools Главного меню среды разработки при помощи флажка Сне Completion (рис. 2.1).

Опция параметров

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

Опция включается на странице Code Insight в диалоговом окне команды Environment Options меню Tools Главного меню среды разработки при помощи флажка Соде Parameters (рис. 2.1).

Опция заполнения класса

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

Чтобы создать описание объявленных свойств и методов, необходимо установить курсор в любое место объявления класса в секции interface и нажать комбинацию клавиш ++.

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

Например, имеется простейший класс:

type
TSimpleObject = class (TObject)
property Empty: Integer;
function ClearEmpty: Boolean;
end;

Тогда, после нажатия комбинации клавиш ++, исходный код в секции interface будет приведен к следующему виду:

type
TSimpleObject = class (TObject)
property Empty: Integer read FEmpty write SetEmpty;
function ClearEmpty: Boolean;
private
FEmpty: Integer;
procedure SetEmpty(const Value: Integer);
end;

А в секции implementation появятся следующие строки:

function TSimpleObject.ClearEmpty: Boolean;
begin

end;

procedure TSimpleObject.SetEmpty(const Value: Integer);
begin
FEmpty := Value;
end;

3. Межпрограммное взаимодействие

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

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

Dynamic Data Exchange (DDE)

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

Приложения, использующие DDE, подразделяются на две категории: клиенты и серверы. Оба участника процесса совершают контакты (conversations) по определенным темам (topics), при этом в рамках темы производится обмен элементами данных (items). Устанавливает контакт DDE-клиент, который посылает запрос, содержащий имена контакта и темы. После установления контакта всякое изменение элемента данных на DDE-сервере передается элементу данных клиента. Одно и то-же приложение может быть одновременно и сервером, и клиентом (например, MicroSoft Word).

DDE-серверы

Для построения DDE-сервера в Delphi имеются два объекта, расположенные на странице System Палитры Компонент - TDdeServerConv и TDdeServerItem. Обычно в проекте используется один объект TDdeServerConv и один или более TDdeServerItem. Для получения доступа к сервису DDE-сервера, клиенту потребуется знать несколько параметров: имя сервиса (Service Name) - это имя приложения (обычно - имя выполняемого файла без расширения EXE, возможно с полным путем); Topic Name - в название темы; Item Name – название элемента данных.

Назначение объекта TDdeServerConv - общее управление DDE и обработка запросов от клиентов на выполнение макроса. Последнее выполняется в обработчике события OnExecuteMacro, например, как это сделано ниже:

procedure TDdeSrvrForm.DoMacro(Sender: TObject;Msg: TStrings);
var
Text: string;
Begin
Text := '';
if Msg.Count > 0 then Text := Msg.Strings[0];
MessageDlg ('Executing Macro - ' + Text, mtInformation, [mbOK], 0);
End;

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

В моменты открытия и закрытия контакта возникают события:

Property OnOpen: tNotifyEvent;
Property OnClose: tNotifyEvent;

Объект TDdeServerItem связывается с TDdeServerConv посредством свойства

Property ServerConv:tDDEServerConv,

и определяет, что, собственно, будет пересылаться по DDE. В принципе, потокол DDE подразумевает обмен любыми данными, формат которых зарегистрирован в системе для передачи через буфер обмена. Однако для рассматриваемых компонентов эти возможности ограничиваются только текстовыми данными. Для этого у компонента TDdeServerItem есть свойства Text и Lines (Text имеет то же значение, что и Lines[0]).

Property Text:string;
Property Lines:tStrings;

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

Данный компонент позволяет также осуществлять установление связи через буфер обмена (Clipboard). Для этого служит метод CopyToClipboard. Необходимая информации помещается в через буфер обмена и может быть вызвана из приложения-клиента при установлении связи. Обычно, в DDE-серверах для этого есть специальный пункт меню Paste Special или Paste Link.

DDE-клиенты

Для построения DDE-клиента в Delphi используются два компонента TDDEClientConv и TDDEClientItem. Аналогично серверу, в программе обычно используется один объект TDDEClientConv и один и более связанных с ним TDDEClientItem.

TDDEClientConv служит для установления связи с сервером и общим управлением DDE-связью. Установить связь с DDE-сервером можно как во время разработки, так и во время выполнения программы, причем двумя способами. Первый способ - заполнить вручную необходимые свойства компонента. Это DdeService, DdeTopic и ServiceApplication. Если во время разработки дважды щелкнуть на одном из первых двух свойств в Инспекторе Объектов - появится диалог для определения DDE-связи. Для установления связи через Clipboard в диалоге есть специальная кнопка Past Link. Ей можно воспользоваться, если Вы запустили DDE-сервер, сохранили каким-то образом информацию о связи и вошли в этот диалог. Например, если DDE-сервером является DataBase Desktop, то нужно загрузить в него какую-нибудь таблицу Paradox, выбрать любое поле и выбрать пункт меню Edit|Copy. Свойство ServiceApplication заполняется в том случае, если в поле DDEService содержится имя, отличное от имени программы, либо если эта программа не находится в текущей директории. В этом поле указывается полный путь и имя программы без расширения (.EXE). Данная информация нужна для автоматического запуска сервера при установлении связи по DDE, если тот еще не был запущен.

Имена сервера DDE и темы содержатся в свойствах:

Property DDEService:string;
Property DDETopic:string;

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

Property ConnectMode:tDataMode;
Type tDataMode = (DDEAutomatic,DDEManual);

Метод

Function SetLinc(const Service: string; const Topic: string):Boolean;
Присваивает свойствам DDEService и DDETopic соответствующие значения, а в случае, если задан режим DDEAutomatic, и устанавливает контакт. В режиме DDEManual для установления контакта необходимо дополнительно вызвать метод

Function OpenLink: Boolean;
Этот метод сначала закрывает предыдущий контакт, затем пытается связаться с сервером DDEService на тему DDETopic. Если это не удается сразу, предпринимается попытка загрузить приложение с именем, определенным в свойстве:

Property ServiceApplication: string;
Можно связаться с сервером, поместившим данные в буфер обмена с помощью метода

Function PasteLink: boolean;

Ниже приведен пример процедуры, осуществляющей связь с сервером.

procedure TMainForm.doNewLink(Sender: TObject);
begin
DdeClient.SetLink(AppName.Text, TopicNameEdit.Text);
DdeClientItem.DdeConv := DdeClient;
DdeClientItem.DdeItem := ItemName.Text;
end;

procedure TMainForm.doPasteLink(Sender: TObject);
var
Service, Topic, Item : String;
begin
if GetPasteLinkInfo (Service, Topic, Item) then begin
AppName.Text := Service;
TopicName.Text := Topic;
ItemName.Text := Item;
DdeClient.SetLink (Service, Topic);
DdeClientItem.DdeConv := DdeClient;
DdeClientItem.DdeItem := ItemName.Text;
end;
end;

После того, как установлена связь, нужно позаботиться о поступающих по DDE данных, это делается в обработчике события OnChange объекта TDdeClietItem:

procedure TFormD.DdeClientItemChange(Sender: TObject);
begin
DdeDat.Lines := DdeClientItem.Lines;
end;

Это единственная задача объекта TDdeClientItem.

Свойство

Property DDEConv: TddeClientConv

Этого компонента предназначено для связи с соответствующим объектом DdeClientConv. А свойство

Property DDEItem:string;

Должно содержать имя элемента данных.

Свойства

Property Text: string;
Property Lines: tStrings;

Аналогичны соответствующим свойствам tDDEServerItem и содержат данные.

На объект TDdeClientConv возлагаются еще две задачи: пересылка данных на сервер и выполнение макросов. Для этого у данного объекта есть соответствующие методы.

Function ExecuteMacroLines(Cmd:tStrings, WaitFlg:Boolean):Boolean;
Function PokeDataLines(const Item:string,Data:tStrings):Boolean;
1   2   3   4   5   6   7

Похожие:

Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconЭтот раздела посвящен краткому изложению моего опыта освоения сокового...
Этот раздела посвящен краткому изложению моего опыта освоения сокового питания, в которое я сейчас абсолютно поверил после многих...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconЦелевая платформа
Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconСтатья посвящена анализу лидеров прессы США газет, на протяжении...
Сша – газет, на протяжении многих лет входящих в пятёрку крупнейших по тиражу в стране: The Wall Street Journal, usa today, The New...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconКомпоненты Delphi Обзор палитры компонентов Delphi
Компоненты Delphi охватывают практически все аспекты применения современных информационных технологий. Конечно, для работы в Delphi...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconПрограмма по формированию навыков безопасного поведения на дорогах...
Денис Христенсен сделал несколько веток (в виде уроков для начинающих) для группы новостей Борланд borland public. Delphi languages...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconДень Учителя праздник, который на протяжении уже многих лет отмечается...
День Учителя – праздник, который на протяжении уже многих лет отмечается 5 октября. В этом году ученики Черёмуховской школы решили...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconИнформационно-коммуникативный комплекс «Слогознайка» Уколова Ольга...
Данный дефект речевого развития сохраняется у детей на протяжении многих лет, обнаруживаясь всякий раз, как только ребёнок сталкивается...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconПрограмма по формированию навыков безопасного поведения на дорогах...
Одной из главных задач физического воспитания школьников и юных спортсменов является гармоничное физическое развитие, а также развитие...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconРаботы
В методической копилке собран творческий труд преподавателей нашего колледжа на протяжении многих лет. Накопленный педагогический...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconЭлективный курс по алгебре для 9 класса. «Проценты в нашей жизни»
Следовательно велик и объём накопившихся у учащихся за годы обучения пробелов. Знания тем, входящих в этот курс необходимы, так как...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconПрограмма по формированию навыков безопасного поведения на дорогах...
Лондона в районе Camden и районе Glouster Gate недалеко от Regent’s Park и Лондонского Зоопарка. Школа, созданная более тридцати...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconУчебной дисциплины «Трейд-маркетинг» дополнительной профессиональной...
Курс также акцентирует внимание слушателей на основных инструментах трейд-маркетинга. В основу курса положен опыт работы автора на...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconБиотоп и диета гидробионтов, как важные факторы биоаккумуляции ртути Пастухов М. В
Байкала, а также относительное постоянство химического состава вод озера позволяют рассматривать этот водоём, как наглядную систему...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconПозитивная динамика учебных достижений обучающихся за последние три года
«Средняя общеобразовательная школа №35». Всю свою педагогическую деятельность на протяжении 12 лет осуществляю в одном образовательном...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconУчебник по C++ для начинающих программистов Уроки для изучения ассемблера
Они хорошо подходят для лабораторных работ по Delphi программированию, также на основе этих исходников возможно написание своих собственных...
Этот курс посвящен среде разработки Delphi фирмы Borland (известной также как Inprise), которая на протяжении многих лет успешно выдерживает (и выигрывает!) iconПольши и поляков никогда не была главной темой творчества Александра...
Советском Союзом. Не менее интересным является отношение самих поляков к А. Солженицыну, который в 70-ые годы был кумиром и примером...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск