Lagre en webside som HTML eller MHT ved hjelp av Delphi

Når du jobber med Delphi, TWebBrowser komponent lar deg lage en tilpasset Nettleser applikasjon eller legge til internett-, fil- og nettverkssøking, dokumentvisning og dataoverføringsfunksjoner til applikasjonene dine.

Hvordan lagre en webside fra TWebBrowser

Når du bruker Internet Explorer, har du lov til å se kildens HTML-kode for en side og lagre den siden som en fil på din lokale stasjon. Hvis du ser på en side du vil beholde, gå til File / Save As... menypost. I dialogboksen som åpnes har du flere filtyper som tilbys. Lagring av siden som en annen filtype vil påvirke hvordan siden lagres.

TWebBrowser-komponenten (som ligger på siden "Internett" i komponentpaletten) gir tilgang til nettleserfunksjonaliteten fra Delphi-applikasjoner. Generelt vil du aktivere lagring av en webside som vises i en WebBrowser som en HTML-fil på en disk.

Lagre en webside som en rå HTML

Hvis du bare vil lagre en webside som en rå HTML, vil du velge "Web Page, only HTML (* .htm, * .html)". Det vil rett og slett lagre kildens HTML-kode til den aktuelle siden på stasjonen din intakt. Denne handlingen vil IKKE lagre grafikken fra siden eller andre filer som er brukt på siden, noe som betyr at hvis du lastet filen tilbake fra den lokale disken, ville du se ødelagte bildekoblinger.

instagram viewer

Slik lagrer du en webside som rå HTML ved hjelp av Delphi-kode:

Bruksprøve:

Merknader

  • Grensesnittene IPersistStreamInit og IStream deklareres inne i ActiveX-enheten.
  • Nettsiden lagres som en rå HTML til WebBrowser1.html-filen i rotmappen til C-stasjonen.

MHT: Webarkiv, enkeltfil

Når du lagrer en webside som "Webarkiv, en enkelt fil (*. Mht)", lagres webdokumentet i HTML-formatet Multifunksjonell Internet Mail Extension HTML (MHTML) med filtypen .mht. Alle relative lenker på websiden blir gjenopprettet og det innebygde innholdet er inkludert i .mht-filen, i stedet for å bli lagret i en egen mappe (som tilfellet er med "Web Page, complete (* .htm, * .Html) ").

MHTML lar deg sende og motta websider og andre HTML-dokumenter ved hjelp av e-postprogrammer som Microsoft Outlook og Microsoft Outlook Express; eller til og med dine tilpassede Delphi-sendingsløsninger. MHTML lar deg legge inn bilder direkte i kroppen til e-postmeldingene dine i stedet for å knytte dem til meldingen.

Slik lagrer du en webside som en enkelt fil (MHT-format) ved hjelp av Delphi-kode:

Eksempelbruk:

Merk

  • _Stream-klassen er definert i ADODB_TLB-enheten som du sannsynligvis allerede har opprettet. IMessage- og IConfiguration-grensesnittkoden fra cdosys.dll-biblioteket. CDO står for Collaboration Data Objects - objektbiblioteker designet for å aktivere SMTP-meldinger.

CDO_TLB er en auto-generert enhet av Delphi. For å opprette den, velg "Importtypen bibliotek" fra hovedmenyen, velg "C: \ WINDOWS \ system32 \ cdosys.dll" og klikk deretter på "Opprett enhet" -knappen.

Ingen TWebBrowser

Du kan omskrive WB_SaveAs_MHT-prosedyren for å godta en URL-streng (ikke TWebBrowser) for å kunne lagre en webside direkte - ingen grunn til å bruke WebBrowser-komponenten. URLen fra WebBrowser blir hentet ved å bruke WB.LocationURL-egenskapen.

instagram story viewer