Link to home
Start Free TrialLog in
Avatar of saulite
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.
Avatar of simonet
simonet
Flag of Brazil image

>I don't want to use TWebBrowser

Why not?
Avatar of mhervais
mhervais

listening
Avatar of saulite

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.
Avatar of saulite

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

Sorry. I error.
ASKER CERTIFIED SOLUTION
Avatar of Mathias
Mathias
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
http://www.euromind.com/iedelphi

I think that is all that you search

best regards
darkloser,

The user specifically no IE ("I don't want to use TWebBrowser component").

TWebBrowser is simply an encapsulation of Internet Explorer.

Alex