|
发表于 2019-2-13 23:25:22
|
显示全部楼层
江苏省苏州市
|
文本_折行 | 文本型 | | |
要处理的文本 | 文本型 | | | | 每行字数 | 整数型 | | | | 是否强行分行 | 逻辑型 | | | | 是否全角 | 逻辑型 | | | | 首空字节数 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 操作文本 | 文本型 | | | 开始位置 | 整数型 | | | 读取长度 | 整数型 | | | 开始计算半角 | 逻辑型 | | | 半角位置 | 整数型 | | | 结果文本 | 文本型 | | |
如果真 (是否为空 (每行字数 )) 返回 (要处理的文本 ) 如果真 (是否为空 (是否强行分行 ))  是否强行分行 = 假 如果真 (是否全角 = 真) 要处理的文本 = 子文本替换 (要处理的文本, “...”, “…”, 1, , 真) 要处理的文本 = 子文本替换 (要处理的文本, “->”, “→”, 1, , 真) 要处理的文本 = 子文本替换 (要处理的文本, “<-”, “←”, 1, , 真) 要处理的文本 = 子文本替换 (要处理的文本, “--”, “—”, 1, , 真) 要处理的文本 = 到全角 (要处理的文本 ) 如果真 (首空字节数 ≥ 1 ) 要处理的文本 = 取空白文本 (首空字节数 ) + 要处理的文本  要处理的文本 = 子文本替换 (要处理的文本, #换行符, #换行符 + 取空白文本 (首空字节数 ), 1, , 真)操作文本 = 要处理的文本 判断循环首 (取文本长度 (操作文本 ) > 每行字数 ) 判断循环首 (读取长度 < 每行字数 )   如果 (取代码 (操作文本, 读取长度 + 1 ) ≥ 127 或 取代码 (操作文本, 读取长度 + 1 ) < 0 )     半角位置 = 0    开始计算半角 = 假    如果真 (读取长度 = 每行字数 - 1 )   输出调试文本 (“文本_折行 - 注意:检测到文本中包含中文或全角字符,需要把每行字数至少设置为2.”)   返回 (“”)  读取长度 = 读取长度 + 2   判断 (取文本中间 (操作文本, 读取长度 + 1, 1 ) = “ ”)    读取长度 = 读取长度 + 1     半角位置 = 0     开始计算半角 = 假    判断 (取文本中间 (操作文本, 读取长度 + 1, 2 ) = #换行符 )    读取长度 = 读取长度 + 2    跳出循环 ()    如果真 (开始计算半角 = 假)     半角位置 = 读取长度      开始计算半角 = 真    读取长度 = 读取长度 + 1      判断循环尾 () 如果真 (读取长度 ≥ 每行字数 )  如果 (是否强行分行 = 假)   读取长度 = 选择 (半角位置 = 0, 每行字数, 选择 (取代码 (操作文本, 每行字数 + 1 ) ≥ 127 或 取代码 (操作文本, 每行字数 + 1 ) < 0, 每行字数, 半角位置 ))    开始计算半角 = 假    半角位置 = 0    读取长度 = 每行字数    如果真 (是否强行分行 = 假)  如果 (取文本中间 (操作文本, 读取长度 - 1, 2 ) = “《” 或 取文本中间 (操作文本, 读取长度 - 1, 2 ) = “(”)   读取长度 = 读取长度 - 2    如果真 (取文本中间 (操作文本, 读取长度 + 1, 2 ) = “》” 或 取文本中间 (操作文本, 读取长度 + 1, 2 ) = “)”)   如果 (取代码 (操作文本, 读取长度 ) ≥ 127 或 取代码 (操作文本, 读取长度 ) < 0 )    读取长度 = 读取长度 - 2     读取长度 = 读取长度 - 1         如果 (取文本中间 (操作文本, 读取长度 - 1, 2 ) = #换行符 )  结果文本 = 结果文本 + 取文本左边 (操作文本, 读取长度 )  结果文本 = 结果文本 + 取文本左边 (操作文本, 读取长度 ) 操作文本 = 取文本右边 (操作文本, 取文本长度 (操作文本) - 读取长度) 读取长度 = 0 判断循环尾 ()结果文本 = 结果文本 + 操作文本 返回 (结果文本 ) |
|