HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

TWebBrowser komponensben megjelenített weboldal mentése HTML fájlba


Példaprogram letöltése

5499 bájt

Saját Delphi alkalmazásunkban könnyedén megjeleníthetünk HTML oldalakat a TWebBrowser komponens segítségével. Ezt felhasználva akár saját Internet-böngészőt is készíthetünk, amelynek tudása az Internet Explorer tudásával megegyezhet. Ebben a példában annak járunk utána, hogy a TWebBrowser-ben megjelenített weboldal tartalmát hogyan tudjuk elmenteni egy HTML fájlba.

A feladat megoldásához elsősorban szükség van egy TWebBrowser komponensre, amelyben a weboldalakat megjelenítjük. A komponensben megjelenítendő oldal címét, vagy a fájl nevét a Navigate eljárással adhatjuk át a komponensnek.
  WebBrowser1.Navigate(Edit1.Text);
Ahhoz hogy a dokumentumhoz hozzáférjünk, le kell kérdeznünk a megjelenített dokumentum IHTMLDocument2 típusú objektumát. Ez egy interfész, amin keresztül a dokumentumot kezelhetjük. A lekérdezés a komponens QueryInterface függvényével történik az alábbi módon:
var
  doc: IHTMLDocument2;
...
if Succeeded(WebBrowser1.Document.QueryInterface(IID_IHTMLDocument2, doc)) then begin
Ha az objektum lekérdezése sikeres volt, akkor a Succeeded függvény visszatérési értéke igaz. Szükségünk lesz még egy IPersistFile interfészre is, amihez a dokumentum interfészén keresztül juthatunk hozzá. A lekérdezéshez tudnunk kell az interfész IID azonosítóját, ezt konstansként deklaráljuk:
const
  IID_IPersistFile: TGUID = '{0000010b-0000-0000-C000-000000000046}';
A lekérdezés az előbbihez hasonló, de a doc objektum QueryInterface függvényével történik az alábbi módon:
if Succeeded(doc.QueryInterface(IID_IPersistFile, pf)) then begin
Ha megkaptuk az interfészt, akkor ennek Save függvényével elmenthetjük a megjelenített dokumentumot.
Save
Osztály: IPersistFile
function Save(
pszFileName: POleStr;
fRemember: BOOL
): HResult; stdcall;
Az objektumhoz tartozó információkat menti el a paraméterként megadott fájlba.
Paraméterek
pszFileName: POleStr
Ebben a paraméterben kell megadni a fájl nevét.
fRemember: BOOL
A mentés kétféleképpen történhet meg. Az egyik, amikor a dokumentumban változtatások történtek, és ez mentjük el, és jelezzük, hogy az utolsó változtatások mentésre kerültek. A másik lehetőség, amikor az objektumot egy másik fájlba mentjük el, így az utolsó mentés utáni módosítások az eredeti fájlban nem lettek eltárolva. Az IPersistFile interfész IsDirty függvényének visszatérési értéke adja meg, hogy az utolsó változtatások el lettek-e mentve, vagy sem.
Ha az fRemember paraméter igaz, akkor a Dirty flag törlésre kerül (1. mentési módszer), ellenkező esetben pedig nem változik.
Visszatérési érték
A visszatérési érték S_OK, ha a mentés sikeres volt, és E_FAIL, ha nem.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 220. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |