|
|

50精币
超级列表框导入txt文件,在选中行后面添加一个日期标记,添加没问题,但是清除的话总会在文件的最后一行复制两个莫名其妙的数据,求大佬帮忙解决一下
.版本 2
.支持库 iext
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
超级列表框1.插入列 (0, “序号”, 60, , , )
超级列表框1.插入列 (1, “账号”, 150, , , )
超级列表框1.插入列 (2, “密码”, 150, , , )
通用对话框1.过滤器 = “文本文件|*.txt”
通用对话框1.初始目录 = 取运行目录 ()
.子程序 _按钮_导入_被单击
.局部变量 文件内容, 文本型
.局部变量 文件号, 整数型
.局部变量 行数组, 文本型, , "0"
.局部变量 循环索引, 整数型
.局部变量 列数组, 文本型, , "0"
.局部变量 列表行索引, 整数型
.如果真 (通用对话框1.打开 () = 假)
信息框 (“未选择文件,导入取消”, 0, “提示”, )
返回 ()
.如果真结束
导入文件路径 = 通用对话框1.文件名
文件号 = 打开文件 (导入文件路径, #读入, )
.如果真 (文件号 = 0)
信息框 (“无法打开文件!”, 0, “错误”, )
返回 ()
.如果真结束
文件内容 = 读入文本 (文件号, )
关闭文件 (文件号)
.如果真 (文件内容 = “”)
信息框 (“所选文件内容为空!”, 0, “提示”, )
返回 ()
.如果真结束
超级列表框1.全部删除 ()
行数组 = 分割文本 (文件内容, #换行符, )
.计次循环首 (取数组成员数 (行数组), 循环索引)
行数组 [循环索引] = 删首尾空 (行数组 [循环索引])
.如果真 (行数组 [循环索引] = “”)
到循环尾 ()
.如果真结束
列数组 = 分割文本 (行数组 [循环索引], “----”, )
.如果真 (取数组成员数 (列数组) ≥ 2)
列表行索引 = 超级列表框1.插入表项 (-1, 到文本 (循环索引), , , , )
超级列表框1.置标题 (列表行索引, 1, 列数组 [1])
超级列表框1.置标题 (列表行索引, 2, 列数组 [2])
.如果真结束
.计次循环尾 ()
信息框 (“导入成功!共导入 ” + 到文本 (超级列表框1.取表项数 ()) + “ 行有效数据”, 0, “提示”, )
.子程序 _按钮_修改_被单击
.局部变量 现行选中项索引, 整数型
.局部变量 选中账号, 文本型
.局部变量 文件号, 整数型
.局部变量 文件内容, 文本型
.局部变量 所有行, 文本型, , "0"
.局部变量 行索引, 整数型
.局部变量 是否找到, 逻辑型
.局部变量 输出内容, 文本型
.局部变量 当前时间, 文本型
.局部变量 临时列, 文本型, , "0"
.局部变量 星号位置, 整数型
.如果真 (导入文件路径 = “”)
信息框 (“请先导入文件!”, 0, “提示”, )
返回 ()
.如果真结束
现行选中项索引 = 超级列表框1.现行选中项
.如果真 (现行选中项索引 = -1)
信息框 (“请先选中一行数据!”, 0, “提示”, )
返回 ()
.如果真结束
选中账号 = 超级列表框1.取标题 (现行选中项索引, 1)
当前时间 = 到文本 (取现行时间 ())
当前时间 = 子文本替换 (当前时间, “:”, “-”, , , 真)
文件号 = 打开文件 (导入文件路径, #读入, )
.如果真 (文件号 = 0)
信息框 (“无法打开文件!”, 0, “错误”, )
返回 ()
.如果真结束
文件内容 = 读入文本 (文件号, )
关闭文件 (文件号)
所有行 = 分割文本 (文件内容, #换行符, )
.计次循环首 (取数组成员数 (所有行), 行索引)
所有行 [行索引] = 删首尾空 (所有行 [行索引])
.计次循环尾 ()
是否找到 = 假
.计次循环首 (取数组成员数 (所有行), 行索引)
.如果真 (寻找文本 (所有行 [行索引], “----”, , 假) ≠ -1)
临时列 = 分割文本 (所有行 [行索引], “----”, )
.如果真 (取数组成员数 (临时列) ≥ 1 且 临时列 [1] = 选中账号)
是否找到 = 真
星号位置 = 寻找文本 (所有行 [行索引], “*”, , 假)
.如果真 (星号位置 ≠ -1)
所有行 [行索引] = 取文本左边 (所有行 [行索引], 星号位置 - 1)
.如果真结束
所有行 [行索引] = 所有行 [行索引] + “*” + 当前时间
跳出循环 ()
.如果真结束
.如果真结束
.计次循环尾 ()
.如果真 (是否找到 = 假)
信息框 (“未在文件中找到匹配的账号行!”, 0, “提示”, )
返回 ()
.如果真结束
.判断循环首 (取数组成员数 (所有行) > 0 且 所有行 [取数组成员数 (所有行)] = “”)
删除成员 (所有行, 取数组成员数 (所有行), 1)
.判断循环尾 ()
输出内容 = “”
.计次循环首 (取数组成员数 (所有行), 行索引)
输出内容 = 输出内容 + 所有行 [行索引]
.如果真 (行索引 < 取数组成员数 (所有行))
输出内容 = 输出内容 + #换行符
.如果真结束
.计次循环尾 ()
文件号 = 打开文件 (导入文件路径, #改写, )
.如果真 (文件号 = 0)
信息框 (“无法写入文件!”, 0, “错误”, )
返回 ()
.如果真结束
写出文本 (文件号, 输出内容)
关闭文件 (文件号)
信息框 (“修改成功!已在账号行末尾添加/更新时间标记(*)。”, 0, “操作成功”, )
.子程序 _按钮_清除_被单击
.局部变量 现行选中项索引, 整数型
.局部变量 选中账号, 文本型
.局部变量 文件号, 整数型
.局部变量 文件内容, 文本型
.局部变量 所有行, 文本型, , "0"
.局部变量 行索引, 整数型
.局部变量 是否找到, 逻辑型
.局部变量 输出内容, 文本型
.局部变量 临时列, 文本型, , "0"
.局部变量 星号位置, 整数型
.如果真 (导入文件路径 = “”)
信息框 (“请先导入文件!”, 0, “提示”, )
返回 ()
.如果真结束
现行选中项索引 = 超级列表框1.现行选中项
.如果真 (现行选中项索引 = -1)
信息框 (“请先选中一行数据!”, 0, “提示”, )
返回 ()
.如果真结束
选中账号 = 超级列表框1.取标题 (现行选中项索引, 1)
文件号 = 打开文件 (导入文件路径, #读入, )
.如果真 (文件号 = 0)
信息框 (“无法打开文件!”, 0, “错误”, )
返回 ()
.如果真结束
文件内容 = 读入文本 (文件号, )
关闭文件 (文件号)
所有行 = 分割文本 (文件内容, #换行符, )
.计次循环首 (取数组成员数 (所有行), 行索引)
所有行 [行索引] = 删首尾空 (所有行 [行索引])
.计次循环尾 ()
是否找到 = 假
.计次循环首 (取数组成员数 (所有行), 行索引)
.如果真 (寻找文本 (所有行 [行索引], “----”, , 假) ≠ -1)
临时列 = 分割文本 (所有行 [行索引], “----”, )
.如果真 (取数组成员数 (临时列) ≥ 1 且 临时列 [1] = 选中账号)
是否找到 = 真
星号位置 = 寻找文本 (所有行 [行索引], “*”, , 假)
.如果真 (星号位置 ≠ -1)
所有行 [行索引] = 取文本左边 (所有行 [行索引], 星号位置 - 1)
.如果真结束
跳出循环 ()
.如果真结束
.如果真结束
.计次循环尾 ()
.如果真 (是否找到 = 假)
信息框 (“未在文件中找到匹配的账号行!”, 0, “提示”, )
返回 ()
.如果真结束
.判断循环首 (取数组成员数 (所有行) > 0 且 所有行 [取数组成员数 (所有行)] = “”)
删除成员 (所有行, 取数组成员数 (所有行), 1)
.判断循环尾 ()
输出内容 = “”
.计次循环首 (取数组成员数 (所有行), 行索引)
输出内容 = 输出内容 + 所有行 [行索引]
.如果真 (行索引 < 取数组成员数 (所有行))
输出内容 = 输出内容 + #换行符
.如果真结束
.计次循环尾 ()
文件号 = 打开文件 (导入文件路径, #改写, )
.如果真 (文件号 = 0)
信息框 (“无法写入文件!”, 0, “错误”, )
返回 ()
.如果真结束
写出文本 (文件号, 输出内容)
关闭文件 (文件号)
信息框 (“清除成功!已移除所有时间标记(*)。”, 0, “操作成功”, )
.子程序 _按钮2_被单击
_按钮_修改_被单击 ()
.子程序 _按钮1_被单击
_按钮_清除_被单击 ()
|
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。 友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。 快捷通道:申请荣誉值 →
|