Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2011, 10:44   #1
SKS
Форумчанин
 
Аватар для SKS
 
Регистрация: 05.01.2009
Сообщений: 242
По умолчанию webbrowser чтение документа .HTML формата

Доброго времени суток уважаемые форумчане!
Не так давно делал электронный учебник с использованием компонента webbrowser, сейчас возникла необходимость создать программу читающую документы формата .HTM ,а как делать не помню.
вот мой код чтения документа:
Код:
webbrowser1.Navigate('doc/1.htm' )
но он не работает, юзал юзал и не могу сделать, то ли переработал, то ли мозги ссохлись.
в общем допустим в папке лежит программа, и в той папке где лежит программа лежит еще одна папка (doc) с документами типа 1.htm как реализовать открытие документов? как прописать путь?
На форуме искал не могу найти ответ на мой вопрос
SKS вне форума Ответить с цитированием
Старый 01.02.2011, 11:10   #2
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

webbrowser1.Navigate(Format('file:///%s/doc/1.htm', [ExtractFilePath(ParamStr(0))])
mss вне форума Ответить с цитированием
Старый 01.02.2011, 11:15   #3
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Один момент важен: результат работы ф-ции Format() не должен содержать символов, недопустимых в URL. Если это не так, то придется обработать URL ф-цией а-ля TIdURI.URLEncode (см.Indy) или любой иной эквивалентной по назначению
mss вне форума Ответить с цитированием
Старый 01.02.2011, 13:44   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

можно было просто дополнить путь до полного.
WB не применяет относительные пути.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.02.2011, 05:05   #5
SKS
Форумчанин
 
Аватар для SKS
 
Регистрация: 05.01.2009
Сообщений: 242
По умолчанию

Если прописать полный путь до файла, тогда получится что написанная программа будет читать только по пути прописанному компоненту. А если например пользователь установит программу на диск D: а не на С: тогда документы не будут загружаться. Не могу вспомнить никак простенький код. Код читал по пути нахождения программы. попробовал поюзать код предложенный mss не получается.
Есть у кого еще какие методы загрузки документа форматов .HTM или .HTML в компонент WebBrowser?
SKS вне форума Ответить с цитированием
Старый 03.02.2011, 09:23   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ExtractFilePath(ParamStr(0))+'<путь до файла, относительно приложения>';
правда про косую запямятовал.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.02.2011, 11:00   #7
SKS
Форумчанин
 
Аватар для SKS
 
Регистрация: 05.01.2009
Сообщений: 242
По умолчанию

Нашел решение. Для того чтобы открыть файл в папке. Допустим имеется программа и где лежит программа имеется папка с именем (doc) а в папке находится документ допустим формата .htm нам нужно чтобы программа читала документ в папке и показывала его в компоненте WebBrowser
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate(ExtractFilePath(ParamStr(0)) + 'doc/index.htm');
end;
SKS вне форума Ответить с цитированием
Старый 03.02.2011, 11:00   #8
SKS
Форумчанин
 
Аватар для SKS
 
Регистрация: 05.01.2009
Сообщений: 242
По умолчанию

Нашел решение. Для того чтобы открыть файл в папке. Допустим имеется программа и где лежит программа имеется папка с именем (doc) а в папке находится документ допустим формата .htm нам нужно чтобы программа читала документ в папке и показывала его в компоненте WebBrowser
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate(ExtractFilePath(ParamStr(0)) + 'doc/index.htm');
end;
SKS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отобразить на форме содержимое HTML-документа? Alexpol Общие вопросы Delphi 13 09.01.2011 22:39
Чтение из XML документа. Не могу прочесть значение атрибута. Casper-SC Общие вопросы .NET 2 31.05.2010 11:27
Oracle. Чтение атрибута XML документа shurik_7866 SQL, базы данных 0 23.03.2010 21:38
Текст HTML документа в Memo Delpinist Компоненты Delphi 9 09.09.2009 13:19
закачка html-документа janifer Работа с сетью в Delphi 1 08.05.2007 19:06