Вопрос № 172194: Написать программу, реализующую электронный органайзер. Реализовать возможности добавления, удаления, редактирования и хранения данных. Предусмотреть обработку всех возможных ошибок. ...
Вопрос № 172194:
Написать программу, реализующую электронный органайзер. Реализовать возможности добавления, удаления, редактирования и хранения данных. Предусмотреть обработку всех возможных ошибок.
Отвечает Dr_Andrew, Модератор :
Здравствуйте, Aniram79! Вы не указали операционную систему, в которой должна работать программа, и среду разработки приложения; электронный органайзер был написан с использованием классов кроссплатформенной библиотеки Nokia Qt 4.4.3 для создания графического интерфейса пользователя и реализации логики приложения. Программа получилась достаточно большой (1005 строк кода), поэтому разместил код не в приложении, а даю ссылку на архив с исходными текстами: исходные тексты QOrganizer. Исполняемые файлы программы (GNU Linux Debain 5 и Windows XP - 4,3 Мб) можно загрузить по этой ссылке. При разработке приложения исходил из определения электронного органайзера как компьютерной программы, включающей в себя как минимум 3 части: календарь, адресную книгу и средство для создания заметок. Главное окно приложения (клас
с TMainForm) в качестве центрального виджета устанавливает объект класса TCentralWidget, который предоставляет вкладки, управляющие 3 виджетами: TCalendarWidget (обеспечивает календарь), TAddressBookWidget (обеспечивает адресную книгу) и TMemoWidget. Объект класса TCalendarWidget предоставляет возможность выбора даты как с помощью поля даты, так и собственно календаря. Синхронизация дат в этих виджетах осуществляется с помощью слотов void SetCalendarDateSlot(QDate); и void SetEditDateSlot(QDate); Нажатие
кнопки pTodayButton осуществляет установку дат на "сегодня":
Класс TAddressBookWidget предоставляет возможность добавления нового контакта (функция void AddContact();) и удаления выделенного контакта (функция void DeleteContact();) с использованием QStandardItemModel (за отображение инфо
рмации отвечает представление QTableView):
Использование концепции модель - представление (model - view) позволяет в будущем расширять функциональность приложения (например, создание формы поиска контакта) без изменения логики хранения данных. Для загрузки и сохранения данных используется DOM-дерево (данные сохраняются в XML-файл). Контроль
за изменением данных в загруженном списке контактов осуществляется логической переменной bool bEdited = false; класса:
Класс TMemoWidget обеспечивает загрузку, редактирование и сохранение простого текста (plain text). Впрочем, возможности виджета позволяют работать с форматированным текст
ом при минимальном изменении кода. Используемая кодировка - UTF8.
Удачи!
Ответ отправил: Dr_Andrew, Модератор
Ответ отправлен: 19.09.2009, 14:08 Казахстан, Алма-Ата Организация: Казахский научный центр карантинных и зоонозных инфекций Адрес сайта:Медицинские программы для Linux ICQ # 256452186
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 254376
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.