易语言取文本中间问题

编辑框3.内容 = 取文本中间 (编辑框1.内容, (编辑框1.发送信息 (176, 0, 0) % 65535) ÷ 2 + 1, 20) 这句代码是取 编辑框1 光标位置右边的文本内容的10字符到编辑框3的,哪里错了吗?为什么如果编辑框1的内容才1万多字的文本,用这句代码 取光标右边的10个字符 没出现过问题...但是如果编辑框1的内容有几百万字,光标位置在比较后面的时候,取出来的10个字就乱码了,怎么回事呢?你们试试用这代码取一本几百万字的小说的最后一行的10字符看看,肯定乱码了…
2026年09月22日 19:53
有3个网友回答
网友(1):

编辑框3.内容 = 取文本中间 (编辑框1.内容, 编辑框1.起始选择位置 + 1, 20)

没发现你说的问题

你编辑框1.发送信息 (176, 0, 0) 返回值是整数型,而不是长整数.当返回的数值超过上限就会变成负值.
你自己比较一下

调试输出 (编辑框1.发送信息 (176, 0, 0))
调试输出 (编辑框1.起始选择位置)

还有,一般不必将这么多的文本全部读入的.分段来.灵活处理.

网友(2):

汉字是两个字符的,如果你取的位置是汉字中间的话就会出乱码。。或者空文本吧
你取的时候要判断是不是汉字,如果是往前一个字符开始取 应该是这样吧

网友(3):

你的这个易语程序里面本身存在病毒