易语言的一个读取特定注释文本的模块
2012-05-20 07:47:40 来源:WEB开发网核心提示: #01# aaa 小型车 == #02# bbb 真2 == #拳皇出招# 雅典娜 瞬间移动 后下前脚 可以快速新建一个文本,不像XML那么麻烦,易语言的一个读取特定注释文本的模块,又可以读取多行 很方便读到的文本= 文本模块_读注释 (“D:\0-我写的易语言软件\AVS脚本小子\注释.INI&rdqu
#01#
aaa
小型车
======
#02#
bbb
真2
======
#拳皇出招#
雅典娜 瞬间移动
后下前脚
可以快速新建一个文本,不像XML那么麻烦,又可以读取多行
很方便
读到的文本= 文本模块_读注释 (“D:\0-我写的易语言软件\AVS脚本小子\注释.INI”, , “ #拳皇出招# “)
读到的文本=
雅典娜 瞬间移动
后下前脚
易语言 读注释
.版本 2 .子程序 文本模块_读注释, 文本型, 公开, 文件名 + 分隔符 (空默认为6个等于号)+ 注释内文本一行(尽量别和其他重复了) .参数 参数之读入文件名, 文本型, , C:\Use\x.txt 这样的全路径哦 .参数 参数之分隔符, 文本型, 可空, 空默认为6个等于号 .参数 参数之寻找的文本, 文本型, , #xxx# 这样的格式 .局部变量 局变之读入文件, 字节集, , , 参数转变量 1 .局部变量 局变之分隔符, 字节集, , , 参数转变量 2 .局部变量 局变之寻找的文本, 字节集, , , 参数转变量 3 .局部变量 局变之分割后的文本们, 字节集, , "0", 3 .局部变量 局变之分割后的文本们的数量, 整数型, , , 3 .局部变量 n1, 整数型, , , 3 .局部变量 局变之得到所寻找的文本, 文本型, , , 4 .局部变量 局变文本初始位置, 整数型, , , 4 .局部变量 局变文本末尾位置, 整数型, , , 4 .局部变量 局变之将被替换的文本, 文本型, , , 4 ' 想办法能记次循环 的读入 改进的话 还有 #搜搜#的优先级, 比如在 第五条里面 包含了个 #6# ,应该也关系不大,但总是不安全~~、 局变之读入文件 = 读入文件 (参数之读入文件名) .如果真 (局变之读入文件 = { }) ' 1步 ' 调试输出 (“夏夜模块-错误信息:读注释程序-未找到文件?”) 返回 (“夏夜模块-错误信息:读注释程序-未找可读入文件或文件为空?”) .如果真结束 .如果 (参数之分隔符 = “”) ' 2步 ' 调试输出 (“默认6个等号为分隔符”) 局变之分隔符 = 到字节集 (“======” + #换行符) .否则 局变之分隔符 = 到字节集 (参数之分隔符 + #换行符) ' 调试输出 (局变之分隔符) ' 自定义分隔符 .如果真 (寻找字节集 (局变之读入文件, 局变之分隔符, ) = -1) 返回 (“夏夜模块-错误信息:读注释程序-未找到定义的分隔符?”) .如果真结束 .如果结束 局变之分割后的文本们 = 分割字节集 (局变之读入文件, 局变之分隔符, ) ' 3步 寻找的文本 局变之分割后的文本们的数量 = 取数组成员数 (局变之分割后的文本们) 局变之寻找的文本 = 到字节集 (参数之寻找的文本) .计次循环首 (局变之分割后的文本们的数量, n1) ' 根据几组找找看 .如果真 (寻找字节集 (局变之分割后的文本们 [n1], 局变之寻找的文本, ) ≠ -1) ' 找到里面的第一个就就跳出循环,所以 说最好别重复 跳出循环 () .如果真结束 .计次循环尾 () ' 调试输出 (n1) .如果真 (n1 > 局变之分割后的文本们的数量) ' 大于就是没找到了 返回 (“夏夜模块-错误信息:读注释程序-未找到指定文本?”) .如果真结束 ' 局变之得到所寻找的文本 这就是那要找的文本了,但是还需去除注释 #xxxxx# 和 多余的换行符 局变之得到所寻找的文本 = 到文本 (局变之分割后的文本们 [n1]) ' 4步 得到某段的全部文本(包含注释等) ' 调试输出 (局变之得到所寻找的文本, 0) .判断循环首 (局变文本初始位置 ≠ -1) ' 不如用判断循环首~~、 这里就是 去除 注释的地方了 局变文本初始位置 = 寻找文本 (局变之得到所寻找的文本, “#”, 1, 假) ' #xxxxx# 开始处 # .如果真 (局变文本初始位置 = -1) ' 就是没找到,就别浪费代码。直接到 下一步 好了 跳出循环 () .如果真结束 局变文本末尾位置 = 寻找文本 (局变之得到所寻找的文本, “#”, 局变文本初始位置 + 1, 假) ' #xxxxx# 结尾处 # .如果真 (局变文本末尾位置 = -1) ' 说明#少写了一个~~、 跳出循环 () .如果真结束 局变之将被替换的文本 = 取文本中间 (局变之得到所寻找的文本, 局变文本初始位置, 局变文本末尾位置) ' 取得 #xxxxx# 这样的文字 ' 调试输出 (局变之将被替换的文本, “局变之将被替换的文本”) 局变之得到所寻找的文本 = 子文本替换 (局变之得到所寻找的文本, 局变之将被替换的文本, “”, 1, 1, 真) ' 调试输出 (局变之得到所寻找的文本, “局变之得到所寻找的文本”) 跳出循环 () ' 没被两次跳出循环击中,说明#有两个,替换喀嚓掉以后,输出文本 .判断循环尾 () ' 下面就是 去首尾换行符的代码啦 .如果真 (取文本右边 (局变之得到所寻找的文本, 2) = #换行符) ' 2为换行符的文本长度 --------- 有这两句 可以替换掉多余出来的一个换行符,达到与读取文件一样的效果 局变之得到所寻找的文本 = 取文本左边 (局变之得到所寻找的文本, 取文本长度 (局变之得到所寻找的文本) - 2) .如果真结束 .如果真 (取文本左边 (局变之得到所寻找的文本, 2) = #换行符) ' 2为换行符的文本长度 局变之得到所寻找的文本 = 取文本右边 (局变之得到所寻找的文本, 取文本长度 (局变之得到所寻找的文本) - 2) .如果真结束 返回 (局变之得到所寻找的文本) ' 这就是找到了
更多精彩
赞助商链接