Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "пошарпану";
Поточний архів: 2003.08.14;
Завантажити: [xml.tar.bz2];

Вниз

Як створити CHM файл Знайти схожі гілки


Феликс Мантилья   (2003-07-28 18:41) [0]

Друзі!
Як зі свого Delphi-програми створювати chm файли?
(На зразок утилитки html2chm)

Може компоненти є готові?

Або лінки на теорію питання?



Феликс Мантилья   (2003-07-28 21:06) [1]

Ніхто не знає чи що?



y-soft   (2003-07-28 21:33) [2]

Нічого важкого тут немає.

Спочатку динамічно в тимчасовому каталозі створюється весь HTML контент, потім так само формується файл проекту * .hhp і необхідні файли * .h, а потім програмно запускається компілятор hhc.exe з необхідними параметрами командного рядка.

Необхідно, що б в шляхах був доступний також HHA.dll

Виходить прекрасно.

Робиться так, а не безпосередньо, тому що внутрішня структура .chm не документована, а доступних неофіційних достовірних повних розшифровок не існує.

Зазначені файли hhc.exe і hha.dll входять в вільно розповсюджуваний M $ пакет для компіляції файлів * .chm (HtmlHelp.exe)



Beginner3000   (2003-07-28 23:35) [3]

чудово
вірю
Але тільки чому html2chm без цих файлів встановлюється?
напевно хлопець в ms працює (інсайдер)



Феликс Мантилья   (2003-07-28 23:48) [4]

Встановлюватися-то вона може і встановлюється, а ось чи працює вона без цих файлів - ось у чому, власне гря, питання.



Beginner3000   (2003-07-28 23:52) [5]

В мене працює



RIMMER   (2003-07-28 23:57) [6]

в html2chm є chm.dll. Запроси у автора заголовки, може відгукнеться.



Феликс Мантилья   (2003-07-29 00:08) [7]


> RIMMER © (28.07.03 23: 57)


А чиє авторство на chm.dll?



y-soft   (2003-07-29 07:27) [8]

Чесно кажучи дещо про внутрішній формат все-таки відомо - це компаундний файл, в секціях якого і зберігається HTML контент, який зазвичай стиснутий CAB (але може бути і не стиснутий), а також зміст, настройки вікна, точки виклику контекстної допомоги і т . Д.

Добровольці накопали досить багато:

http://www.speakeasy.org/~russotto/chm/chmformat.html
http://savannah.nongnu.org/projects/chmspec

Але IMHO використовувати офіційний компілятор hha.dll простіше і надійніше, що, до речі, абсолютна більшість утиліт і робить ...



y-soft   (2003-07-29 07:58) [9]

Ось ще (спеціально для бажаючих винаходити вдосконалені велосипеди) - OpenSource проекти зі створення альтернативних засобів роботи з CHM:

http://bonedaddy.net/pabs3/hhm/index.html
http://66.93.236.84/~jedwin/projects/chmlib/





[NIKEL]   (2003-07-29 10:10) [10]

chm це той же compound файл

і створювати його можна також через інтерфейс IStorage
просто треба створювати кілька спеціальних потоків в корені (опис вікон, дерева, меню, пошуку і т.д)
стискається він недокументованим методом Compact



сторінки: 1 вся гілка

Форум: "пошарпану";
Поточний архів: 2003.08.14;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.58 MB
Час: 0.036 c
14-45013
Лепрікон
2003-07-29 07:33
2003.08.14
Цыгане...


14-45028
дефолт
2003-07-28 18:05
2003.08.14
CRC


14-45101
aleksey_sv
2003-06-12 12:18
2003.08.14
Знаходження шляху до файлу по процесу


14-45159
Е-Моє ім'я
2003-07-30 15:40
2003.08.14
не викликається Invoke


14-45032
SF
2003-07-28 12:27
2003.08.14
WEB-СЕРВЕР





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська