开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

12
返回列表 发新帖
楼主: kingtt
收起左侧

[易源码分享] 精易模块中的“文本_折行”命令对比

[复制链接]
结帖率:60% (15/25)
发表于 2022-8-1 20:53:59 | 显示全部楼层   江苏省苏州市
kingtt 发表于 2022-8-1 20:03
请注意审题,我不是来求源码的,我自己编了一个简短的代码,另:就折个行而已,你的代码这么长也不嫌太麻 ...

就是精易模块修复的
回复 支持 反对

使用道具 举报

结帖率:100% (76/76)

签到天数: 20 天

 楼主| 发表于 2022-8-1 20:03:37 高大上手机用户 | 显示全部楼层   吉林省长春市
不苦小和尚 发表于 2022-8-1 19:42
修改了一下,你试下
[e=2].版本 2
.支持库 spec

请注意审题,我不是来求源码的,我自己编了一个简短的代码,另:就折个行而已,你的代码这么长也不嫌太麻烦吗
回复 支持 反对

使用道具 举报

结帖率:60% (15/25)

签到天数: 19 天

发表于 2022-8-1 19:42:52 | 显示全部楼层   江苏省苏州市
修改了一下,你试下
  
子程序名返回值类型公开备 注
文本_折行文本型 把一段长文本按你指定的字数分行
参数名类 型参考可空数组备 注
要处理的文本文本型
每行字数整数型半角字数,如果为空,将不进行分行操作,直接返回文本内容,如果包含文本或全角字符,则需要把每行字数至少设置为2
是否强行分行逻辑型为真则强行按设定长度分行。为假则保留连续半角数字或字母为一行。默认为假。
是否全角逻辑型是否将半角转换为全角,如果为空即不转换
首空字节数整数型在每行前面加入空格,如果为空,为0,即不加空格
变量名类 型静态数组备 注
操作文本文本型 
开始位置整数型 
读取长度整数型 
开始计算半角逻辑型 
半角位置整数型 
结果文本文本型 
如果真 (是否为空 (每行字数))
返回 (要处理的文本)
如果真 (是否为空 (是否强行分行))
是否强行分行 = 假
如果真 (是否全角 = )
要处理的文本 = 子文本替换 (要处理的文本, “...”, “…”, 1, , )
要处理的文本 = 子文本替换 (要处理的文本, “->”, “→”, 1, , )
要处理的文本 = 子文本替换 (要处理的文本, “<-”, “←”, 1, , )
要处理的文本 = 子文本替换 (要处理的文本, “--”, “—”, 1, , )
要处理的文本 = 到全角 (要处理的文本)
如果真 (首空字节数 ≥ 1)
要处理的文本 = 取空白文本 (首空字节数) + 要处理的文本
要处理的文本 = 子文本替换 (要处理的文本, #换行符, #换行符取空白文本 (首空字节数), 1, , )
操作文本 = 要处理的文本
判断循环首 (取文本长度 (操作文本) > 每行字数)
判断循环首 (读取长度 < 每行字数)
' 首先这里存在2个情况,一个是如果为全角或汉字。则他们1位是2个长度,直接取是取不出来的。
如果 (取代码 (操作文本, 读取长度 + 1) ≥ 127 取代码 (操作文本, 读取长度 + 1) < 0)
' 如果不是半角的话。则需要把读取长度增加到2
半角位置 = 0
开始计算半角 = 假
如果真 (读取长度 = 每行字数 - 1)
输出调试文本 (“文本_折行 - 注意:检测到文本中包含中文或全角字符,需要把每行字数至少设置为2.”)
' 返回 (“”)
跳出循环 ()
读取长度 = 读取长度 + 2
判断 (取文本中间 (操作文本, 读取长度 + 1, 1)“ ”)
读取长度 = 读取长度 + 1
半角位置 = 0
开始计算半角 = 假
判断 (取文本中间 (操作文本, 读取长度 + 1, 2)#换行符 )
读取长度 = 读取长度 + 2
跳出循环 ()
如果真 (开始计算半角 = )
半角位置 = 读取长度
开始计算半角 = 真
读取长度 = 读取长度 + 1


判断循环尾 ()
如果真 (读取长度 ≥ 每行字数)
如果 (是否强行分行 = )
读取长度 = 选择 (半角位置 = 0, 每行字数, 选择 (取代码 (操作文本, 每行字数 + 1) ≥ 127 取代码 (操作文本, 每行字数 + 1) < 0, 每行字数, 半角位置))
开始计算半角 = 假
半角位置 = 0
读取长度 = 每行字数

如果真 (是否强行分行 = )
如果 (取文本中间 (操作文本, 读取长度 - 1, 2)“《” 取文本中间 (操作文本, 读取长度 - 1, 2)“(” 取文本中间 (操作文本, 读取长度 - 1, 2)#左引号 取文本中间 (操作文本, 读取长度 - 1, 2)“〈” 取文本中间 (操作文本, 读取长度 - 11, 2)“‘”)
读取长度 = 读取长度 - 2
如果真 (取文本中间 (操作文本, 读取长度, 2)“》” 取文本中间 (操作文本, 读取长度, 2)“)” 取文本中间 (操作文本, 读取长度, 2)#右引号 取文本中间 (操作文本, 读取长度, 2)“〉” 取文本中间 (操作文本, 读取长度, 2)“,” 取文本中间 (操作文本, 读取长度, 2)“。” 取文本中间 (操作文本, 读取长度, 2)“?” 取文本中间 (操作文本, 读取长度, 2)“:” 取文本中间 (操作文本, 读取长度, 2)“’” 取文本中间 (操作文本, 读取长度, 2)“;” 取文本中间 (操作文本, 读取长度, 2)“、”)
调试输出 (取代码 (操作文本, 读取长度))
如果 (取代码 (操作文本, 读取长度) ≥ 127 取代码 (操作文本, 读取长度) < 0)
读取长度 = 读取长度 - 2
读取长度 = 读取长度 - 1



如果 (取文本中间 (操作文本, 读取长度 - 1, 2)#换行符 )
结果文本 = 结果文本 + 取文本左边 (操作文本, 读取长度)
结果文本 = 结果文本 + 取文本左边 (操作文本, 读取长度)#换行符
操作文本 = 取文本右边 (操作文本, 取文本长度 (操作文本) - 读取长度)
读取长度 = 0
判断循环尾 ()
结果文本 = 结果文本 + 操作文本
返回 (结果文本)


i支持库列表   支持库注释   
spec特殊功能支持库

回复 支持 反对

使用道具 举报

结帖率:60% (15/25)

签到天数: 19 天

发表于 2022-8-1 18:50:41 | 显示全部楼层   江苏省苏州市
没用过这个,不至于这么慢吧,模块是最新的吗
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 20 天

发表于 2022-8-1 18:38:16 | 显示全部楼层   江苏省扬州市
...把文字转数组, 然后X个输一个换行符不就行了麻
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2022-8-1 17:36:35 | 显示全部楼层   辽宁省大连市
这个是干什么用的
回复 支持 反对

使用道具 举报

头像被屏蔽
结帖率:50% (1/2)
发表于 2022-8-1 17:07:56 | 显示全部楼层   上海市上海市
膜拜神贴,后面的请保持队形~
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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