Разработка приложения, позволяющего проводить тестирование по разделу "Логарифмы"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?зменения в Visual С++ предусмотрены мастера.
Кроме того, MFC предоставляет объектно-ориентированный слой оберток (англ. wrappers) над множеством функций Windows API, делающий несколько более удобной работу с ними. Этот слой представляет множество встроенных в систему объектов (окна, виджеты, файлы и т.п.) в виде классов и опять же берет на себя рутинные действия вроде закрытия дескрипторов и выделения/освобождения памяти[5].
1.8 Добавление кода в каркас приложения
Добавление кода приложения к каркасу реализовано двумя способами. Первый использует механизм наследования: основные программные структуры каркаса представлены в виде классов наследуемых от библиотечных. В этих классах предусмотрено множество виртуальных функций вызываемых в определенный момент работы программы. Путем доопределения (в большинстве случаев необходимо вызвать функцию базового класса) этих функций программист может добавлять выполнение в эти моменты своего кода.
Второй способ используется для добавления обработчиков оконных событий. Мастер создает внутри каркасов классов, связанных с окнами, специальные массивы - карты (оконных) сообщений (англ. massage map), содержащие пары ИД сообщения - указатель на обработчик. При добавленииудалении обработчика мастер вносит изменения в соответствующую карту сообщений[6].
1.9 История
Первая версия MFC была выпущена вместе с седьмой версией 16-разрядного компилятора языка C\C++ компании Microsoft 1992 году. Для тех, кто занимался разработкой приложений с использованием API-функций, пакет MFC обещал весьма значительное повышение производительности процесса программирования [7].
Одной из примечательных особенностей MFC является префикс Afx, используемый в именах многих функций, макросов и названии стандартного заголовочного файла stdafx.h. На ранней стадии разработки, то, что впоследствии стало называться MFC, имело название Application Framework Extensions и аббревиатуру Afx. Решение изменить название на Microsoft Foundation Classes (MFC) было принято слишком поздно, чтобы менять упоминания Afx в коде.Windows Library (OWL), разработанная компанией Borland для работы с собственным компилятором C++, была конкурирующим продуктом, представленным в тот же период. В конце концов Borland прекратила разработку OWL и приобрела краткосрочную лицензию на использование библиотек для работы с MFC, но так и не предложила полной поддержки MFC в своих продуктах. Позднее Borland выпустила VCL в качестве замены MFC [8].
Упор компании Microsoft на MFC был ослаблен в пользу Microsoft.NET Framework. Однако, несмотря на это, MFC по-прежнему остается популярной среди разработчиков.
В апреле 2008 года Microsoft выпустила, после многолетнего бездействия, значительное обновление к MFC под названием MFC Feature Pack. Это обновление предлагалось к установке как дополнение к Visual Studio 2008. В основе своей это были добавочные классы MFC, права на которые были приобретены у российской фирмы BGGSoft [9]. В MFC включалась поддержка нового интерфейса Ribbon и несколько других усовершенствований, связанных с улучшенными интерфейсными элементами управления. После выпущенного пакета обновления для Visual Studio 2008 данные классы стали неотъемлемой частью MFC [10].
Таблица 1.1 - Версии
Версия продуктаВерсия MFCГод выходаMicrosoft C\C++ 7.0MFC 1.01992Visual C++ 1.0MFC 2.0 (введена архитектура документ-представление)Visual C++ 1.5MFC 2.5 (реализована поддержка технологий ODBC и drag and drop)Visual C++ 1.52cMFC 2.5 (последняя платформа разработки для MS Windows 3.x)Visual C++ 2.0MFC 3.0 (появилась возможность реализации многозадачности и поддержка Unicode)Visual C++ 2.1MFC 3.1Visual C++ 2.2MFC 3.2Visual C++ 4.0MFC 4.0 (mfc40.dll включена в состав Windows 95)Август 1995Visual C++ 4.1MFC 4.1Visual C++ 4.2MFC 4.2 (mfc42.dll включена в первоначальный выпуск Windows 98)Март 1998eMbedded Visual C++ 3.0MFC 4.2 (mfc42.dll)Visual C++ 5.0MFC 4.21 (mfc42.dll) значительное обновление MFC 4.2Visual C++ 6.0MFC 6.0 (mfc42.dll)1998eMbedded Visual C++ 4.0MFC 6.0 (mfcce400.dll)Visual C++.NET 2002 (Visual C++ 7.0)MFC 7.0 (mfc70.dll),.NET 1.0Февраль 2002Visual C++ 2003 (Visual C++ 7.1)MFC 7.1 (mfc71.dll),.NET 1.1Апрель 2003Visual C++ 2005 (Visual C++ 8.0)MFC 8.0 (mfc80.dll),.NET 3.5Октябрь 2005Visual C++ 2008 (Visual C++ 9.0)MFC 9.0.21022 (mfc90.dll),.NET 3.5Ноябрь 2007Visual C++ 2008 with Feature PackMFC 9.0.30411 (mfc90.dll)Апрель 2008Visual C++ 2008 SP1MFC 9.0.30729 (mfc90.dll)Август 2008Visual C++ 2008 Security Update (KB971092)MFC 9.0.30729.4148 (mfc90.dll)Июль 2009Visual C++ 2010MFC 10.0.30319.1 (mfc100.dll),.NET 4.0Апрель 2010
2. Спецификация программы
2.1 Описание программы
Windows-приложение, разработанное в среде программирования Microsoft Visual Studio 2008 на языке Visual C++ c использованием библиотеки MFC. Задача программы протестировать знания пользователя по разделу математики логарифмы. Программа задаст пользователю 20 вопросов. Оценка знаний производится по 100 бальной шкале. Максимальный балл вопроса указан в каждом варианте. Также программа содержит дату начала тестирования и ссылку на сайт создателя программы
2.2 Функциональное назначение
При запуске программы открывается главное окно программы (рис. 2.1), в котором имеются кнопки начала тестирования и выхода из программы, число проведения тестирования, приветствие, ссылка на сайт производителя, а по завершению тестирования отображается количество набранных баллов.
Рисунок 2.1 - Главное окно программы
По нажатию на кнопку начать тестирование открывается окно вопроса (рис. 2.1), разделенное на несколько областей номер вопроса, вопрос, варианты ответов, кнопки Дальше, Пропустить и область в которой показано максимальное количество баллов за ответ.
Рисунок 2.2 - Окно вопроса предполагающий 1 вариант ответа
В программе реализовано 2 вида вопросов - предполагающие один правильный ответ (рис. 2.2) и предполагающие выбор