Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Web-браузер в С++ Builder


Автор: ROKI 19.12.2008, 23:03
Привет всем!!!. Подскажыте пожалуйста в чем можэт быть проблема ?? Я хочу чтобы после нажатия на кнопку в СppWebBrowser  загружалась страница ( например 1.html ). На форме помещаю кнопку и браузер. В обработчике кнопки пишу:

Код

CppWebBrowser1->Navigate(WideString("1.html"),0,NULL,NULL,NULL);
 

Страница "1.html"  находится у меня в той же папке что и сам проект. Так вот, все скомпилировалось отлично, но после нажатия на кнопку, страница не отображается в браузере.

Автор: Данкинг 19.12.2008, 23:13
А если просто
Код

CppWebBrowser1->Navigate("1.html")

??

Автор: ROKI 20.12.2008, 03:12
Цитата

А если просто

Код

CppWebBrowser1->Navigate("1.html")


??


неработает (

Автор: 586 20.12.2008, 05:04
Нужно полный путь в файлу указать.
Код
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    WideString ws = ExtractFilePath(Application->ExeName) + "index.htm";
    CppWebBrowser1->Navigate(ws.c_bstr());
}

Автор: ROKI 20.12.2008, 23:43
Цитата

Нужно полный путь в файлу указать.
Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    WideString ws = ExtractFilePath(Application->ExeName) + "index.htm";
    CppWebBrowser1->Navigate(ws.c_bstr());

}


А если мне надо будеть показать этот проект на другом компе ? Пути к файлам могут же изменится, не так ли ?  

Автор: Данкинг 20.12.2008, 23:49
Цитата(ROKI @  20.12.2008,  23:43 Найти цитируемый пост)
А если мне надо будеть показать этот проект на другом компе ? Пути к файлам могут же изменится, не так ли ? 

Ну, Application->ExeName точно не изменится. smile 

Автор: ROKI 21.12.2008, 00:22
А как сделать так, чтобы все html-ки которые мне нужны находились в одной папке, которая в свою очередь будет находится в той же папке что и сам проект, и каждый раз, загружать страницы из той папки ?
 

Автор: Данкинг 21.12.2008, 00:28
Цитата(ROKI @  21.12.2008,  00:22 Найти цитируемый пост)
А как сделать так, чтобы все html-ки которые мне нужны находились в одной папке

Скопировать их в одну папку. smile 

Цитата(ROKI @  21.12.2008,  00:22 Найти цитируемый пост)
которая в свою очередь будет находится в той же папке что и сам проект

Скопировать эту папку в ту же папку, что и сам проект. smile 

Цитата(ROKI @  21.12.2008,  00:22 Найти цитируемый пост)
и каждый раз, загружать страницы из той папки

Указывать путь к папке относительно своей программы, т.е.

Код

ExtractFilePath(Application->ExeName)+"\\Ta_zhe_papka\\1.html";

Автор: ROKI 21.12.2008, 01:13
Цитата


Цитата

А как сделать так, чтобы все html-ки которые мне нужны находились в одной папке



Скопировать их в одну папку.  

Цитата

которая в свою очередь будет находится в той же папке что и сам проект



Скопировать эту папку в ту же папку, что и сам проект.  

Цитата

и каждый раз, загружать страницы из той папки


Спасибо за исчерпывающие ответы  smile 

Цитата

Указывать путь к папке относительно своей программы, т.е.

  
Код

ExtractFilePath(Application->ExeName)+"\\Ta_zhe_papka\\1.html";



Все работает!!! УРА !!!  smile. И последняя просьба, ты не мог бы объяснить что ето значит:
Код

ExtractFilePath(Application->ExeName)+"\\Ta_zhe_papka\\1.html";

И вот ето: 
Код

(ws.c_bstr())

Автор: Данкинг 21.12.2008, 01:31
Цитата(ROKI @  21.12.2008,  01:13 Найти цитируемый пост)
И последняя просьба, ты не мог бы объяснить что ето значит:

Код

Application->ExeName

Получает имя исполняемого файла программы (т.е. PROGA.EXE), причём с полным путём к нему.

Код

ExtractFilePath

Получает путь к заданному файлу, т.е. в нашем случае - путь к файлу PROGA.EXE. Если папки с файлами лежат в папке с программой, то таким образом весьма легко получить абсолютный путь к ним: 
ПУТЬ_К_PROGA.EXE\PAPKA\1.html.

Цитата(ROKI @  21.12.2008,  01:13 Найти цитируемый пост)
c_bstr()

Вот этого не могу сказать - какая-то Сишная функция для работы со строками. Я не такой крутой спец по C++, каким пытаюсь казаться. smile 

Автор: ROKI 21.12.2008, 01:40
Спасибо тебе большое!!!  smile 

P.S. 
 
Цитата

Я не такой крутой спец по C++, каким пытаюсь казаться.  

Круто сказал!!  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)