Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
 Аватар для borockov
4 / 4 / 3
Регистрация: 05.11.2012
Сообщений: 245

Webbrowser, как сохранить сразу несколько страниц?

23.11.2012, 18:17. Показов 2869. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! Такой вопрос, у меня стоит webbrowser в качестве вкладок прицеплен pagecontrol, к примеру у меня открыто 10 вкладок, как сохранить все страницы нажатием одной кнопки? Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.11.2012, 18:17
Ответы с готовыми решениями:

Webbrowser как сохранить содержимое
Ребята подскажите! В компоненте webbrowser delphi открываю определенную страницу после чего необходимо захватить в переменную содержимое...

Как сделать что бы сразу открывалась страница при запуске программы в WebBrowser
Как сделать что бы сразу открывалась страница при запуске программы в WebBrowser1 Что бы не нажимать кнопок и т.д, а сразу при запуске...

Как сохранить web(html)-страницу из WebBrowser в txt?
Нужно!: чтобы программа на ДЕЛФИ заходила на определенный сайт (без моего участия, назовем это "динамически") и либо сохраняла...

8
 Аватар для vampire6666
143 / 143 / 39
Регистрация: 17.08.2012
Сообщений: 411
23.11.2012, 18:55
borockov, а вы как делаете?попробуйте на первой вкладке создать webbrowser1 потом на другой вкладке webbrowser2 и т д а потом сохраняйте)
0
 Аватар для borockov
4 / 4 / 3
Регистрация: 05.11.2012
Сообщений: 245
23.11.2012, 19:01  [ТС]
У меня так уже сделано, т.е стоит pagecontrol с 20 вкладками, на каждой вкладке расположен webbrowser, с этим понятно. Вы предлагаете сохранять примерно так?
http://delphiexpert.ru/view_lesson.php?id=28 только в цикле? Конечно тоже вариант, но хотелось бы как то, что бы процесс сохранения происходил без диалоговых окон, т.е нажал на кнопку, и тут же в заранее заданную директорию, сохраняются страницы.
0
 Аватар для vampire6666
143 / 143 / 39
Регистрация: 17.08.2012
Сообщений: 411
23.11.2012, 19:25
borockov, а такой код чем не пойдет?
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.btn1Click(Sender: TObject);
var
  HTMLDocument: IHTMLDocument2;
  PersistFile: IPersistFile;
begin
 
  HTMLDocument := Wb1.Document as IHTMLDocument2;
  PersistFile  := HTMLDocument as IPersistFile;
  PersistFile.Save(StringToOleStr('c:\SavedFile.html'), System.True);
end;
Добавлено через 26 секунд
никаких окошек не вылазееет))

Добавлено через 5 минут
кстати там подключить mshtml)
0
 Аватар для borockov
4 / 4 / 3
Регистрация: 05.11.2012
Сообщений: 245
23.11.2012, 19:25  [ТС]
Цитата Сообщение от vampire6666 Посмотреть сообщение
borockov, а такой код чем не пойдет?
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.btn1Click(Sender: TObject);
var
  HTMLDocument: IHTMLDocument2;
  PersistFile: IPersistFile;
begin
 
  HTMLDocument := Wb1.Document as IHTMLDocument2;
  PersistFile  := HTMLDocument as IPersistFile;
  PersistFile.Save(StringToOleStr('c:\SavedFile.html'), System.True);
end;
Добавлено через 26 секунд
никаких окошек не вылазееет))
Примерно такой код я и искал, круто)) но тут выдаёт ошибку "[Error] Unit1.pas(1364): Undeclared identifier: 'IHTMLDocument2'" Где надо объявить IHTMLDocument2?
0
 Аватар для vampire6666
143 / 143 / 39
Регистрация: 17.08.2012
Сообщений: 411
23.11.2012, 19:27
кстати там подключить mshtml)

Добавлено через 26 секунд
в uses ...
0
 Аватар для borockov
4 / 4 / 3
Регистрация: 05.11.2012
Сообщений: 245
23.11.2012, 19:30  [ТС]
Аааа всё всё, разобрался=))) спасибо =)) забыл модуль подключить" mshtml"
0
 Аватар для vampire6666
143 / 143 / 39
Регистрация: 17.08.2012
Сообщений: 411
23.11.2012, 19:31
не за что)
0
 Аватар для borockov
4 / 4 / 3
Регистрация: 05.11.2012
Сообщений: 245
24.11.2012, 15:59  [ТС]
Блин, весь вечер не могу сделать так что бы выше приведенный код в цикле сохранял все открытые страницы, кто может помочь?

Добавлено через 17 часов 0 минут
Как я уже говорил, вкладки у меня реализованы таким образом: поставил pagecontrol, создал 20 табов и на каждый ташит прицепил по компоненту webbrowser, в принципе всё работает как надо, но вопрос с сохранением всё же не могу решить=(
Таким образом я могу сохранить текущую страницу.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button14Click(Sender: TObject);
var
  HTMLDocument: IHTMLDocument2;
  PersistFile: IPersistFile;
  j:integer;
begin
 
  HTMLDocument :=   Webbrowser1.Document as IHTMLDocument2;
  PersistFile  := HTMLDocument as IPersistFile;
  PersistFile.Save(StringToOleStr('D:\SavedFile.html'), System.True);
end;
end.
Пытался сохранить все страницы разом как то так

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.Button14Click(Sender: TObject);
var
  HTMLDocument: IHTMLDocument2;
  PersistFile: IPersistFile;
  j:integer;
begin
  HTMLDocument :=TWebbrowser(pagecontrol1.pages[j].Controls[0]).Document as IHTMLDocument2;
  PersistFile  := HTMLDocument as IPersistFile;
  PersistFile.Save(StringToOleStr('D:\'+pagecontrol1.Pages[j].Caption+'.html'), System.True);
end;
end;
end;
end.
Но естественно ничего у меня не вышло=( выдаёт что то вроде "list index out of bounds (-куча цифр) " вотъ.
Помогите пожалуйста, сохранить в цикле.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.11.2012, 15:59
Помогаю со студенческими работами здесь

Как создать сразу несколько RadioButton-ов?
У меня вот проблема с radiobutton вот создают потом перехожу в properties и не могу создать количество кнопок тоесть нету items.... Как...

Как открывать несколько файлов сразу?
Здравствуйте. Появился следующий вопрос. Есть определенный формат файлов, привязанный к моему приложению. Но когда происходит простое...

Как зашифровать сразу несколько чисел через алгоритм sha224?
Нужно зашифровать разом 200-300 чисел (к примеру каждая длиной 15 цифр). Все онлайн генераторы, которые я видел, дают возможность шифровки...

OpenDialog: как открыть и загрузить в Memo несколько файлов сразу?
Здраствуйте как открыть и загрузить в мемо несколько файлов за 1 клик

Как создать гиперссылку в html для несколько страниц сразу
Здравствуйте, скажите, пожалуйста, как создать гиперссылку на картинку в html для несколько страниц сразу (картинка находится в шапке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru