Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: написание Интернет приложений в Делфи  (Прочитано 11932 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Азат
Гость
« : 13-07-2005 20:46 » 

Здравствуйте!
Помогите кто сможет.
Мне надо чтобы в программе я мог загрузить страницу из Интернета в какой нить обьект и потом получить доступ к тексту этой страницы. Какие обьекты для этого можно использовать и если можно напишите отрывок кода, какие для этого надо использовать методы и свойства этого обьекта.
И еще подскажите какой нить сайт где можно бесплатно скачать книжки по написанию Интернет приложений.
Спасибо!
Записан
Серж
Гость
« Ответ #1 : 14-07-2005 07:43 » 

Азат, в Delphi включена ActiveX компонента TWebBrowser.
Находится на закладке Internet.
Для просмотра страницы следует использовать метод Navigate.
Чтобы далее работать с документом, нужно раскручивать интерфейс
TWebBrowser.Document.
Примеры работы с браузером есть в MSDN.
Записан
zubr
Гость
« Ответ #2 : 14-07-2005 20:26 » 

Можно еще воспользоваться функциями из модуля WinInet:
Код:
uses Wininet;

function GetInetFile(const fileURL, FileName: string): boolean;
const
  BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: DWORD;
  f: file;
  sAppName: string;
begin
  Result := False;
  sAppName := ExtractFileName(Application.ExeName);
  hSession := InternetOpen(PChar(sAppName),
  INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0);
    try
      AssignFile(f, FileName);
      Rewrite(f,1);
      repeat
        InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
        BlockWrite(f, Buffer, BufferLen);
      until
        BufferLen = 0;
      CloseFile(f);
      Result := True;
    finally
      InternetCloseHandle(hURL);
    end;
  finally
    InternetCloseHandle(hSession);
  end;
end;
А также можно юзать сокеты.
Записан
Азат
Гость
« Ответ #3 : 15-07-2005 20:58 » 

Спасибо большое за помощь! Обязательно попробую.
Но я бы хотел уточнить свой вопрос, я не совсем правильно выразил что хотел, поэтому ответ от Серж мне не подходит. Мне не нужно видеть саму страницу, нужно лишь скачать её текст или лучше код куда нибудь, чтобы я мог потом программно делать операции с текстом. Можно конечно применить обьект TWebBrowser, скрыв его, но это не очень удобно. Я знаю что можно работать с обьектами TIdHTTP, TClientSocket/TTcpClient на вкладке Indy в DELPHI 7.0, но я не знаю как с ними работать, какие методы применять. Может кто подскажет?,  я новичок в Делфи. А  функция которую прислал zubr помоему очень даже подходит, большое спасибо! Но может кто знает как работать с TIdHTTP, TClientSocket/TTcpClient. Буду очень рад.
Записан
zubr
Гость
« Ответ #4 : 16-07-2005 06:54 » 

Цитата
Я знаю что можно работать с обьектами TIdHTTP, TClientSocket/TTcpClient на вкладке Indy в DELPHI 7.0, но я не знаю как с ними работать, какие методы применять.
Можно, но для этого надо использовать HTTP-протокол. Кратко как работать с данными компонентами не опишешь. Посмотрите http://www.indyproject.org/Sockets/index.iwp
Записан
Азат
Гость
« Ответ #5 : 16-07-2005 20:19 » 

Но там всё на английском, а я ничего не понимаю.
Записан
zubr
Гость
« Ответ #6 : 17-07-2005 06:39 » new

Цитата
Но там всё на английском, а я ничего не понимаю.
Значит надо учить английский, иначе далеко не уедете Улыбаюсь.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines