- Изменить размеры текстового поля. Растянуть мышью поле.
- Добавить кнопку, перетащив ее в окно диалога.
- Добавить перед текстовым полем надпись Text Web-page.
Итак, у нас есть кнопка c надписью Button1 и текстовое поле. Заменим эту надпись на “Poluchenie Web-page”.
- Выделить надпись кнопки и вызвать View->Propertie. Откроется окно Push Button Properties.
- Ввести в поле Caption текст “ Poluchenie Web-page ”. Проверить идентификатор кнопки: IDC_BUTTON1.
- Запустить ClassWizard и проверить вкладку Message Maps.
- Выбрать из списка Object Ids строку IDC_BUTTON1 и дважды щелкнуть в списке Messages на строке BN_CLICKED. Функции-обработчику присваивается имя OnButton1().
Необходимо связать переменную с текстовым полем:
- Запустить ClassWizard и перейти на вкладку Member Variable.
- Выделить идентификатор текстового поля IDC_EDIT1 и щелкнуть на кнопке Add Variable.
- Ввести в поле строку m_text и щелкнуть на OK.
Для использования классов WinInet необходимо вставит в начало файла Lab12_2Dlg строку:
#include “afxinet.h”
Создание нового сеанса Internet (Internet session) через HTTP
void CLab12_2Dlg::OnButton1() //этапы алгоритма пронумерованы
{
CInternetSession* pIS; //1 указатель на объект сеанса Internet
pIS=new CInternetSession(); //создание сеанса
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 CLab12_2Dlg::OnButton1()
{//...
pFile->read(buffer,1000);
..m_text=CString(buffer,1000); //пересылка из буфера 1000 символов
UpdateData(false); //пересылка в текстовое поле из m_text
pFile->Close(); // закрытие файла класса CStdioFile, потока С++
pIS->Close(); //закрытие сеанса Internet
}
Компиляция и запуск приложения
Запустить приложение и щелкнуть на кнопке Poluchenie Web-pa-ge. В текстовом поле появятся 1000 символов Web-страницы.
12.4. Приложение с протоколом FTP в WinInet
Цель работы – программное использование протокола FTP для пересылки файлов в Internet с поддержкой технологии WinInet. Пусть требуется загрузить файл с FTP-узла Microsoft. Таким файлом может быть disclaimer.txt, содержащий сообщение Microsoft о предоставлении файлов на этом FTP-узле без гарантий [л.13,стр.405]. Можно использовать любой файл на любом Web-узле.
В диалоговом окне будет находиться кнопка Pouchenie File и текстовое поле.
Lab12_3
Poluchenie File OK
Cansel
Идет пересылка файла...
При щелчке на кнопке Poluchenie File начинается пересылка файла и в текстовое поле выводится сообщение “Идет пересылка файла...”.
Для создания приложения выполнить следующие этапы, аналогичные п. 12.3.
- Выбрать команду File->New и вкладку Projects
- Выбрать из списка MFC AppWizard (.exe). В поле Project name ввести имя проекта Lab12_3. Нажать ОК.
- Выполнить 6 этапов настройки приложения. На этапе 1 App Wizard установить Dialog based.
В нашем примере необходимо добавить текстовое поле и кнопку с надписью Poluchenie File.
- Добавить текстовое поле, перетащив его в окно диалога.
- Изменить размеры текстового поля, растянув поле мышью.
- Добавить кнопку, перетащив ее в окно диалога.
Итак, у нас есть кнопка c надписью Button1 и текстовое поле. Заменим эту надпись на “Poluchenie File”.
- Выделить надпись кнопки и вызвать View->Propertie. Откроется окно Push Button Properties.
- Ввести в поле Caption текст “ Poluchenie File”.
- Проверить идентификатор кнопки: IDC_BUTTON1.
- Запустить ClassWizard и проверить вкладку Message Maps.
- Выбрать из списка Object Ids строку IDC_BUTTON1 и дважды щелкнуть в списке Messages на строке BN_CLICKED. Функции-обработчику присваивается имя OnButton1().
Необходимо связать переменную с текстовым полем:
- Запустить ClassWizard и перейти на вкладку Member Variable.
- Выделить идентификатор текстового поля IDC_EDIT1 и щелкнуть на кнопке Add Variable.
- Ввести в поле строку m_text и щелкнуть на OK.
Для использования классов WinInet необходимо вставит в начало файла Lab12_3Dlg строку:
#include “afxinet.h”
Создание нового сеанса Internet (Internet session) через FTP
void Clab12_3Dlg::OnButton1() //этапы алгоритма пронумерованы
{
CInternetSession* pIS; //1 указатель на объект сеанса Internet
CFtpConnection* pFC; //2 указат. на объект класса CFtpConnection
pIS=new CInternetSession(); //создание сеанса
if (!pIS) //3 проверка подключения компъютера к Internet
{
AfxMessageBox(“No Internet session”, MB_OK);
return;
} //4 соединение по протоколу FTP
pFC=pIS->GetFtpConnection(CString(“ftp.microsoft.com”));//соедин.
if (!pFC) //5 проверка соединения с FTP-узлом //с FTP-узлом
{
AfxMessageBox(“No FTP-connection”, MB_OK);
return;
}
else //установление связи
{
m_text=”Идет пересылка файла...”; //присваив. строки
UpdateData(false); //пересылка строки из m_text в текстовое поле
} //пересылка файла
pFC->GetFile(CString(“disclaimer.txt”), CString(“disclaimer.txt”));//
pFC->Close(); //закрытие FTP-подключения
pIS->Close(); //закрытие сеанса Internet
}
Запустить приложение Щелкнуть на кнопке Poluchenie File. В текстовом поле выводится сообщение “Идет пересылка файла...”. Файл пересылается в каталог проекта.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.