Az alkalmazás indulásakor betöltünk egy weblapot. Ehhez a TWebBrowser komponens Navigate2 metódusát használjuk, annak első paraméterében megadva a betöltendő URL-t.
var Url, Flags, TargetFrameName, PostData, Headers: OleVariant;
begin
Url := 'http://www.animare.hu';
WebBrowser1.Navigate2(Url, Flags, TargetFrameName, PostData, Headers);
end;
Amikor egy tetszőleges szövegrészt kiemelünk, akkor elegendő megnyomnunk a BEOLVAS gombot, és a kijelölt szöveg megjelenik a böngészőkomponens alatt elhelyezett TMemo komponensben.
A szöveg lekérdezéséhez a projektünkhöz kell adni a MSHTML unit-ot, melyben a szükséges osztályok és metódusok elérhetők.
A unit-ban megtalálható típusok közül az IHTMLDocument2, az IHTMLSelectionObject és az IHtmlTxtRange objektumokra van szükségünk a művelet elvégzéséhez.
A TWebBrowser komponens rendelkezik egy Document property-vel, mely visszaadja a betöltött HTML lap „document” objektumát. Ezen keresztül pedig eljuthatunk a kijelölt szöveg szintjére. Első lépésben lekérdezzük ezt az objektumot.
var
doc: IHTMLDocument2;
sObj: IHTMLSelectionObject;
sRange: IHtmlTxtRange;
sText: String;
begin
doc := WebBrowser1.Document as IHTMLDocument2;
A következő lépés, hogy egy IHTMLSelectionObject típusú objektumba kérdezzük le a kijelölt szöveget.
Majd a kijelölt szövegrészből képzünk egy IHtmlTxtRange típusú objektumot, melynek property-jei már a szükséges információkat szolgáltatják.
sRange := sObj.CreateRange as IHtmlTxtRange;
Amennyiben a jelölőnégyzet kijelölésével kérjük, a kijelölt szövegrész HTML-kódját is megkaphatjuk.
if checkBox1.Checked then
sText := sRange.htmlText
else
sText := sRange.text;
memo1.Text := sText;