Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМИиП - Лабораторный практикум на Visual C++ 20...doc
Скачиваний:
2
Добавлен:
13.08.2019
Размер:
650.75 Кб
Скачать

If (!pIs) //2 проверка подключения компъютера к Internet

{

AfxMessageBox(“No Internet session”, MB_OK);

return;

} //3 соединение по протоколу HTTP

CStdioFile* pFile=NULL; //указатель на файловый

//объект класса

char* buffer=new char[1000]; //буфер для хранения

//1000 символов

pFile=pIS->OpenURL(CString(http://www.microsoft.com));

pFile->Read(buffer,1000);//4 чтение 1000 байт Web-страницы

//...

}

Отображение данных Web-страницы

Требуется занести символы в m_text из буфера, а затем из m_text в текстовое поле.

void ClabHTTPDlg::OnBnClickedButton1()

{//...

pFile->Read(buffer,1000);

..m_text=CString(buffer,1000);//пересылка из буфера 1000

//символов

UpdateData(false); //пересылка в текстовое поле из m_text

pFile->Close(); // закрытие файла класса CStdioFile

pIS->Close(); //закрытие сеанса Internet

}

Компиляция и запуск приложения

Запустить приложение и щелкнуть на кнопке Получение Web-страницы. В текстовом поле появятся 1000 символов Web-страницы.

labFTP "Приложение с протоколом FTP в WinInet»

Цель работы – программное использование протокола FTP для пересылки файлов в Internet с поддержкой технологии WinInet. Пусть требуется загрузить файл с FTP-узла Microsoft. Таким файлом может быть disclaimer.txt, содержащий сообщение Microsoft о предоставлении файлов на этом FTP-узле без гарантий. Можно использовать любой файл на любом Web-узле.

В диалоговом окне будет находиться кнопка Pouchenie File и текстовое поле.

labFTP

Получение файла OK

Cansel

Идет пересылка файла…

При щелчке на кнопке Получение файла начинается пересылка файла и в текстовое поле выводится сообщение “Идет пересылка файла...”.

Для создания приложения выполнить следующие этапы:

Создание проекта приложения

- В стартовой странице Start Page щелкнуть на кнопке New. Выбрать в списке Project Types папку Visual C++ Project MFC, а в списке Templates – MFC Application. Ввести имя проекта labFTP и проверить в поле Location аналогичное имя папки для хранения проекта . Щелкнуть на кнопке OK. Появится окно MFC Application Wizard - labFTP.

- Выполнить настройку приложения. На вкладке Application Type выбрать Dialog based. Переключатель Use of MFC выбрать static. Затем щелкнуть на кнопке Finish, обеспечивая настройку остальных этапов по умолчанию. Появится окно Start Page с открытым проектом.

- Установить язык Русский. Для этого выбрать вкладку Resources View, раскрыть папки labFTP.rc и Dialog, щелкнуть на идентификаторе IDD_LABFTP_DIALOG, а в появившемся окне Properties выбрать у свойства Language значение Русский.

Добавление элементов управления в диалоговое окно

- Открыть диалоговое окно при его отсутствии. Для этого щелкнуть на вкладке Resource View, открыть папки labFTP.rc, Dialog и дважды щелкнуть на идентификаторе IDD_LABFTP_DIALOG. Появляется диалоговое окно. Убрать надпись “TODO: Place dialog controls here”, щелкнув на ней и нажав клавишу Delete.

- Добавить в диалоговое окно элементы управления: текстовое поле и кнопку с надписью Получение файла. Щелкнуть сначала на инструменте Edit Control (текстовое поле) панели инструментов Toolbox, а затем - в выбранной области диалогового окна. Появляется текстовое поле с надписью Sample edit box. Изменить размеры текстового поля, щелкнув в текстовом поле и пользуясь появившимися маркерами размеров (рамка с квадратами). Аналогично добавить кнопку.

- Изменить надпись кнопки Button1 на Получение файла. Щелкнуть на кнопке и ввести в нее строку Получение файла. Проверить значение свойства Caption.

Связывание элементов управления диалогового окна с

функциями-обработчиками сообщений

Требуется связать сообщение кнопки Получение файла с функцией – обработчиком.

- Открыть окно Class View и щелкнуть на имени класса ClabFTPDlg. Появится окно свойств Properties.

- Щелкнуть на кнопке Event (События) и в появившемся списке идентификаторов раскрыть узел IDC_BUTTON1 (щелкнуть на символе +). Появляется список сообщений

- Выбрать элемент BN_CLICKED, а в комбинированном списке справа от идентификатора щелкнуть на команде <Add> OnBnClickedButton1. Прототип новой функции-обработчика OnBnClickedButton1() будет добавлен в файл Dlg.h, а ее текст – в файл Dlg.cpp.

Связывание переменных класса с элементами окна

Требуется связать переменную m_text с текстовым полем.

- Запустить мастер Add Member Variable Wizard. Для этого открыть окно Class View и выделить имя класса ClabFTPDlg. Затем щелкнуть правой кнопкой мыши на имени этого класса и выполнить команду контекстного меню Add->Add Variable.

- Связать переменную m_text с текстовым полем. В появившемся окне Add Member Variable Wizard-labFTP выполнить следующее: установить флажок Control variable; в списке Control ID выбрать идентификатор текстового поля IDC_EDIT1; в списке Category выбрать значение value; в списке Variable type появится CString; ввести в поле Variable name строку m_text; в списке Access проверить наличие элемента public; и наконец, щелкнуть на кнопке Finish.

Подключение классов WinInet

Для использования классов WinInet необходимо вставить в начало файла labFTPDlg.cpp строку:

#include “afxinet.h”

Создание нового сеанса Internet (Internet session)

через FTP

void ClabFTPDlg::OnBnClickedButton1() //этапы алгоритма

//пронумерованы

{

CInternetSession* pIS; //1 указатель на объект сеанса Internet

CFtpConnection* pFC; //2 указат. на объект класса

//CFtpConnection

pIS=new CInternetSession(); //создание сеанса