开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 5127|回复: 2
收起左侧

[已回应] “文本_取指定文件文本行1”的改进建议

[复制链接]
结帖率:64% (25/39)
发表于 2021-5-15 18:59:56 | 显示全部楼层 |阅读模式   辽宁省大连市
本帖最后由 dangerace 于 2021-5-15 19:24 编辑

“文本_取指定文件文本行1”的原命令,由汇编大神 @jr21066 分享,在此先表示感谢!
在运用此命令过程中,发现可以做一些改进和完善:
VX图片_20210515185933.png
从截图可以看到,相比原命令,效率略有提高,并且也可以应对更加复杂的换行控制符情况。望精易官方采纳。

改进后的源码见下:
  
子程序名返回值类型公开备 注
laolu_文本_取指定文件文本行文本型 感谢【@jr21066】分享开源
参数名类 型参考可空数组备 注
参_文件路径文本型
参_行号整数型
参_换行控制符字节集
变量名类 型静态数组备 注
局_行开始整数型 
局_行结束整数型 
局_快速字节集快速字节集对象 
如果真 (参_行号 = 0)
返回 (“”)
局_快速字节集.从文件读 (参_文件路径)
计次循环首 (参_行号 - 1, )
局_行开始 = 局_快速字节集.寻找字节集 (参_换行控制符, 局_行开始 + 1)
如果 (局_行开始 = -1)
返回 (“”)
局_行开始 = 局_行开始 + 选择 (参_换行控制符 = { 13, 10 }, 2, 1)

计次循环尾 ()
如果真 (局_行开始 = 0)
局_行开始 = 1
局_行结束 = 局_快速字节集.寻找字节集 (参_换行控制符, 局_行开始 + 1)
如果 (局_行结束 = -1)
如果 (局_快速字节集.取长度 () > 局_行开始)
局_行结束 = 局_快速字节集.取长度 () + 1
返回 (“”)

局_行结束 = 局_行结束 + 选择 (参_换行控制符 = { 13, 10 }, 2, 1)
返回 (到文本 (局_快速字节集.取字节集 (局_行开始, 局_行结束 - 局_行开始)))


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


@shitou 提醒精易官方可能不允许在提交的代码总使用除官方核心库之外的其他支持库?
那我提交个核心库版本,当然,因为没有使用快速字节集对象了,所以效率和原版一样,只是能应对多种换行控制符的情况而已。
  
子程序名返回值类型公开备 注
laolu_文本_取指定文件文本行文本型 感谢【@jr21066】分享开源
参数名类 型参考可空数组备 注
参_文件路径文本型
参_行号整数型
参_换行控制符字节集
变量名类 型静态数组备 注
局_内容字节集 
局_行开始整数型 
局_行结束整数型 
如果真 (参_行号 = 0)
返回 (“”)
局_内容 = 读入文件 (参_文件路径)
计次循环首 (参_行号 - 1, )
局_行开始 = 寻找字节集 (局_内容, 参_换行控制符, 局_行开始 + 1)
如果 (局_行开始 = -1)
返回 (“”)
局_行开始 = 局_行开始 + 选择 (参_换行控制符 = { 13, 10 }, 2, 1)

计次循环尾 ()
如果真 (局_行开始 = 0)
局_行开始 = 1
局_行结束 = 寻找字节集 (局_内容, 参_换行控制符, 局_行开始 + 1)
如果 (局_行结束 = -1)
如果 (取字节集长度 (局_内容) > 局_行开始)
局_行结束 = 取字节集长度 (局_内容) + 1
返回 (“”)

局_行结束 = 局_行结束 + 选择 (参_换行控制符 = { 13, 10 }, 2, 1)
返回 (到文本 (取字节集中间 (局_内容, 局_行开始, 局_行结束 - 局_行开始)))




评分

参与人数 1好评 +1 精币 +5 收起 理由
项目部004 + 1 + 5 感谢你的支持,精易有你更精彩

查看全部评分

结帖率:64% (25/39)

签到天数: 21 天

 楼主| 发表于 2021-5-15 19:17:31 | 显示全部楼层   辽宁省大连市
shituo 发表于 2021-5-15 19:15
你这个增加了一个支持库 官方应该不会通过的

哦?还有这个说法?那我稍后再提交一个核心库版本吧。
回复 支持 反对

使用道具 举报

结帖率:30% (6/20)

签到天数: 9 天

发表于 2021-5-15 19:15:10 | 显示全部楼层   江西省九江市
你这个增加了一个支持库 官方应该不会通过的  
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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