点击或拖拽改变大小

Functions.MemAtSpecial 方法

X#
获取缓冲区中第一个特殊控制字符的位置。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION MemAtSpecial(
	ptrBuffer AS IntPtr,
	dwCount AS DWORD
) AS DWORD
查看代码

参数

ptrBuffer
类型:IntPtr
指向缓冲区的指针。
dwCount
类型:UInt32
要检查的 ptrBuffer 中的字节数。

返回值

类型:UInt32
在指定的 ptrBuffer 部分中第一个特殊控制字符的位置。
如果不存在特殊控制字符,MemAtSpecial() 返回 0。
备注
特殊控制字符是 ASCII 值小于或等于 13 的字符,显示在屏幕上时可能需要特殊处理。此外,终端驱动程序可以为它们分配特殊含义,例如在指定 Chr(7) 时发出铃声。
示例
此示例使用 MemAtSpecial() 迭代检测字符串中的所有特殊控制字符:
X#
 1FUNCTION Start()
 2    LOCAL s := "AB" + _Chr(10) + "CD" + _Chr(7) + ;
 3            "EF" + _Chr(13) + "GH" AS STRING
 4    LOCAL wAt AS DWORD
 5    DO WHILE SLen(s) > 0
 6        wAt := MemAtSpecial(Ptr(_CAST, s), SLen(s))
 7        IF wAt > 0
 8            ? "检测到 ASCII 代码为:",;
 9                Asc(Substr3(s, wAt, 1)), "的特殊字符"
10            // 查询字符串的其余部分
11            // (从 wAt+1 开始)
12            s := Substr(s, wAt+1)
13        ELSE
14            s := ""
15        ENDIF
16    ENDDO
参见