Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.05.2009, 21:26
1DarkAngel1 1DarkAngel1 вне форума
Прохожий
 
Регистрация: 12.05.2009
Сообщения: 15
Репутация: 10
По умолчанию Вопрос о показе части сайта

Здравствуйте уважаемые пользователи.Нужна ваша помощь. Как на делфи это реализовать: Допустим есть сайт(неважно какой), на этом сайте есть информация(Любая, например текст погоды).Смысл в том что эта информация занимает очень малую часть сайта. Вопрос: Как на делфи вывести именно тот кусок сайта, который мне нужен.Не выводя при этом весь сайт
Спасибо
Ответить с цитированием
  #2  
Старый 14.05.2009, 21:03
1DarkAngel1 1DarkAngel1 вне форума
Прохожий
 
Регистрация: 12.05.2009
Сообщения: 15
Репутация: 10
По умолчанию

Собственно ап! Извините уж, просто очень нужно решение этой проблемы
Ответить с цитированием
  #3  
Старый 15.05.2009, 12:40
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

1. Получаем страницу. (GetInetFile мелькала в FAQ)
2. Загружаем в стринглист.
3. Ищем нужную часть по заголовку, строкам или ещё чему. Не забываем, что страница содержит кроме текста ещё и HTML теги.
4. Сохраняем в файл.
5. Через TWebBrowser выкидываем на форму.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #4  
Старый 15.05.2009, 14:35
1DarkAngel1 1DarkAngel1 вне форума
Прохожий
 
Регистрация: 12.05.2009
Сообщения: 15
Репутация: 10
По умолчанию

DJ PhoeniX Спасибо, вроде алгоритм понятен
PS Разве через GetInetFile можно загрузить страницу? Мне казалось что только файлы. Может можно сделать как нить через indy или Synapse?
PPS Чтото не получается получить страницу. Может есть исходник?

Последний раз редактировалось 1DarkAngel1, 15.05.2009 в 21:08.
Ответить с цитированием
  #5  
Старый 17.05.2009, 21:17
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Какой части исходник? Это?
Код:
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;
HTML-страницы - это такие же файлы. Если надо получить PHP/ASP-файл - ничего не меняется, только для простоты меняй расширение на html.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #6  
Старый 18.05.2009, 15:38
1DarkAngel1 1DarkAngel1 вне форума
Прохожий
 
Регистрация: 12.05.2009
Сообщения: 15
Репутация: 10
По умолчанию

Так с эти более менее разобрался. Но проблема, когда скачиваю страницы у них вместо русских символов каракозябры. Как это исправить?
Ответить с цитированием
  #7  
Старый 18.05.2009, 16:09
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Видимо сайт в UTF... Для перекодирования была функция, а вот где - хз... пояндекси
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #8  
Старый 19.05.2009, 15:40
1DarkAngel1 1DarkAngel1 вне форума
Прохожий
 
Регистрация: 12.05.2009
Сообщения: 15
Репутация: 10
По умолчанию

Все нашел. Теперь еще два вопроса:
Как можно изменять размеры TWebbrowser во время работы приложения?
И как убрать ползунки у TWebbrowser?
Спасибо
Ответить с цитированием
  #9  
Старый 19.05.2009, 19:24
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

РАЗ:
Код:
  WebBrowser1.Width:= ... ; // вместо многоточия ширину...
  WebBrewser1.Height:= ... ; // ...и высоту
ДВА:
Копайся в ДелфиВорлде, была статья про убирание скроллов...
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #10  
Старый 19.05.2009, 20:24
1DarkAngel1 1DarkAngel1 вне форума
Прохожий
 
Регистрация: 12.05.2009
Сообщения: 15
Репутация: 10
По умолчанию

Хех спасибо. Но я немного другое хотел. Типа взял за уголок перетащил и изменил тем самым размеры
Ответить с цитированием
  #11  
Старый 20.05.2009, 13:20
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Это уже надо с мышью играть... Как - не ко мне. Хотя, могу попробовать накидать что-либо похожее... Но двумя строчками кода это не обойдётся.


===========
Или, как вариант, поставить
Код:
WebBrowser1.Align:=alClient;
и он будет менять размеры вместе с формой.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj

Последний раз редактировалось PhoeniX, 20.05.2009 в 13:25.
Ответить с цитированием
  #12  
Старый 20.05.2009, 13:33
1DarkAngel1 1DarkAngel1 вне форума
Прохожий
 
Регистрация: 12.05.2009
Сообщения: 15
Репутация: 10
По умолчанию

Цитата:
Это уже надо с мышью играть... Как - не ко мне. Хотя, могу попробовать накидать что-либо похожее... Но двумя строчками кода это не обойдётся.
Попробуй пожалуйсто накидать. Не важно сколько строчек

Цитата:
WebBrowser1.Align:=alClient;

Хмммммм может пока что нибудь из этого сделать попробую.
Ответить с цитированием
  #13  
Старый 22.05.2009, 19:04
1DarkAngel1 1DarkAngel1 вне форума
Прохожий
 
Регистрация: 12.05.2009
Сообщения: 15
Репутация: 10
По умолчанию

Редактирование размера окон во время работы приложения я сделал теперь чтото с скролл баром. Сделал 4 кнопки. 2 включения и 2 выключения скроллов. 3 работают прекрасно(Показ Х, скрыть Y, скрыть Х).
А вот Y показываться никак не хочет. Делал через
Цитата:
WebBrowser1.OleObject.Document.Body.Style.Overflow X := 'hidden';
WebBrowser1.OleObject.Document.Body.Style.Overflow Y := 'hidden';
WebBrowser1.OleObject.Document.Body.Style.Overflow X := 'visible';
WebBrowser1.OleObject.Document.Body.Style.Overflow Y := 'visible';
Естесственно каждая строка на свою кнопку. Вопрос: Как же всетаки показать скролл Y?
Ответить с цитированием
  #14  
Старый 23.05.2009, 02:25
Аватар для Casper-Hacker
Casper-Hacker Casper-Hacker вне форума
Начинающий
 
Регистрация: 19.05.2008
Сообщения: 147
Версия Delphi: x
Репутация: 15
По умолчанию

Во общем берешь компонент IDHTTP
Пишешь:
Код:
переменная:=idhttp1.get('http://nanoteam.net');
исщещь нужный тебе кусок html и путем pos и delete удаляешь ненужное, а затем загружаешь хоть в лабел хоть куда...

Последний раз редактировалось Casper-Hacker, 28.05.2009 в 00:47.
Ответить с цитированием
  #15  
Старый 23.05.2009, 13:34
1DarkAngel1 1DarkAngel1 вне форума
Прохожий
 
Регистрация: 12.05.2009
Сообщения: 15
Репутация: 10
По умолчанию

Casper-Hacker спасибо но я уже немного по другому сделал. Сначало получил страницу, потом выбрал нужную часть, потом сохранил как jpeg.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:11.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter