Разработка структуры и алгоритмов программы
Диалоговая процедура окна диалога добавления элемента. Содержит три элемента редактирования (edit) (Фамилия, телефон, адрес). При помощи этого окна пользователь может добавить элемент в телефонную книгу. Для добавления элемента в окно списка (list box) используется функция SendMessage отправляющая сообщение LB_ADDSTRING окну списка. Начальное заполнение списка осуществляется при помощи цикла… Читать ещё >
Разработка структуры и алгоритмов программы (реферат, курсовая, диплом, контрольная)
Для хранения данных в программе используются текстовые файлы. Программа имеет возможность работы как с ранее созданными файлами (которые были созданы при помощи программы), так и создавать файл телефонной книги непосредственно во время работы. Для увеличения скорости обработки данных информация из файла записывается в структуру и хранится там на протяжении выполнения программы. Для выполнения функций программы данные помещаются в структуру TelBook, которая имеет три поля: фамилия, телефон и адрес.
Для реализации диалога с пользователем были использованы диалоговые окна, окна сообщений. Для вызова пользователем диалоговых окон было создано меню с соответствующими пунктами.
Блок работы с файлами, системное меню описано в оконной процедуре главного окна WndProc.
Были созданы четыре диалоговые процедуры:
1) BOOL CALLBACK AboutDlgAddProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
Диалоговая процедура окна диалога добавления элемента. Содержит три элемента редактирования (edit) (Фамилия, телефон, адрес). При помощи этого окна пользователь может добавить элемент в телефонную книгу. Для добавления элемента в окно списка (list box) используется функция SendMessage отправляющая сообщение LB_ADDSTRING окну списка. Начальное заполнение списка осуществляется при помощи цикла с параметром for. Для обновления окна списка (list box) используется сообщение LB_RESETCONTENT, а затем список заново заполняется посредством цикла с параметром for.
2) BOOL CALLBACK AboutDlgFindProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
Диалоговая процедура окна диалога поиска элемента. Содержит три элемента редактирования. Имеет аналогичный вид с предыдущим окном. При помощи этого окна пользователь может выполнить поиск элемента в телефонной книге. Алгоритм поиска реализован при помощи функции сравнения строк char *strstr (srting1, string2), где char *string1 — поле структуры (то, где ищем), а char *string2 — строка, которая введена в окно редактирования в диалоговом окне. Данная функция возвращает NULL, если соответствующий элемент не найден. И так, при помощи троекратного вызова этой функции в условном операторе if был получен результат поиска по трём параметрам. Для связи найденных элементов и элементов структуры был создан массив указателей на структуру TelBook dbFind. Это обеспечило возможность удаления элементов, найденных во время поиска.
3) BOOL CALLBACK AboutDlgResProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
Диалоговая процедура окна диалога результатов поиска элементов. Содержит три элемента редактирования и несколько кнопок, при помощи которых пользователь может перемещаться между найденными записями. Так же при помощи этого окна пользователь может редактировать найденные записи и/или удалять их. Алгоритм удаления из телефонной книги заключается в поэлементном удалении из полей структуры соответствующих элементов. Удалять можно только те элементы, которые были найдены функцией поиска и записаны в массив указателей dbFind.
4) BOOL CALLBACK AboutDlgSelProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
Диалоговая процедура окна диалога выбора ресурса для телефонной книги: либо открытие старой книги, либо создание новой. Данное окно появляется при создании главного окна.
Для вызова вышеописанных окон диалога используются соответствующие пункты меню.
Открытие и закрытие, создание и сохранение файлов-ресурсов так же осуществляется при помощи соответствующих пунктов меню. Вся функциональность пунктов меню описана в оконной процедуре главного окна.