|
|

分享源码
| 界面截图: |
|
| 是否带模块: |
纯源码 |
| 备注说明: |
- |
本帖最后由 qcby 于 2026-5-26 22:20 编辑
分享一个文本对比代码。快速定位不同位置,方便查看修改(特别是长篇幅json里找不同)
2026-5-26 22时修复了下有换行会匹配不到的问题
.版本 2 [i ].支持库 iext2 |
| 文本_文本对比 | | | |
| 超级编辑框1 | 超级编辑框 | | | | 超级编辑框2 | 超级编辑框 | | | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 字符数组1 | 文本型 | | 0 | | 字符数组2 | 文本型 | | 0 | | 长度1 | 整数型 | | | | 长度2 | 整数型 | | | | 格式_红 | 字符格式 | | | | 格式_黄 | 字符格式 | | | | 格式_黑 | 字符格式 | | | | dp | 整数型 | | 0 | | i | 整数型 | | | | j | 整数型 | | | | 高亮起点1 | 整数型 | | | | 高亮长度1 | 整数型 | | | | 高亮起点2 | 整数型 | | | | 高亮长度2 | 整数型 | | |
格式_红.文本颜色 = #红色 格式_红.效果 = 1 格式_红.字体大小 = 15 格式_黄.文本颜色 = #深青 格式_黄.效果 = 1 格式_黄.字体大小 = 15 格式_黑.文本颜色 = #黑色 格式_黑.效果 = 0 格式_黑.字体大小 = 9 超级编辑框1.起始选择位置 = 0 超级编辑框1.被选择字符数 = 取文本长度 (超级编辑框1.内容 )超级编辑框1. 置选择区字符格式 (格式_黑 )超级编辑框2.起始选择位置 = 0 超级编辑框2.被选择字符数 = 取文本长度 (超级编辑框2.内容 )超级编辑框2. 置选择区字符格式 (格式_黑 )文本_到字符数组 (超级编辑框1.内容, 字符数组1 )文本_到字符数组 (超级编辑框2.内容, 字符数组2 )长度1 = 取数组成员数 (字符数组1 )长度2 = 取数组成员数 (字符数组2 ) 如果真 (长度1 = 0 且 长度2 = 0 ) 返回 () 重定义数组 (dp, 假, 长度1 + 1, 长度2 + 1 ) 变量循环首 (1, 长度1, 1, i ) 变量循环首 (1, 长度2, 1, j )  如果 (字符数组1 [i ] = 字符数组2 [j ])   dp [i + 1 ] [j + 1 ] = dp [i ] [j ] + 1    如果 (dp [i ] [j + 1 ] > dp [i + 1 ] [j ])    dp [i + 1 ] [j + 1 ] = dp [i ] [j + 1 ]    dp [i + 1 ] [j + 1 ] = dp [i + 1 ] [j ]        变量循环尾 () 变量循环尾 ()高亮起点1 = -1 高亮长度1 = 0 高亮起点2 = -1 高亮长度2 = 0 i = 长度1 j = 长度2 判断循环首 (i > 0 或 j > 0 ) 如果 (i > 0 且 j > 0 且 字符数组1 [i ] = 字符数组2 [j ])  i = i - 1   j = j - 1      如果 (j > 0 且 (i = 0 或 dp [i + 1 ] [j ] ≥ dp [i ] [j + 1 ]))    如果 (高亮起点2 = j )    高亮起点2 = j - 1     高亮长度2 = 高亮长度2 + 1     如果真 (高亮起点2 ≠ -1 )    超级编辑框2.起始选择位置 = 高亮起点2     超级编辑框2.被选择字符数 = 高亮长度2     超级编辑框2. 置选择区字符格式 (格式_黄 )  高亮起点2 = j - 1    高亮长度2 = 1   j = j - 1           如果 (高亮起点1 = i )    高亮起点1 = i - 1     高亮长度1 = 高亮长度1 + 1     如果真 (高亮起点1 ≠ -1 )    超级编辑框1.起始选择位置 = 高亮起点1     超级编辑框1.被选择字符数 = 高亮长度1     超级编辑框1. 置选择区字符格式 (格式_红 )  高亮起点1 = i - 1    高亮长度1 = 1   i = i - 1     判断循环尾 () 如果真 (高亮起点1 ≠ -1 ) 超级编辑框1.起始选择位置 = 高亮起点1  超级编辑框1.被选择字符数 = 高亮长度1  超级编辑框1. 置选择区字符格式 (格式_红 ) 如果真 (高亮起点2 ≠ -1 ) 超级编辑框2.起始选择位置 = 高亮起点2  超级编辑框2.被选择字符数 = 高亮长度2  超级编辑框2. 置选择区字符格式 (格式_黄 ) 超级编辑框1.起始选择位置 = 0 超级编辑框1.被选择字符数 = 0 超级编辑框2.起始选择位置 = 0 超级编辑框2.被选择字符数 = 0 | 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 字节集数据 | 字节集 | | | | i | 整数型 | | | | 文本长度 | 整数型 | | | | 单个字符 | 文本型 | | | 清除数组 (结果数组 )字节集数据 = 到字节集 (源文本 )文本长度 = 取字节集长度 (字节集数据 )i = 1 判断循环首 (i ≤ 文本长度 ) 如果真 (字节集数据 [i ] = 13 或 字节集数据 [i ] = 10 ) 加入成员 (结果数组, #换行符 )  如果真 (字节集数据 [i ] = 13 且 i < 文本长度 且 字节集数据 [i + 1 ] = 10 )   i = i + 1  i = i + 1 到循环尾 ()   如果 (字节集数据 [i ] > 128 )  如果真 (i + 1 ≤ 文本长度 )   单个字符 = 字符 (字节集数据 [i ]) + 字符 (字节集数据 [i + 1 ])  加入成员 (结果数组, 单个字符 )   i = i + 2        单个字符 = 字符 (字节集数据 [i ]) 加入成员 (结果数组, 单个字符 )  i = i + 1   判断循环尾 ()
|
评分
-
查看全部评分
|