Win32-приложение Картотека аудио дисков

Реферат - Компьютеры, программирование

Другие рефераты по предмету Компьютеры, программирование

?ов; если они не отвечают задаче, то их просто игнорируют. Например, серьезные ограничения концепции указателя заставляют программиста применять вектора и целую арифметику, чтобы реализовать структуры, указатели и т.п. Хорошее проектирование и отсутствие ошибок не может гарантироваться чисто за счет языковых средств. Система типов должна быть особенно полезна в нетривиальных задачах. Действительно, концепция классов в C++ показала себя мощным концептуальным средством.

 

1. Постановка задачи

Разработать программный продукт для ведения картотеки аудиодисков. Программный продукт должен позволять:

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

 

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

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

При редактировании следует аналогичным образом проверять редактируемые значения.

 

Для реализации поставленной задачи использовать Visual Studio C++ версии не ниже 6.0. В частности применить winapi.

2. Структура выходных и входных данных

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

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

 

Таблица 1 - схема данныхназваниетипназвание_дискастроканазвание_трекастрокаисполнительстрокаучетный номердлинное целоекем_взятстрокадата_добавлениядата

Рисунок 1 размещение данных в файле

3. Описание основных классов и структур

В проекте были использованы встроенные классы и структуры windows api. Их перечисление дается ниже:

WNDCLASSEXполетипcbSizeLONGstyleLONGlpfnWndProcWNDPROCcbClsExtraLONGcbWndExtraLONGhInstanceHANDLEhIconHANDLEhIconSmHANDLEhCursorHANDLElpszMenuNameLPCTSTRlpszClassNameLPCTSTR

MENUITEMINFOполетипcbSizeLONGfMaskLONGfTypeLONGfStateLONGdwTypeData* LPCTSTRcchLONGwIDUINThSubMenuHMENU

OPENFILENAMEполетипlStructSizeLONGhwndOwnerHWNDlpstrFileLPCTSTRnMaxFileLONGlpstrFilterLPCTSTRnFilterIndexLONGlpstrFileTitleLPCTSTRnMaxFileTitleLONGlpstrInitialDirLPCTSTR

ACCELполетипfVirtLONGkeyLONGcmdLONG

tagBITMAPполетипbmTypeLONGbmWidthLONGbmHeightLONGbmWidthBytesLONGbmPlanesWORDbmBitsPixel WORDbmBitsLPVOID4. Алгоритм работы программы

Алгоритм работы программы можно представить диаграммой 1.

Диаграмма 1 алгоритм работы программы

5. Результат работы программы

Запуск приложения осуществляется традиционным способом (двойным/одинарным кликом по иконке приложения).

Рисунок 2 Запуск приложенияПоскольку приложение написано с использованием только winapi, оно исключает необходимость в дополнительным библиотеках, фреймах, виртуальных машинах (подобной java virtual machine). Работа приложения также гарантированна в ОС Windows 98 и более поздних версиях.

5.1 Ознакомление

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

Рисунок 3 главное окно приложения

Приложение имеет главное меню со следующей структурой:

  • Файл
  • Новый
  • Открыть
  • Сохранить
  • Сохранить как
  • Правка
  • Добавить
  • Изменить
  • Удалить
  • Вид
  • большие значки
  • малые значки
  • список
  • таблица
  • Помощь
  • О программе

Вход в меню осуществляется путем нажатия клавиши alt, а перемещение путем нажатия стрелок вверх/вниз/влево/вправо (<^>v).

Рисунок 4 менюНиже главного меню, в окне приложения располагается панель инструментов, частично дублирующая функциональность главного меню.

Дублируются следующие пункты:

  • Файл
  • Новый
  • Открыть
  • Сохранить
  • Сохранить как
  • Вид
  • большие значки
  • малые значки
  • список
  • таблица

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

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

Рисунок 5 панель инструментовПанель инструментов поддерживает систему помощи, называемой “всплывающие подсказки”. Для их активизации следует подержать курсор 2 секунды над интересующей кнопкой панели инструментов.

Рисунок 6 всплывающие подсказкиНиже панели инструментов располагается древовидная структура и параллельно ей, графический список.

В древовидной структуре отображается список дисков. Список дисков привязан к логическому корню “коллекция”. В свою очередь каждый диск в отдельности может содержать список произведений и соответственно быть корнем для них (дисков).

Графический список способен работать в двух режимах. Когда в древовидной структуре активным (выделенным) является диск, то графический список отображает все произведения в данном диске это первый режим. Если активным является не диск, а одно из его произвед?/p>