开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 6532|回复: 15
收起左侧

[易语言纯源码] 文本_取出中间文本_快速

[复制链接]
结帖率:100% (11/11)
发表于 2018-9-8 18:38:07 | 显示全部楼层 |阅读模式   陕西省渭南市
分享源码
界面截图: -
是否带模块: 纯源码
备注说明: -
修改的模块的一个命令.著作依然属于原作者.
只是提高了速度而已

  
子程序名返回值类型公开备 注
文本_取出中间文本_快速文本型 比如:欲取全文本为“12345”,现在要取出“3”,<3>的前面为“2”,<3>的后面为“4”,
参数名类 型参考可空数组备 注
欲取全文本文本型比如:欲取全文本为 12345
前面文本文本型3的前面为“2”,引号直接用 #引号,如:"[color=#引号red#引号]"
后面文本文本型3的后面为“4”,引号直接用 #引号,如:"[color=#引号red#引号]"
起始搜寻位置整数型可空,这里是指搜寻 参数二 前面文本 的开始位置
变量名类 型静态数组备 注
局_前面文本位置整数型 
局_后面文本位置整数型 
局_前面文本字节集 
局_后面文本字节集 
内容快速字节集对象 
内容.置字节集 (欲取全文本)
局_前面文本 = 子字节集替换 (到字节集 (前面文本), { 35, 210, 253, 186, 197 }, { 34 }, , )
局_后面文本 = 子字节集替换 (到字节集 (后面文本), { 35, 210, 253, 186, 197 }, { 34 }, , )
局_前面文本位置 = 内容.寻找字节集 (局_前面文本, 起始搜寻位置)
如果真 (局_前面文本位置 ≠ -1)
局_前面文本位置 = 局_前面文本位置 + 取字节集长度 (局_前面文本)
局_后面文本位置 = 内容.寻找字节集 (局_后面文本, 局_前面文本位置)
如果真 (局_后面文本位置 ≠ -1)
返回 (到文本 (内容.取字节集 (局_前面文本位置, 局_后面文本位置 - 局_前面文本位置)))

返回 (“”)


i支持库列表   支持库注释   
commobj通用对象支持库

评分

参与人数 1好评 +1 精币 +3 收起 理由
hellohexiang + 1 + 3 支持开源~!感谢分享

查看全部评分


本帖被以下淘专辑推荐:

发表于 2018-10-8 16:06:19 | 显示全部楼层   江苏省无锡市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

发表于 2018-9-12 12:26:51 | 显示全部楼层   广东省深圳市
支持楼主,666
回复 支持 反对

使用道具 举报

结帖率:100% (11/11)

签到天数: 20 天

 楼主| 发表于 2018-9-12 12:11:28 | 显示全部楼层   陕西省渭南市
1136767432 发表于 2018-9-12 10:14
调试汇编是怎么调试的

有各种调试器的.
常用的有OllyDbg  x64_dbg等.
汇编因为直接对应机器码.所以更容易调试
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2018-9-12 10:14:20 | 显示全部楼层   四川省成都市
调试汇编是怎么调试的
回复 支持 反对

使用道具 举报

结帖率:97% (31/32)

签到天数: 22 天

发表于 2018-9-9 05:21:46 | 显示全部楼层   福建省福州市
本帖最后由 cf2006a 于 2018-9-9 05:27 编辑
1101672929 发表于 2018-9-9 02:54
快了一倍吧..不过没有处理"#引号"

[e=3].版本 2

用到汇编的话,直接写算法可以快100倍左右吧,之前写过一个不过不想开源-刚拿这个和我的跑了下我的94毫秒,她这个15秒
回复 支持 反对

使用道具 举报

签到天数: 23 天

发表于 2018-9-9 02:54:42 | 显示全部楼层   江西省赣州市
快了一倍吧..不过没有处理"#引号"

  
子程序名返回值类型公开备 注
文本_取出中间文本文本型 
参数名类 型参考可空数组备 注
欲取全文本文本型
前面文本文本型
后面文本文本型
起始搜寻位置整数型
是否不区分大小写逻辑型
变量名类 型静态数组备 注
前面位置整数型 
返回值文本型 
后面位置整数型 
前面长度整数型 
长度整数型 
文本长度整数型 
文本长度 = _取文本长度 (欲取全文本)
前面位置 = 搜寻文本 (欲取全文本, 前面文本, 选择 (起始搜寻位置 < 1, 1, 起始搜寻位置), 是否不区分大小写, 文本长度)
如果真 (前面位置 = -1)
返回 (“”)
前面长度 = 取文本长度 (前面文本)
后面位置 = 搜寻文本 (欲取全文本, 后面文本, 前面位置 + 前面长度, 是否不区分大小写, 文本长度)
如果真 (后面位置 = -1)
返回 (“”)
长度 = 后面位置 - 前面位置 - 前面长度
返回值 = 取空白文本 (长度)
复制内存 (取文本指针 (返回值), 取文本指针 (欲取全文本) + 前面位置, 长度)
返回 (返回值)
子程序名返回值类型公开备 注
_取文本长度整数型 取文本长度,来自 心冷、鱼儿 改写 https://bbs.pediy.com/thread-229243.htm
参数名类 型参考可空数组备 注
str文本型
置入代码 ({ 139, 69, 8, 139, 0, 131, 248, 0, 116, 71, 82, 87, 141, 80, 3, 139, 56, 131, 192, 4, 141, 143, 255, 254, 254, 254, 247, 215, 33, 249, 129, 225, 128, 128, 128, 128, 117, 23, 139, 56, 131, 192, 4, 141, 143, 255, 254, 254, 254, 247, 215, 33, 249, 129, 225, 128, 128, 128, 128, 116, 210, 247, 193, 128, 128, 0, 0, 117, 6, 193, 233, 16, 131, 192, 2, 208, 225, 25, 208, 95, 90, 201, 194, 4, 0 })
返回 (0)
子程序名返回值类型公开备 注
搜寻文本整数型 返回一个整数值,指定一文本在另一文本中最先出现的位置,位置值从 1 开始。如果未找到,返回-1。
参数名类 型参考可空数组备 注
被搜寻的文本文本型
欲寻找的文本文本型
起始搜寻位置整数型位置值从 1 开始。如果本参数被省略,默认为 1 。
是否不区分大小写逻辑型初始值为“假”。为真不区分大小写,为假区分。
被搜寻文本长度整数型如果在同一被搜寻的文本中进行多次搜索时,请指定本参数,以提高文本搜索速度。
置入代码 ({ 131, 236, 16, 83, 86, 87, 139, 93, 32, 133, 219, 126, 17, 139, 85, 8, 139, 18, 133, 210, 117, 25, 131, 200, 255, 233, 142, 0, 0, 0, 139, 117, 8, 232, 3, 1, 0, 0, 133, 201, 126, 236, 139, 85, 244, 139, 217, 139, 117, 12, 232, 242, 0, 0, 0, 133, 201, 126, 219, 139, 69, 16, 72, 133, 192, 125, 2, 51, 192, 137, 69, 16, 43, 216, 59, 203, 127, 200, 73, 137, 77, 248, 43, 217, 137, 93, 252, 137, 85, 240, 3, 208, 235, 89, 225, 229, 139, 117, 244, 139, 77, 252, 139, 250, 102, 139, 6, 70, 70, 227, 50, 138, 31, 71, 73, 58, 216, 116, 4, 58, 220, 117, 242, 139, 215, 137, 77, 252, 139, 77, 248, 227, 21, 102, 139, 6, 138, 31, 70, 70, 71, 58, 216, 116, 4, 58, 220, 117, 203, 73, 133, 201, 117, 235, 139, 194, 43, 69, 240, 235, 97, 131, 200, 255, 139, 77, 248, 65, 209, 225, 3, 225, 95, 94, 91, 139, 229, 93, 194, 32, 0, 145, 215, 65, 139, 93, 24, 139, 117, 244, 139, 193, 209, 224, 43, 224, 139, 252, 137, 125, 244, 51, 192, 252, 227, 146, 172, 73, 138, 224, 168, 128, 119, 30, 132, 219, 116, 22, 52, 32, 60, 65, 114, 12, 60, 90, 118, 10, 60, 97, 114, 4, 60, 122, 118, 2, 50, 192, 134, 224, 102, 171, 235, 216, 102, 171, 227, 212, 172, 73, 138, 224, 102, 171, 235, 204, 123, 179, 51, 246, 139, 250, 79, 138, 31, 128, 251, 64, 114, 150, 139, 200, 73, 79, 227, 10, 138, 31, 128, 251, 128, 118, 3, 70, 235, 242, 209, 238, 115, 130, 233, 57, 255, 255, 255, 70, 38, 51, 201, 139, 54, 133, 246, 116, 12, 137, 117, 244, 138, 6, 70, 65, 132, 192, 117, 248, 73, 195 })
返回 (0)
子程序名返回值类型公开备 注
复制内存 用法跟:RtlMoveMemory 一致
参数名类 型参考可空数组备 注
被写的指针整数型目标指针
指针整数型原指针
长度整数型长度
置入代码 ({ 86, 87, 139, 117, 12, 139, 125, 8, 139, 77, 16, 252, 59, 247, 118, 26, 139, 209, 131, 226, 3, 193, 233, 2, 243, 165, 11, 202, 117, 2, 235, 2, 243, 164, 95, 94, 201, 194, 12, 0, 144, 144, 116, 246, 139, 199, 43, 198, 59, 200, 118, 220, 253, 3, 241, 3, 249, 78, 79, 243, 164, 252, 235, 226 })
子程序名返回值类型公开备 注
取文本指针整数型 
参数名类 型参考可空数组备 注
文本内容文本型
置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })
返回 (0)
回复 支持 反对

使用道具 举报

结帖率:88% (22/25)
发表于 2018-9-8 21:59:44 | 显示全部楼层   贵州省毕节市
赚点jb 呜呜
回复 支持 反对

使用道具 举报

结帖率:100% (11/11)

签到天数: 20 天

 楼主| 发表于 2018-9-8 20:57:56 | 显示全部楼层   陕西省渭南市
hellohexiang 发表于 2018-9-8 20:53
是比原来的快了 不过我用了其他人的快速文本模块 相同的数据 比你这个几乎快了一倍

用易的语句不好再提高了.
小文本用快速文本可能快.少个转换
大文本用字节集.操作会快一些.

大量的时间就是费在每个指令的转换上了
回复 支持 反对

使用道具 举报

结帖率:100% (26/26)

签到天数: 14 天

发表于 2018-9-8 20:53:30 | 显示全部楼层   江苏省南通市
是比原来的快了 不过我用了其他人的快速文本模块 相同的数据 比你这个几乎快了一倍
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表