国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

將網頁內容保存為字符串以及根據字符串顯示成網頁

2019-11-18 18:57:36
字體:
來源:轉載
供稿:網友

經常看到有人在論壇里問,如何將網頁內容保存為字符串以及根據字符串顯示成網頁。這里說說我的看法。

將網頁內容保存為字符串很簡單,只需(webbrowser1.Document as Ihtmldocument2).body.outerHtml一句就可得到網頁的html源碼,一個WideString型。如果考慮到要等ie下載完整個網頁后再保存為string可以這樣寫(在窗體中放置了一個memo控件以查看該頁面的html源碼)。

PRocedure tatonreg.readdocument;
var
  ipStream: IPersistStreamInit;
  MemoryStream: TMemoryStream;
begin
  ie為twebbrowser控件或為一個twebbrowser實例
  with ie do begin
    while (ReadyState <> READYSTATE_COMPLETE) and (not forms.application.Terminated) do
    Forms.Application.ProcessMessages;
    if Assigned(document) then begin
      MemoryStream := TMemoryStream.Create;
      try
      IpStream := document as IPersistStreamInit;
      if not Assigned(IpStream) then showmessage('錯誤') else
      if Succeeded(IpStream.save(TStreamadapter.Create(A), TRUE))
        then begin
          MemoryStream.Seek(0, 0);
          memo1.lines.LoadFromStream(A);
        end;
      except
      end;
      MemoryStream.Free;
    end;
  end;
end;

程序運行后memo1.text就是該網頁的源碼了。
twebbrowser控件不能直接根據字符串顯示成網頁,必須先把string轉成stream。

procedure tatonreg.loaddocument;
var
m:tmemorystream;
begin
  M := TMemoryStream.Create;
  memo1.Lines.SaveToStream(M);
  M.seek(0, 0);
  if not Assigned(ie.document) then begin
    ie.navigate('about:blank');
    while ie.readystate <> READYSTATE_COMPLETE do Forms.Application.ProcessMessages;
  end;
  (ie.Document as IPersistStreamInit).Load(TStreamadapter.Create(M));
end;


我做了一個這類的軟件,可到我的個人主頁上下載http://aton.126.com
這段時間我對ie編程產生了濃厚的興趣。大有不精通這類編程誓不罷休之勢。歡迎感興趣著與我共同探討。


上一篇:注冊表數據庫Registry

下一篇:如何在全屏幕顯示一個AVI文件

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 泸溪县| 河池市| 金华市| 阿瓦提县| 株洲市| 万州区| 罗源县| 霸州市| 新津县| 敦化市| 洪雅县| 辰溪县| 同德县| 萝北县| 阳信县| 芒康县| 罗甸县| 商洛市| 灵寿县| 普兰店市| 运城市| 郓城县| 汽车| 宽甸| 眉山市| 邵武市| 桐乡市| 阿图什市| 屏山县| 黔西| 黑河市| 驻马店市| 太仆寺旗| 安塞县| 宁海县| 万盛区| 法库县| 沧源| 鹿邑县| 蓝山县| 福建省|