Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с браузером [D7, XP]


Viktor ©   (2012-05-22 09:58:00) 

Задача такая. В браузере с периодичностью в 30 секунд меняются показания(цифры). Надо с помощью Delphi 7 снимать эти показания и записывать в текстовый файл. Как это можно реализовать?


Медвежонок Пятачок   (2012-05-23 08:49:00) [1]

если скриптом, то не нужен не только браузер, но и делфи не нужен.
берем алгоритм и сразу создаем файл данных по нему.


antonn   (2012-05-23 00:47:00) [2]

а если эти цифры меняются скриптом?


Давайте будем жрать!   (2012-05-22 16:04:00) [3]


> ProgRAMmer Dimonych ©   (22.05.12 14:47) [7]
Отличная штука. Хотя, пожалуй, [6] потребует меньше телодвижений.


Омлет   (2012-05-22 15:00:00) [4]


> Медвежонок Пятачок ©   (22.05.12 14:34) [6]
> извращенные извращенцы.ixmlhttprequest

+1. Про REST в нашей деревне не слышали.


ProgRAMmer Dimonych   (2012-05-22 14:47:00) [5]

Тогда уж заодно для полноты можно WinInet API упомянуть. Так, кажись, называлось :)


Медвежонок Пятачок   (2012-05-22 14:34:00) [6]

извращенные извращенцы.

ixmlhttprequest


AV   (2012-05-22 13:46:00) [7]

для старта, пример через WB

 TForm1 = class(TForm)
   WebBrowser1: TWebBrowser;
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation
uses mshtml;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 HtmlDocument: IHtmlDocument2;
 HtmlElement: IHtmlElement;
 s : String;
 n1, n2: Integer;
begin
 WebBrowser1.Navigate(' http://www.delphimaster.ru/cgi-bin/forum.pl?id=1337666296&n=18');
 repeat
   Application.ProcessMessages;
 until not(WebBrowser1.Busy);
 HtmlDocument := WebBrowser1.Document as IHtmlDocument2;
 htmlElement :=HtmlDocument.body;
 s := htmlElement.innerText;
 n1 := Pos('[D7, XP]', s);
 n2 := Pos('âåðñèÿ äëÿ ïå÷àòè', s);
 s := Copy(s, n1, n2-n1);
 ShowMessage( trim(s) );
end;


Rockvik   (2012-05-22 13:26:00) [8]

Спасибо. Попробую.


ProgRAMmer Dimonych   (2012-05-22 13:12:00) [9]

1. Можно попробовать копать в сторону TWebBrowser. Подгружать с его помощью страницу, анализировать полученное.

2. Если не надо отображать саму страницу, можно загружать её самостоятельно (сокеты или TIdHTTP, например), находить в ней нужную информацию, дальше аналогично.


Rockvik   (2012-05-22 13:01:00) [10]

Не принципиально. Можно и с подгруженной страници.  Это даже лучший вариант.


ProgRAMmer Dimonych   (2012-05-22 10:40:00) [11]

Принципиально в браузере? Или на странице, которую можно подгрузить Delphi-программой?


Наверх

Титульная страница Поиск, карта сайта Написать письмо