Понедельник, 10.12.2018, 13:25
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Категории раздела
Delphi [12]
С++ [0]
С# [1]
PHP [7]
Мини-чат
Наш опрос
Оцените мой сайт
Всего ответов: 23
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » 2011 » Октябрь » 8 » Сохранить исходник HTML из TWebBrowser
20:56
Сохранить исходник HTML из TWebBrowser


Сегодня мы научимся сохранять исходник HTML из TWebBrowser.Document на диск. Делается это очень просто и я думаю трудностей с этим у вас возникнуть недолжно.

Ну что поехали, как всегда для начала открываем Delphi и первое что нам нужно будет сделать это дописать в раздел uses ActiveX. Двигаемся дальше теперь кидаем на форму две кнопочки (button) с закладки standart, компонент SaveDialog с закладки Dialog и компонент webBrowser с закладки internet. Так с компонентами вроде разобрались

Создаем обработчик событий(onclick) на первой кнопке и в нем прописываем следующий код:
Code
webbrowser1.Navigate('http://my-programm.ucoz.net/');



Так теперь переходим на самый верх и сразу же после public пишем:
Code
procedure SaveHTMLSourceToFile(const FileName: string; WB: TWebBrowser);


Нажимаем комбинацию клавиш Ctrl+Shift+C

И Delphi автоматически генерирует процедуру, получиться должно примерно так:
Code

procedure TForm1.SaveHTMLSourceToFile(const FileName: string;
WB: TWebBrowser);  
begin

end;


Сейчас давайте пропишем действия, которые будет выполнять данная процедура, а именно она должна сохранять текущий открытый в компоненте webbrowser документ в виде исходника HTML
Code

procedure TForm1.SaveHTMLSourceToFile(const FileName: string;
WB: TWebBrowser);
var
PersistStream: IPersistStreamInit;
FileStream: TFileStream;
Stream: IStream;
SaveResult: HRESULT;  
begin
PersistStream := WB.Document as IPersistStreamInit;
FileStream := TFileStream.Create(FileName, fmCreate);
try
Stream := TStreamAdapter.Create(FileStream, soReference) as IStream;
SaveResult := PersistStream.Save(Stream, True);
if FAILED(SaveResult) then
MessageBox(Handle, 'Fail to save HTML source', 'Error', 0);
finally  
FileStream.Free;
end;  
end;



Вот практически и все осталось только создать обработчик событий (onClick) на второй кнопке и прописать там:
Code

if SaveDialog1.Execute then
SaveHTMLSourceToFile(SaveDialog1.FileName, WebBrowser1);


Запускаем программу, жмем сначала на первую кнопку, ждем пока в компоненте WebBrowser загрузиться страница.
Категория: Delphi | Просмотров: 405 | Добавил: vavilov8 | Теги: сохранение, HTML, Delphi | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: