PDA

View Full Version : ذخیره محتویات webbroser



omid_delphi2
یک شنبه 21 مرداد 1386, 14:59 عصر
با سلام
من با استفاده از یک کامپوننت webbroser یک سایت را نمایش میدهم حال چگونه میتوانم محتویات آنرا مانند انچه در internet explorer وجود دارد ذخیره کنم
در واقع سایت مورد نظر من یک سری اطلاعات را در قالب xml نمایش میدهد و من میخواهم آنها را روی کامپیوتر بصورت یک فایل xml ذخیره کنم
به نظر شما راهی وجود دارد؟؟
ممنون

vcldeveloper
یک شنبه 21 مرداد 1386, 17:11 عصر
می تونید از TWebBrowser.Document.execCommand استفاده کنید و IDM_SAVEAS را برای اولین پارامتر استفاده کنید. IDM_SAVEAS و execCommand در MSDN توضیح داده شده اند.

یا می تونید متن صفحه لود شده را بصورت string بگیرید و در یک TStringList بریزید و توسط متد SaveToFile ذخیره کنید:

var
AStringList : TStringList;
begin
AStringList := TStringList.Create;
try
AStringList.Add(Variant(WebBrowser1.Document).Body .innerHTML);
AStringList.SaveToFile('G:\Test\test.htm');
finally
AStringList.Free;
end;
end;

در روش دوم فقط سورس صفحه ذخیره میشه، اما روش اول همان IE SaveAs را فراخوانی می کند و کل اجزای صفحه را به همراه فایل HTML ذخیره می کند.
در ضمن، IDM_SAVEAS = 71 است.