返回主页
此语句插入 ' 字符。
FUNCTION $Quote: '''';
检查并替换布尔值的显示格式。
FUNCTION BooleanFormat [ ( VAL format: INTEGER ) ] : INTEGER;
自变量名称 | 说明 |
format | 如果提供此自变量,它将替换缺省格式 |
此函数检查并替换缺省格式,每当此类型值转换为文本形式时将使用它。
如果不使用自变量进行调用,BooleanFormat 将返回现有的缺省布尔显示格式。如果提供自变量,该值将替换当前的缺省值,并返回旧格式。
关于显示格式的说明,请参见 WinWrite 语句的“注释”部分。
VARIABLES
oldFormat: INTEGER; ACTIONS oldFormat:= BooleanFormat(BitOr($FmtBoolYesNo, $FmtLeftJustify));
...
BooleanFormat(oldFormat); END;
将 ASCII 字符代码(代码点值)转换为一个字符的字符串。可以改变此字符串的实际状态,这取决于当前活动的代码页。有关代码页的信息,请参见操作系统文档。
FUNCTION Char (VAL code: INTEGER): STRING;
自变量名称 | 说明 |
code | 表示 ASCII 值的整数 |
VARIABLES s : STRING; ACTIONS s:=Char(255);
CharCode
返回字符串中第一个字符的 ASCII 字符代码(代码点值)。为表示一个给定的字符而返回代码点的数值可以改变,这取决于当前选择的代码页。有关代码页的信息,请参见操作系统文档。
FUNCTION CharCode (VAL str: STRING): INTEGER;
自变量名称 | 说明 |
str | 这是任意字符串。 |
将 str 自变量作为一个单字符的字符串处理。如果您插入一个多个字符的字符串,则返回字符串中第一个字符的 ASCII 字符代码。
i := CharCode('A'); (* i = 65 *)
Char
检查并替换整数值的文本格式。
FUNCTION IntegerFormat [ ( VAL format: INTEGER ) ] : INTEGER;
自变量名称 | 说明 |
format | 如果提供此自变量,它将替换缺省格式 |
此函数检查并替换缺省格式,每当此类型值转换为文本形式时使用这种缺省格式。
如果不使用自变量进行调用,IntegerFormat 将返回缺省格式。如果提供自变量,该值将替换当前的缺省值,并返回以前的格式。
VARIABLES oldFormat: INTEGER; ACTIONS oldFormat := IntegerFormat(BitOr(IntegerFormat, $FmtIntSigned)); -- Prepend the sign to all integers.
...
IntegerFormat(oldFormat); END;
IntegerFormat 不返回任何代码。与 StringFormat 返回的值一样,IntegerFormat 返回的值是格式标志位阵列的以前值。因为 TSD 脚本没有位阵列类型,此值可以按整数处理。值的符号没有含义。
有关显示格式的说明,请参见数据类型格式标志。
检查或替换实数值的缺省文本格式。
FUNCTION RealFormat [ ( VAL format: INTEGER ) ] : INTEGER;
自变量名称 | 说明 |
format | 如果提供此自变量,它将替换缺省格式 |
此函数检查并替换缺省格式,每当此类型值转换为文本形式时使用这种缺省格式。如果不使用自变量进行调用,它会返回现有的缺省设置。如果提供自变量,该值变为缺省值,并返回原来的缺省值。
CONSTANTS sigDigits IS 2; -- Two digits to the right of the decimal. VARIABLES oldFormat: INTEGER; ACTIONS oldFormat := RealFormat(BitOr($FmtRealGroupedWithComma, sigDigits));
...
RealFormat(oldFormat); END;
返回码 | 说明 |
Any | 如果不指定自变量,则为当前的实数格式;如果提供自变量,则为以前的实数格式。 |
有关详细信息,请参见数据类型格式标志。
返回字符串表达式中的子字符串。
FUNCTION StrCopy (VAL source: STRING, VAL start [, length]: INTEGER): STRING;
自变量名称 | 说明 |
source | 从中复制子字符串的字符串表达式。 |
start | 复制第一个字符的以 1 开始的索引。如果开始值小于 1,则 StrCopy 失败并返回未知值。如果开始值大于字符串的长度,则 StrCopy 返回空字符串。 |
length | 复制到新字符串的字符数。如果 length 小于 0,则 StrCopy 返回 $Unknown。如果 length 大于可用的字符,则复制全部可用字符。 |
StrCopy 复制源字符串中由自变量 length 规定的字符个数,并将其返回。复制从开始位置的字符开始。如果开始位置大于字符串中的字符数,则返回空字符串。
VARIABLES drive,path,fileName: STRING; ACTIONS drive:=StrCopy('F:\ADVISOR\DATA\LOCATION.FLD',1,2); (* drive = 'F:'); path:=StrCopy('F:\ADVISOR\DATA\LOCATION.FLD',3,13); (* path = '\ADVISOR\DATA'): fileName:=StrCopy('F:\ADVISOR\DATA\LOCATION.FLD',17,12); (* fileName = 'LOCATION.FLD' *)
解密由 StrEncrypt 用给定的键值加密的字符串。
FUNCTION StrDecrypt (VAL Source: STRING, VAL Key: INTEGER): STRING;
注意:不正确的字符串会将错误的整数键值传递返回给 StrDecrypt。
自变量名称 | 说明 |
Source | 以前调用 StrEncrypt 时加密的字符串。 |
Key | 解密字符串时用作秘密键的整数值 |
StrDecrypt 和 StrEncrypt 的加密算法不是特别的安全,但对于不严格加密是可用的。
(* Function FCryptReadIn: This funciton reads an encrypted string from a file and decrypts it.
*)
FUNCTION FCryptReadIn(VAL Key:Integer, VAL fhdl:FILE):STRING IS
VARIABLES TmpStr: STRING;
ACTIONS FReadLn(fhdl, TmpStr); $Result:=StrDecrypt(TmpStr,Key);
END;
返回码 | 说明 |
解密的字符串 | 成功完成 |
$Unknown | 调用 StrDecrypt 失败 |
StrEncrypt
删除字符串中的子字符串
FUNCTION StrDelete (VAL source:string, VAL start: Integer, VAL length: Integer):string
自变量名称 | 说明 |
source | 从中删除子字符串的字符串。 |
start | 删除字符的开始位置。如果开始值小于 0,则不能删除,并返回 $Unknown。如果开始值大于字符串长度,则不删除字符,并返回原来的字符串。 |
length | 要删除的字符数。如果 length 小于 0,则 StrDelete 失败并返回 $Unknown。 |
StrDelete 以删除字符的指定范围,返回源字符串的副本。源字符串不受影响。
VARIABLES s : STRING; ACTIONS s:=StrDelete('F:\ADVISOR\DATA.DAT',1,11); (* s = 'DATA.DAT' *)
StrDelete 以删除字符的指定范围,返回输入字符串的副本。如果输入自变量有任何错误,则返回 $Unknown。
使用整数关键字,将字符串加密为不可读格式。
FUNCTION StrEncrypt (VAL Source: STRING, VAL Key: INTEGER): STRING;
自变量名称 | 说明 |
Source | 需要加密的字符串。 |
Key | 加密字符串时,用作秘密关键字的整数值。 |
StrDecrypt 和 StrEncrypt 的加密算法不是特别的安全,但对于不严格加密是可用的。
(* Function FCryptWriteIn: This funciton writes a string to a file in an encrypted form.*)
FUNCTION FCryptWriteIn(VAL Str:String, VAL Key:Integer, VAL fhdl:FILE):INTEGER IS
ACTIONS $Result:=FWriteLn(fhdl, StrEncrypt(Str,Key));
END;
返回码 | 说明 |
$Unknown | 调用 StrEncrypt 失败 |
StrDecrypt
检查或替换缺省字符串的格式选项。
FUNCTION StringFormat [ ( VAL format: INTEGER ) ] : INTEGER;
自变量名称 | 说明 |
format | 如果提供此自变量,它将替换缺省格式 |
此函数用于检查并替换缺省格式,每当此类型值转换为文本形式时使用这种缺省格式。
如果不使用自变量进行调用,它会返回现有的缺省设置。如果提供自变量,该值将变为新的缺省值,并返回以前的缺省值。
VARIABLES oldFormat: INTEGER; ACTIONS oldFormat := StringFormat($FmtLeftJustify); ... StringFormat(oldFormat); END;
StringFormat 返回字符串格式位阵列以前的值。以后此返回值可以传递回 StringFormat。例如:
oldFormat :=StringFormat (newFormat); ... --output some strings ... StringFormat (oldFormat) ;
有关显示格式的说明,请参见 Tivoli 服务台开发工具包脚本编程指南。
将子字符串插入到字符串中。
FUNCTION StrInsert (VAL source, substring: STRING, VAL start: INTEGER): STRING;
自变量名称 | 说明 |
source | 将子字符串插入到其中的字符串。 |
substring | 插入到源字符串中的字符串。 |
start | 子字符串插入到目标中的位置。如果开始坐标小于 1,则 StrInsert 失败,并返回 $Unknown。如果开始坐标大于目标字符串的长度,则将子字符串附加到目标字符串的末端。 |
StrInsert 在给定位置将子字符串插入到源字符串中。由于插入已经发生,所以插入的子字符串的第一个字符,位于该位置指定的索引处。
注:连接的字符串作为 StrInsert的结果返回,而输入的字符串未更改。
VARIABLES s : STRING; ACTIONS s:=StrInsert('F:\DATA.TXT','\ADVISOR',3); (* s = 'F:\ADVISOR\DATA.TXT' *)
StrInsert 返回带有在给定索引处开始的插入子字符串的目标字符串的副本。如果在自变量中,有任何错误,则返回 $Unknown 语句。
返回字符串的长度。
FUNCTION StrLength (VAL str: STRING): INTEGER;
自变量名称 | 说明 |
string | 要计算其长度的字符串表达式。 |
StrLength 返回整数,表示输入表达式中的字符数。如果字符串是 $Unknown,则返回 $Unknown。
VARIABLES i: INTEGER; path,fileName: STRING; ACTIONS path:='F:\EADVISOR'; fileName:='KMLRUN.EXE'; i:=StrLength(path & '\' & fileName); (* i = 22 *)
返回码 | 说明 |
> = 0 | 表示输入表达式中的字符数的整数 |
$Unknown | 如果字符串是 $Unknown,则返回值也是 $Unknown。 |
装载由接口设计程序创建的 a .df 文件中字符串表的字符串。
FUNCTION StrLoad (VAL formspec: STRING): STRING;
自变量名称 | 说明 |
formspec | 格式‘file[res_name]’的表格规则,其中 file 是 a .dfc 文件名,res_name 是字符串表中的字符串资源名。 |
如果查找不到字符串,或查找不到文件,则函数的调用结果是 $Unknown。
KNOWLEDGEBASE test;
ROUTINES PROCEDURE Main;
PRIVATE
ROUTINES
PROCEDURE Main IS VARIABLES x: STRING; ACTIONS x := StrLoad('test[test_string]'); WinMessageBox($Desktop, 'Information', $MBOK, 'The string is ' & x); END;
将字符串转换为小写。
FUNCTION StrLower (VAL str: STRING): STRING;
自变量名称 | 说明 |
str | 字符串表达式 |
VARIABLES s : STRING; ACTIONS s:=StrLower('F:\MYFILE.TXT'); (* s = 'f:\myfile.txt' *)
StrLower 返回输入字符串的副本,其中的每个大写字符都被转换为小写。输入字符串不改变。
StrUpper
去掉字符串中的引导空格、标签和换行符。
FUNCTION StrLTrim (VAL str: STRING): STRING;
自变量名称 | 说明 |
str | 字符串表达式 |
VARIABLES s : STRING; ACTIONS s:=StrLTrim('F:\DATA.TXT'); (* s = 'F:\DATA.TXT' *)
返回输入字符串的副本,字符串的引导空格、标签和换行符都已被删除。输入字符串不改变。
StrTrim
搜索字符串中的子字符串模式。
FUNCTION StrMatch (VAL source, VAL pattern: STRING): BOOLEAN;
注意:搜索不区分大小写。
自变量名称 | 说明 |
source | 要搜索的字符串表达式。 |
pattern | 包含通配符,如 ? 和 * 的可选字符串表达式。 |
StrMatch 将源字符串与模型比较。模式可以包含通配符:
匹配不区分大小写。
VARIABLES f: FILE; l: LIST OF STRING; match: LIST OF STRING; ACTIONS FOpen(f,'MYFILE.TXT',$Read); FReadText(f,l); FClose(f); FOR l DO IF StrMatch(l[$Current],'*printer*') THEN ListInsert(match,l[$Current]); END;
则 StrMatch 返回 TRUE,否则返回 FALSE。
查找字符串中子字符串的位置。
FUNCTION StrPos (VAL source, VAL substring: STRING): INTEGER;
自变量名称 | 说明 |
source | 预定要包含子字符串的字符串 |
Substring | 源字符串中的一个字符串 |
StrPos 从输入字符串的第一个字符开始,执行不区分大小写的扫描,直到查找到目标字符串为止。如果查找到目标,则 StrPos 返回输入字符串发生匹配处的索引。否则,返回零。
VARIABLES i: INTEGER; ACTIONS i:=StrPos(F:\DATA\MYFILE.DAT','\'); (* i = 3 *)
返回码 | 说明 |
0 | 没有查找到子字符串 |
-1 | 源字符串为未知 |
-2 | 子字符串为未知 |
StrToken
用相应的术语值替换源字符串中的名称符号。
FUNCTION StrReplaceTerms (VAL source: STRING): STRING;
注意:如果指定的变量不存在,或者其值不能转换为字符串,则出现警告框,且在结果字符串中不替换术语指定。
自变量名称 | 说明 |
source | 包含一个或多个嵌入的名称符号的字符串。 |
名称符号是以下列形式嵌入的子字符串:
{{KNOWLEDGEBASE:VARIABLE}}
其中 KNOWLEDGEBASE 是知识库的名称,而 VARIABLE 是该知识库最外层范围中说明的变量的名称。不一定要在知识库的公共区说明命名变量。
在源字符串中嵌入的所有这种形式的表格,都用命名变量值替换。该函数不修改源字符串。
msg := StrReplaceTerms( 'The {{GLOBALS:T_CALLER}} has no open {{GLOBALS:T_PROBLEMS}}.'); -- T_CALLER and T_PROBLEMS from GLOBALS.KB contain 'caller' -- and 'problems' respectively, or synonyms such as 'customer' -- and 'inquires'.
StrReplaceTerms 返回修改的字符串。如果源字符串为未知,则 StrReplaceTerms 返回 $Unknown。
破坏性地标记字符串。
FUNCTION StrToken (REF source: STRING, VAL delimiters: STRING): STRING;
自变量名称 | 说明 |
source | 要标记的字符串变量 |
delimiters | 包含一个或多个定界符的字符串 |
StrToken 函数将整个字符集分成两个分离的子集:属于标记部分(标记集)的字符和不属于标记部分(定界符集)的字符。当您在已知源字符串调用 StrToken 时,此语句执行下列操作:
作为此进程的结果,每次调用此函数,源字符串都会变得短一些,最终变成空字符串。在源字符串中不存在标记时,StrToken 返回空字符串。
WHILE NOT FEnd (inputFile) DO FReadLn (inputFile, inputLine); column := 0; WHILE (token := StrToken (inputLine,'')) <> ''DO ProcessEntry (token, column :=column +1); END; END;
如果源字符串或定界字符串为未知,则此函数返回 $Unknown。
StrPos
删除字符串尾部的空格。
FUNCTION StrTrim (VAL str: STRING): STRING;
自变量名称 | 说明 |
str | 字符串表达式 |
StrTrim 把字符串看作输入,并返回删除尾部空格(空格、标签、换行符)的字符串的副本。输入字符串不受影响。
VARIABLES f: FILE; l: LIST OF STRING; ACTIONS FOpen(f,'DATA.TXT',$Read); FReadText(f,l); FClose(f); FOR l DO l[$Current]:=StrTrim(l[$Current]);
StrTrim 返回删除全部尾部空格(空格、标签、换行符)的输入字符串的副本。
StrLTrim
返回字符串的大写副本。
FUNCTION StrUpper (VAL str: STRING): STRING;
自变量名称 | 说明 |
str | 字符串表达式 |
StrUpper 返回将全部小写字符转换为大写字符的输入字符串的副本。不更改输入字符串。
VARIABLES s: STRING; ACTIONS s:=StrUpper('f:\data\myfile.txt'); (* s = 'F:\DATA\MYFILE.TXT' *)
StrUpper 返回将全部小写字符转换为大写字符的输入字符串的副本。
StrLower
Tivoli 服务台 6.0 开发工具包脚本语言参考