Delphi 应用程序的应用

2016-02-19 17:49 7 1 收藏

今天图老师小编给大家精心推荐个Delphi 应用程序的应用教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

【 tulaoshi.com - 编程语言 】

  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图。  4.插入+脚标。在主题第一行的K脚标之后插入+脚标。在主题文本以下的+ 脚标处键入浏览顺序标识符。标识符可以是一个数(如005),或一组名字加上冒号和数(如 CAL C:005)一个主题只能有一个浏览顺序。

  热点是用户可以激发某种动作的文本或图像。一个热点可跳转至另一个主题。在其它窗口中显示主题或执行宏。多数情况下,重要字段被设计成热点以实现主题跳转。

  以下是实现主题跳转的步骤:

  1. 输入要跳转的字段或插入图像;

  2. 高亮度选择字段,用双下划线格式化。在MicroSoft Word中,按ALT +T 键弹出字符格式对话框,在列表中选择双下划线;  

3. 在紧挨在这些字段或图像之后,键入指定主题的字符串。 并对内容字符串进行隐藏格式化。这个内容字符串是跳转主题的内容字符串;

  根据以上步骤能实现主题之间的跳转。

  最后要把编辑的文件以RTF格式保存下来,WinHelp只能编译RTF文件。以下是典型的RTF文件: 

  

#$+ Help Example Indexindex_info 1 of 2index_2 CommandsEdit Menumenu_editFile Menumenu_file GlossaryDefined Termsglossary ProceduresCopying Textproc_copying_textDeleting Textproc_deleting_textExitingproc_exiting Available From Your ApplicationContext Sensitive Topics cs_topics # main_index$ Help Index+ index:0005
 

11.1.2.2 建立内容主题 

  内容主题列出了帮助系统的主要部分。用图标启动帮助系统或按Content按钮均出现内容主题。内容主题的每个项目都可跳转。

建立内容主题与建立一般主题类似,WinHelp默认第一个主题为内容主题。其建立步骤如下:

  1. 移至第一个源文件的开始处;  

2. 键入希望出现的主题标题,这些标题处于不同的行;

  3. 将每个主题设置成热点。 

11.1.2.3 建立帮助工程文件 

  帮助工程文件是一个文本文件。包含了有关帮助文件的许多信息。 编译器对工程文件进行编译。工程文件的扩展名必须是HPJ,编译后的扩展名是HLP:

  下面是一个简单的帮助工程文件:

  [OPTIONS]

  CONTENTS=context_string

  TITLE=title

  COMPRESS=compress_level

  ERRORLOG=log_filename

  [CONFIG]

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  BrowseButtons()

  [FILES]

  RTF_filename_1

  RTF_filename_2

  RTF_filename_3

  [OPTIONS]

Context_String是内容主题的内容字符串。这一行并不是必须有的。 如果没有第一行,WinHelp把第一个帮助文件的第一个主题作为内容主题。

  TITLE = title

  title是帮助窗口的标题。不要将标题用引号括住。这一行也不是必需要有的。如果没有,缺省的标题是Windows Help.

  CoMPRESS = Compress level

Compress_level决定工程文件在编译时是否被压缩, 压缩后的文件编译时要花较长的时间。

  表11.2 为Compress_level的取值: 

  表11.2 Compress_leve的取值及含义

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  取值    编译时间       文件大小

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

  FALSE 快          大(无压缩)

  MEDIUM 中等         中等(高度压缩)

  HIGH 慢          小(无压缩)

  0       快          大(无压缩)

  1       慢          小(高度压缩)

  No 快          大(无压缩)

  TRUE     慢          小(高度压缩)

  YES 慢           小(高度压缩)

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

  ERROR(LOG = log_filename)

log_filename是WinHelp运行时的错误输出文件。如果编译时工程文件出错,需要一个记录错误的文件。如果工程文件有这一行,WinHelp在运行时自动创建的文件,如果没有,错误将显示在屏幕上,但不存入任何文件中。

  BrowseButton()

如果有这一行,帮助按钮条中将出现和键,要实现顺序浏览, 还需在帮助文件中定义。详见11.1.2.1节中的插入+脚标。

  [FILEs]

RTF_filename是.RTF源文件名。所有的RTF文件构成整个帮助系统。每个RTF 应处在

  不同的行。

  以下是工程文件的实例

  

; This help project requires hc 3.1[OPTIONS]errorlog = iconwrks.errtitle = IconWorks Helpcontents = CONTENTScompress = falseoldkeyphrase = falsewarning = 3 [FILES]iconwrks.rtf [MAP]CONTENTS 1EDITOR_KEYBOARD 2EDITOR_COMMANDS 3VIEWER_KEYBOARD 5VIEWER_COMMANDS 6DEFINING_COLORS 1000EDITOR_FILE_MENU 1100EDITOR_FILE_MENU 1101EDITOR_FILE_MENU 1102EDITOR_FILE_MENU 1103EDITOR_FILE_MENU 1104EDITOR_FILE_MENU 1105EDITOR_EDIT_MENU 1200EDITOR_EDIT_MENU 1201EDITOR_EDIT_MENU 1202EDITOR_EDIT_MENU 1203EDITOR_EDIT_MENU 1210EDITOR_EDIT_MENU 1211EDITOR_EDIT_MENU 1212EDITOR_VIEW_MENU 1108EDITOR_VIEW_MENU 1109EDITOR_VIEW_MENU 1110EDITOR_VIEW_MENU 1111EDITOR_VIEW_MENU 1112EDITOR_VIEW_MENU 1111EDITOR_TOOLS_MENU 1400SELECT_TOOL 1401PAINT_TOOL 1402FILL_TOOL 1403LINE_TOOL 1404 [WINDOWS]main = "IconWorks Help", (0,0,1023,1023 ),,, (192,192,192 )glossary = "IconWorks Help", (222,206,725,486 ),,, (192,192,192 ), 1 [CONFIG]CB("glossary", "&Glossary", "JI(`iconwrks.hlpglossary', `GLOSSARY')")BrowseButtons()
 

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)

● 编译器错误信息源文件(HCD.ERR,HC1.ERR)

  ● 帮助工程文件(.HPF)

  ● 任何引用位图或SHED的文件(.BMP.SHG) 

  如果以上文件不在同一目录中,必须在工程文件中定义相应的路径。

  编译要在Dos环境中进行,命令格式: 

  Help_Compiler_rootname project_File_rootname 

Help_Compiler_rootname是不带扩展名的编译器名字。project_file_rootname是不

  带扩展名的帮助工程文件名,如: 

  HCP MYHELP 

11.2 Delphi应用程序的Help编程 

  Delphi应用程序能够方便地应用帮助系统。程序可以动态地运行帮助系统。 对话框可以与帮助系统相联。 

11.2.1 定义应用程序的帮助文件 

  要在应用程序中使用帮助系统,必须有相应的帮助文件。程序可以编写自己的帮助文件, 也可以使用已有的帮助文件。 另外,要为应用程序定义帮助文件以便在用户需要帮助时应用程序能打开相应的帮助文件。

  在 Delphi 集成开发环境中选择Options | Project 菜单项, 系统弹出工程选择对话框, 再选择Application Options页面,在辅助文件中输入帮助文件名。

所有的应用程序都是TApplication的派生类。TApplication有三种方法调用在线帮助系统。  HelpContext方法可调用WinHelp(关于Winhelp的内容见上节)。它把HelpFile 中的文件名和一个文本代码传递给WinHelp。HelpFile是TApplication的字符串类型的属性,专门用来存放Help文件的。如果HelpFile属性是空字符,HelpContext返回假值,其它情况均返回真值。

  下面的例子使用窗体上的一个按钮,当用户单击按钮,屏幕出现DATA.HLP文件中714号主题内容。 

  

procedure TForm2.Bin1Click(Snder : TObject)beginApplication.HelpFile := DATAHLP;Application.HelpContext(714); end; 

来源:https://www.tulaoshi.com/n/20160219/1616141.html

延伸阅读
  下是Delphi数据库应用程序中常见错误、原因/解决方法:   数据感知控件DataSource属性未设置或者设置错误(链接为其他的DataSource) 原因:在设计时不小心改动,拷贝粘贴过程中未全部更改   测试时标准代码中没有数据,无法进行测试 解决:确定需要输入数据的表格的先后顺序,在依次输入测...
标签: Delphi
  在编写Delphi的应用程序中,常常涉及对其它Windows应用程序的操作。例如,在数据库的管理系统中,财务人员需要使用计算器,即可调用Windows内含的计算器功能,若每次使用,均通过“开始/程序/附件/计算器”来打开计算器,显然是非常繁琐的,当然可以考虑在桌面上建立一“计算器”的快捷方式,且定义一热键,需要使用计算器时...
标签: Delphi
  13.1 数据库系统概述         数据库系统为我们提供了一种把与我们的工作和生活紧密相关的信息集合在一起的方法,它还提供了在某个集中的地方存储和维护这些信息的方法。数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序)、数据库应用程序(它使...
新的JavaTM 虚拟机(VMs)具有能够提高性能的特点, 并且你可以使用许多工具来提高应用程序的性能或减小一般类文件的尺寸。这种Java虚拟机的特性和工具可使你在不改变应用程序、或对应用程序仅做很小改动的情况下, 提高应用程序的性能。 Java虚拟机的特性 !-- frame contents -- !-- /frame contents -- Ja...
VC应用程序框架提供的强大功能,为我们的开发提供了极大的方便,利用它可以很轻松地生成应用程序的框架.许多常用功能,例如文档的创建,文件的打开,保存等操作的大部分代码都由应用程序框架来完成.这些操作对于开发软件的用户而言是透明的。微软设计Visual C++的初衷是尽量向用户提供尽可能简单的接口,但是,正是因为应用框架的这一透明性,使VC...

经验教程

561

收藏

32
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部