Приложение, написанное в среде Microsoft Visual C++ с использованием библиотеки MFC. Записная книжка адресов электронной почты
Разработка Windows-приложений с использованием библиотеки MFC. Базовый набор классов, написанных на языке С++ и предназначенных для упрощения процесса программирования под Windows. Фундаментальные идеи объектно-ориентированного программирования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 02.07.2011 |
Размер файла | 348,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
2.6 Работа с приложением
После запуска на экран выводится главное окно приложения. Программа предлагает продолжить работу или выйти. Её поля уже заполнены существующими на данный момент в базе данных сведениями об адресах. Чтобы удалить ненужную запись, необходимо выполнить щелчок мышью по ней в списке и в меню приложения выбрать пункт «Delete record». Для добавления записи нажмите в меню приложения «ADD Record». Для сортировки данных сделайте щелчок мышью на панели меню, по пункту «Sort» и выберите значение по которому вы хотите отсортировать записи. Можно устанавливать любой порядок сортировки, при этом список адресов будет автоматически выводится, согласно установленной сортировке. Кнопка «Search» выводит диалоговое окно, в котором нужно ввести критерий поиска. По завершению поиска приложение предлагает сохранить результаты Если критерий не был установлен, то будут найдены и отображены данные обо всех записях базы данных.
2.7 Входные данные
Для работы приложения требуется БД созданная в среде Microsoft Access 2003. Необходимо подключить источник данных для этого нажмите «Добавить…» в окне «Администратор источников данных ODBC» (Пуск, настройки, панель управления, администрирование, источники данных ODBC). Выберите из списка драйвер «Driver do Microsoft Access (*.mdb)» и нажмите «Готово» задать ему имя «db».
Полученная таблица содержит поля:
1.Код - Порядковый номер;
2.Имя - Имя владельца электронной почты;
3.Адрес - Адрес электронной почты;
4.Комментарий - Комментарий к адресу электронной почты.
2.8 Выходные данные
На главной форме выводится таблица содержащая структурированные данные об адресе и его владельце считываемые из БД.
Так же программа предоставляет возможность сохранять результаты поиска в текстовый файл. Для сохранения используется стандартный Windows диалог сохранения файлов
2.9 Описание тестовых прогонов
При запуске программы открывается окно приветствия (рис. 2.1) По нажатью на кнопку продолжить открывается рабочая область программы (рис 2.2)
Рисунок 2.1 - Окно приветствия
Рисунок 2.2 - Рабочая область программы
При добавлении записи необходимо открыть окно добавления записи (рис 2.3). Новая запись добавляется в конец таблицы с присвоением номера, следующего за последним имеющимся в таблице.
Рисунок 2.3 - Добавление записи
Поиск записей производится с помощью окна поиска записи (рис. 2.4)
Рисунок 2.4 - Поиск записи
Результаты поиска отображаются в рабочей области после нажатия кнопки “Ok”. Вид рабочей области после поиска представлении на рисунке 2.5
Рисунок 2.5 - Результат поиска
Удаление записи происходит путем выделения записи в рабочей области и выбора пункта меню Delete Record. (рис. 2.8)
Рисунок 2.6 - Удаление записи
Результат удаления сразуже отображается на рабочей области (рис. 2.7)
Рисунок 2.7 - Результат удаления
В результате тестовых прогонов ошибок не обнаружено.
Заключение
При выполнении данной курсовой работы было разработано Windows-приложение, которое позволяет хранить данные об адресах электронной почты, а также осуществлять различные способы навигации по базе данных. Для создания приложения была изучена тема программирования на языке Visual С++6, а также выучены многие методы классов библиотеки MFC и разобран метод визуального программирования. Было создано 4 дополнительных класса диалоговых окон. Изучена работа с ClassWizard, визуальным оформлением проекта. Над созданным программным продуктом были проведены тестовые прогоны с использованием различных исходных данных. В результате ошибок не было обнаружено. При разработке курсового проекта были углублены знания в области визуального программирования.
Список используемой литературы
1. Кэйт Грегори Использование Visual С++6 . Специальное издание.: СПб.; «Вильямс», 2003 - 864стр.
2. О.С.Мезенцева, В.В.Кушнарев. Методические указания по курсовому проектированию по дисциплине «Высокоуровневые методы информатики и программирования». Ставрополь, 2002
3. А.Мешков, Ю.Тихомиров. Visual C++ и MFC. 2-е изд.перераб. и доп. - СПб.: БХВ-Петербург, 2003. - 1040стр.
4. Ю. Олафсен MFC и Visual C++6. Диа-Софт, Киев, 2003
5. Г. Шилдт Программирование на BORLAND C++ для профессионалов/Пер. англ. А.И. Филимонов; - Мн.: ООО «Попурри», 1999. - 800 с.
6. С. Холзнер Microsoft Visual C++ 6 с самого начала - СПб: Питер, 2000 г.
7. К. Паппас, У. Мюррей Полное руководство по Visual C++.-Мн.:ООО “Поппури”,1999г
8. С.Гилберт, Б.Маккарти. Программирование на Visual C++. Этюды профессионалов. Диа-Софт, Киев, 1998.
9. А.Черносвитов. Visual C++ и MFC, курс MCSD для профессионалов. СПб: Питер, 2000
10. И. Ю. Баженова. Visual C++6.0 (Visual Studio 98). Уроки программирования. М.:Диалог-МИФИ, 1999
Приложение А
Иерархия классов
Диаграмма классов
Рис
Приложение Б
Листинг программы
/////////////////////////////////////////////////////////////////////////////
// CVisualStudiodbView message handlers
void CVisualStudiodbView::OnDraw(CDC* pDC)
{
CRect m_rect; // координаты окна приложения
int n_Rows=1; // число строк таблицы
// Вычисляем размеры окна приложения
GetClientRect(&m_rect);
// Задаем размеры таблицы
m_grid.MoveWindow(m_rect);
m_grid.RedrawWindow();
char str[100];
if(m_pSet->IsEOF())
{
m_grid.SetRows(1);
return;
}
for(m_pSet->MoveFirst();!m_pSet->IsEOF();m_pSet->MoveNext())
n_Rows++;
m_grid.SetRows(n_Rows);
m_grid.SetCols(4);
m_pSet->MoveFirst();
// Задаем ширину столбцов таблицы
m_grid.SetColWidth(-1,2000);
//подпись
m_grid.SetRow(0);
m_grid.SetCol(1);
sprintf(str,"Имя");
m_grid.SetText(str);
m_grid.SetCol(2);
sprintf(str,"Адрес");
m_grid.SetText(str);
m_grid.SetCol(3);
sprintf(str,"Комментарий");
m_grid.SetText(str);
m_grid.SetRow(1);
m_grid.SetCol(1);
for(int n_Row=1;n_Row<n_Rows;n_Row++)
{
m_grid.SetRow(n_Row);
m_grid.SetCol (0);
sprintf(str,"%d",m_pSet->m_cod);
m_grid.SetText(str);
m_grid.SetCol (1) ;
m_grid.SetText(m_pSet->m_name);
m_grid.SetCol (2);
m_grid.SetText(m_pSet->m_price);
m_grid.SetCol (3);
m_grid.SetText(m_pSet->m_komment);
m_pSet->MoveNext();
}
m_pSet->MoveFirst();
m_grid.SetRow(1);
m_grid.SetCol(1);
}
BOOL CVisualStudiodbView::OnMove(UINT nIDMoveCommand)
{
//int m_nFields=4;
int CurRow;
CurRow=m_grid.GetRow();
switch(nIDMoveCommand)
{
case ID_RECORD_PREV:
{
if(!m_pSet->IsBOF())
{
m_grid.SetRow(CurRow-1);
m_grid.SetCol(0);
m_grid.SetRowSel(CurRow-1);
m_grid.SetColSel(2);
m_pSet->MovePrev();
}
} break;
case ID_RECORD_FIRST:
{
m_grid.SetRow(1);
m_grid.SetCol(0);
m_grid.SetRowSel(1);
m_grid.SetColSel(2);
m_pSet->MoveFirst();
} break;
case ID_RECORD_NEXT:
{
if(!m_pSet->IsEOF())
{
m_grid.SetRow(CurRow+1);
m_grid.SetCol(0);
m_grid.SetRowSel(CurRow+1);
m_grid.SetColSel(2);
m_pSet->MoveNext();
}
} break;
case ID_RECORD_LAST:
{
m_grid.SetRow(m_pSet->GetRecordCount());
m_grid.SetCol(0);
m_grid.SetRowSel(m_pSet->GetRecordCount());
m_grid.SetColSel(2);
m_pSet->MoveLast();
} break;
}
return true;
return CRecordView::OnMove(nIDMoveCommand);
}
BEGIN_EVENTSINK_MAP(CVisualStudiodbView, CRecordView)
//{{AFX_EVENTSINK_MAP(CVisualStudiodbView)
ON_EVENT(CVisualStudiodbView, IDC_MSFLEXGRID1, -600 /* Click */, OnClickMsflexgrid1, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CVisualStudiodbView::OnClickMsflexgrid1()
{
int CurRow;
CurRow=m_grid.GetRow();
for(m_pSet->MoveFirst();CurRow>1;CurRow--)
m_pSet->MoveNext();
}
void CVisualStudiodbView::OnRecordAdd()
{
AddRec dlg;
if(dlg.DoModal()==IDOK)
{
if(!m_pSet->CanAppend())
MessageBox("Запись на может быть добавлена","Ошибка открытия базы данных",MB_OK|MB_ICONERROR);
else
{
//if(!m_pSet->IsEOF())m_pSet->MoveLast();
///long lastCod=m_pSet->m_cod;
m_pSet->AddNew();
m_pSet->m_name=dlg.m_name;
m_pSet->m_price=dlg.m_cena;
m_pSet->m_komment=dlg.m_komentarii;
m_pSet->m_cod=m_pSet->GetRecordCount();
m_pSet->Update();
m_pSet->Close();
m_pSet->Open();
}
}
InvalidateRect(NULL);
UpdateWindow();
}
void CVisualStudiodbView::OnRecordDel()
{
long n=m_grid.GetRow();
m_grid.SetRowSel(n-1);
/*m_pSet->Move(n);*/
if(m_pSet->CanUpdate())
m_pSet->Delete();
m_pSet->Requery();
InvalidateRect(NULL);
UpdateWindow();
}
void CVisualStudiodbView::OnRecordSort()
{
CSortRec dlg;
if(dlg.DoModal()==IDOK)
{
switch(dlg.m_sort)
{
case 0:m_pSet->m_strSort="["+dlg.m_fields+"] ASC"; break;
case 1: m_pSet->m_strSort="["+dlg.m_fields+"] DESC";
}
m_pSet->Requery();
}
InvalidateRect(NULL);
UpdateWindow();
}
void CVisualStudiodbView::OnRecordSearch()
{
CSearchRec dlg;
if(dlg.DoModal()==IDOK)
{
if(dlg.m_fields!="")
{
m_pSet->m_strFilter="["+dlg.m_fields+"]LIKE'%";
m_pSet->m_strFilter+=dlg.m_value+"%'";
}
else
m_pSet->m_strFilter.Empty();
m_pSet->Requery();
if(m_pSet->GetRecordCount()==0)
{
MessageBox("В базе данных нет записей, удовлетворяющих заданному критерию",
"Сообщение", MB_OK|MB_ICONINFORMATION);
m_pSet->m_strFilter.Empty();
m_pSet->Requery();
}
}
InvalidateRect(NULL);
UpdateWindow();
}
Размещено на Allbest.ru
Подобные документы
Теоретические основы написания Windows-приложений с использованием библиотеки MFC. Основы программирования под Windows. Проектирование приложений в среде Microsoft Visual C++. Описание логической структуры приложения, его функциональное назначение.
курсовая работа [1,3 M], добавлен 12.12.2011Теоретические основы разработки Windows-приложений с использованием библиотеки MFC. Создание приложения с помощью Visual C++. Описание логической структуры приложения. Установка и запуск программы. Входные и выходные данные. Преимущество MFC библиотек.
курсовая работа [563,2 K], добавлен 21.06.2011Создание приложения на языке программирования Visual C++ с использованием библиотеки MFC на тему "Тестирование по разделу "Законы механики Ньютона". Описание логической структуры программы, тестовых прогонов. Требования к техническому обеспечению.
курсовая работа [2,2 M], добавлен 29.06.2011Техника создания графики при помощи API функций, экспортируемых библиотекой GDI32.DLL. Разработка на языке программирования С++ в среде программирования Microsoft Visual C++ программы для отображения часов реального времени в цифровом и аналоговом виде.
курсовая работа [2,8 M], добавлен 27.01.2010Тeopeтичecкиe ocнoвы paзpaбoтки Windows-пpилoжeний c иcпoльзoвaниeм библиoтeки MFC. Глoбaльныe функции AFX. Цикл cooбщeний. Coздaниe пpилoжeния c пoмoщью Visual C++. Oпиcaниe пpoгpaммнoгo пpoдуктa, основные тpeбoвaния к тexничecкoму oбecпeчeнию.
курсовая работа [733,5 K], добавлен 29.06.2011Приемы и правила объектно-ориентированного программирования с использованием языка С++. Общие принципы разработки объектно-ориентированных программ. Основные конструкции языка С++. Разработка различных программ для Windows с использованием WIN32 API.
учебное пособие [1,6 M], добавлен 28.12.2013Разработка программы, проверяющей уровень знаний по разделу стереометрии и позволяющей выбор один из нескольких вариантов и ввод ответа. Характеристика библиотеки MFC, тела, классов и файлов приложения, цикла сообщений и текстовых запусков программы.
курсовая работа [1,5 M], добавлен 28.06.2011Разработка программы для рисования различных правильных многоугольников с помощью объектно-ориентированного языка программирования. Использование для разработки среды C++ Builder 6 и библиотеки VCL. Разработка интерфейса приложения и алгоритма его работы.
курсовая работа [616,4 K], добавлен 18.10.2010Создание Windows-прилoжения, проверяющего знания ученика по теме "Знания пользователя по геометрии". Использование для написания программы в среде Мicrosoft Visuаl Studio 2008 c иcпoльзoванием библиoтеки МFC. Работа с элементами интерфейса программы.
курсовая работа [1,5 M], добавлен 02.07.2011Разработка программного продукта, предназначенного для тестирования знаний пользователя по теме "Тепловые двигатели" нa языкe C++ в среде Micrоsоft Visual Studio с использовaниeм библиотeки MFC. Функциональное назначение созданного Windows-приложения.
курсовая работа [954,4 K], добавлен 25.06.2011