精易论坛

标题: 关于易语言代码复制到剪贴板的特殊格式 [打印本页]

作者: gytxtx    时间: 2025-4-14 19:05
标题: 关于易语言代码复制到剪贴板的特殊格式
本帖最后由 gytxtx 于 2025-4-14 19:13 编辑

这是一段易语言代码:

  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
程序集变量示例整数型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
' // 被易语言 IDE 正确识别的代码高亮:
程序集变量示例 = 0
程序集变量示例 = 1
程序集变量示例 = 2
' // 反之
程序集变量示例 = 1


它在易语言 IDE 中呈现这个样子,请各位记住它:




A.1. 将这段代码从易语言 IDE 中复制出来,关闭这个易语言 IDE,重新打开一个新的且创建项目



可以看到,从代码高亮的颜色上看是一致的

A.2. 接下来,把代码粘贴到仅支持纯文本的文本框内(比如 Notepad),之后再粘贴回易语言:



可以看到,原本的程序集变量已经没了,同时代码高亮也变成了未识别关键字的颜色(是这么说的吧?)

为了防止有人说是因为程序集变量没了,所以易语言无法识别,再做一个实验:



B.1. 这次将变量改成了参数,代码如下:

  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
参数名类 型参考可空数组备 注
参数1整数型
' // 被易语言 IDE 正确识别的代码高亮:
参数1 = 0
参数1 = 1
参数1 = 2
' // 反之
参数1 = 1


之后执行 A.2 步骤:



可以看到,和 A.2 步骤的结果相同(但参数保留)

得出猜想,是不是易语言在复制代码时,会携带一些特殊格式呢?

这里使用 https://github.com/daimaxiaofeng/clipboard_test/ 开源项目来测试

C.1. 复制易语言 IDE 内的代码,点击程序右下角的剪贴板按钮,获取剪贴板信息



可以看到,下面的“格式信息”有一个可疑的 `EClipFormat` 这应该就是易语言存储的特殊格式了

不过这个格式我目前尚不知道是怎么编码的,等后续我试试提取出来(?

C.2. 作为对比,复制记事本内的文本作为参照:



可以看到是没有 `EClipFormat` 格式的,除了 `NativeShell_CF_xx` 的顺序不一样罢了






欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4