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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2009, 20:59   #1
NSV
Форумчанин
 
Аватар для NSV
 
Регистрация: 27.05.2009
Сообщений: 127
Вопрос Как узнать название главной web-страницы в CHM файле

Здравствуйте! Наверное, все из вас сталкивались с CHM файлами. Это что-то вроде архива web-страниц, который содержится в одном файле и который хорошо сжат. Сделать это можно программой HTM2CHM.

http://http://programmersforum.ru/attachment.php?attachmentid=11300&d =1241554546 - HTM2CHM
http://programmersforum.ru/showthrea...&highlight=chm

Я хотел сделать каталог таких файлов (у меня в них хранятся учебники), но чтобы эти файлы открывались не сами по себе, а в окне TWebBrowser. В этом нет ни каких проблем. Вот пример открытия такого файла:
Код:
WebBrowser1.Navigate('mk:@MSITStore:'+ExtractFilePath(Application.ExeName)+'учебник.chm'+'::/index.htm');
где:
"ExtractFilePath(Application.ExeNam e)" - Это путь к файлу (там где EXEшник)
"учебник.chm" - название CHM файла
"index.htm" - название главной web-страницы

Допустим, что у меня таких учебников много, но не в каждом из них
"index.htm" является главной страницей.

Так вот как можно узнать, какая страница является главной?

Пока я вижу только два варианта:
1) С каждым учебником кидать файл с описанием (txt или ini), в котором
будет указано название главной страницы
2) Я пробовал открывать эти файлы в TMemo. Вот там, среди всякой белиберды на последней
строке указано имя файла. Но это не самый лучший вариант

Есть ли ещё варианты?
Спасибо!
NSV вне форума Ответить с цитированием
Старый 21.06.2009, 00:45   #2
Виталий Серов
Заснувший
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 213
По умолчанию

Не обязательно фаил описания к каждому CHM, этот фаил может быть и один или вообще программа внутри себя будет содержать подобную инфу.
Есть ещё один вариант - добавлять фаил описания в сам CHM.
Или изучать механизм открытия этих файлов системой, ведь она как-то узнаёт "какой фаил первый"

Последний раз редактировалось Виталий Серов; 21.06.2009 в 01:01.
Виталий Серов вне форума Ответить с цитированием
Старый 21.06.2009, 13:45   #3
NSV
Форумчанин
 
Аватар для NSV
 
Регистрация: 27.05.2009
Сообщений: 127
По умолчанию

Файл с описанием конечно замутить не сложно, но это уже последний вариант - если ничего не получится. Я думаю, что и в сам CHM описание добавлять тоже не стоит. Есть конечно ещё вариант - просто открывать этот файл без TWebBrowser, но это не совсем то, что нужно.
А вот
Цитата:
Сообщение от Виталий Серов Посмотреть сообщение
изучать механизм открытия этих файлов системой, ведь она как-то узнаёт "какой фаил первый"
это уже интереснее. Может кто-нибудь подскажет или у кого какие ссылки, литература есть?
Буду очень признателен!
NSV вне форума Ответить с цитированием
Старый 22.06.2009, 00:41   #4
Виталий Серов
Заснувший
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 213
По умолчанию

Вот тут
_http://code.google.com/p/htmlhelp/wiki/CHM
и тут
_http://chmspec.nongnu.org/latest/
много всяких ссылок на спецификацию, поищи ещё в гугле
Естественно вся документация на англ.
Виталий Серов вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в дочерней форме узнать о закрытии главной CruelAssembler Общие вопросы Delphi 2 20.11.2008 19:27
Проблемы с загрузкой главной страницы. antfrolov Помощь студентам 2 05.04.2008 16:50
Как сделать разрыв страницы печати по условию и узнать номер страницы Leanna Microsoft Office Excel 2 21.01.2008 06:59
Как узнать информацию о PE файле Smoke Win Api 5 02.10.2007 13:10
как узнать название текущего поля в ComboBox doncova1 Компоненты Delphi 1 19.12.2006 12:52