WEB开发网
开发学院软件开发汇编语言 易语言的一个读取特定注释文本的模块 阅读

易语言的一个读取特定注释文本的模块

 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)
.如果真结束

返回 (局变之得到所寻找的文本)  ' 这就是找到了

Tags:一个 读取 特定

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接