saulite
asked on
Simple web-browser
Hi. Can anyone send me a source of very simple web-brovser. (I don't want to use TWebBrowser component) Also i want to know, how can i add some function that downloads images.
listening
ASKER
Simonet.
It's a stupid Internet Explorer. I want to add my own effects, because i need to built my own browser. OkOk. I actually don't need source of displaying images. I just want to know how to download them.
It's a stupid Internet Explorer. I want to add my own effects, because i need to built my own browser. OkOk. I actually don't need source of displaying images. I just want to know how to download them.
ASKER
Edited text of question.
1. Look example from Delphi5 \Demos\CoolStuff.
2. Article -
http://www.delphizine.com/features/1998/08/di199808rl_f/di199808rl_f.aspAccessing the DOM from Delphi
The first step to accessing the DOM from Delphi is to import the interfaces defined in the INetSDK. Unfortunately, Delphi 3's Typelib import command cannot handle mshtml.dll where the interesting interfaces are defined. You'll need to download the 3.02 update from INPRISE's Delphi updates Web page (Maintenance release 2) and apply it on top of version 3.01. One of the modules installed by this release is tlibimp.exe in the \bin subdirectory of Delphi's installation. You'll need to execute this program from the command line and import mshtml.dll to create mshtml_tlb.pas. This file includes most of the interesting interfaces you need to access the DOM.
The IHtmlDocument2 interface is your entry point into the DOM. The WebBrowser control exposes this interface via the Document property. The following code will retrieve the interface in Delphi:
Document := WebBrowser.Document as IHtmlDocument2;
where Document has been defined as a variable of type IHtmlDocument2.
Assuming you have some content in the browser control, you can now start accessing the DOM and access the document's content. The code in Figure 4 accesses the document and prints all the tags found in the content to a memo control. It uses the IHtmlElementCollection and IHtmlElement interfaces.
procedure TForm1.Button2Click(Sender : TObject);
var
All: IHtmlElementCollection;
HtmlElement: IHtmlElement;
i: Integer;
begin
Document := WebBrowser.Document as IHtmlDocument2;
if (assigned(Document)) then
begin
All := Document.All;
Memo1.Lines.Clear;
for i := 0 to All.length - 1 do begin
HtmlElement := All.Item(i, 0) as IHtmlElement;
if (Assigned(HtmlElement)) then
Memo1.Lines.Add(IntToStr(i ) + ' ' +
HtmlElement.TagName);
end;
ShowMessage('Number of elements : ' +
IntToStr(All.Length));
end;
end;
Figure 4: Accessing the document and printing all tags to a memo control.
The IHtmlDocument2 interface exposes several collections you can use to access the content of the browser. This example uses the All property to access all the tags in the document. You can find more information on the interfaces exposed by IHtmlDocument2 in the INetSDK documentation. Search on "IHtmlDocument2" to get the information. (You'll also notice that the All property of the IHtmlDocument2 interface is the same as the All collection of the Document object, if you are using scripting code.) Figure 5 shows all the tags in homepage.html after "walking" the DOM
2. Article -
http://www.delphizine.com/features/1998/08/di199808rl_f/di199808rl_f.aspAccessing the DOM from Delphi
The first step to accessing the DOM from Delphi is to import the interfaces defined in the INetSDK. Unfortunately, Delphi 3's Typelib import command cannot handle mshtml.dll where the interesting interfaces are defined. You'll need to download the 3.02 update from INPRISE's Delphi updates Web page (Maintenance release 2) and apply it on top of version 3.01. One of the modules installed by this release is tlibimp.exe in the \bin subdirectory of Delphi's installation. You'll need to execute this program from the command line and import mshtml.dll to create mshtml_tlb.pas. This file includes most of the interesting interfaces you need to access the DOM.
The IHtmlDocument2 interface is your entry point into the DOM. The WebBrowser control exposes this interface via the Document property. The following code will retrieve the interface in Delphi:
Document := WebBrowser.Document as IHtmlDocument2;
where Document has been defined as a variable of type IHtmlDocument2.
Assuming you have some content in the browser control, you can now start accessing the DOM and access the document's content. The code in Figure 4 accesses the document and prints all the tags found in the content to a memo control. It uses the IHtmlElementCollection and IHtmlElement interfaces.
procedure TForm1.Button2Click(Sender
var
All: IHtmlElementCollection;
HtmlElement: IHtmlElement;
i: Integer;
begin
Document := WebBrowser.Document as IHtmlDocument2;
if (assigned(Document)) then
begin
All := Document.All;
Memo1.Lines.Clear;
for i := 0 to All.length - 1 do begin
HtmlElement := All.Item(i, 0) as IHtmlElement;
if (Assigned(HtmlElement)) then
Memo1.Lines.Add(IntToStr(i
HtmlElement.TagName);
end;
ShowMessage('Number of elements : ' +
IntToStr(All.Length));
end;
end;
Figure 4: Accessing the document and printing all tags to a memo control.
The IHtmlDocument2 interface exposes several collections you can use to access the content of the browser. This example uses the All property to access all the tags in the document. You can find more information on the interfaces exposed by IHtmlDocument2 in the INetSDK documentation. Search on "IHtmlDocument2" to get the information. (You'll also notice that the All property of the IHtmlDocument2 interface is the same as the All collection of the Document object, if you are using scripting code.) Figure 5 shows all the tags in homepage.html after "walking" the DOM
Sorry. I error.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
darkloser,
The user specifically no IE ("I don't want to use TWebBrowser component").
TWebBrowser is simply an encapsulation of Internet Explorer.
Alex
The user specifically no IE ("I don't want to use TWebBrowser component").
TWebBrowser is simply an encapsulation of Internet Explorer.
Alex
Why not?