CHM帮助文件,用HTML Help Workshop的hcw.exe来做,极不方便。但抛开GUI界面,手动编辑它的三种文件(.hhp+.htm+.hhc),倒而方便和容易操作。
在这里,我们把CHM帮助文件理解为一个"移动硬盘",里面的路径问题部好解决。
<------------------------.hhp--------------------->
hhp //(最好用绝对路径,相对于hhp文件的路径 也可以)
[OPTIONS]
Binary TOC=Yes
Compatibility=1.1 or later
Compiled file=tulater.chm
Contents file=D:\chm\aTips.hhc
Default Window=dfw
Default topic=main1.htm
Display compile progress=No
Error log file=Errlog.txt
Full-text search=Yes
Language=0x804 中文(中国)
Title=tulater技巧收集
[WINDOWS]
dfw="tulater","D:\chm\aTips.hhc",,"main1.htm","main1.htm",,,,,0x63520,400,0x304e,,,,,,,,0
[FILES]
main1.htm
zz2z.JPG
D:\html\1.htm
//这里加入要加进CHM里的文件
//加入CHM后,放到"移动硬盘"的根目录里,原来的路径信息没有保留。
//不仅可以把网页,图片加入CHM,任意文件也能(Flash,声音文件等等)都能加入其中.
//网页里最好不要有png的图片,否则无没显示
[MERGE FILES]
万一_Delphi.chm
VCL组件的属性和方法详解.chm
tulater
<-----------------------.htm--------------------->
htm//注意网页里的超链接,只能用相对于htm文件的路径
/zz2z.JPG 是指hhp文件的路径,也即是根目录()相对于hhc创建的虚拟目录
<-----------------------.hhc---begin----------------->
.hhc文件是形成树形的参数。//用相对于.hhc的路径
<UL>
</UL>
一对UL形成内陷一层。
<LI><OBJECT type="text/sitemap">
<param name="Name" value="10">
<param name="Local" value="0/1/2.htm">
</OBJECT>
一个<LI>生成一个结点:例子如下
<-----------------------.hhc---begin----------------->
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->
</HEAD><BODY>
<OBJECT type="text/site properties">
<param name="ImageType" value="Folder">
</OBJECT>
<!--树形begin -->
<UL><!--第一层begin -->
<LI><OBJECT type="text/sitemap">
<param name="Name" value="00"> <!--结点名称 -->
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="01">
<param name="Local" value="0/1/2.htm"> <!--结点链向的文件,是指向hhp[files]的文件-->
<!--,有这个参数,图标是一篇文档的图样,没有"Local"参数,就是一个文件夹的图标-->
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="02">
</OBJECT>
<UL><!--第二层begin-->
<LI><OBJECT type="text/sitemap">
<param name="Name" value="10">
<param name="Local" value="0/1/2.htm">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="11">
</OBJECT>
<UL><!--第三层begin -->
<LI><OBJECT type="text/sitemap">
<param name="Name" value="2">
<param name="Local" value="0/1/2.htm">
</OBJECT>
</UL><!--第三层end -->
</UL><!--第二层end -->
</UL><!--第一层end -->
<!--树形end -->
</BODY></HTML>
<-----------------------.hhc-end-------------------->
如果全文搜索无效(
1)网页字符集为gb2312,
2)对文本文件无效,
3)没勾选只搜索标题,
4)没有注册 itircl.dll
5)不要在要搜索内容前加HTML特殊符号,空格除外
)外,弹出
"HHC6003: The file itircl.dll has not been registered correctly",错误
Look for itcc.dll on your system. If it's there, register it using:
regsvr32 c:\windows\system\itcc.dll
详细参见:http://frogleg.mvps.org/helptechnologies/oldjunque/itircl.htm
在这里,我们把CHM帮助文件理解为一个"移动硬盘",里面的路径问题部好解决。
<------------------------.hhp--------------------->
hhp //(最好用绝对路径,相对于hhp文件的路径 也可以)
[OPTIONS]
Binary TOC=Yes
Compatibility=1.1 or later
Compiled file=tulater.chm
Contents file=D:\chm\aTips.hhc
Default Window=dfw
Default topic=main1.htm
Display compile progress=No
Error log file=Errlog.txt
Full-text search=Yes
Language=0x804 中文(中国)
Title=tulater技巧收集
[WINDOWS]
dfw="tulater","D:\chm\aTips.hhc",,"main1.htm","main1.htm",,,,,0x63520,400,0x304e,,,,,,,,0
[FILES]
main1.htm
zz2z.JPG
D:\html\1.htm
//这里加入要加进CHM里的文件
//加入CHM后,放到"移动硬盘"的根目录里,原来的路径信息没有保留。
//不仅可以把网页,图片加入CHM,任意文件也能(Flash,声音文件等等)都能加入其中.
//网页里最好不要有png的图片,否则无没显示
[MERGE FILES]
万一_Delphi.chm
VCL组件的属性和方法详解.chm
tulater
<-----------------------.htm--------------------->
htm//注意网页里的超链接,只能用相对于htm文件的路径
/zz2z.JPG 是指hhp文件的路径,也即是根目录()相对于hhc创建的虚拟目录
<-----------------------.hhc---begin----------------->
.hhc文件是形成树形的参数。//用相对于.hhc的路径
<UL>
</UL>
一对UL形成内陷一层。
<LI><OBJECT type="text/sitemap">
<param name="Name" value="10">
<param name="Local" value="0/1/2.htm">
</OBJECT>
一个<LI>生成一个结点:例子如下
<-----------------------.hhc---begin----------------->
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->
</HEAD><BODY>
<OBJECT type="text/site properties">
<param name="ImageType" value="Folder">
</OBJECT>
<!--树形begin -->
<UL><!--第一层begin -->
<LI><OBJECT type="text/sitemap">
<param name="Name" value="00"> <!--结点名称 -->
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="01">
<param name="Local" value="0/1/2.htm"> <!--结点链向的文件,是指向hhp[files]的文件-->
<!--,有这个参数,图标是一篇文档的图样,没有"Local"参数,就是一个文件夹的图标-->
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="02">
</OBJECT>
<UL><!--第二层begin-->
<LI><OBJECT type="text/sitemap">
<param name="Name" value="10">
<param name="Local" value="0/1/2.htm">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="11">
</OBJECT>
<UL><!--第三层begin -->
<LI><OBJECT type="text/sitemap">
<param name="Name" value="2">
<param name="Local" value="0/1/2.htm">
</OBJECT>
</UL><!--第三层end -->
</UL><!--第二层end -->
</UL><!--第一层end -->
<!--树形end -->
</BODY></HTML>
<-----------------------.hhc-end-------------------->
如果全文搜索无效(
1)网页字符集为gb2312,
2)对文本文件无效,
3)没勾选只搜索标题,
4)没有注册 itircl.dll
5)不要在要搜索内容前加HTML特殊符号,空格除外
)外,弹出
"HHC6003: The file itircl.dll has not been registered correctly",错误
Look for itcc.dll on your system. If it's there, register it using:
regsvr32 c:\windows\system\itcc.dll
详细参见:http://frogleg.mvps.org/helptechnologies/oldjunque/itircl.htm