![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый день
есть код простейшего браузера Код:
procedure TForm1.Button1Click(Sender: TObject); var URL, Flags, TargetFrameName, PostData, Headers: Olevariant; begin URL := Edit1.Text; Flags := 0; TargetFrameName := 0; Postdata := 0; Headers := 0; EmptyParam; WebBrowser1.Navigate2(URL, Flags, TargetFrameName, PostData, Headers); end; initialization // prevent floating point errors Set8087CW($133F); end. Вопрос: Как организовать выделение и копирование содержимого отображенной в браузере ХТМЛ-страницы в буфер обмена по событию "загрузка закончена", то есть сделать как бы Ctrl+A и Ctrl+C Код:
procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); begin ???????????????????????? end; Заранее спасибо |
#2
|
||||
|
||||
![]() Код:
uses Clipbrd, MSHTML, begin WebBrowser1.Navigate('http://www.delphisources.ru/forum/showthread.php?p=89657#post89657'); while WebBrowser1.ReadyState<READYSTATE_COMPLETE do Application.ProcessMessages; Clipboard.AsText:=(WebBrowser1.Document as IHTMLDocument2).body.outerText; end; Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() что то компилятор не ест
Application.ProcessMessages, именно ProcessMessages - ошибка "необъявленный идентификатор"- может еще какой модуль надо подключить кроме Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw, ComCtrls, Clipbrd, MSHTML; |
#4
|
|||
|
|||
![]() сделал так
Код:
procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject); begin Clipboard.AsText:=(WebBrowser1.Document as IHTMLDocument2).body.outerText; end; и таблицы тоже не сохраняет - а оне желательны, во всяком случае для экшпиримента может кто еще чего подскажет? |
#5
|
||||
|
||||
![]() вот нашел еще в Delphi FAQ - Часто задаваемые вопросы:
Код:
uses ActiveX, begin WebBrowser1.Navigate('http://www.delphisources.ru/forum/showthread.php?p=89657#post89657'); while WebBrowser1.ReadyState<READYSTATE_COMPLETE do Application.ProcessMessages; WebBrowser1.ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_DODEFAULT); WebBrowser1.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT); ShowMessage('copied'); end; initialization OleInitialize(nil); в Microsoft Office Word 2003 вставляет все. Пишу программы за еду. __________________ |
#6
|
|||
|
|||
![]() вообще нужно:
- после окончания загрузки кода ХТМЛ-страницы - после отработки JavaScript - после отображения страницы в окне браузера (раз отображено - значит все действия со страницей закончены) скопировать текст страницы в буфер или ПЕРЕМ(что лучше) - с сохранением всех УРЛ (ссылок) - с сохранением структуры текста (таблицы) - без сохранения картинок - удалить все ненужные теги и их содержимое (стили всякие дИВы и прчую мутотень, которой так много в нынешних сайтах) отобразить в МЕМО или другом типе окна (только для визуального контроля) страницу в уже упрощенном виде никто ничего похожего не делал? |