- •Ф.Ф. Павлов технология программирования
- •Санкт-Петербург
- •090103 – Организация и технология защиты информации
- •Содержание
- •Раздел 1 Создание программных приложений………………..…..7
- •Тема 1. Технология программирования. Основные понятия........7
- •Тема 3. Объектно-ориентированный подход
- •Тема 4 Объектно-ориентированное проектирование
- •Раздел 3 «Перспективные направления в области создания технологий программирования» содержит 3 темы: технология ActiveX, технологии доступа к базам данных, технологии для работы в Internet.
- •Раздел 1. Создание программных приложений
- •Тема 1. Технология программирования.
- •1.1. Этапы эволюции технологии программирования
- •1.2. Жизненный цикл и этапы разработки программ
- •1.3. Постановка задачи и спецификация программы
- •1.4. Проектирование и реализация программы
- •2.1 Структура программы
- •2.2 Структура функции
- •2.3. Типы данных
- •2.4. Средства управления экраном и клавиатурой
- •2.5 Средства управления файлами
- •Тема 3. Объектно-ориентированный подход
- •3.1. Сущность объектно-ориентированного подхода
- •3.2. Инкапсуляция
- •3.3. Наследование
- •3.4. Полиморфизм
- •Тема 4. Объектно-ориентированное проектирование
- •4.1. Постановка задачи и определение спецификаций
- •4.2. Проектирование структуры программы
- •4.3. Проектирование файлов интерфейсов классов
- •4.4. Проектирование файлов реализации классов
- •Раздел 2. Особенности программирования в Windows
- •5.1. Система окон разработки и система меню
- •5.2. Библиотека классов mfc
- •5.3. Сообщения – реакция на события
- •Тема 6. Создание Windows-приложений
- •6.1. Консольные приложения
- •6.4. Диалоговые приложения
- •Тема 7. Ввод-вывод информации
- •7.1. Управление клавиатурой
- •7.2. Управление курсором
- •7.3. Управление мышью
- •Тема 8. Программирование интерфейса приложений
- •8.1. Система меню
- •8.2. Система диалоговых окон и элементов управления
- •Тема 9. Программирование файловой обработки
- •9.1. Файловая обработка объектов класса mfc
- •9.2. Файловая обработка объектов классов пользователя
- •9.3. Файловая обработка с классом cFile
- •Тема 10. Технология программирования в Widows
- •10.1. Проектирование структуры программы,
- •10.2. Создание классов предметной области
- •10.3. Создание диалоговых окон
- •10.4. Создание диалоговых окон базы справочных
- •10.5. Создание ведомости результатов
- •Раздел III. Прогрессивные технологии
- •Тема 11. Технология ActiveX
- •11.1. Концепция технологии ActiveX
- •11.2. Создание приложения-контейнера
- •11.3. Создание приложения-сервера
- •Тема 12. Поддержка баз данных
- •12.1. Технологии доступа к данным
- •12.2. Создание приложения с базой данных
- •Тема 13. Программирование для Internet
- •13.1. Технологии для работы в Internet
- •13.2. Приложение в стиле браузера
- •13.3. Приложение с протоколом http в WinInet
- •13.4. Приложение с протоколом ftp в WinInet
- •Раздел 1 «Создание программных приложений»:
- •Раздел 2 «Особенности программирования в Windows»:
- •Раздел 3 «Прогрессивные технологии программирования»:
- •Извлечение из рабочей программы дисциплины
- •Утверждаю
- •Рабочая программа
- •Технология программирования
- •Санкт-Петербург
- •4. Содержание разделов и тем дисциплины
- •Раздел 1. Создание программных приложений
- •Тема 1. Технология программирования. Основные
- •Тема 4. Технология объектно-ориентированного
12.2. Создание приложения с базой данных
Цель работы - создание приложения, выполняющего операции с базой данных: просмотр, добавление, удаление (лаб. работа labDb-[7,c.66]).
Для создания приложения выполнить следующие этапы:
- Установление доступа к базе данных. Этап заключается в регистрации заданной базы данных, как источника данных.
- Создание заготовки приложения. Этап выполняется автоматически с помощью мастера AppWizard при выполнении этапов настройки приложения с выбором технологии доступа к источнику данных ODBC или DAO.
- Реализация операций с базой данных. Этап выполняется с использованием классов MFC соответствующей технологии доступа к данным.
Воспользуемся файлом db.mdb, который представляет собой базу данных, созданную в СУБД Access. Файл содержит сведения о студентах: Name (Имя), Grade (Курс). Лучше создать собственный файл в любой программе для работы с базами данных.
Пусть экранная форма отображения содержимого базы данных будет выглядеть следующим образом (см. рис. 12.1).
Untitled – labDb |
File Edit Record View Help |
[ ] [ ] [ ] [ ] [|<] [<] [>] [>|] |
Студенты: Имя Ann Группа B__ |
Рис. 12.1. Отображение содержимого базы данных
Контрольные вопросы
Какие технологии доступа к данным имеет Visual C++?
В чем отличие технологий ODBC и DAO?
Как создать приложение, выполняющее операцию просмотра базы данных?
Как создать приложение, выполняющее операции добавления и удаления записей?
Тема 13. Программирование для Internet
13.1. Технологии для работы в Internet
Visual C++ обладает технологиями, облегчающими разработку приложений для работы в Internet, значительно расширяющими возможности приложений.
К ним относятся Winsock (Windows Socket), MAPI (Messaging Application Programming Interface), WinInet (Windows Internet), ISAPI (Internet Server API), ActiveX для Web.
Программирование в технологии Winsock основано на следующих принципах. Каждый компьютер имеет числовой адрес – IP-адрес, а программы имеют собственный порт. Комбинация IP-адреса и номера порта называется socket (гнездо). Протокол TCP устанавливает дуплексную связь между программами с помощью гнезд. После установления соединения осуществляется передача и прием потока байтов.
В MFC имеются два класса Winsock: базовый класс CAsyncSocket и производный класс CSocket, реализующих асинхронное программирование Winsock, т.е. в каждый момент времени происходит множество событий. Классы облегчают работу с сокетами, так как обеспечивают вызов нужных функций API. Написание Winsock-программ достаточно трудоемкий процесс, требуется много рутинной работы, например, самостоятельное заполнение структуры адреса гнезда.
Технология Winsock может быть применена для написания клиент/серверных программ для Internet, но не использующих приложения типа электронной почты, Web, FTP и других популярных приложений Internet. Для этих приложений лучше использовать MAPI, WinInet, ISAPI, ActiveX для Web, предоставляющие программистам большие возможности.
Технология MAPI (Messaging API - почтовый интерфейс) – это средство разработки приложений, осуществляющих пересылку и прием сообщений для самой популярной информационной службы Internet - электронной почты.
Для использования MAPI достаточно на этапе 4 создания приложения с помощью AppWizard установить флажок на опции MAPI. В меню File создается новый пункт Send, при выборе которого запускается клиент MAPI для посылки сообщения, содержащего текущий документ. Остается только дописать адрес, тему сообщения и текст для документа. Существуют и более сложные интерфейсы MAPI: Extendet MAPI и OLE MessagingiveX.
Технология ISAPI (Internet Server API) применяется для расширения возможностей сервера HTTP, позволяя создавать расширения и фильтры. Расширения – это динамически загружаемые библиотеки (DLL), которые можно вызывать пользователем прямо с Web-страницы. Фильтры – это библиотеки DLL, работающие вместе с сервером и проверяющие данные, идущие к серверу и от него. Но для того, чтобы использовать расширения и фильтры, ISAPI и Web-страница должны находиться на совместном сервере.
Наиболее популярной технологией программирования для Internet является технология WinInet (Windows Internet). В библиотеке классов MFC Visual C++ имеются классы WinInet, облегчающие написание клиентских приложений и освобождающие от использования WinSock. Связь классов WinInet представлена на рис. 13.1.
Работа в Internet происходит в следующей последовательности: класс CInternetSession создает объект класса; затем, при наличии адреса ресурса URL устанавливается соединение с помощью функции OpenURL() по протоколу HTTP (HiperText Transfer Protocol), FTP (File Transfer Protocol) или Gopher (старый текстовый протокол, связи в котором устанавливает администратор); функция OpenUrl() возвращает указатель на файловый объект класса CStdioFile; затем происходит считывание содержимого файла с помощью функций класса CStdioFile.
CObject
C Exception CInternetSession
CInternetException CInternetConnection
C File CFtpConnection
CStdioFile CGopherConnection
CInternetFile CHttpConnection
CHttpFile CFileFind
CGopherFile CFtpFileFind
CGopherFileFind
CGopherLocation
Рис. 13.1. Связь классов WinInet
При отсутствии адреса URL сеанс работы с Internet происходит в следующей последовательности: с помощью функций GetHtttpConnection(), GetFtpConnection(), GetGopherConnection() класса CInternetSession определяется объект соединения и устанавливается соединение по указанному протоколу; затем, вызывается функция OpenFile() соответствующего объекта соединения, т.е. CHttpConnection::OpenFile() возвращает объект класса CHttpFile, CFtpConnection::OpenFile() возвращает объект класса CInternetFile, CGopherConnection::OpenFile() возвращает объект класса CGopherFile.
Классы CHttpConnection, CFtpConnection, CGopherConnection используют протоколы соответственно HTTP, FTP, Gopher и представляют собой постоянное соединение с хост-компьютером (обычно протоколы не поддерживают постоянное соединение). Классы CFileFind, CFtpFileFind, CGopherFileFind служат для просмотра соответствующих каталогов и поиска файлов.
Классы WinInet обычно предназначены для написания клиентских приложений, а для написания серверных приложений можно использовать технологию ISAPI (Internet Server API), расширяющую возможности сервера HTTP (World Wide Web).