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

Требования к MS Office 2007. Набор средств разработки Visual Studio Tools for Office как альтернатива VBA. Разработка СУБД на базе MS Access. Разработка надстройки "Электронные компоненты" для PowerPoint на языке C# в среде MS Visual Studio 2010.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 03.05.2013
Размер файла 5,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

1.7.8 Анализ создания отчетов

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

Создаваемые Access отчеты делятся на шесть основных типов:

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

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

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

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

1.7.9 Анализ технологии создания макросов

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

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

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

1.7.10 Основные типы данных

При работе с Microsoft Access 2000 и Microsoft Access 2002 используются следующие типы данных:

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

2) Поле MEMO. Специальный тип данных, применяемый для хранения больших объёмов текста (до 65 535 символов). Поле этого типа не может быть ключевым или проиндексированным.

3) Числовой. Тип данных для хранения чисел. Содержит множество подтипов. От выбора подтипа (размера) зависит точность вычислений.

4) Дата/время . Тип данных для хранения значений даты и времени в специальном фиксированном формате.

5) Денежный. Тип данных для хранения денежных значений и числовых данных, используемых в математических расчетах.

6) Счётчик. Специальный тип данных, используемый для автоматической нумерации записей.

7) Логический . Для хранения логических данных, которые могут иметь одно из двух возможных значений Да или Нет.

8) Поле объекта OLE. Специальный тип данных, предназначенный для хранения объектов OLE (электронных таблиц Microsoft Excel, документов Microsoft Word, звукозаписей и др.).

9) Гиперссылка. Специальное поле для хранения адресов URL Web-объектов.

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

2. Специальная часть

2.1 Автоматизированная информационно-управляющая система

Общие сведения

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

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

Каждая область человеческой деятельности связана со «своей» информацией.

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

1) По принадлежности к сфере материального производства и непроизводственной сфере

2) По стадиям воспроизводства и элементам производственного процесса

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

4) По критериям соответствия отражаемым явлениям информации делится на достоверную и недостоверную

5) По полноте отражения событий информации подразделяются на достаточную (полную), недостаточную и избыточную.

Информационные процессы в АИУС

Основные свойства

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

Общими свойствами и отличительными особенностями АИУС, как сложных систем, являются:

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

2) Система и входящие в нее элементы в большинстве своем являются многофункциональными

3) Взаимодействие элементов в системе может проходить по каналам обмена информацией, энергией, материальными объектами

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

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

6) Управление в подавляющем АИУС носит иерархический характер, предусматривающий сочетание централизованного управления с автономной частью.

Упрощенная схема переработки данных в АИУС

Особенности АИУС

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

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

Основные требования в рассматриваемой АИУС будут сформулированы как следующие:

1) Создание и расширение единого информационного пространства, которое охватывает все изделия требуемые к учебному плану

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

3) Повышение достоверности информации и надежности ее хранения путем создания АИУС, а также создание архивов данных.

4) Обеспечение эффективной обработки документов и построение подсистем анализа электронных компонентов для реализации учебного плана.

2.2 Разработка надстройки «Электронные компоненты» для PowerPoint

2.2.1 Поддержка PowerPоint 2007 в VSTO 2010

Поддержка PowerPoint было одним из самых востребуемых дополнений к VSTO 2010 SE. Существует много задач, например создание и обновление презентаций, которые легче выполнить, используя надстройки VSTO. Типичным примером создания презентации является формирование новой презентации путем стыковки вместе существующих слайдов из библиотеки слайдов, хранящейся на сервере. Другие распространенные сценарии включают создание новых слайдов программными средствами и обновление существующих слайдов текущими данными.

2.2.2 Разработка надстроек для PowerPoint с помощью VSTO

Microsoft Visual Studio 2010 Tools для системы Microsoft Office (VSTO) является мощным набором инструментов и возможностей, которые позволяют разработчикам расширять и настраивать приложения Microsoft® Office, используя Visual Basic® и Visual C#®. Выпуск Microsoft Office System 2007 сопровождается новой версией VSTO. Эта новая версия, Microsoft Visual Studio® 2005 Tools для Microsoft Office System 2007 (известная как Visual Studio 2010 Tools для Office Second Edition или VSTO 2010 SE), добавляет новые возможности для PowerPoint®, а также Word, Excel®, Outlook®, , Visio® и InfoPath®. Доступное для загрузки бесплатно, его можно установить поверх Visual Studio 2010 Professional Edition или VSTO .2010.

С помощью VSTO 2010 SE можно настроить возможности Microsoft Office 2007 (включая ленту, настраиваемые области задач) в собственных надстройках. Кроме того, среда выполнения VSTO 2010 SE предоставляет поддержку существующих приложений VSTO 2010 в Office 2007. Она также может использоваться для создания надстроек Office 2003.

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

Объектная модель PowerPoint 2007

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

Как и во всех приложениях Office, объектом высшего уровня для PowerPoint является объект Приложение (Application), который представляет все приложение PowerPoint. Модель программирования VSTO предоставляет легкий доступ к этому объекту Приложение. Ввод Me.Application возвращает тип PowerPoint.Application. В отличие от общих надстроек, не требуется приводить объект к правильному типу приложения Office Application, поскольку шаблон проекта VSTO устанавливает правильный тип для создаваемой надстройки. (Например, вызов Me.Application в надстройке Word возвращает объект Microsoft.Office.Interop.Word.Application.)

Объект приложения Application содержит коллекцию презентаций, которая, в свою очередь, содержит объект презентации Presentation. Объект презентации Presentation, который представляет фактический PPT-документ, содержит коллекцию слайдов, которая содержит объекты слайдов Slide (один объект слайда для каждого слайда в презентации). Каждый слайд содержит коллекцию форм, которая содержит объекты форм Shape. Объекты форм Shape являются элементами, которые отображаются на слайдах, например заголовки, рамки с текстом, рисунки и диаграммы

Автоматизированное создание презентации

Чтобы создать новую презентацию и добавить ее в коллекцию презентаций используйте ссылку на объект приложения Application. Сначала создайте переменную для хранения ссылки на создаваемый новый объект презентации Presentation. Затем все, что нужно сделать -- это вызвать метод добавления Add в коллекции презентаций:

Dim presentation As PowerPoint.Presentation = _

Me.Application.Presentations.Add()

Вы будете удивлены тем, откуда появляется объект PowerPoint. Шаблон проекта VSTO автоматически добавляет псевдоним Imports в пространство имен Microsoft.Office.Interop.PowerPoint. В сегменте импортированных пространств имен на странице свойств проекта можно увидеть другие созданные ссылки и псевдонимы.

Автоматизированное добавление титульного слайда в коллекцию слайдов презентации

Титульный слайд, содержащий заголовок и подзаголовок презентации, как правило, является первым слайдом в презентации. Создание нового слайда аналогично созданию новой презентации. Чтобы добавить слайд в коллекцию слайдов презентации, вызывается метод добавления слайда AddSlide. Этот метод использует два параметра: индекс слайда (используется для указания места вставки слайда в презентацию) и объект настройки макета customLayout.

Объект настройки макета customLayout можно создать из мастера создания слайда SlideMaster. Мастер создания слайда SlideMaster содержит все объекты, которые могут появиться на слайдах. Как видно из нижеприведенного кода, тип макета можно выбрать из списка макетов слайдов PpSlideLayout:

Dim customLayout As PowerPoint.CustomLayout = _

presentation.SlideMaster.CustomLayouts.Item( _

PowerPoint.PpSlideLayout.ppLayoutTitle)

Теперь с помощью метода добавления слайда AddSlide можно создать новый слайд. Используйте индекс слайда 1, чтобы добавить слайд первым слайдом в презентации, затем передайте объект настройки макета customLayout, созданный из мастера создания слайдов SlideMaster:

Dim slide as PowerPoint.Slide = _

presentation.Slides.AddSlide(1, customLayout)

Титульный слайд создан, а заголовок и подзаголовок можно добавить одной строкой кода. Используя созданный объект слайда, можно получить доступ к свойству Title (заголовок) коллекции форм, чтобы возвратить объект формы Shape, который является объектом заголовка для слайда. Объект формы Shape имеет свойство рамки текста TextFrame, которое возвращает объект TextFrame, открывающий объект TextRange. Свойство Text (текст) объекта TextRange задается следующим образом:

slide.Shapes.Title.TextFrame.TextRange.Text = "VSTO 2005 SE Rocks"

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

slide.Shapes(2).TextFrame.TextRange.Text = _

"AN OFFICE DEVELOPMENT STORY"

Автоматизированное добавление маркированного слайда

Далее, добавим другой слайд, который как правило, имеет заголовок вверху и маркированный список элементов в качестве основного содержимого. Это наиболее часто используемый тип слайда. Чтобы сделать это, создайте новый слайд как описано в предыдущем разделе, но выберите другой тип CustomLayout: ppLayoutText. Ранее индекс слайда был выбран 1 для титульного слайда, чтобы вставить его первым слайдом. Чтобы вставлять слайды по порядку (после последнего существующего слайда), необходимо подсчитать число существующих слайдов:

Dim customlayout As PowerPoint.CustomLayout = _

presentation.SlideMaster.CustomLayouts.Item( _

PowerPoint.PpSlideLayout.ppLayoutText)

Dim slide as PowerPoint.Slide = _

presentation.Slides.AddSlide( _

presentation.Slides.Count + 1, customlayout)

Автоматизированная установка темы презентации

Новая возможность в Office 2007, -- темы Office, -- позволяет применять предварительно определенные стили к документам. Тема полностью изменяет вид презентации, включая шрифты, графику, цвета и анимацию. Темы поддерживаются в Word, Excel, Outlook и PowerPoint. Они определяются в THMX-файлах и совместно используются всеми поддерживаемыми приложениями. В Office 2007 входят несколько тем по умолчанию, которые находятся в папке Document Themes 12 в корневой папке пути установки Office.

Чтобы установить тему, вызывается новый метод объекта презентации: ApplyTheme. Этот метод использует один параметр -- путь к THMX-файлу темы:

presentation.ApplyTemplate( _

"C:\Program Files\Microsoft Office\Document Themes 12\Civic.thmx")

2.2.3 Разработка алгоритма создания надстройки PowerPoint

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

Блок-схема алгоритма создания надстройки

2.2.4 Разработка алгоритма использования базы данных Microsoft Access и надстройки «Электронные компоненты» Microsoft PowerPoint

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

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

Блок-схема алгоритма использования БД и надстройки

3. Программная часть

3.1 Создание таблиц и связей между ними

office powerpoint visual studio

Создание новой таблицы в новой базе данных.

1) Запустить приложение Access и на странице, приступая к работе с Microsoft Access, в группе «Новая пустая база данных» выбрать пункт «Новая база данных».

Создание базы данных

2) В группе «Новая пустая база данных» в поле имя файла ввести имя новой базы данных. Если требуется изменить расположение новой базы данных, щелкнуть значок папки. По окончании нажать кнопку создать.

Access создает новую базу данных и открывает таблицу с именем

«Таблица 1» в режиме таблицы, вот так:

Создание новой таблицы

Открытие новой таблицы

3) Заполняем таблицу в соответствии с требованиями, указывая тип переменных, ключевое поле:

Заполнение таблицы в режиме конструктор

4) Вставляем в таблицу изображение переменного резистора, заранее начерченное в программе Компас - 3D V12 и сохраненное в формате JPEG.

Для этого в режиме «Таблица» нажимаем правой кнопкой на строку в поле «Изображение» и выбираем «Вставить объект». Далее в появившемся окне выбираем «Создать из файла» и выбираем нужный объект.

Вставка изображения

Создание из файла

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

Определение первичного ключа

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

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

Щелкнуть значок Кнопка Microsoft Office , а затем выбрать команду «Открыть» и выбираем нужную базу данных «Электронные компоненты». В области переходов щелкнуть правой кнопкой мыши таблицу, в которой необходимо определить первичный ключ, и в контекстном меню выбрать пункт «Конструктор».

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

На вкладке Конструктор в группе «Сервис» выбираем первичный ключ.

Группа сервис

Индикатор ключа будет добавлен слева от поля или полей, определенных как первичный ключ.

5) В результате заполнения таблица получается следующего вида:

Таблица

Таким же образом мы создаем остальные таблицы. Готовые таблицы мы разделяем на группы. Для этого правой кнопкой нажимаем на таблицу и выбираем «Добавить в группу», затем «Создать группу». И создаем нужную группу. Таким образом, мы классифицируем, созданные таблицы.

Создание группы

Созданные таблицы необходимо связать между собой.

В диалоговом окне выбираем и открываем базу данных. На вкладке работа с базами данных в группе «Отображение» выбираем пункт «Схема данных».

Пункт Схема данных

Если ни одной таблицы не определено, автоматически откроется диалоговое окно «Добавить таблицу».

Кнопка добавить таблицу

Добавление таблицы

3.2 Построение запросов

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

Выполнение запроса на выборку и перекрестного запроса.

Запросы на выборку и перекрестные запросы используется для извлечения и представления данных, а так же для передачи данных в формы и отчеты. При выполнении запроса на выборку или перекрестного запроса в программе Microsoft Office Access 2007 результаты запроса отображаются в режиме таблицы.

Выполнение запроса с параметрами.

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

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

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

Существуют два способа создания запросов:

1) С помощью мастера

2) С помощью конструктора

Создание запроса с помощью мастера

Самый легкий путь создание запроса - воспользоваться мастером создания простых запросов, позволяющим выбрать поля таблицы, которые необходимо включить в запрос. Простой запрос полезен, когда необходимо избавиться от лишних полей, но при этом нужно видеть каждую запись в таблице БД. Мастер создания простых запросов на выборку. Он используется для отбора данных из таблицы, а также для выполнения простых вычислений, основываясь на результатах отбора. Чтобы создать запрос с помощью мастера, необходимо:

На вкладке «Создание» в группе «Другие» выбираем «Мастер запросов».

Кнопка мастера запросов

Появилось окно, в котором выбрать типа запроса. Выбираем «Простой запрос» - таким образом создается запрос на выборку из определенных полей.

Запрос простой

Выбираем таблицы и поля, которые требуются для запросов при помощи символов: «>», «>>», «<», «<<».

Выбор полей для запроса

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

Готовый запрос

Модификация запроса в режиме конструктор.

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

1) Открыть БД, содержащую запрос, который необходимо отредактировать

2) В окне БД щелкнуть по кнопке «Запросы»

3) В списке запросов выбрать имя запроса, который необходимо редактировать

4) Нажать кнопку «Конструктор» на панели инструментов окна БД, запрос откроется в окне конструктора

Кнопка «Конструктор»

5) Нажать «Добавить таблицу», выбрать требуемым таблицу

В верхней области появятся отображения выбранных таблиц и связи между ними

6) При необходимости написать условия отбора

Добавление таблицы в режиме «Конструктор»

7) После этого на вкладке «Конструктор» из группы «Результаты» нажать кнопку «Выполнить».

Кнопка «Выполнить»

Результат запроса

3.3 Создание формы

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

Наиболее простым способ является форма с помощью мастера создания форм. Результат использования этого мастера представлен ниже:

Создание формы

С помощью «Мастера» была создана форма для отображения информации о характеристиках стабилитрона.

3.4 Создание отчета на основе имеющихся запросов

Для анализа данных или представления образом в печатном виде в Microsoft Access используется отчет.

Отчет

3.5 Разработка надстройка «Электронные компоненты» на языке программирования C# в среде MS Visual Studio 2010

3.5.1 Установка MS Visual Studio 2010 Professional Edition

Была выбрана установка компонентов MS Visual Studio 2010 вручную. Для разработки надстройки был выбран компонент «Инструмент разработчика для Microsoft Office». Также был выбран компонент «Графическая библиотека», что показано на рисунке 30.

Выборочная установка компонентов Microsoft Visual Studio 2010

Интегрированная среда разработки Microsoft Visual Studio 2010 Professional предоставляет возможность разработывать приложения на нескольких языках программирования, поддерживаемых .NET Framework. Для разработки надстройки был выбран язык программирования C#.

3.5.2 Выбор шаблона надстройки PowerPoint

При установке VSTO 2010 SE в узел Office в диалоговом окне «Создать проект» (Visual Studio New Project) добавляются две папки: одна для создания надстроек, предназначенных для Office 2007, а вторая для создания надстроек, предназначенных для приложений системы Office 2010. Начнем создание новой надстройки PowerPoint и выберем шаблон надстройки PowerPoint показанный в папке надстроек 2007, что показано на рисунке 31.

Создание проекта в MS Visual Studio 2010

3.5.3 Создание класса ThisAddIn и событий

Шаблон проекта PowerPoint создает класс с названием ThisAddIn, что показано на рисунке 32.

Заготовка класса ThisAddIn в редакторе исходного кода MS Visual Studio 2010

Существуют два события: ThisAddIn_Startup и ThisAddIn_Shutdown. ThisAddIn_Startup вызывается при загрузке надстройки. (Здесь можно поместить код инициализации.) ThisAddIn_Shutdown вызывается при выгрузке надстройки. (Здесь можно поместить код очистки.)

3.5.4 Добавление ленты

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

VSTO 2010 SE поддерживает расширения ленты и упрощает добавление новых пользовательских вкладок ленты и элементов управления в приложения.

Добавление ленты производится через вызов контекстного меню обозревателя решений, что показано на рисунке 33.

Добавление нового элемента типа лента

Сначала добавляем элемент поддержки ленты в проект из меню Project | Add New Item (Проект | Добавить элемент). В проекте создаются два файла: один для определения ленты, а второй для кода ленты. Файл определения ленты -- это XML-файл, который описывает ленту. Файл с кодом ленты обрабатывает загрузку и события ленты. На рисунке 34 приведен простой XML-файл определения ленты, который добавляет вкладку ленты с именем My Tab, содержащую одну группу с именем My Group. Эта группа содержит только одну кнопку с именем My Button. Кнопка имеет функцию обратного вызова с именем OnClick задаваемую для onAction.

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"

onLoad="OnLoad">

<ribbon>

<tabs>

<tab id="MyTab" label="My Tab">

<group id="MyGroup" label="My Group">

<button id="Button1" size="large" label="My Button"

screentip="My Button Screentip" onAction="OnClick"

imageMso="HappyFace" />

</group>

</tab>

</tabs>

</ribbon>

</customUI>

Рисунок 1 XML-файл определения ленты

В автоматически созданном определении ленты, функция обратного вызова определяется для события загрузки onLoad ленты и действия onAction для кнопки. Чтобы обрабатывать эти обратные вызовы, необходимо изменить методы, сформированные в классе Ribbon1. Класс Ribbon1 был создан при добавлении элемента поддержки ленты. Класс Ribbon1 реализует интерфейс IRibbonExtensibility, который передается в Office по запросу.

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

Код для обработки метода RequestService уже записан при добавлении элемента поддержки ленты. Далее раскомментирован неполный код класса в верхней части файла Ribbon1. Затем написаны методы обработки обратных вызовов. В обратном вызове OnLoad Office передает ссылку на экземпляр Ribbon. Эту ссылку можно сохранить на тот случай, когда необходимо сделать ленту недействительной.

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

Private ribbon As Office.IRibbonUI

Public Sub OnLoad(ByVal ribbonUI As Office.IRibbonUI)

Me.ribbon = ribbonUI

End Sub

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

Public Sub OnClick(ByVal control As Office.IRibbonControl)

Globals.ThisAddIn.CreateNewPresentation()

End Sub

3.5.5 Добавление элементов управления на ленту

На первом этапе проектирования надстройки размещаются элементы управления на ленте.

/*В конструкторе ленты помимо автоматически сгенерированной функции InitializeComponent(); мы написали собственную функцию, которая программно добавляет на ленту 60 кнопок по 20 в каждую из 3-х групп*/

public Ribbon1()

: base(Globals.Factory.GetRibbonFactory())

{

InitializeComponent();

CreateButtons();

}

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

/*Это коллекция всех создаваемых кнопок*/

System.Collections.Generic.List<Microsoft.Office.Tools.Ribbon.RibbonButton> buttons = new

System.Collections.Generic.List<Microsoft.Office.Tools.Ribbon.RibbonButton>();

private void CreateButtons()

{

// Внешний цикл по группам

for (int j = 1; j <= 3; j++)// счетчик группы

// внутренний цикл, в котором происходит добавление кнопки в группу, № которой определен внешним циклом

for (int i = 0; i < 20; i++)

{

/*Метод CreateRibbonButton(); создает кнопку со свойствами по умолчанию*/

Microsoft.Office.Tools.Ribbon.RibbonButton button = this.Factory.CreateRibbonButton();

/* Изменяем свойства на те, которые будут актуально в данном проекте. Присваиваем уникальное имя кнопке*/

button.Name = "button" + j.ToString() + i.ToString();

// Делаем кнопку невидимой

button.Visible = false;

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

button.ControlSize =

Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge;

// Делаем изображение видимым

button.ShowImage = true;

//Делаем подпись видимой

button.ShowLabel = true;

switch (j)// добавляем в группу кнопку

{

case 1: group1.Items.Add(button); break;

case 2: group2.Items.Add(button); break;

case 3: group3.Items.Add(button); break;

}

buttons.Add(button);// добавляем кнопку в коллекцию

}

}

3.5.6 Написание обработчиков событий для ленты

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

// Листинг Ribbon1.cs

/// <summary>

/// В этой ветке хранится путь к папке, где искать изображения компонентов

/// </summary>

string regPath = "Software\\Microsoft\\Office\\PowerPoint";

/// <summary>

/// Обновляет ленту

/// </summary>

private void __Refresh()

{

// Создаем одномерный массив групп для последующего быстрого доступа

RibbonGroup[] groups = new RibbonGroup[] { group1, group2, group3 };

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

foreach (RibbonButton b in buttons) b.Visible = false;

// скрываем группы

group1.Visible = group2.Visible = group3.Visible = false;// скрываем все

// объявление строки, в которой будет находится имя папки с изображениями

string lbl;// собственно тут будет имя папки

// Открываем реестр на чтение

RegistryKey rk = Registry.CurrentUser.OpenSubKey(regPath);

// В цикле обрабатываем каждую папку. Предварительно нам нужно узнать ее адрес из реестра

for (int i = 0; i < 3; i++)

{

int j = 0;

// выбираем кнопку настроек

RibbonButton btn = drpCurrentFolder.Buttons[i];

// получаем адрес папки с помощью кнопки. Если нужная запись в реестре не найдена, то по умолчанию вернется значение «Не выбрано»

lbl = rk.GetValue("currentFolder" + btn.Name, "Не выбрано").ToString();// получили

//Присваиваем надпись кнопке

btn.Label = lbl;// записали в список имя папки

// Если папка задана, то выполняем следующий код

if (lbl != "Не выбрано")

{

// Получаем информацию о папке

DirectoryInfo di = new DirectoryInfo(lbl);

// Получаем список файлов в этой папке

FileInfo[] files = di.GetFiles();

// Для каждого найденного файла выполняем тело цикла

foreach (FileInfo file in files)

{

// если файл - не изображение, то при приведении типов вылетит OutOfMemory

System.Drawing.Image img;

try { img = System.Drawing.Image.FromFile(file.FullName); }

catch (OutOfMemoryException) { continue; /*берем следующий файл*/}

if (j < 20)// так как кнопок в группе всего 20

{

int k = 20 * i + j;// вычисление в какой группе и какую кнопку надо показать

// Делаем кнопку видимой

buttons[k].Visible = true;

// Присваиваем кнопке найденное изображение

buttons[k].Image = img;

// Присваиваем надписи кнопки имя файла

buttons[k].Label = file.Name;

j++;

groups[i].Visible = true; groups[i].Label = di.Name;//показываем группу и делаем подпись из имени папки

}

else // в папке больше 20 картинок (но не файлов в целом)

{

System.Windows.Forms.MessageBox.Show("В папке " + di.Name + " более, чем 20 изображений. Будут показаны только первые 20.");

break;

}

}

}

}

}

// данная процедура вызывается сразу после загрузки ленты

private void Ribbon1_Load(object sender, RibbonUIEventArgs e)

{

// для каждой из 3-х кнопок, с помощью которых определяется из какой папки брать изображение

foreach (RibbonButton btn in drpCurrentFolder.Buttons)

// Подключаем обработчик клика по кнопке

btn.Click += new RibbonControlEventHandler(btnSettings_Click);

// Для каждой из 60 кнопок с изображениями подключаем обработчик клика; обработчик находится в классе ThisAddIn

foreach (RibbonButton btn in buttons)

btn.Click += new RibbonControlEventHandler(Globals.ThisAddIn.button_Click);

// вызываем обновление ленты

__Refresh();

}

// Эта процедура выполняется при клике на кнопку выбора папки

private void btnSettings_Click(object sender, RibbonControlEventArgs e)

{

// открываем реестр на запись

RegistryKey rk = Registry.CurrentUser.CreateSubKey(regPath);

// Показываем диалог выбора папки

if (folderWithComponentsDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)

{// если выбрали к.-л. папку, то

try

{

// Используем конструкцию ((Microsoft.Office.Tools.Ribbon.RibbonButton)sender).Name для приведения объекта sender к типу кнопки и получения ее имени

// folderWithComponentsDialog.SelectedPath - является полным адресом выбранной папки rk.SetValue("currentFolder"+((Microsoft.Office.Tools.Ribbon.RibbonButton)sender).Name, folderWithComponentsDialog.SelectedPath);// обновляем значение в реестре

// обновляем ленту

__Refresh();

}

// Если в ходе работы произошла ошибка, то показываем диалоговое окно с текстом ошибки

catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); }

}

}

3.5.7 Написание обработчиков событий для надстройки

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

// Листинг ThisAddIn.cs

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

internal void button_Click(object sender, Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs e)

{

// Получаем текущий слайд с помощью свойства Slide объекта View, который принадлежит одному из объектов Windows в глобальном классе Application

PowerPoint.Slide sld = this.Application.Windows[1].View.Slide;// у нас же одно окно обычно, так что не будем хитрить)

// Объект sender является кнопкой, поэтому приводим к типу кнопки RibbonButton и извлекаем изображение

System.Drawing.Image img = ((Microsoft.Office.Tools.Ribbon.RibbonButton)sender).Image;// получили картинку

img.Save("tmp");// сохранили

// метод AddPicture читает изображение из файловой системы и добавляет его на слайд по указанным координатам

sld.Shapes.AddPicture("tmp", Office.MsoTriState.msoFalse, Office.MsoTriState.msoTrue, 0, 0);// прочитали

// 2 параметр Office.MsoTriState.msoFalse указывает на то, что должна создаваться независимая копия файла

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

System.IO.File.Delete("tmp");// и удалили

}

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

3.5.8 Результат выполнения надстройки «Электронные компоненты» и её конечное представление

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

Надстройка «Электронные компоненты»

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

Диалоговое окно «Обзор папок»

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

Лента с выбранными графическими изображениями

Схема генератора

Для примера построения электронной схемы, мы берем из курсового проектирования по дисциплине «Электроника» схему генератора. Процесс проектирования электронной схемы осуществляется следующим образом: производится выбор необходимого УГО с ленты в один клик. После чего он появляется на слайде PowerPoint, где мы может осуществить позиционирование и масштабирование в пределах требуемых параметров. Эти элементы также допускают поворот на необходимый угол, что предоставляет возможность из необходимого набора компонентов собрать целевую схему.

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

Эта схема генератора спроектирована в среде PowerPoint средствами разработанного программного продукта.

Заключение

В выпускной квалификационной работе реализован алгоритм создания надстройки PowerPoint, рассмотрен алгоритм использования базы данных Microsoft Access и надстройки «Электронные компоненты» Microsoft PowerPoint. По блок-схеме алгоритма создания надстройки PowerPoint разработан исходный код программы на языке программирования С #. Данная надстройка обеспечивает быстрым доступом к условным графическим обозначениям (УГО), что позволяет преподавателям уменьшить временные затраты на разработку лекционного материала.

Согласно техническому заданию была выбрана СУБД Microsoft Access 2007, в ней реализована реляционная база данных «Электронные компоненты». В ней были систематизированы технические характеристики, УГО электронных компонентов. Планируется использовать БД при создании лекционного материала по дисциплине «Электроника», а также для использования студентами при курсовом проектировании.

Данная разработка рекомендуется к внедрению на кафедре «Автоматика и процессы управления» по дисциплине «Электроника» для повышения эффективности учебного процесса и сокращения времени создания электронных образовательных ресурсов.

Список используемой литературы

1. Элисон Балтер, Microsoft Office Access 2007: Пер. с англ. - М.: «И.Д. Вильямс», 2009г. - 1296 с.

2. Компания Microsoft, Новые возможности Office 2007: Пер. с англ. - М.: «Книга» , 2007. - 268с.

3. Громов Ю.А., Программирование в среде VBA: Громов Ю.А. - М.: «АСТ», 2007. - 435с.

4. Силиванов А.Н., Технологии автоматизации ActiveX: Силиванов А.Н. М.: «Буква»,2008. - 675с.

5. Герберт Шилдт, Полное руководство С# 4.0, 2011 - 1056 с.

6. Эндрю Троелсен, Язык программирования C# 2010 и платформа. NET 4

Размещено на Allbest.ru


Подобные документы

  • Разработка и освоение в современном производстве информационной подсистемы. Создание базы данных в среде MS SQL Server 2008 и приложения в среде MS Visual Studio 2012. Процесс ввода при выборе пунктов меню. Заполнение формы с критериями на фильтрацию.

    отчет по практике [834,4 K], добавлен 27.11.2013

  • Объектно-ориентированная технология создания программ. Среда разработки Visual Studio.NET. Особенности среды Microsoft Visual Studio 2010. Приложения C# для расчетов по формулам, консольный ввод-вывод. Форматирование значений данных. Программы с циклами.

    методичка [2,1 M], добавлен 11.09.2014

  • Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.

    курсовая работа [571,9 K], добавлен 14.07.2012

  • Разработка автоматизированной системы управляющей компании "Дом" в среде Visual Studio 2012. Генерация списка существующих квартир. Создание базы данных и программного продукта, функциональные требования к нему. Построение диаграмм UML и ER-модели.

    дипломная работа [1,0 M], добавлен 25.10.2017

  • Изменение пользовательского интерфейса приложения Microsoft Office system 2007. Увеличение функциональности приложений для поддержки совместной работы (Office Word 2007, Office Excel 2007, Office PowerPoint 2007, Office Access 2007 и Office Outlook 2007).

    контрольная работа [1,5 M], добавлен 13.12.2009

  • Системный анализ и анализ требований к базе данных. Особенности создания отчетов, запросов и форм в Visual Studio 2012. Программная реализация ER-диаграммы. Создание инфологической, логической и физической модели базы данных. Генерация ее в SQL Server.

    курсовая работа [1,0 M], добавлен 22.11.2012

  • Возможности Microsoft Access, типы данных, оценка степени безопасности, принципы защиты информации. Инфологическое проектирование базы данных. Основные преимущества Office Access 2007. Разработка и описание пользовательского интерфейса, решаемые задачи.

    курсовая работа [1,5 M], добавлен 28.04.2014

  • Изучение особенностей проектирования прикладных программ с помощь средств Visual Studio 2010 на языке C#. Расчет конического соединения, конусного градиента, усилия для разрыва соединения и требуемой силы сжатия. Реализация и тестирование программы.

    курсовая работа [1,7 M], добавлен 19.02.2013

  • Деятельность футбольного клуба "Челси", задачи его информационно-управляющей системы и требования к базе данных. Наборы отношений с учетом степени связи и класса принадлежности экземпляров сущности. Разработка базы данных в среде СУБД Access 2003.

    курсовая работа [2,3 M], добавлен 21.02.2011

  • Характеристика деятельности футбольного клуба "Челси", формулировка основных задач его информационно-управляющей системы и обоснование требований к его базе данных. Разработка базы данных в среде СУБД Access 2003. Создание запросов на языке QBE и SQL.

    курсовая работа [2,6 M], добавлен 21.02.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.