www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
  http://tikitak.narod.ru ---- Главная страница сайта

Шаг 42 - Попробуем CInternetFile

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

Используем процедуру нажатие клавиши кнопки из предыдущего шага.

Создаем код

Обьявление функций
#include "afxinet.h"
Изменение реакции на нажатие кнопки
void CTestDlg::OnSend()
{
 CInternetSession session;
 CInternetFile* file = NULL;
 try
 {
   file = (CInternetFile*) session.OpenURL("http://www.mjk.msk.ru/~dron/cpp/");
   if (file)     
   {
    CString line; 
    file->ReadString(line); 
    AfxMessageBox(line);
    file->Close();
    delete file;
   }
  else AfxMessageBox("Not Server :-(");
 }
 catch(...)
 {
	 AfxMessageBox("Error Session");
 }
}

Описание

Первыми делом подключим функции дял работы с соединением. Это и сделано в первых строках.

CInternetSession класс обеспечивающий соединение. Вот его мы и объвляем, для того, чтобы потом воспользоваться его умением производить соединение, вообще у конструктора этого класса существуют параметры (это так для введения). Следующая строка ссылка на класс CInternetFile, заметьте что он обьявлен как пустая ссылка. В дальнейшем он будет создан при открытии страницы. Этот класс является базовым для высокоуровневых классов CHttpFile и CGopherFile поэтому мы его и попробуем.

В случае успешности проведения OpenURL куда передаем имя сервера и страницы, она вернет указатель на файл с которым можно проводить операции чтения. ReadString читает строку.

После работы файл необходимо закрыть. Это вообще как аксиома открыл - закрыл.

try это обработка исключительных ситуаций. В случае ошибке OpenURL, например по причине отсутствия страницы данная функция вызовет иcключительную ситуацию. В блоке catch(...) мы это исключение и ловим, для того чтобы известить Вас о этой неудаче.

Собирайте программу, устанавливайте соединение и запускайте. Как Вы думаете, что появится ? HTML !!! Вроде это логично :-).

Вообще работа в Internet стоит отдельных шагов. И это просто демоснтрация возможностей.


Шпаргалка

Классы для работы с Internet используют механизм исключительных ситуаций. Обработайте их, дабы не вводить пользователя в глубокое изумление.
try
 {
  ..........
 }
 catch(...)
 {
  ..........	
 }
Обьявите классы
#include "afxinet.h"
Создайте переменные
 CInternetSession session;
 CInternetFile* file = NULL;
Установите связь
 file = (CInternetFile*) session.OpenURL("http://www.mjk.msk.ru/~dron/cpp/");


Предыдущий Шаг | Следующий Шаг | Оглавление

By Artem.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz