, 19 2021 . 12:32
+
noobofthenoobs: . ( ) . . - twebbrowser memo - .
:
procedure TForm1.Button1Click(Sender: TObject); //
begin
webbrowser1.Tag:=0;
webbrowser1.Navigate('https://yandex.ru/images/search?source=collections&rpt=imageview&url='+memo1.Lines[0]); //
end;
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; const URL: OleVariant);
var doc:IHTMLDocument2;
begin
application.ProcessMessages;
if ((pdisp as iwebbrowser)= (ASender as TWebBrowser).DefaultInterface) then //,
begin
(Asender as twebbrowser).defaultInterface.Document.QueryInterface(IHtmlDocument2,doc);
parse_yandex(doc.body.innerHTML, memo2); // html- memo
(asender as Twebbrowser).tag:=(asender as Twebbrowser).tag+1; //tag , webbrowser
if (asender as Twebbrowser).tag/ ,
(asender as Twebbrowser).Navigate('https://yandex.ru/images/search?source=collections&rpt=imageview&url='+memo1.Lines[(asender as Twebbrowser).tag])
end;
end;
procedure tform1.parse_yandex(curhtml:string;memo:tmemo);
var
st,m, count,mparsestart,mparseend,curline:integer;
begin
m:=1;
count:=0;
memo.Lines.add('');
curline:=memo.Lines.Count-1;
st:=pos(', ',curhtml); //
while m>0 do
begin
count:=count+1;
m:=posex('Button2-Text',curhtml,st);
if m>0 then
begin
mparsestart:=m+14; //
mparseend:=posex('/span',curhtml,mparsestart)-1; //
memo.lines.BeginUpdate;
memo.Lines[curline]:=memo2.Lines[curline]+copy(curhtml,mparsestart,mparseend-mparsestart)+' ';
memo.lines.endUpdate;
st:=mparseend; // .
end;
end;
end;
, :
- - , ( , ).
- . 64 800-900 , , , 1.3-1.4 ( 16).
? - twebbrowser, - ?
https://forum.sources.ru/index.php?showtopic=421113&view=findpost&p=3843835
:
Delphi: