3.4.1 特殊字符
字符“\”是转义符,用于转换一些特殊字符的含义。这些特殊字符有:
1."
字符“ " ”用于标识字符串的开始和结尾。要使该字符在一个字符串中作为普通字符出现,则需要在它前面加一个字符“ \ ”。例如要在一个字符串中包含以下内容:
"TOM"是一个男孩的名字
则必须将该字符串描述为:
String:= "\"TOM\"是一个男孩的名字"
如图3-33所示。
图3-33 显示双引号
2.\
如果需要【演示】窗口中显示出字符“ \ ”,也必须使用转义符,例如要在字符串中包括一个合法的路径:
C:\Program Files\Macromedia\Authorware 7
则必须将路径字符串描述为:
"C:\\Program Files\\Macromedia\\Authorware 7"。
3.r
如果需要在字符串中包含回车符,可以向字符串中插入“\r”或系统变量Return(两者作用相同)。例如字符串变量
String:= "Authorware 7"^Return^"is"^"\r"^"Coming"
嵌入文本对象之后的显示结果如图3-34所示。
图3-34 在字符串中插入回车符
4.t
如果需要在字符串中包含制表符,可以向字符串中插入“\t”或系统变量Tab。
5.{ }
字符“{}”可以在字符串中直接使用。但如果需要在文本对象输入并显示该字符,必须以“\{”方式输入,否则Authorware会认为包含在花括号之中的内容是一个表达式并对其进行计算。
3.4.2 行与段落
通过使用行分隔符“\r”,在一个字符串变量中可以包含多行字符。但是在字符串变量作为文本对象显示在【演示】窗口中时,情况会产生一些微妙的变化。
在文本对象中,由"\r"分隔的内容称为段落(Paragraph)。如果文本对象的宽度不足以将段落内容显示在同一行(Line)上,段落被自动分别多行显示,此时字符串变量中的行与文本对象中的行就失去了对应关系。
例如在变量String中含有以下内容:
"Authorware is the leading visual authoring tool for creating rich-media e-learning applications for delivery on corporate networks, CD/DVD, and the Web.\rDevelop accessible applications that comply with learning management system (LMS) standards. "
将String嵌入到文本对象中之后,其显示结果如图3-35所示。原先仅仅2行的内容在文本对象中被划分为2段共6行。单击“Web”这一单词,然后在【变量】面板窗口中观察系统变量LineClicked和ParagraphClicked的值,可以发现Authorware认为当前被单击的行是第4行,被单击的段落是第1段。但是无法通过函数GetLine(String, 4)得到任何内容,因为Authorware认为变量String中仅仅包含2行内容。
图3-35 【演示】窗口中的文本对象
理解这一点对于利用文本对象开展与用户之间的交互过程是至关重要的。
在AWS中,对行的处理方式非常灵活。通过定义新的行分隔符,可以将同一行中的字符划分为逻辑上不同的行。例如变量String中包含了位于同一行中的两句问候语:
"What's your name ? How old are you ?"
将字符"?"定义为新的行分隔符,就可以从逻辑上将该字符串划分为2行,通过函数GetLine(String,2,2,"?")可以获取第2句问候语的内容"How old are you"。
3.4.3 构造字符串处理过程
3.4.3.1 常用字符串处理函数
AWS提供的character类系统函数主要用于对字符串进行处理,以下对其中一些常用函数进行简要介绍。
1.Char(key)
返回ASCⅡ码(数值key)对应的字符。例如Char(65)返回"A",Char(97)返回"a"。大写英文字母的ASCⅡ码范围是65至90,小写英文字母的ASCⅡ码范围是97至122。
2.CharCount("string")
返回字符串string包含的字符个数。
3.Code("character")
返回与指定字符对应的ASCⅡ码,例如Code(" ")返回空格的ASCⅡ码32。参数Character可以是字符,也可以是键名。如果是键名,例如Tab或Enter,则不使用双引号。
|