![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте уважаемые пользователи.Нужна ваша помощь. Как на делфи это реализовать: Допустим есть сайт(неважно какой), на этом сайте есть информация(Любая, например текст погоды).Смысл в том что эта информация занимает очень малую часть сайта. Вопрос: Как на делфи вывести именно тот кусок сайта, который мне нужен.Не выводя при этом весь сайт
Спасибо |
|
#2
|
|||
|
|||
|
Собственно ап! Извините уж, просто очень нужно решение этой проблемы
|
|
#3
|
||||
|
||||
|
1. Получаем страницу. (GetInetFile мелькала в FAQ)
2. Загружаем в стринглист. 3. Ищем нужную часть по заголовку, строкам или ещё чему. Не забываем, что страница содержит кроме текста ещё и HTML теги. 4. Сохраняем в файл. 5. Через TWebBrowser выкидываем на форму. |
|
#4
|
|||
|
|||
|
DJ PhoeniX Спасибо, вроде алгоритм понятен
![]() PS Разве через GetInetFile можно загрузить страницу? Мне казалось что только файлы. Может можно сделать как нить через indy или Synapse? PPS Чтото не получается получить страницу. Может есть исходник? Последний раз редактировалось 1DarkAngel1, 15.05.2009 в 21:08. |
|
#5
|
||||
|
||||
|
Какой части исходник? Это?
Код:
uses WinInet;
function GetInetFile(const fileURL, FileName: string): boolean;
type
DWORD: LongWord; //Это чтоб лишних тяжеловесов не подключать
const
BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: file;
begin
hSession := InternetOpen(PChar('Mozilla'), //Вместо "Mozilla" ставь что хочешь
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; |
|
#6
|
|||
|
|||
|
Так с эти более менее разобрался. Но проблема, когда скачиваю страницы у них вместо русских символов каракозябры. Как это исправить?
|