Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Замена ссылок в TWebBrowser. 
:(
    Опции темы
Borland_Delphi_6
Дата 20.3.2004, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



Есть компанент TWebBrowser. В него загружается из Инета некая страничка с картинками. Адреса картинок начинатся с http://nekij_sait.ru. Но на локальном диске, в папке с программой есть те же картинки. Вопрос: как сделать так, чтобы все картинки, адрес которых начинается с "http://nekij_sait.ru", браузер загружал не с Инета, а с диска?


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
p0s0l
Дата 20.3.2004, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Можно попробовать так:
на событие OnBeforeNavigate повесить в ручную закачку html-файла (через тот же idHTTP), в закаченом файлике все ссылки переделать нужным образом, и в конце события подменить URL на файл с винта.



--------------------
С уважением, г-н Посол.
PM   Вверх
Borland_Delphi_6
Дата 20.3.2004, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



Хм... Мудрено... В принципе, наверно ничего больше и нельзя придумать, но:
1. Тормознуто выйдет
2. Все ссылки я сам переделать не смогу


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
p0s0l
Дата 20.3.2004, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



1. Почему ? Файл с винта открывается мигом (я имею в виду сам html). А качать html из инета всё равно придется так и так. Только тут будешь качать ты, а не WebBrowser. Если скорость и будет отличаться, то на микроны, имхо.
2. Почему ?

Ну если придумаешь еще что-то, то скажи.



--------------------
С уважением, г-н Посол.
PM   Вверх
Borland_Delphi_6
Дата 20.3.2004, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



p0s0l
ХЫ! Быстро ты седня отвечаешь! wink.gif
Ну, раз на микроны ...
2. Нужен только алгоритм переделывания ссылок. Ты говорил, что каким-то проектом занимаешься, как там с ним? Если сможешь помочь, буду очень признателен biggrin.gif
2ALL: Кто нить может придумать, как все эти ссылки переделать?


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
p0s0l
Дата 21.3.2004, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



А какой там алгоритм ? Т.к. ты делаешь просмотрщик IPB-форума, то ссылки на свои картинки там относительные, т.е. без "http://", и если подумать, то ничего менять и не надо.
Пример: в html-е есть такое <img src="style_images/1/logo.gif" ... />. Если ты сохранишь html в папку "c:\MyTemp", то картинка будет браться из "c:\MyTemp\style_images\1\logo.gif".
А все гиперссылки там с http://, поэтому их менять не надо.
Через IdHTTP взять файл можно так:
Код
 idhttp1.Host := 'www.forum.vingrad.ru';
 Memo1.Text := idhttp1.Get('http://www.forum.vingrad.ru/index.php');

Хотя посмотри html повнимательнее, может я что-то и путаю...


--------------------
С уважением, г-н Посол.
PM   Вверх
Borland_Delphi_6
Дата 22.3.2004, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



Да, ссылки действительно оказались относительными, это упрощает дело.
Но вот я попробовал использовать компонент NMHTTP из вкладки FastNet.
Оказалось, что результат работы php скриптов он сохранять не собирается. А как насчет idhttp? Я такого не знаю, у меня нету его. p0s0l, может попробуешь сохранить им страницу на php?



--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
p0s0l
Дата 22.3.2004, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Пробовал - с Винграда берет (пример который привел в прошлом посту). А компоненты Indy - в D7 по-крайней мере есть, насчет D6 - не знаю, а в D5 точно нет.



--------------------
С уважением, г-н Посол.
PM   Вверх
Borland_Delphi_6
Дата 22.3.2004, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



Так, компонент нужный нашел. С Invision Board работает нормально, но мне это все равно пока не нужно. Попробовал с LDU, результат:
Цитата
'Invalid argument to date encode'.

Пример скрипта LDU на моем сайте. ( главная страница )


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
Borland_Delphi_6
Дата 22.3.2004, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



Еще траблы. Делаю так:
Код
AssignFile(f, 'test.txt');
Rewrite(f);
writeln(f, idhttp1.Get(WebBrowser1.LocationURL));

Но на странице about:blank дает ошибку, на других пока не пробовал.
И еще: для чего нужно значение "Host"


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
p0s0l
Дата 22.3.2004, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Модератор: Пожалуйста, один топик - один вопрос.

Host - имя хоста, ему будут посылаться запросы...

С LDU тоже работает:
Код
idhttp1.Host := 'code.pp.ru';
 idhttp1.Connect;
 label1.caption := idhttp1.Get('http://code.pp.ru/plug.php?p=toprated');




--------------------
С уважением, г-н Посол.
PM   Вверх
Borland_Delphi_6
Дата 22.3.2004, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



У меня не работает. На индексе точно не работает.
2. Можт и оффтоп, но рискну... без host тоже работает. Нафига он тогда?

Это сообщение отредактировал(а) Borland_Delphi_6 - 22.3.2004, 20:45


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
Borland_Delphi_6
  Дата 23.3.2004, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



p0s0l
Я кое-что выяснил: с LDU работает, но почему-то не всегда: сегодня на локалхосте работало, через пять минут, без всякого изменения кода программы и LDU начало выдавать ошибку sad.gif

Еще один биг трабл:

Сделал так, чтобы сначала код страницы загружался в Memo, как ты и написал. Потом сделал сохранение кода в файл:
Код

AssignFile(f, Edit1.text);
Rewrite(f);
Writeln(f, Memo1.Text);
Close(f);

Причем в Edit1.Text прописанно: test.txt

На этом этапе все нормально, но дальше делаю следующим образом:

Код


WebBrowser1.Navigate(Edit1.text);

По-идеи должен открываться только что сохраненный файл, но вместо этого зависает сначала Delphi и приложение, а вслед за ними и вся система ! Че за?..

user posted image user posted image user posted image user posted image

Это сообщение отредактировал(а) Borland_Delphi_6 - 23.3.2004, 16:59


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
Borland_Delphi_6
Дата 23.3.2004, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: нет
Всего: 20



Ох, сколько сего интересного выяснилось! =))) В общем, есть у меня программка, дописал щас, которая даже с LDU начала работать. Но самое интересное, что при запуске из под Делфи и заходе ей на LDU выдается ошибка (см. выше), а если просто ехе запустить, то все ок smile.gif Ну да фиг с ним.
2p0s0l
Но вот незадача: все ссылки ( links.php, page.php и т.д. ) тоже оказались относительными! butbut.gif Можно ли чего придумать в этом случае? Я конечно могу подредактировать код сайта, но этого делать не хочется из-за некоторых причин, которые я здесь называть не буду, хотя, если уж совсем припрет...
Добавлено @ 19:58
Да, кстати, скорость загрузки уже намного выше! thumbs-up.gif


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
p0s0l
Дата 24.3.2004, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Насчет относительных ссылок:
1. Перед тем, как сохранить файл, заменяй все ссылки типа href=<адрес> на href=http://code.pp.ru/<адрес>. Кроме href есть еще какие-то, но я в этом плохо шарю... Поэтому лучше смотри 2.
2. Или же ничего не меняй, а опять же в OnBeforeNavigate смотри, если адрес (URL) неправильный - то подправляй (URL можно менять d OnBeforeNavigate).



--------------------
С уважением, г-н Посол.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0586 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.