Functions.MemoLine 方法 | |
从字符串中提取一行文本。
命名空间:
XSharp.Core
程序集:
XSharp.Core (在 XSharp.Core.dll 中) 版本:2.22 GA
语法 FUNCTION MemoLine(
cString AS STRING,
nLineLength AS DWORD := 79,
nLineNumber AS DWORD := 1,
nTabSize AS DWORD := 4,
lWrap AS LOGIC := TRUE
) AS STRING
public static string MemoLine(
string cString,
uint nLineLength = 79,
uint nLineNumber = 1,
uint nTabSize = 4,
bool lWrap = true
)
查看代码参数
- cString
- 类型:String
要从中提取文本的字符串。 - nLineLength (Optional)
- 类型:UInt32
每行的字符数。
该值可以在 4 到 254 之间。
默认值为 79。
- nLineNumber (Optional)
- 类型:UInt32
要提取的行号。
默认值为 1。
- nTabSize (Optional)
- 类型:UInt32
当用户按下 Tab 键时要插入的字符数。
如果未指定 nTabSize,则插入 4 个空格。
如果 nTabSize 大于或等于 nLineLength,则 Tab 大小自动转换为 nLineLength 减 1。
- lWrap (Optional)
- 类型:Boolean
TRUE 切换换行开;FALSE 切换换行关。
默认值为 TRUE。
返回值
类型:
StringcString 中由
nLineNumber 指定的文本行。
如果该行的字符数少于指示的长度,则返回值用空格填充。
如果行号大于
cString 中的总行数,则 MemoLine() 返回 NULL_STRING。
如果
lWrap 为 TRUE 且指示的行长度在单词中断开,则该单词不包括在返回值中,而是出现在使用 MemoLine() 提取的下一行的开头。
如果
lWrap 为 FALSE,则 MemoLine() 仅返回行长度指定的字符数。
使用 MemoLine() 提取的下一行从下一个硬回车后的字符开始,所有中间字符不被处理。
备注
MemoLine() 是一个备忘函数,与 MLCount() 一起使用,根据每行的字符数从字符串和备忘字段中提取文本行。
它是 X# 提供的用于显示备忘字段和长字符串的最基本功能。
操作的基本方法是使用 MLCount() 确定字符串中的行数,并指定与您打算在 MemoLine() 中使用的相同数量的每行字符、制表符大小和换行行为。
使用此值作为 FOR...NEXT 的上限,可以用 MemoLine() 提取字符串的每一行,并处理所需的任何组合的输出命令和函数。
示例
此示例演示了使用 MLCount() 和 MemoLine() 组合显示备忘字段和长字符串的一般方法:
1LOCAL nLineLength := 40, nTabSize := 3, lWrap := TRUE
2LOCAL nLines, nCurrentLine
3USE customer INDEX custname NEW
4nLines := MLCount(CustNotes, nLineLength, nTabSize, lWrap)
5SET PRINTER ON
6FOR nCurrentLine := 1 UPTO nLines
7 ? MemoLine(CustNotes, nLineLength, nCurrentLine, nTabSize, lWrap)
8NEXT
9SET PRINTER OFF
参见