2.2. На уровне DDE-протокола(Dynamic Data Exchange-Динамический Обмен Данными)
Аббревиатура DDEML обозначает Dynamic Data Exchange Management Library (библиотека управления динамическим обменом данными). DDEML это надстройка над сложной системой сообщений, называемой Dynamic Data Exchange (DDE). Библиотека, содержащая DDE била разработана для усиления возможностей первоначальной системы сообщений Windows. DDE дает возможность перейти через рамки приложения и взаимодействовать с другими приложениями и системами Windows. Dynamic Data Exchange получило свое имя потому, что позволяет двум приложениям обмениваться данными (текстовыми, через глобальную память) динамически во время выполнения. Связь между двумя программами можно установить таким образом, что изменения в одном приложении будут отражаться во втором. Например, если Вы меняете число в электронной таблице, то во втором приложении данные обновятся автоматически и отобразят изменения. Кроме того, с помощью DDE можно из своего приложения управлять другими приложениями такими, как Word for Windows, Report Smith, Excel и др.[5]
DDE — давний и прижившийся протокол обмена данными между разными приложениями, появившийся еще на заре эры Windows. С тех пор на его базе был создан интерфейс OLE, а в 32-разрядном API Windows появились и другие методы межпрограммного взаимодействия. Но ниша, занимаемая DDE, осталась неизменной — это оперативная передача и синхронизация данных в приложениях. Приложения, использующие DDE, разделяются на две категории — клиенты и серверы. Оба участника процесса осуществляют контакты (conversations) по определенным темам (topic), при этом в рамках темы производится обмен элементами данных (items). Устанавливает контакт клиент, который посылает запрос, содержащий имена контакта и темы. После установления контакта всякое изменение элемента данных на сервере передается данным клиента. Первоначально программирование DDE было чрезвычайно сложным делом — оно требовало взаимосвязанной обработки более чем десяти сообщений Windows. В версии Windows 3.1 появилась библиотека DDEML, которая перевела управление DDE на уровень вызова процедур. Разработчики подсистемы DDE в Delphi, верные идеологии создания VCL, свели интерфейс этого протокола к четырем компонентам — двум для сервера и двум для клиента. На уровне поддержания контакта лежат компоненты TDDEServerConv и TDDEClientConv. Первый играет пассивную роль — он только указывает имя одной из поддерживаемых сервером тем. Все операции по установлению и разрыву контакта осуществляет из приложения-клиента второй компонент. Посредством одного контакта могут быть связаны и синхронизированы несколько пар элементов данных. Для их описания предназначены компоненты TDDEServerItem и TDDEClientItem. Каждый из них во время работы должен указывать на контакт, к которому он привязан. Кроме того, в составе обоих есть свойства, содержащие некий текст. При установленном контакте их содержимое синхронизируется.[6]
Технология OLE ( (Object Linking and Embedding) ― технология управления и обмена информацией между программным интерфейсом других приложений. Связывание и внедрение объектов (Object Linking and Embedding).
OLE позволяет создавать объекты (рисунки, чертежи и текст) в одном приложении, а затем отображать эти объекты в других приложениях. Например, при помощи технологии OLE можно создать диаграмму в электронной таблице, а затем отобразить ее в CorelDRAW. Объекты, помещенные в приложение, использующее OLE, называются OLEобъектами. Для того, чтобы технология OLE действовала, приложение, используемое для создания OLE-объекта, и приложение, в которое помещается OLE-объект, должны поддерживать режим OLE. CorelDRAW поддерживает все функции OLE, однако некоторые приложения поддерживают лишь часть этих функций.
При использовании OLE в обмене информацией участвуют два приложения : приложение-сервер и приложение-клиент. Приложение-сервер используется для создания и редактирования OLE-объектов (рисунков, чертежей, текстов). После того как объект создан, он помещается в приложение-клиент. Например, при создании диаграммы в электронной таблице и размещении ее в CorelDRAW при помощи OLE. В этом случае электронная таблица являются приложением-сервером, а CorelDRAW - приложением-клиентом. Некоторые приложения могут действовать и как серверные, и как клиентские, другие такой способностью не обладают. Например, CorelDRAW может быть и серверным, и клиентским приложением, в то же время, Corel PHOTO-PAINT может выступать только как приложение-сервер.[7]
При использовании технологии OLE объект, созданный в некотором приложении, должен быть выделен и помещен в буфер командой "Правка", "Вырезать" или "Правка", "Копировать". Для внедрения объекта из буфера следует использовать команду "Правка", "Специальная вставка". В этом случае устанавливается связь объекта с приложением, которое его создало. Приложение, в котором создан внедренный объект, запускается при необходимости редактирования двойным щелчком по объекту. Пользователь получает возможность работать над составным документом средствами приложения, в котором создается главный документ, и средствами приложения, в котором создан внедренный объект.
Технологию OLE рассмотрим на примере составного документа, созданного на основе текста в приложении WordPad, в который вставлен рисунок из приложения Paint. Рисунок необходимо отредактировать, т. е. внести в него изменения. Программа WordPad своими средствами не может изменять данные из другой программы. В программе Paint сделанный рисунок выделяется и копируется. В документе WordPad устанавливается указатель мыши в то место, куда будет интегрирован рисунок, и в меню "Правка" выполняется команда "Специальная вставка". В открывшемся диалоговом окне выбирают способ вставки "Вставить" или "Связать" и вид объекта "рисунок". Завершается операция нажатием кнопки "ОК".
OLE-объекты могут связываться с приложениями клиента или внедряться в них. OLE-связанный объект подключается к отдельному файлу. Управление появлением OLE-объекта в приложении-клиенте осуществляется на основе информации, хранящейся во внешнем файле. Когда этот внешний файл изменяется в серверном приложении, OLE-объект соответствующим образом обновляется. Внедренный OLE-объект полностью содержится в файле приложения-клиента, поэтому он не связан с внешним файлом.[8]
Заключение к теории
В ходе изучения темы были получены следующие результаты.
Практическая часть
1. Общая характеристика задачи.
Наименование задачи: Формирование сводной ведомости учета изготавливаемой продукции.
Условие задачи: Предприятие ООО «Красный Октябрь» осуществляет деятельность, связанную с выпуском различных видов деталей для промышленного оборудования. Для анализа качества выпускаемой продукции ежемесячно производится учет бракованной продукции. Данные учета бракованных деталей приведены на рис. 1
1. Построить таблицы по приведенным ниже данным.
Ведомость учета изготовленных деталей за январь 2006 г. | |||
Код станка | Количество выпущенных деталей, шт. | Количество бракованных деталей, шт. | % брака |
1 | 2600 | 35 | |
2 | 3500 | 57 | |
3 | 1890 | 26 | |
4 | 2780 | 72 | |
ИТОГО |
Ведомость учета изготовленных деталей за февраль 2006 г. | |||
Код станка | Количество выпущенных деталей, шт. | Количество бракованных деталей, шт. | % брака |
1 | 2980 | 26 | |
2 | 3470 | 45 | |
3 | 2100 | 12 | |
4 | 3150 | 56 | |
ИТОГО |
Ведомость учета изготовленных деталей за март 2006 г. | |||
Код станка | Количество выпущенных деталей, шт. | Количество бракованных деталей, шт. | % брака |
1 | 2700 | 42 | |
2 | 2720 | 35 | |
3 | 3140 | 39 | |
4 | 3200 | 26 | |
ИТОГО |
Рис.1. Данные о выпуске бракованной продукции по месяцам
2. Выполнить расчет процентного отношения бракованных изделий к общему количеству выпущенных изделий, подвести итоги за месяц.
3. результаты вычислений представить в виде консолидированной таблицы, содержащей сводные данные о выпуске бракованных изделий за квартал (рис. 2), и в графическом виде.
ООО "Красный Октябрь" | |||||
Расчетный период | |||||
с | по | ||||
..20 | ..20 | ||||
Сводная ведомость учета качества изготавливаемой продукции | |||||
Код станка | Количество выпущенных деталей, шт. | Количество бракованных деталей, шт. | % брака | ||
1 | |||||
2 | |||||
3 | |||||
4 | |||||
ИТОГО | |||||
Главный технолог | |||||
Рис.2. Сводные данные о выпуске бракованной продукции за квартал.
4. Сформировать и заполнить форму сводной ведомости по учету некачественной продукции (рис. 2.).
Цель работы:Формирование сводной ведомости.
Место решения: ООО «Красный Октябрь».
2. Описание алгоритма решения задачи.
1. Запустить табличный процессор MSExcel 2007.
2. Создать книгу с именем «Вариант № 3».
3. Лист 1 переименовать в лист с названием «Брак за янв. 2006г.».
4. На листе «Брак за янв. 2006г.» создать таблицу с исходными данными, согласно рис. 1.
Рис.3. Расположение таблицы «Ведомость учета изготовленных изделий за январь 2006 г.» на рабочем листе «Брак за янв. 2006г.» MSExcel.