字符串操作

返回主页


$Quote

说明

此语句插入 ' 字符。

语法

FUNCTION $Quote: '''';

BooleanFormat

说明

检查并替换布尔值的显示格式。

语法

FUNCTION BooleanFormat [ ( VAL format: INTEGER ) ] : INTEGER;

自变量说明

自变量名称 说明
format 如果提供此自变量,它将替换缺省格式

注释

此函数检查并替换缺省格式,每当此类型值转换为文本形式时将使用它。

如果不使用自变量进行调用,BooleanFormat 将返回现有的缺省布尔显示格式。如果提供自变量,该值将替换当前的缺省值,并返回旧格式。

关于显示格式的说明,请参见 WinWrite 语句的“注释”部分。

实例

VARIABLES
 oldFormat: INTEGER;
ACTIONS
 oldFormat:= BooleanFormat(BitOr($FmtBoolYesNo, $FmtLeftJustify));
 ...
 BooleanFormat(oldFormat);
  END;

另见


Char

说明

将 ASCII 字符代码(代码点值)转换为一个字符的字符串。可以改变此字符串的实际状态,这取决于当前活动的代码页。有关代码页的信息,请参见操作系统文档。

语法

FUNCTION Char (VAL code: INTEGER): STRING;

自变量说明

自变量名称 说明
code 表示 ASCII 值的整数

实例

VARIABLES
  s : STRING;
ACTIONS
s:=Char(255);

另见

CharCode


CharCode

说明

返回字符串中第一个字符的 ASCII 字符代码(代码点值)。为表示一个给定的字符而返回代码点的数值可以改变,这取决于当前选择的代码页。有关代码页的信息,请参见操作系统文档。

语法

FUNCTION CharCode (VAL str: STRING): INTEGER;

自变量说明

自变量名称 说明
str 这是任意字符串。

注释

str 自变量作为一个单字符的字符串处理。如果您插入一个多个字符的字符串,则返回字符串中第一个字符的 ASCII 字符代码。

实例

i := CharCode('A'); (* i = 65 *)

另见

Char


IntegerFormat

说明

检查并替换整数值的文本格式。

语法

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 脚本没有位阵列类型,此值可以按整数处理。值的符号没有含义。

另见

有关显示格式的说明,请参见数据类型格式标志


RealFormat

说明

检查或替换实数值的缺省文本格式。

语法

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 如果不指定自变量,则为当前的实数格式;如果提供自变量,则为以前的实数格式。

另见

有关详细信息,请参见数据类型格式标志


StrCopy

说明

返回字符串表达式中的子字符串。

语法

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' *)

StrDecrypt

说明

解密由 StrEncrypt 用给定的键值加密的字符串。

语法

FUNCTION StrDecrypt (VAL Source: STRING, VAL Key: INTEGER): STRING; 

注意:不正确的字符串会将错误的整数键值传递返回给 StrDecrypt

自变量说明

自变量名称 说明
Source 以前调用 StrEncrypt 时加密的字符串。
Key 解密字符串时用作秘密键的整数值

注释

StrDecryptStrEncrypt 的加密算法不是特别的安全,但对于不严格加密是可用的。

实例

(*
 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


StrDelete

说明

删除字符串中的子字符串

语法

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


StrEncrypt

说明

使用整数关键字,将字符串加密为不可读格式。

语法

FUNCTION StrEncrypt (VAL Source: STRING, VAL Key: INTEGER): STRING;

自变量说明

自变量名称 说明
Source 需要加密的字符串。
Key 加密字符串时,用作秘密关键字的整数值。

注释

StrDecryptStrEncrypt 的加密算法不是特别的安全,但对于不严格加密是可用的。

实例

(* 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


StringFormat

说明

检查或替换缺省字符串的格式选项。

语法

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 服务台开发工具包脚本编程指南


StrInsert

说明

将子字符串插入到字符串中。

语法

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 语句。


StrLength

说明

返回字符串的长度。

语法

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。

StrLoad

说明

装载由接口设计程序创建的 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;

StrLower

说明

将字符串转换为小写。

语法

FUNCTION StrLower (VAL str: STRING): STRING;

自变量说明

自变量名称 说明
str 字符串表达式

实例

VARIABLES
  s : STRING;
ACTIONS
s:=StrLower('F:\MYFILE.TXT');
(* s = 'f:\myfile.txt' *)

返回码

StrLower 返回输入字符串的副本,其中的每个大写字符都被转换为小写。输入字符串不改变。

另见

StrUpper


StrLTrim

说明

去掉字符串中的引导空格、标签和换行符。

语法

FUNCTION StrLTrim (VAL str: STRING): STRING;

自变量说明

自变量名称 说明
str 字符串表达式

实例

VARIABLES
  s : STRING;
ACTIONS
s:=StrLTrim('F:\DATA.TXT');
(* s = 'F:\DATA.TXT' *)

返回码

返回输入字符串的副本,字符串的引导空格、标签和换行符都已被删除。输入字符串不改变。

另见

StrTrim


StrMatch

说明

搜索字符串中的子字符串模式。

语法

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。


StrPos

说明

查找字符串中子字符串的位置。

语法

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


StrReplaceTerms

说明

用相应的术语值替换源字符串中的名称符号。

语法

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


StrToken

说明

破坏性地标记字符串。

语法

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


StrTrim

说明

删除字符串尾部的空格。

语法

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


StrUpper

说明

返回字符串的大写副本。

语法

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 开发工具包脚本语言参考

返回主页

版权所有