第十一章-Delphi应用程序的应用(一)(1)

11.1 Help文件的建立 

Help文件是Micosoft Windows3.0以上的版本提供的超文本帮助文件。利用这种超文本,用户可非常方便地使用帮助文件系统。帮助文件是以主题为主线进行编写的,一个主题可以跳转至相关的主题,也可按关键字进行主题查询。帮助文件与软件开发工具相结合,可实现应用程序的'上下文敏感',而且帮助系统自动装入。“上下文敏感”是指根据程序当前执行代码来显示Help文件的相应部分。

Windows提供的很多应用程序都有帮助系统,读者可以从这些系统中了解应用程序的许多信息。

11.1.1 建立Help文件所需的工具和文件 

程序员可为自己的应用程序建立帮助文件系统。但建立最基本的帮助系统, 必须有以下文件

1. WinHelp 应用程序 ( WinHelp.exe) 。运行帮助系统实际上是运行用帮助源文件的

WindHelp程序。帮助文件只有通过WinHelp文件才能运行。

2. 能创建主题的字处理器。这种处理器能以RTF格式保存文件, 能创建$,#,K,+脚标。RTF(Rich Text Format)格式是一个能记录各种文本特征的文件格式。这些特征包括字体大小、线型风格等。Microsoft Word 6.0处理器能满足以上要求。

3. 一个能以ASCII格式保存文件的字处理器或编辑器,这是为了创建Help工程文件(.HPJ文件)。

4. 帮助文件编译器(HCP.EXE或HC31.EXE),两种编译器均能编译在Windows3.1 环境中使用的帮助文件,但不能编译Windows3.0环境下的帮助文件。HCP.EXE是保护模式的编译器,能更好地使用内存空间。要在Windows的Dos窗口中使用HCP.EXE编译器。

5. 帮助编译器所需的错误信息源文件(HCP.ERR或HC31.ERR)。如果帮助文件在编译过程中出现错误,WinHelp运行时将提示有关的错误信息,而这些信息保存在HCP.ERR或HC31.ERR文件中。

以下工具能实现帮助系统的高级特征:

1. 热点(Hotspot)编辑器(SHED.EXE);

热点编辑器能创建分段超图像文件(.SHG)。这种文件包括一些分成多个热点的图像,当用户单击图像,将弹出一个窗口或跳转至另一主题。

2. 多分辨率位图编译器(MRBE.EXE);

这种编译器能将具备多种分辨率的位图结合到一个文件中,以供WinHelp 使用。WinHelp检查显示器的分辨率, 然后以相应的分辨率加以显示。

3. 图像编辑器,它能以位图形式保存图像文件。 使用图像编辑器创建说明和自定义按钮。

4. 绘图软件。用以创建除了位图之外的元文件(WMF);

程序员可以直接把图像插入文本中,也可以用Windows剪贴板把图像粘贴至文本中。 

11.1.2 Help文件的创建 

下面介绍最简单、最直接的创建Help文件的方法,假设在Word中创建主题。

创建Help文件分以下4个步骤:

1. 建立组成帮助文件的主题,并以RTF格式保存;

2. 建立内容主题(Content Topic),并以RTF格式保存;

3. 建立帮助工程文件(.HPJ)以文本格式保存;

4. 将工程文件编译成帮助源文件(.HLP)。 

11.1.2.1 建立主题 

一个简单的帮助主题包括主题题目(Title),主题文本(Text),脚标,主题内容,全局查询、打印。主题最好是带有题目,题目写在主题的第一行。用不同的字体大小、颜色以示区别

写完题目后,可输入主题的文本。输入时不用担心每行的宽度。 编译好的帮助文件会根据窗口大小自动确定行宽。在主题的最后插入一个分页符,WinHelp把每页视为一个单独主题。

书写主题文本时应注意尽可能地把文本写成小段落列表,这样能方便阅读; 同时要控制主题长度,这样用户不需要使用滚动条来阅读文本。

在主题中应加入一些脚标, WinHelp 使用这些脚标辨识主题并提供一些导向控制 (Novigation Control),四种典型脚标如表11.1所示。  

表11.1 脚标以及用途

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 符号  适用于      用    途

──────────────────────────────────

# 内容字符串    唯一辨识主题

$ 标题       在搜询对话框和搜询历史列表框中显示主题

K 关键字(段)    出在搜询对话框中

+ 浏览顺序     用户使用时的浏览顺序

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

以下分别介绍四种脚标的插入方法:

1. 插入#脚标。把光标移至主题的最前端插入#脚标。这时主题文本下端也会出现#,在此后键入内容字符串。WinHelp使用内容字符串作为唯一的辨识主题。用户永远也看不见这些字符串,但设计人员用它们定义跳转主题。

2. 插入$脚标,把光标移至#脚标后,插入$脚标。在文本下端的$脚标处,输入主题的标题,该标题与第一行出现的标题一致,标题将会出现在搜询对话框和搜询历史对话框中

3. 插入K脚标。在主题第一行的脚标之后插入K脚标,在主题文本中的K 脚标后键入字段,这些字段将出现在搜询列表框中,见11.3图。

时间: 2024-07-28 13:03:41

第十一章-Delphi应用程序的应用(一)(1)的相关文章

第十一章-Delphi应用程序的应用(一)(3)

11.1.2.4 编译帮助工程文件 有两种编译器可以编译帮助工程文件:HCP.EXE ,H31.EXE.两种编译器编译的文件不能在Winddow3.0中使用,但能在Windows 3.1中使用.其中HCP.EXE是保护模式"编译器",它能更好的使用内存.必须在Windows的Dos窗口中使用HCP.EXE. 编译前要注意两个问题: 1. 所有源文件必须以RTF格式保存: 2. 下面的文件必须在同一个目录下 ● 所有的.RTF文件 ● 帮助编译器(HCP.EXE,HC31.EXE) ●

第十一章-Delphi应用程序的应用(二)(1)

所有的应用程序都是TApplication的派生类.TApplication有三种方法调用在线帮助系统. HelpContext方法可调用WinHelp(关于Winhelp的内容见上节).它把HelpFile 中的文件名和一个文本代码传递给WinHelp.HelpFile是TApplication的字符串类型的属性,专门用来存放Help文件的.如果HelpFile属性是空字符,HelpContext返回假值,其它情况均返回真值. 下面的例子使用窗体上的一个按钮,当用户单击按钮,屏幕出现DATA.

第十一章-Delphi应用程序的应用(二)(2)

TApplication部件的OnHelp事件响应帮助事件. 当应用程序接收到一个所需的帮助 时,发生OnHelp事件.使用OnHelp事件可以在需要帮助时定义一些特殊过程. 以下的例子改变了应用程序的帮助文件,AppHelp函数用来处理OnCreate事件. function TForm1.AppHelp(Command.Word;Data : lontint) : Boolean begin if OpenDialog1.Exeeute then Application HelpFile :

第十一章-Delphi应用程序的应用(二)(3)

首先,在TForm1对象中宣称DisplayHint方法,并在单元的implementation部分编写实现代码.在DisplayHint方法中,把应用程序的Hint属性赋给面板的标题.另一个重要问题是必须把DisplayHint方法作为处理OnHint事件的方法.窗体的OnCreate事件的代码解决了这个问题. 下面列出了程序的完整代码.当用户运行程序, 把鼠标置于菜单或部件之上,在窗体的状态条中将出现定义的提示. Type TForm1 = class(TForm) Button1: TBu

第十一章-Delphi应用程序的应用(一)(2)

4.插入+脚标.在主题第一行的K脚标之后插入+脚标.在主题文本以下的+ 脚标处键入浏览顺序标识符.标识符可以是一个数(如005),或一组名字加上冒号和数(如 CAL C:005)一个主题只能有一个浏览顺序. 热点是用户可以激发某种动作的文本或图像.一个热点可跳转至另一个主题.在其它窗口中显示主题或执行宏.多数情况下,重要字段被设计成热点以实现主题跳转. 以下是实现主题跳转的步骤: 1. 输入要跳转的字段或插入图像: 2. 高亮度选择字段,用双下划线格式化.在MicroSoft Word中,按AL

[转]李战大师-悟透delphi 第十一章 面向对象数据库基础

第十一章  面向对象数据库基础 第二节 数据对象的标识我们在关系数据库的设计和开发中,可能经常需要一些唯一的编号或标识,用来作为关键字,以区别每一个不同的人,每一张不同的单据,每一次不同的信息登记,等等.并且,我们也一直采用这些编号和标识,作为关系的连接字段.但是,要保证编号或标识是完全唯一的,却是一个不大不小的难题.下面我们将详细讨论这一问题,并希望能从另一个高度来理解这一问题.不过,我们首先来看看问题是怎样由来的.现在,给大家讲一个故事. 从前,在北京降生了一个漂亮的小女孩.接生的李阿姨说,

第十三章-Delphi开发数据库应用程序概述(一)(3)

13.3 Delphi数据库的体系结构 Delphi使用可视化的部件创建数据库应用,跟创建其它的非数据库应用程序一样,数据库部件都具备一定的属性,程序设计人员可以在设计过程中设置部件的多种属性,也可以在程序运行过程中通过程序来设置部件的各种属性. 在Delphi部件板上有两页数据库部件用于开发数据库应用程序: 数据访问部件页:该页上的部件主要用于说明有关的数据库的信息,如应用程序要访问(连接)的数据库,要访问数据库中的具体的数据库表,以及要访问表中哪些字段等,在实际的开发应用中常用的部件有TDa

[转]李战大师-悟透delphi-第一章 delphi的原子世界

yjmyzz:李战大师的成名,并不是因为08年发表于园子里的那篇"悟透javascript",而是多年前的这篇处女作"悟透delphi",原出处已经找不到了,近日重温delphi研究如何开发原生win32中的activex控件时,无意又找到了这篇文章,想当年这篇文章在delphi编程群体中那是何等轰动,转载于此,以示纪念.(delphi的出现,秒杀了vb/pb,vs的出现又秒杀了delphi,但是windows就其发展来看,不管如何发展,至少在今后相当长的时候间,也

第二章-Delphi面向对象的编程方法(一)(1)

Delphi的编程语言是以Pascal为基础的.Pascal语言具有可读性好.编写容易的特点,这使得它很适合作为基础的开发语言.同时,使用编译器创建的应用程序只生成单个可执行文件(.EXE),正是这种结合,使得Pascal成为Delphi这种先进开发环境的编程语言. 本章中,我们将讨论Object Pascal的主要特点,并讲解如何在事件处理过程和其他应用程序中,使用它来编制程序代码.本章将讲解Delphi应用程序中最常用的Object Pascal语法,而不是Pascal语言的一切细节.如果您