Интернет-агентство UIT Studio

Тел.:    +7 (921) 085-33-33

E-mail:

info@u-i-t.ru

.  
проверять во всех регистрируемых зонах
Компания
Услуги
Клиенты
Отзывы
Документы
Карьера
Контакты

Наши услуги

Акции и предложения

31.07.2009
Создание сайтов в рассрочку!

Сложная экономическая и финансовая ситуация в стране не должна останавливать развитие бизнеса и его процветание.

25.07.2009
Благотворительность

Посильно стараемся оказать помощь частным лицам и некоммерческим организациям, которые нуждаются в помощи или хотят помочь другим.

Все акции и предложения | RSS

Наши партнеры

Контекстная реклама Яндекс-Директ
1С-Битрикс

Все партнеры

Задать вопрос


 
 
 

Введите текст на картинке

  
 

Сохранение веб-страницы в формате HTML или MHT с использованием DELPHI

При работе с Delphi, компонент TWebBrowser позволяет создавать собственные приложения для просмотра веб-страниц или добавлять в приложение возможности просмотра Интернета, файлов, сетевых ресурсов и документов.

 

Как сохранять веб-страницу из TwebBrowser

 

При использовании Internet Explorer, вы можете просматривать исходный HTML-код страницы и сохранять её в файл на локальном диске. Если вы просматриваете страницу, которую хотите сохранить, выберите пункт меню Файл/Сохранить как. В диалоговом окне, которое откроется, будет предложено несколько типов файлов. Использование различных типов фалов влияет на сохранение страницы. Также при этом важна раскрутка сайта в google.

 

Компонент TWebBrowser (расположенный на вкладке "Интернет" палитры компонентов) обеспечивает доступ к функциональности веб-браузера из приложений Delphi. Обычно вам понадобится сохранить на диск отображаемую внутри веб-браузера страницу как HTML-файл.

 

<b>Сохранение веб-страницы в виде HTML</b>

Если вы хотите сохранить веб-страницу в виде сырого HTML, то должны выбрать "Веб-страница, только HTML (*. HTM, *. HTML)". При этом исходный код страницы будет записан на диск без изменений. Данная операция не сохраняет графику или другие файлы, используемые на странице, это означает, что если вы снова загрузите файл с диска, то увидите неработающие ссылки на изображения.

 

Далее приведен код для сохранения страницы в виде HTML на Delphi:

 

uses ActiveX;

...

procedure WB_SaveAs_HTML(WB : TWebBrowser; const FileName : string) ;

var

PersistStream: IPersistStreamInit;

Stream: IStream;

FileStream: TFileStream;

begin

if not Assigned(WB.Document) then

begin

ShowMessage('Document not loaded!') ;

Exit;

end;

 

PersistStream := WB.Document as IPersistStreamInit;

FileStream := TFileStream.Create(FileName, fmCreate) ;

try

Stream := TStreamAdapter.Create(FileStream, soReference) as IStream;

if Failed(PersistStream.Save(Stream, True)) then ShowMessage('SaveAs HTML fail!') ;

finally

FileStream.Free;

end;

end; (* WB_SaveAs_HTML *)

 

И пример использования:

 

//сначала перейти на страницу

WebBrowser1.Navigate('http://delphi.about.com') ;

 

//затем сохранить

WB_SaveAs_HTML(WebBrowser1,'c:WebBrowser1.html') ;

 

Примечания:

• Интерфейсы IPersistStreamInit и IStream определены в модуле ActiveX

• Веб-страница сохраняется в виде необработанного HTML в файле WebBrowser1.html в корневом каталоге диска C.

 

<b>MHT: веб архив в отдельном файле</b>

При сохранении веб-страницы, как "Веб-архив, один файл (*. MHT)" веб-документ будет сохранен в формате Multipurpose Internet Mail Extension HTML (MHTML) с расширением файла ".mht". Все относительные ссылки внутри веб-страницы будут перестроены, и внедренное содержимое включено в .mht файл, а не сохранено в отдельную папку (как в случае с "Веб-страница, полностью (*. HTM, *. HTML)").

 

MHTML позволяет отправлять и получать веб-страницы и другие HTML документы с помощью программ электронной почты, таких как Microsoft Outlook и Microsoft Outlook Express, или даже пользовательских решений для отправки электронной почты на Delphi. MHTML позволяет вставлять изображения непосредственно в теле сообщения электронной почты, а не присоединять их к сообщению.

 

Вот как можно сохранить веб-страницу в виде одного файла (формат MHT) с помощью кода Delphi:

 

uses CDO_TLB, ADODB_TLB;

...

procedure WB_SaveAs_MHT(WB: TWebBrowser; FileName: TFileName) ;

var

Msg: IMessage;

Conf: IConfiguration;

Stream: _Stream;

URL : widestring;

begin

if not Assigned(WB.Document) then Exit;

 

URL := WB.LocationURL;

 

Msg := CoMessage.Create;

Conf := CoConfiguration.Create;

try

Msg.Configuration := Conf;

Msg.CreateMHTMLBody(URL, cdoSuppressAll, '', '') ;

Stream := Msg.GetStream;

Stream.SaveToFile(FileName, adSaveCreateOverWrite) ;

finally

Msg := nil;

Conf := nil;

Stream := nil;

end;

end; (* WB_SaveAs_MHT *)

 

Пример использования:

 

//сначала перейти на страницу

WebBrowser1.Navigate('http://delphi.about.com') ;

 

//затем сохранить

WB_SaveAs_MHT(WebBrowser1,'c:WebBrowser1.mht') ;

 

Примечание: Класс _Stream определен в модуле ADODB_TLB, который вы, вероятно, уже создали. Код для интерфейсов IMessage и IConfiguration подключается из библиотеки cdosys.dll. CDO расшифровывается как Collaboration Data Objects - объектная библиотека, разработанная для отправки SMTP-сообщений.

 

Модуль CDO_TLB автоматически генерируется в Delphi. Чтобы создать модуль, выберите из главного меню "Import Type Library", затем выберите "C:WINDOWSsystem32cdosys.dll" и нажмите кнопку "Create unit".

Смотрите также:

ООО "Север-Альянс" © 2007 - 2009
163061, г. Архангельск, ул. Урицкого, д. 49, корп. 3, стр. 1
Карта проезда

Отдел по работе с клиентами
Телефон: +7 (921) 085-33-33
E-mail: info@u-i-t.ru

Служба поддержки клиентов
Телефон: +7 (921) 085-03-30
E-mail: support@u-i-t.ru

Разработка сайтов, продвижение сайтов, реклама сайтов