![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем привет есть код
Код:
uses ExtCtrls, mshtml, OleCtrls, ClipBrd, SHDocVw, WinInet, shellapi, URLMon, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,JPEG; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; Memo1: TMemo; Button1: TButton; Button2: TButton; Image1: TImage; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); type IHTMLElementRender = interface(IUnknown) ['{3050F669-98B5-11CF-BB82-00AA00BDCE0B}'] function DrawToDC ( _hDC: HDC ): HResult; stdcall; end; private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function DownloadFile(SourceFile, DestFile: string): Boolean; begin try Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; except Result := False; end; end; procedure TForm1.Button1Click(Sender: TObject); const // URL Location SourceFile = 'ссылка на нужную картинку'; // Where to save the file DestFile = 'c:\temp\капча.gif'; begin if DownloadFile(SourceFile, DestFile) then begin ShowMessage('Download succesful!'); end else ShowMessage('Error while downloading ' + SourceFile) end; он выдерает капчу с ссылки,а как сделать так что бы он выдерал эту картинку сразу с браузера, а то капча меняется и картинки не соответствуют друг другу( Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#2
|
|||
|
|||
![]() Лезть в DOM в браузере и выуживать оттуда загруженную картинку.
|
#3
|
|||
|
|||
![]() а можно на примере?
Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#4
|
||||
|
||||
![]() поищи в моих сообщениях - недавно писал как сохранить картинки из браузера.
вот: http://www.delphisources.ru/forum/sh...6&postcount=25 кстати тема твоя))) Пишу программы за еду. __________________ Последний раз редактировалось NumLock, 09.02.2012 в 09:13. |
#5
|
|||
|
|||
![]() так,то оно так,но мне надо что бы только 1 картинку сохраняло а тут все, и к тому же в ХЕ почему то не пашет(
Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#6
|
||||
|
||||
![]() Цитата:
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#7
|
|||
|
|||
![]() =)
но я вообще без понятий как выдрать каптчу прям с браузера) поэтому и спрашиваю) Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#8
|
||||
|
||||
![]() У тебя есть код, который выдирает все изображения. Разберись, как он работает, и напиши свой, который выдирает только необходимое. Не можешь? Кругом-марш в раздел "Работа".
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#9
|
|||
|
|||
![]() Кто нибудь подскажитеее плззз
Ставь спасибо за спасибо! Помог?Ставь спасибо!Увидел пост? Поставь спасибо! |
#10
|
||||
|
||||
![]() Код:
function SaveBitmaps(AWebBrowser: TWebBrowser; APath: String; AStrings: TStrings = nil): Integer; var AHTMLDocument2: IHTMLDocument2; i: Integer; AHTMLImgElement: IHTMLImgElement; AHTMLElementRender: IHTMLElementRender; ABitmap: TBitmap; j: Integer; begin APath:=IncludeTrailingPathDelimiter(APath); AHTMLDocument2:=AWebBrowser.Document as IHTMLDocument2; Result:=AHTMLDocument2.images.length; j:=0; for i:=0 to Result-1 do begin AHTMLImgElement:=AHTMLDocument2.images.item(i, '') as IHTMLImgElement; if (AHTMLImgElement.width>0) and (AHTMLImgElement.height>0) then begin AHTMLElementRender:=AHTMLImgElement as IHTMLElementRender; ABitmap:=TBitmap.Create; try ABitmap.Width:=AHTMLImgElement.width; ABitmap.Height:=AHTMLImgElement.height; AHTMLElementRender.DrawToDC(ABitmap.Canvas.Handle); ABitmap.SaveToFile(APath+Format('%.8d.bmp', [j])); if AStrings<>nil then AStrings.Add(AHTMLImgElement.src); Inc(j); finally ABitmap.Free; end; end; end; Result:=j; end; Пишу программы за еду. __________________ |