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>