![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Pcrepair |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Добрый день. Есть простой код браузера, позволяющий скачать странцу, "выделить все" на странице и скопировать в буфер обмена ОС. все работает (кроме ХТМЛ-страниц с фреймами, там ничего не выделяется)
Но использовать Буфер обмена нежелательно, его могут использовать и другие программы что может привести к ошибкам вот текущий код:
ВОПРОС: каким образом копировать содержимое страницы в ПЕРЕМ? Наверно что то вроде:
Если кто в курсе, подскажите код Заранее спасибо. --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
зачем же через буфер обмена?
IHTMLDocument2.Body.innerHTML (или outerHTML) ? з.ы. поправь заголовк темы. а то там кто-то кого-то куда-то вПЕР.. -------------------- There are always someone smarter than you... |
|||
|
||||
| Pcrepair |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
через буфер обмена не надо, надо в ПЕРЕМенную. вопрос в том как это сделать корректно
что то не нашел где править? --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
? -------------------- There are always someone smarter than you... |
|||
|
||||
| Pcrepair |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
приискал вот такое решение
но .body.innerHTML почемуто неправильно копирует сслылки, к примеру то что в коде страницы, ЕСЛИ ВРУЧНУЮ копировать в ХТМЛ-редактор
а вот это в коде самой страницы, отсутствует протокол и имя сервера
как такое вообще получается и что с этим можно сделать? --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
||||||
|
|||||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
ну какбы такую сервер отдает страницу. Зачем ему прописывать полные пути то? А браузер видимо уже автоматом подставляет текущий протокол, сервер, порт, путь и т.п. Что сделать - а надо ли что-то с этим делать то? если да, то "пробежаться" по всем anchor'ам и допрописать нужную информацию в href. Хотя возможно есть стандартный способой, но я его не знаю. -------------------- There are always someone smarter than you... |
|||
|
||||
| Pcrepair |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
вот еще вариант
- копируем в буфер обмена - из буфера обмена копируем в ПЕРЕМ типа HTML : TClipboard; - обнуляем буфер обмена. времени на это пойдет миллисекунды, вероятность размещения в буфере данных из других программ практически сходит на нуль - копируем из ПЕРЕМ в МЕМО, для контроля итого
но вот проблема - на строке Memo1 := HTML; компилятор пишет: несовместипые типы никто не в курсе что тут млжно сделать? чтоб в МЕМО поместить данные из буфера? --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Pcrepair, да что-то жесть какая-то понаписана...
-------------------- There are always someone smarter than you... |
|||
|
||||
| Pcrepair |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Теперь компилятор компилирует
НО..... в МЕМО выводится только тестовая часть страницы, а ХТМЛ-код пропал может можно что то типа HTML := Clipboard.AsHtml; ???? Еще раз, если в автомате сделать КОНТР+А и КОНТР+С (это делает выше стоящий код) то, если вставить потом код в ХТМЛ-редактор, там ссылки имеют полный путь. просто хотелось проверить, что на самом деле содержит буфер обмена ОС, действительно Ишак ссылки восстановил, или все же это работа ХТМЛ-редактора --------------------
Сборник рабочего кода Процедур и Функций DelPhi http://validcoderepo.narod.ru/ |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
В общем приятных извращений с буфером.
Я предложил внятный и самый на мой взгляд правильный вариант (через innerHTML). -------------------- There are always someone smarter than you... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |