Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы в WebBrowser, помогите найти решение 
:(
    Опции темы
_nameless
Дата 3.5.2007, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.5.2007

Репутация: нет
Всего: нет



Собственно, помогите чайнику найти решение проблемы.
Суть...
Использую в программе компонет WebBrowser для открытия HTML страниц. Необходимо через OpenDialog(c фильтрами) открыть любой выбранный файл HTML  в самом  WebBrowser в проге. 
Лично мой код открывает страницы, через OpenDialog,  в браузере по умолчанию(в данном случае ОПЕРЕ).
Как сие грамотно реализовать?
По возможности преведите примеры.


PM MAIL   Вверх
_hunter
Дата 3.5.2007, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



делай Navigate2 своим браузером на выбранный адрес. если не поможет -- переводи в вид file://C:/some_folder/some_file


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Sanchezzz
Дата 3.5.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 5
Всего: 60



Код

procedure WB_Navigate(WB: TWebbrowser; const URL: string);
// URL: a string specifying the location of the document
var
  BrowserFlags: OleVariant; // a value that determines under more whether a page should be added to the history list,
                            // be read from the cache memory or be written to the cache;
  MyTargetFrameName: OleVariant; // a string that determines in which frame the URL should be displayed;
  MyPostaData: OleVariant; // a value that specifies the HTTP POST data to send to the server;
  MyHeaders: OleVariant; // a value that specifies the HTTP headers to send to the server.
begin
{ Flags:
  Constant             Value Meaning
  NavOpenInNewWindow   $01 Open the resource or file in a new window.
  NavNoHistory         $02 Do not add the resource or file to the history list.
The new page replaces the current page in the list.
  NavNoReadFromCache   $04 Do not read from the disk c ache for this navigation.
  NavNoWriteToCache    $08 Do not write the results of this navigation to the disk cache.
 $10 If the navigation fails, the Web browser attempts to navigate common
 root domains (.com, .org, and so on). If this still fails,
 the URL is passed to a search engine.
}
  if Assigned(WB) then
  begin
    BrowserFlags := $02;
    MyTargetFrameName := null;
    MyPostaData := null;
    MyHeaders := null;
    WB.Navigate(URL, BrowserFlags, MyTargetFrameName, MyPostaData, MyHeaders);
    Waitfor(WB);
  end;
end;
использовать это так

proce
dure TfrmMyBrowser.btnGoClick(Sender: TObject);
begin
  if edURL.Text <> '' then
  begin
    WB_Navigate(GetCurrentWB, edURL.Text);
  end;
end;


если хочеш сделать чтоб перетаскивать файлы в программу можно так.
Код

procedure TfrmMyBrowser.WMDROPFILES(var Msg: TMessage);
var
Filename: PChar;
i, amo, size: integer;
begin
  inherited;
  Amo := DragQueryFile(Msg.WParam, $FFFFFFFF, Filename, 255);
  for i := 0 to (Amo - 1) do
  begin
    EdUrl.Clear ;
    size := DragQueryFile(Msg.WParam, i, nil, 0) + 1;
    Filename := StrAlloc(size);
    DragQueryFile(Msg.WParam, i, Filename, size);
    EdUrl.Text:=(StrPas(Filename));
    StrDispose(Filename);
    btnGo.Click;
  end;
  DragFinish(Msg.WParam);
end;





--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
_nameless
Дата 3.5.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.5.2007

Репутация: нет
Всего: нет



Благодарствую.....сократили еще неделю моих мучений!  smile 

Вопрос номер два, непосредственно касающийся первого. Необходимо реализовать в TreeView(знаю что прибольшом "скоплении" тормизит, но необходим именно он) список файлов HTML, открывающихся в  TWebBrowser. Просмотрел все ветку делфи этого сайта, но ничего вразумительного не нашел. У самого  собственнописный, корявый код не пашет(ошибок страшно перечислить  smile ).
Если есть нечто подобное..............убедительная просьба привести примеры, чайнику.  smile 
И есть ли способ в данном моменте оптимизировать работу TreeView, поскольку от найденных на просторах Инета примеров, мало толка(разница  не очень заметна).
Если кто поможет разобраться как это все, между собой, работает(еще и на примерах  smile )
 буду безмерно благодарен. 

Это сообщение отредактировал(а) _nameless - 3.5.2007, 21:05
PM MAIL   Вверх
Sanchezzz
Дата 3.5.2007, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 5
Всего: 60



ты случайно не свой браузер пишеш используй лутше компоненты EmbeddedWB там все что ты спрашивал готово в компанентах только подстовляй . + демо браузера готового.
прямая сылка



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
_nameless
Дата 3.5.2007, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.5.2007

Репутация: нет
Всего: нет



Sanchezzz, ну да, нечто подобное......стыдно признаться, т.к. сам мало что умею, хотель чуда.  smile:
Сам новичек, решил  поэксперементировать.
Спасибо тебе большое....было бы 100 постов,  поднял бы тебе репутацию  smile.

Но все равно, в целях повышения образования  smile есть примеры под второй вопрос? Хоть буду знать как это делается.
 

 

Это сообщение отредактировал(а) _nameless - 3.5.2007, 22:18
PM MAIL   Вверх
_nameless
Дата 4.5.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.5.2007

Репутация: нет
Всего: нет



НУ что никто не знает...? Забавно....

PM MAIL   Вверх
Yanis
Дата 4.5.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(_nameless @  3.5.2007,  22:00 Найти цитируемый пост)
Необходимо реализовать в TreeView(знаю что прибольшом "скоплении" тормизит, но необходим именно он) список файлов HTML, открывающихся в  TWebBrowser.

Код
TreeView1.Items.Add()



--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Sanchezzz
Дата 4.5.2007, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 5
Всего: 60



вот посматри демку там заклатки страниц как в опере 
сылка
хороший пример взоимодействия модулей от EmbeddedWB с простым Webbrowserom



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
_nameless
Дата 5.5.2007, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.5.2007

Репутация: нет
Всего: нет



Sanchezzz, спасиб! Разобрался по немногу в браузере. Кое что интересное позаимствовал для себя.
EmbeddedWB  - отличная штука!  smile 
А пример выше, был связан с тем, что хотелось, что б  при открытии программы грузился список HTML-файлов(содержащийся в отдельном TXT файле) в TreeView, привыборе любого пункта, страница открывалась в  Webbrowser(учитывая, что применяются вкладки, элемент PageControl[пример из того браузера]). Все нужно было для того, что б отобразить ранее сохраненные в определенную папку "любимые" HTML-файлы. Соответственно список файлов должен постоянно обновляться.
Нечто подобное было в проекте DelphiWorld.  
Сейчас стараюсь все это вопрлотить, если что хорошего посоветуешь буду рад, а то пока невыходит ничего путного. Но я один хр..н сделаю... smile 

P.s./Я смотрю тебе репутацию все таки добавили...супер!  smile 
 




PM MAIL   Вверх
Sanchezzz
Дата 6.5.2007, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 5
Всего: 60



только тот код иногда немножко глючит жаль нельзя закрыть активный...


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
_nameless
Дата 6.5.2007, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.5.2007

Репутация: нет
Всего: нет



Да ладно я же для себя делаю....так просто, опыта набираюсь.  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0523 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.