全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1846
推到 Plurk!
推到 Facebook!

請問使用TWebBrowser瀏覽網頁,怎麼將網頁存成*.mht

答題得分者是:hagar
iamjsn
初階會員


發表:78
回覆:95
積分:44
註冊:2002-08-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-23 12:17:09 IP:203.204.xxx.xxx 未訂閱
IE存檔時,可將網頁存成*.mht,不知用delphi是否也能達成這個功能 delphi能不能使用ie的這個存檔功能呢。因為我前兩天用版上下載的"myie2"工具也能將網頁存成*.mht,似乎是有物件能叫來做這個功能,不知有沒有人知道,謝謝。
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-23 12:59:13 IP:202.39.xxx.xxx 未訂閱
http://www.example-code.com/delphi/delphi_mht.asp
procedure TForm1.Button1Click(Sender: TObject);
var
  iMht : IChilkatMht;    begin
       iMht := MhtFactory1.CreateChilkatMht();
       iMht.UnlockComponent('UnlockCode');
       iMht.GetAndSaveMHT('http://www.nytimes.com','nytimes.mht');
end;
http://www.delphipages.com/tips/copyview.cfm?ID=209
Saving Full Internet Explorer pages as MHT...
This is a Delphi conversion of the routine contributed by Onega 
found at http://codeguru.earthweb.com/ieprogram/SaveWholePage.html
 
MrBaseball34
 
//***********************************************************************
// If you don't have these typelibs, import them.
//***********************************************************************
uses Winndows, ..., ADODB_TLB, CDO_TLB;
 
//***********************************************************************
// SaveWholePage -
//   Procedure to save entire web page as MHT file.
//
//   Parameters:
//   AURL - URL for file to be saved
//   AFileName - MHT FileName you want web page saves.
//   AView - Allows you to view the MHT in TWebBrowser
//   AViewer - WebBrowser control to view the page in.
//
//***********************************************************************
procedure SaveWholePage
  ( AURL:               String
  ; AFileName:       TFileName
  ; AView:              Boolean
  ; AViewer:           TWebBrowser
  );
var
  LMsg: IMessage;
  LConf: IConfiguration;
  LFlds: Fields;
  LStrm: _Stream;
begin
  LMsg := CoMessage.Create;
  LConf := CoConfiguration.Create;
  try
    LMsg.Configuration := LConf;
    LMsg.CreateMHTMLBody(AURL, cdoSuppressAll, '', '');
    LStrm := LMsg.GetStream;
    LStrm.SaveToFile(AFileName, adSaveCreateOverWrite);
  finally
    LMsg := nil;
    LConf := nil;
    LStrm := nil;
    if AView then
      AViewer.Navigate(AFileName);
  end;
end;
--- Everything I say is a lie. @>---
iamjsn
初階會員


發表:78
回覆:95
積分:44
註冊:2002-08-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-23 14:52:18 IP:203.204.xxx.xxx 未訂閱
想在請問一下hagar大大一下,上面你舉的兩個實作例子, 第一個裏面有用到一個元件TMhtFactory,不知有那裏可下載 第二個實作例子裏面有uses到一個單元CDO_TLB,不知那裏可下載,因為這個delphi7裏找不到說,謝謝
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-23 17:09:16 IP:202.39.xxx.xxx 未訂閱
1.http://www.example-code.com/delphi/step1.asp 下載 Chilkat Mail ActiveX, 網址內詳細說明 2.CDO_TLB.pas 部份, Project -> Import Type Library -> Microsoft CDO fow windows 2000 Library (Version 1.0) -> Create Unit --- Everything I say is a lie. @>---
iamjsn
初階會員


發表:78
回覆:95
積分:44
註冊:2002-08-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-23 19:35:36 IP:203.204.xxx.xxx 未訂閱
版主你真猛呀,因為不想裝元件,所以用了第二個方法已經成功試出來了,謝謝。
DB
一般會員


發表:0
回覆:2
積分:0
註冊:2002-03-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-07-07 17:34:52 IP:61.222.xxx.xxx 未訂閱
版主大大    CDO_TLB.pas 部份,好像有點問題,我查到的是  Project -> Import Type Library -> Microsoft CDO for Exchange 2000 (Version 1.0) -> Create Unit    http://www.delphipages.com/threads/thread.cfm?ID=108017&G=108011
系統時間:2024-05-17 17:35:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!