![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с WinInet
MASTAFA © (2007-05-10 17:43:00)Вот с горем пополам написал код открытия странички и считывания ее исходного кода(по-крайней мере я так получилось :D). Но вся беда в том, что я не знаю как сделать, чтобы прога брала не код странички, а определенную информацию с нее. То бишь у меня есть сайт http://www.informtest.narod.ru/, где каждую секунду появляется случайное число и мне его надо считать и показать в моей проге.
function DownloadURL(const aUrl: string): Boolean;
var
hSession: HINTERNET;
hService: HINTERNET;
lpBuffer: array[0..1024 + 1] of Char;
dwBytesRead: DWORD;
begin
Result := False;
// hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
hSession := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
if Assigned(hSession) then
begin
hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, 0, 0);
if Assigned(hService) then
try
while True do
begin
dwBytesRead := 1024;
InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead);
if dwBytesRead = 0 then break;
lpBuffer[dwBytesRead] := #0;
Form1.Memo1.Lines.Add(lpBuffer);
end;
Result := True;
finally
InternetCloseHandle(hService);
end;
end;
finally
InternetCloseHandle(hSession);
end;
end;
MASTAFA (2007-05-12 12:28:00) [1]Все понял. Спасибо большое за то, что помогли разобраться!
palva (2007-05-12 09:47:00) [2]> как сделать, чтобы прога брала не код странички, а определенную информацию с нее
Если информация на страничке есть, то страничку надо разобрать и эту информацию извлечь. В вашем случае информации на страничке просто нет. Случайные числа генерируются клиентским скриптом. Для того чтобы скрипт выполнялся, проще всего использовать браузер, а не WinInet. Если вы не хотите использовать браузер, то попробуйте подключить какой-нибудь интерпретатор JavaScript
Cobalt (2007-05-12 03:41:00) [3]2 MASTAFA ©
вместо скрипта (который работает не "на страничке", а в браузере) используй другой способ вывода в страничку конкретных данных:
cgi-bin, asp, isapi.
И будет тебе счастье!
MASTAFA (2007-05-11 17:24:00) [4]Актуально
MASTAFA (2007-05-11 13:55:00) [5]
> ищите число в тексте Мемо
Нет, так не получится. Невозможно же с помощью текста программы калькулятора производить математические операции.
iXT (2007-05-11 11:04:00) [6]Не найдет он в тексте не какое число!
JavaScrypt работает на стороне клиента! (Сайт у тебя ничего не генерирует)
Читать [3] заново!
umbra (2007-05-11 10:52:00) [7]ищите число в тексте Мемо
clickmaker (2007-05-11 10:50:00) [8]если мне вдруг понадобится случайное число, то попробую. Пока без надобности
MASTAFA (2007-05-11 10:42:00) [9]Чтобы получить ответ на свой вопрос
> и в чем сложности?
clickmaker (2007-05-11 10:40:00) [10]
> Попробуйте с помощью этого кода получить уже упоминавшееся
> случайное число
а нафик оно мне сдалось?
MASTAFA (2007-05-11 10:38:00) [11]
> И потом, число появляется не на сайте, а у тебя на компе.
> С таким же успехом можешь юзать датчик сл. чисел!
Датчик сл. чисел не подходит, т.к. к примеру проги берущие инфу с сайта погоды не показывают же случайные другие числа.
> А зачем, если не секрет?
А случайные числа я сделал лишь потому, что мне нужна некая абстрактная модель странички с изменяющимися данными.
> и в чем сложности?
Попробуйте с помощью этого кода получить уже упоминавшееся случайное число с сайта informtest.narod.ru
iXT (2007-05-10 18:16:00) [12]И потом, число появляется не на сайте, а у тебя на компе. С таким же успехом можешь юзать датчик сл. чисел!
clickmaker (2007-05-10 18:12:00) [13]
> чтобы прога брала не код странички, а определенную информацию
> с нее
и в чем сложности?
iXT (2007-05-10 18:01:00) [14]> где каждую секунду появляется случайное число и мне его
> надо считать и показать в моей проге
А зачем, если не секрет?