Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.25;
Скачать: CL | DM;

Вниз

Извращенства с WebBrowser   Найти похожие ветки 

 
Checist [root]   (2003-08-14 01:55) [0]

У меня на форме есть WebBrowser1. В нем загружена web страница, в которой всего одна картинка и больше ничего. Нужно эту картинку загрузить в Image1, а в Label1 бросить ее имя. Как бы мне это замутить. Забросьте соурс.


 
Checist [root]   (2003-08-14 02:25) [1]

Ну, чего не кто не знает? :(


 
Vulko ©   (2003-08-14 02:41) [2]

лучше получи сорс страницы (inHTTP.get(url):string), и в нем найди ссылку на картинку, и тем же inHTTP в поток, а поток в Image


 
Checist [root]   (2003-08-14 02:52) [3]

Соурс я допустим получил в ListBox1. Делее ищу по scr, но там ссылка может быть либо полная либо относительная - как быть.


 
Vulko ©   (2003-08-14 03:04) [4]

Зачем в листбокс? Надо хотя бы в мемо, а лучше в стринглист.

> но там ссылка может быть либо полная либо относительная
> - как быть.

Парсить.


 
Checist [root]   (2003-08-14 03:09) [5]

Что есть парсить?
// Чем отличается Мемо от ЛистБокса


 
Vulko ©   (2003-08-14 03:19) [6]

ТЕм, что листбокс - это список, а мемо многострочный редактор.

Парсить, значит если путь относит., то превратить его в абсолютный.


 
Checist [root]   (2003-08-14 03:21) [7]

Ну, и как это проделать?


 
Vulko ©   (2003-08-14 03:40) [8]

Посмотри в хелпе Insert - и всё станет ясно.


 
SergP ©   (2003-08-14 03:44) [9]

Кто-то (не помню кто) предлагал делать таким образом (я просто повторю что он написал):

var
Doc: Variant;
src: String;
begin
Doc := WB.DefaultInterface.Document;
src := Doc.images.item(0, "").src;
end;

после этого в src должена быть абсолютная ссылка.


 
Checist [root]   (2003-08-14 03:46) [10]

WB.DefaultInterface.Document - это что?


 
Vulko ©   (2003-08-14 03:56) [11]

WebBrowser.DefaultInterface.Document - это вроде оле объект...


 
Checist [root]   (2003-08-14 04:01) [12]

Ага, значит на форме должен быть WebBrowser - понял.
А вот еще - зная адресс картинки могу я ее загрузить из куков, или сам Win при запросе сунет мне ее?

Зы - в WebBrowse должнабыть загружена данная веб страница


 
SergP ©   (2003-08-14 04:27) [13]


> Checist [root] (14.08.03 01:55)
> У меня на форме есть WebBrowser1. В нем загружена web страница,
> в которой всего одна картинка и больше ничего. Нужно эту
> картинку загрузить в Image1, а в Label1 бросить ее имя.
> Как бы мне это замутить. Забросьте соурс.


> Checist [root] (14.08.03 04:01) [12]
> Ага, значит на форме должен быть WebBrowser - понял.
> А вот еще - зная адресс картинки могу я ее загрузить из
> куков, или сам Win при запросе сунет мне ее?
>
> Зы - в WebBrowse должнабыть загружена данная веб страница


Почитай свой первый пости последний.
Ты же сам пишешь что на форме есть TWebBrowser, и что в него загружена страница, а в последнем спрашиваешь или должен быть TWebBrowser и или в него должна быть загружена страница....!!!!

А насчет того чтобы загрузить картинку из темпорарей - не знаю. Загрузи ее заново из инета.
Правда смотря для чего ты хочешь использовать то о чем спрашиваешь. А то есть такие сайты, которые при каждой загрузке картинки меняют ее. Ну вобщем ты понял о чем это я...

Есть еще вариант копирования содержимого TWebBrowser в TImage.
Типа получаем в TImage копию того что видем в TWebbrowser"е.

Вот нашел кусок кода что я использовал в одной из своих прог.

procedure TForm1.getbrimage;
var
ViewObject: IViewObject;
begin
try
Webbrowser1.Document.QueryInterface(IViewObject, ViewObject);
try
ViewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Self.Handle,
image1.Canvas.Handle, nil, nil, nil, 0);
finally
ViewObject._Release;
end;
except
end;
image1.Refresh;
end;


 
Vulko ©   (2003-08-14 04:29) [14]


> WebBrowse должнабыть загружена данная веб страница

да


> могу я ее загрузить из куков

в куках хранится лишь текстовая инфа...


 
Checist [root]   (2003-08-14 04:36) [15]

Спасибо, но блин грузить сново фотку это дико и долго (если их штук 20).


 
Checist [root]   (2003-08-14 04:40) [16]

Как я зная, в TIF (Temporary Internet Files)валяются все обьекты загруженные инет и картинки тоже. Так вот если картинка уще загружена могу ли я обратиться к ней в Tif, а не на узел.
Можно ли грузить в WB не саму страницу, а лишь ее хтмл код.


 
Vulko ©   (2003-08-14 04:42) [17]


> Спасибо, но блин грузить сново фотку это дико и долго (если
> их штук 20).


Тогда


> лучше получи сорс страницы (inHTTP.get(url):string), и в
> нем найди ссылку на картинку, и тем же inHTTP в поток, а
> поток в Image


 
Vulko ©   (2003-08-14 04:46) [18]


> Как я зная, в TIF (Temporary Internet Files)валяются все
> обьекты загруженные инет и картинки тоже. Так вот если картинка
> уще загружена могу ли я обратиться к ней в Tif, а не на
> узел.
> Можно ли грузить в WB не саму страницу, а лишь ее хтмл код.

Дело в том, что ie называет всё такими именами, что тебе и не снилось!!! =((((


 
Checist [root]   (2003-08-14 04:49) [19]

Посредством IHTMLImgElement.Get_href получить урл картинки - OK

При помощи GetUrlCacheEntryInfo выудить имя файла в кеше
А вот как это мутить не имею представления!


 
Checist [root]   (2003-08-14 04:56) [20]

Не пойму, что это за inHTTP ?


 
Vulko ©   (2003-08-14 05:25) [21]

это инди клиент.


 
SergP ©   (2003-08-14 10:08) [22]


> Checist [root] (14.08.03 04:40) [16]
> Как я зная, в TIF (Temporary Internet Files)валяются все
> обьекты загруженные инет и картинки тоже. Так вот если картинка
> уще загружена могу ли я обратиться к ней в Tif, а не на
> узел.
> Можно ли грузить в WB не саму страницу, а лишь ее хтмл код.


Просто отключи тогда загрузку графики и грузи. не будешь тратить трафик дважды на одну и ту же страничку. Не знаю как с TWebBrowser, но поставь себе TEmbeddedWB, там отключение графики делается очень просто.

А вообще я бы в твоем случае не пользовался бы TWebBrowser, а скачал бы сначала html, разобрал его, нашел URL картинки, если он относительный, то преобразовал бы его в абсолютный и далее скачал бы саму картинку. И для этого использовал бы TNMHTTP или его INDYйский "аналог" TidHTTP.



Страницы: 1 вся ветка

Текущий архив: 2003.08.25;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.032 c
1-81701
Manfred
2003-08-11 08:32
2003.08.25
Файл qtintf70.dll


14-81965
Gogerman
2003-08-06 16:49
2003.08.25
Нужно получить разницу переменных типа TDateTime в часах.


1-81661
edicon
2003-08-12 00:42
2003.08.25
Мышь...


1-81690
Winni
2003-08-11 14:15
2003.08.25
Проблемы с кириллицей при компиляции .RTF --> .HLP (HCW.exe)


14-81875
kaif
2003-08-07 19:20
2003.08.25
Ссылочная целостность...