Сейчас на форуме: tyns777 (+5 невидимых)

 eXeL@B —› Программирование —› Помогите перевести небольшой код с Delphi на Visual Basic
Посл.ответ Сообщение


Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 03 сентября 2007 21:47
· Личное сообщение · #1

Помогите перевести на Visual Basic 5.0 код:

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
controlRange: olevariant;
begin
OleInitialize(nil);
controlRange:=WebBrowser1.OleObject.document.body.createControlRange;
controlRange.add(WebBrowser1.OleObject.document.images.item(3));
controlRange.execCommand('Copy', False, EmptyParam);
if ClipBoard.HasFormat(CF_BITMAP) then Image1.Picture.Bitmap.LoadFromClipboardFormat(cf_BitMap, ClipBoard.GetAsHandle(cf_Bitmap), 0);
OleUninitialize;
end;


По окончании загрузки странички этот код копирует третью картинку и вставляет её в Image.
На VB сделать не получается... Если кто посоветует более красивый аналог данного действия - буду очень признателен.




Ранг: 111.1 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 05 сентября 2007 03:22
· Личное сообщение · #2

Лови пример.
Состряпано левой ногой за 5 минут. Может и не идеальный вариант, но первое что пришло в голову.

bb09_04.09.2007_CRACKLAB.rU.tgz - html.rar

-----
The truth is out of there...





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 05 сентября 2007 08:09
· Личное сообщение · #3

Lumen - Спасибо за код, находил подобный способ (повторная загрузка картинки), но упрямо хотел сделать по другому. Хотя попробовав твой пример понял, что работает отлично. К тому же наверняка он не повторно грузит из инета, а использует кэш. Спасибо ещё раз !
На всякий случай, если кто то захочет дополнить или прокомментировать, привожу твой код:

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim mDoc As HTMLDocument
Dim i As HTMLImg
Set mDoc = WebBrowser1.Document
Set i = mDoc.images(1)
URLDownloadToFile 0, i.src, App.Path + "" + "temp.tmp", 0, 0
Picture1.Picture = LoadPicture(App.Path + "" + "temp.tmp")
End Sub





Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 05 сентября 2007 08:25 · Поправил: Maximus
· Личное сообщение · #4

ToBad а на дельфи тоже можно использовать URLDownloadToFile. Да и для скачки HTML можно использовать эту же команду... И не обязательно для этого использовать WebBrowser

-----
StarForce и Themida ацтой!





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 05 сентября 2007 14:11
· Личное сообщение · #5

Maximus пишет:
а на дельфи тоже можно использовать URLDownloadToFile. Да и для скачки HTML можно использовать эту же команду... И не обязательно для этого использовать WebBrowser


Понимаю. Просто целью было добиться этого на VB. А когда не получилось написать подобный код (таким же методом), возник вопрос почему так не получается на VB ... Как я понимаю компонент WebBrowser - тот же. Что то наверное с механизмами OLE...


 eXeL@B —› Программирование —› Помогите перевести небольшой код с Delphi на Visual Basic
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати