Tivoli 服务台 6.0 开发工具包脚本程序设计指南
开发工具包是 TSD 脚本程序设计语言的开发环境。开发工具包包括一组工具,可用这些工具来开发开发工具包应用程序。本书涉及的工具之一是 IDE,即集成开发环境。IDE 用于创建知识库文件。
注释:在开发工具包工具和公用程序指南中可以找到关于开发工具包的详细信息。
以下是开发工具包中包括的新特性。
支持 32 位 Windows (Windows 95 和 Windows NT)
支持 UNIX (HP/UX)
菜单工具条的工具提示(图符提示帮助)
Windows 95 样式标记对话框
Windows 中较小的工具条支持亚洲语言环境(支持 DBCS)
窗体创建的几何管理对所有平台都一样的一个新用户接口设计工具在用户接口设计工具中定义菜单、工具条和字符串表的功能支持 SMTP 和 POP 邮件协议支持 Windows 中的 CPIC
本章介绍 TSD 脚本及用此语言建立的应用程序的基本结构。TSD 脚本是开发工具包使用的块结构的高级程序设计语言。程序由一系列嵌套的块组成,每个块可有多个段。
TSD 脚本语言是:
注释:可只编写一次使用邮件和 SQL 的开发工具包应用程序,并把它部署到几个不同的操作系统、数据库管理系统或邮件协议平台中。
开发工具包程序不但阐述过程型语句代码,还阐述业务规则和其它数据形式。因此,开发工具包中的代码模块被称作知识库或 .kb 文件。
在开发工具包中,信息可以三种形式之一存在:
开发工具包以这三种形式之一与外部实体(如数据库和用户界面)交换信息。
保存在任何外部实体中的信息由分配给它的数据类型确定。数据类型定义变量的性质。开发者说明变量,确定变量可取值的范围和可执行的操作。
一些实体只保存数字,而另一些可保存字符串。分配给数据的类型在程序的生命期都起作用,并由程序员决定。
标识符是称呼实体(如知识库、常量、类型、变量和例程)的名称。
注释:例程(在开发工具包中这样称呼)是一些过程、函数和其它可在程序中执行的开发工具包语句组。
开发工具包标识符以字母(A 到 Z)或下划线(_)开始,其后可跟任意个字母、数字(0 到 9)和下划线线。在开发工具包中,外语字符不可用作标识符。
在开发工具包中,用单引号(即撇号)包围所有的字符串。要在开发工具包字符串文字中使用单引号(即撇号),必须使用两个单引号。例如,要把字符串“Tom's Place”赋值给开发工具包变量,必须插入下列内容:
s := 'Tom''s Place';
应该用注释字符“(*”和“*)”或“--”包围任何关于常量的注释。例如:
(*这是注释*) --这是注释
每个知识库文件名的扩展名均为 .kb。文件名也必须与知识库的名称相同。如果知识库名称多于 8 个字符,在 Windows 和 OS/2 中,文件名必须包括它的前 8 个字符(UNIX 文件名可以更长)。例如,名称为“example”的知识库保存在名称为“EXAMPLE.KB”的文件中。名称为“example1A”的知识库保存在叫做“example1.kb”的文件中。
警告:因为 UNIX 区分大小写,文件名和知识库名称的大小写方式应相同。.kb 扩展名应小写。
建议使用下列命名约定,但不是必需的,不使用这些约定不影响开发工具包语法正确性。
常量名通常大写,单词之间使用下划线。例如:
MAX_VALUES
类型名和过程混合使用大小写,以一个大写字母开头。不用下划线。而组合词都以大写字母开头。例如:
EmployeeRecord,PersonHistoryList
变量名的第一个单词应小写。
myFile
如果使用下划线,变量名的所有字母都应小写。如果不使用下划线,每个单词的第一个字母应大写。例如:
current_employee,currentEmployee
每个知识库以关键字 KNOWLEDGEBASE 开头,后跟它的名称和一个分号。而且,在所有知识库中,都有两个主要的必需段:
关键字 KNOWLEDGEBASE 指示公用段的起点,关键字 PRIVATE 指示专用段的起点,如下例所示:
KNOWLEDGEBASE Example; ... PRIVATE ...
可以使对常量、数据类型、变量和例程的说明也能用于其它知识库。可用例程在公用段出现,而在专用段使用。其它知识库可在专用段访问的唯一实体是例程。
开发工具包关键字 USES 允许一个模块使用在另一知识库中说明的公用标识符。当程序运行时,在知识库中说明的最后一个公用例程自动执行。
知识库的专用段也可包括对常量、数据类型、例程和变量的说明。这些说明只在该知识库中可用。
在知识库的公用或专用段,可按任意顺序出现几个次要的可选段。
下面是知识库的简单实例。
KNOWLEDGEBASE Example; (*begins public section*) CONSTANTS MAX_EMPLOYEES IS 500; VARIABLES total: INTEGER; ROUTINES PROCEDURE PrintEmployeeInfo(VALUE whichEmployee:Integer); PRIVATE (*begins private section*) CONSTANTS ARRAY_SIZE IS 1000; VARIABLES Employees: ARRAY[ARRAY_SIZE] OF String; ROUTINES PROCEDURE SendStringToPrinter(VALUE s: String) IS ... END; PROCEDURE EjectPageFromPrinter IS ... END;
PROCEDURE PrintEmployeeInfo(VALUE whichEmployee:Integer)IS ACTIONS SendStringToPrinter(employee[whichEmployee]); EjectPageFromPrinter; END; END;
前面的知识库在其公用段说明了 3 种标识符:
专用段还包括:
另一知识库如在其关键字 KNOWLEDGEBASE 之后添加下面一行,则它就能够使用 Example.kb 中的公用信息 MAX_EMPLOYEES、total 和 PrintEmployeeInfo。
USES Example;
Tivoli 服务台 6.0 开发工具包脚本程序设计指南