скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыРеферат: Контроллер связываемых объектов

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

Object Browser (Инспектор объектов). Данное средство предназначено для облегчения идентификации и управления всеми ОLЕ Automation Servers, на которые есть ссылки в проекте. Выбрав нужный объект, разработчик может легко выбрать и передать корректный синтаксис выражения работы с объектом в текст программы или вызвать встроенную помощь для данного объекта.

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

Расширение лексики языка программирования. Для объявления подпрограмм и функций, доступных или не доступных из других модулей проекта, введены дополнительные служебные слова при объявлении процедур: Public и Private соответственно. Visual Basic 4.0 “прихватил” теперь кусочек Pascal, добавив к своему лексическому запасу выражения “With”, ”For Each”, а также добавлены новые типы данных - Byte (простое без знаковое, для представления чисел в диапазоне 0-255), Вооlean 16 битовые (2-байта) числа, которые могут принимать только два значения: True или False) и Collection. Collection позволяет построить собственную группу пронумерованных объектов. Использование Collection более предпочтительно, чем использование массивов вследствие большей гибкости индексов, и наличия наследуемых методов для вставляемых и удаляемых объектов коллекции.

Процедуры свойств (property procedures). Появилась возможность создавать для объектов (форм, стандартных модулей и модулей классов) собственные специализированные свойства (properties), и привязывать к ним выполняемый код, который будет вызываться при обращении к свойству.

Расширяемость оболочки программирования. Оболочка разработки (IDE) самого Visual Basic 4.0 также может быть управляем через ОLЕ Automation, что позволяет ОLЕ приложениям создавать и размещать в специальное меню Add-In Visual Basic 4.0 свои команды, расширяя таким образом возможности IDE.

Создание ОLЕ Objekt приложений и классы (Сlasses). Одной из основных претензий к Visual Basic со стороны профессиональных программистов служило отсутствие средств создания готовых модулей для последующего использования. Программист вынужден был обращаться к С, С++, Раsсаl или другим языкам программирования для создания DLL и вызовам функций DLL из программы на Visual Basic или, например, из приложения Microsoft Office. С выходом Visual Basic 4.0 данная ситуация коренным образом изменилась, программисты могут создать объекты ОLЕ Automation. Библиотеки подобных объектов, каждый со своими характеристиками и методами управления, могут быть использованы из любого приложения, имеющего возможность контролировать приложение, являющееся ОLЕ объектом (OLE Object Application).

По определению, такие объекты названы классами (Claases) - (эту часть языка Visual Basic взял от С++) и располагаются в специальных модулях (class module). Для совместимости с программами, реализованными в третьей версии и использующими VВХ из стандартного набора, Visual Basic 4.0 включает ОLЕ Custom Control (OCX), заменяющие эти VВХ. При вызове проекта программы, разработанной в среде предыдущей версии Visual Basic и использующей один из стандартных VBX предложит автоматически преобразовать ссылки на новые ОСХ. Такие приложения, как Microsoft Excel для Windows, Microsoft Word для Windows и другие, являющиеся ОLЕ приложениями, теперь можно вставлять в Окно Инструментария (ТооlBох) как обычные элементы управления.

Таким образом можно сказать об некоторой универсальности Visual Basic для создания приложений для Windows.

2. РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ И АЛГОРИТМОВ ПРОГРАММЫ

2.1. Функциональная схема работы Windows 95

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

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

Windows 95 обеспечивает взаимодействие с внешними устройствами как с потоками информации независимо от самого устройства через свои собственные драйвера устройств.

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

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

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

2.2. Используемая терминология

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

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

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

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

Любая, даже простейшая программа на Visual Basic, имеет свой Проект (project), информацию о котором хранится в специальном файле. В проект программы, отображаемом в специальном окне Проекта, помещаются все формы, модули и файлы, совокупность которых и составляет программу.

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

Для внесения управляющего программного кода для событий и методов используется Редактор Кода, который служит для создания, просмотра и модификации подпрограмм (Sub) и функций (Function). Процедура представляет собой подпрограмму, которая не возвращает результата.

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

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

Кроме набора событий (events), для каждого элемента управления существует предопределенный (возможно, расширяемый) набор свойств или характеристик (properties), представляющих собой некие начальные установки. Данные свойства разделяются по сфере доступности: есть свойства, которые могут устанавливаться только в режиме разработки, только во время выполнения программы или в обоих случаях. Установка и настройка свойств объектов осуществляется в окне Свойств (Properties).

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

Для некоторых отображаемых на экране элементов управления есть возможность задавать различные основные цвета и цвета фона. Для удобства выбора нужных цветов используется Цветовая Палитра (Color Palette).

2.3. Синтез общей структурной схемы программы

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

Основным звеном программы является главная форма программы (Main_Form.frm) представляющая собой главную интерфейсную часть программы. В которой происходят все преобразования проекта. Проектом, в контексте данной программы, называется совокупность документов и функций OLE Automation находящихся в рабочей области программы в определенном взаимодействии друг с другом. Над которыми могут производится определенные действия по созданию, редактированию, удалению, запуску функций и пр. Приводящие к изменению как самого проекта в целом, так и просто документов входящих в проект.

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

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

Дочерними формами по отношению к главной форме являются, форма создания и редактирования свойств документов (MakeDocForm.frm), форма создания и редактирования свойств функций OLE Automation (MakeFunkForm.frm), форма создания и изменения регистрационных данных приложений поддерживающих OLE Automation или для которых необходима эмуляция этой поддержки (MakeDocForm.frm).

Форма создания и редактирования свойств документов содержит все необходимые элементы управления (объекты) для ввода и изменения данных о документе, а также его визуальном представлении в проекте (то есть его иконки).Также в этой форме содержится программный код обрабатывающий эти элементы управления и вносящий изменения в глобальную структуру данных о документах в проекте. Эта форма представляет собой окно под названием “Свойства документа”.

Форма создания и изменения регистрационных данных приложений также представляет собой окно под названием “Регистратор приложений” и также содержит в себе ряд объектов (элементов управления) и программный код обрабатывающий эти элементы управления для изменения данных о зарегистрированных приложениях которые могут участвовать в проекте в качестве непосредственных обработчиках документов, а также в виде функции OLE Automation.

Форма создания и редактирования свойств функций OLE Automation представляет собой окно “Свойства функции” и содержит элементы управления позволяющие редактировать свойства функции OLE Automation. Форма также содержит программный код модифицирующий глобальные данные о функциях в проекте.

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

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

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

2.4. Разработка структурной схемы взаимодействия программы с механизмом связывания и внедрения

Страницы: 1, 2, 3, 4, 5, 6, 7


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.