Сохранить исходник HTML из TWebBrowser

Опубиковано: 14.07.2008 г., автор: , просмотров: 48247

Delphi сохранение html кода из WebBrowser

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

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

Создаем обработчик событий(onclick) на первой кнопке и в нем прописываем следующий код:

webbrowser1.Navigate('http://www.delphiexpert.ru');

Так теперь переходим на самый верх и сразу же после public пишем:

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

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

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

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

end;

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

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) на второй кнопке и прописать там:

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

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

Теперь нажимаем на вторую кнопку и сохраняем загруженную страницу, в Поле Имя файла: вводим например delphi.txt или expert.html

На этом все, до встречи DelphiExpert.ru

P.S Да и незабываем подписываться на рассылку !!!

 



Похожие материалы

Последние из рубрики

Евгений Шепарнёв 21 Jun 2010 в 00:00 #
HTML - это конечно не плохо, но я тут подумал над PHP и я думаю что можно создать браузер что бы он мог показать пользователю PHP код. Или например что бы программа отключала сервер и скачивала PHP файл любого сайта которій написан на PHP - как вы думаете это возможно ?
admin 21 Jun 2010 в 00:00 #
Это не возможно. браузер лишь только получает ответ от сервера. На счет скачивала PHP файл любого сайта.. вообще бред, если бы такое было бы возможно половина интернет сайтов уже были бы взломаны !
VitaliyHan 10 Apr 2010 в 00:00 #
А как сохранить не только код, но и картинки.
Андрюха Воробьев 15 Mar 2010 в 00:00 #
Спасибо на дельфи 7 все без проблем работает, как заявлено!
kelod 10 Mar 2010 в 00:00 #
наверно сейчас глупость спрошу, но тем не менее. каким образом можно файл сохранить, но только не в ручную, а с тем же именем и расширением, что и передаётся.

ОтменитьДобавить комментарий