点击或拖拽改变大小

Functions.ALines 方法

X#
-- todo --
将字符表达式或备注字段中的每一行复制到数组的对应行中。

命名空间:  XSharp.VFP
程序集:  XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法
 FUNCTION ALines(
	ArrayName,
	cExpression,
	nFlags,
	cParseChar,
	cParseChar2
) AS USUAL CLIPPER
查看代码

参数

ArrayName (Optional)
类型:__Usual
指定用于存储字符表达式或备注字段中复制行的数组名称。
cExpression (Optional)
类型:__Usual
指定包含要复制到数组中的行的字符表达式或备注字段。所有字符表达式区分大小写。 如果 cExpression 为空字符串或空值,将创建一个只有一行的数组,该行包含空字符串。 您可以使用双字节表达式。
nFlags (Optional)
类型:__Usual
在 X# 的早期版本中,nFlags 是 lTrim 选项。lTrim 选项对应 nFlag 的值为 1。之前的代码在 X# 9.0 中将以相同方式运行。 下表描述了 nFlags 的值。
cParseChar (Optional)
类型:__Usual
指定一个或多个用于终止 cExpression 中元素的字符串。
cParseChar2 (Optional)
类型:__Usual
指定一个或多个用于终止 cExpression 中元素的字符串。

返回值

类型:__Usual
数值。ALines( ) 返回数组中的行数,或等同于字符表达式或备注字段中的行数。
备注
如果指定的数组不存在,X# 会自动创建该数组。 如果数组存在但不够大,无法容纳备注字段中的所有行,X# 会自动增加数组的大小。 如果数组大于所需大小,X# 会截断数组。

描述
01(默认)删除行首和行尾的空格,或对于 Varbinary 和 Blob 值,删除尾部的零(0)而不是空格。
12即使最后一个元素为空,也将其包含在数组中。
24不在数组中包含空元素。
38指定不区分大小写的解析。
416在数组中包含解析字符。
当用于二进制值(如 VarbinaryBlob)时,ALines( ) 创建具有 Varbinary 类型元素的数组。

当指定 cParseChar 时,在找到 cParseChar 时行会中断,下一行从 cParseChar 后的字符继续。
cParseChar 中允许的最大字符串数为 23。
您可以使用换行符(CHR(10))或回车符(CHR(13))来表示行的结束。 您还可以使用这两个字符的任意组合来表示行的结束,例如(CHR(10) + CHR(13) 或 CHR(13) + CHR(10))。 ALines( ) 的默认行为是在指定一个或多个 cParseChar 值时忽略 CHR(13) 和 CHR(10), 除非您也指定了行结束字符。
当对 VarbinaryBlob 输入省略 cParseChar 时,ALines( ) 将十六进制值 0hA(10)视为回车符, 并在该位置中断行。值 0hA 不会保存在结果数组元素中,可能导致不正确的二进制值。 例如,给定二进制值 0hFE0AF2,ALines( ) 创建一个包含值 0hFE 和 0hF2 的两元素数组。
ALines( ) 提供了一种简单的方法来解析字符表达式或备注字段中的行。 虽然您也可以使用 MLINES( ) 来解析字符表达式或备注字段,但 ALines( ) 更快且需要更少的编程。 此外,ALines( ) 不受 Set MEMOWIDTH 值的影响。
字符表达式或备注字段的第一行被复制到数组的第一行, 字符表达式或备注字段的第二行被复制到数组的第二行,依此类推。
您必须有足够的内存来将大型备注字段中的行复制到数组中。如果内存不足,X# 会生成错误消息。
如果您想执行不区分大小写的解析,可以参考以下示例之一:
X#
1? ALines(aMyArray, UPPER(employee.notes), "R.")
- 或 -
X#
1? ALines(aMyArray, employee.notes, "R.", "r.")
示例
X#
 1Close Databases
 2Clear
 3Open Database (HOME(2) + "data\testdata")
 4Use employee  // 打开 Employee 表
 5? ALines(aMyArray, employee.notes)            // 显示 1
 6? ALines(aMyArray, employee.notes, CHR(13))   // 显示 1
 7? ALines(aMyArray, employee.notes, " ")       // 显示 75
 8? ALines(aMyArray, employee.notes, ".")       // 显示 7
 9? ALines(aMyArray, employee.notes, ",")       // 显示 4
10? ALines(aMyArray, employee.notes, ".", ",")  // 显示 10
11? ALines(aMyArray, employee.notes, 8, "m")    // 显示 14
12? ALines(aMyArray, employee.notes, "m")       // 显示 11
13? ALines(aMyArray, employee.notes, "M")       // 显示 4
参见