|
发表于 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 判断循环尾 ()结果文本 = 结果文本 + 操作文本 返回 (结果文本 ) |
|