易语言实现批量文本替换操作的代码

批量文本替换机的代码

.版本 2

.支持库 iext

.支持库 shell

.支持库 xplib

.程序集 窗口程序集1

.程序集变量 搜寻位置, 整数型

.程序集变量 当前被搜寻文本, 文本型

.程序集变量 起始

.程序集变量 sj1

.程序集变量 sj2

.子程序 _驱动器框_驱动器被改变

连续赋值 (驱动器框.驱动器 + “:\”, 目录框1.目录, 文件框1.目录)

.子程序 _目录框1_目录被改变

文件框1.目录 = 目录框1.目录

.子程序 _文件框1_双击选择

待替换文件列表框.插入表项 (, 目录框1.目录 + “\” + 文件框1.被选择文件, , , , )

.子程序 _类型组合框_列表项被选择

文件框1.通配符 = 类型组合框.取项目文本 (类型组合框.现行选中项)

.子程序 _系统文件选择框_被单击

.如果 (系统文件选择框.选中 = 真)

文件框1.系统 = 真

.否则

文件框1.系统 = 假

.如果结束

.子程序 _隐藏文件选择框_被单击

.如果 (隐藏文件选择框.选中 = 真)

文件框1.隐藏 = 真

.否则

文件框1.隐藏 = 假

.如果结束

.子程序 _加入_被选择

.局部变量 text, 文本型, , "0"

.局部变量 cs

.如果真 (文件框1.被选择文件 = “”)

返回 ()

.如果真结束

text = 分割文本 (文件框1.被选择文件, “;”, )

.计次循环首 (取数组成员数 (text), cs)

.如果 (取文本右边 (目录框1.目录, 1) = “\”)

待替换文件列表框.插入表项 (, 目录框1.目录 + text [cs], , , , )

.否则

待替换文件列表框.插入表项 (, 目录框1.目录 + “\” + text [cs], , , , )

.如果结束

.计次循环尾 ()

.子程序 _删除_被选择

.如果真 (待替换文件列表框.现行选中项 = -1)

返回 ()

.如果真结束

待替换文件列表框.删除表项 (待替换文件列表框.现行选中项)

.子程序 _待替换文件列表框_右键单击表项

加入.禁止 = 真

弹出菜单 (程序, , )

加入.禁止 = 假

.子程序 _文件框1_鼠标右键被放开, 逻辑型

.参数 横向位置, 整数型

.参数 纵向位置, 整数型

.参数 功能键状态, 整数型

删除.禁止 = 真

清空待替换文件.禁止 = 真

弹出菜单 (程序, , )

清空待替换文件.禁止 = 假

删除.禁止 = 假

.子程序 _清空待替换文件_被选择

待替换文件列表框.全部删除 ()

.子程序 _退出_被选择

结束 ()

.子程序 _执行按钮_被单击

.局部变量 查找文本, 文本型

.局部变量 替换文本, 文本型

.局部变量 搜寻位置

.局部变量 失败数

.局部变量 cs

.局部变量 zs

.如果真 (待替换文件列表框.取表项数 () = 0)

返回 ()

.如果真结束

.如果真 (覆盖原文件选择框.选中 = 假)

.如果真 (删全部空 (输出目录编辑框.内容) = “”)

信息框 (“请选择输出目录!”, 48, )

返回 ()

.如果真结束

.如果真结束

.如果真 (删全部空 (查找文本编辑框.内容) = “”)

信息框 (“请填写欲寻找的文本!”, 48, )

返回 ()

.如果真结束

置等待鼠标 ()

sj1 = 取启动时间 ()

编辑框3.内容 = “”

进度条1.位置 = 0

进度条1.最大位置 = 待替换文件列表框.取表项数 ()

待替换文件列表框.现行选中项 = -1

当前被搜寻文本 = 查找文本编辑框.内容

zs = 待替换文件列表框.取表项数 ()

.判断循环首 (待替换文件列表框.现行选中项 ≠ 待替换文件列表框.取表项数 () - 1)

待替换文件列表框.现行选中项 = 待替换文件列表框.现行选中项 + 1

编辑框.内容 = 取字节集数据 (读入文件 (待替换文件列表框.取标题 (待替换文件列表框.现行选中项, )), #文本型)

编辑框3.加入文本 (“正在替换:” + 待替换文件列表框.取标题 (待替换文件列表框.现行选中项, ) + #换行符)

.如果真 (搜寻 (假) = 假)

编辑框.内容 = 文本替换 (编辑框.内容, 编辑框.起始选择位置 + 1, 取文本长度 (查找文本编辑框.内容), 替换文本编辑框.内容)

cs = cs + 1

.如果真结束

.判断循环首 (搜寻 (真) = 假)

编辑框.内容 = 文本替换 (编辑框.内容, 编辑框.起始选择位置 + 1, 取文本长度 (查找文本编辑框.内容), 替换文本编辑框.内容)

cs = cs + 1

编辑框.起始选择位置 = 起始

.判断循环尾 ()

.如果 (覆盖原文件选择框.选中 = 假)

.如果 (写到文件 (输出目录编辑框.内容 + “\” + 取文本右边 (待替换文件列表框.取标题 (待替换文件列表框.现行选中项, ), 取文本长度 (待替换文件列表框.取标题 (待替换文件列表框.现行选中项, )) - 倒找文本 (待替换文件列表框.取标题 (待替换文件列表框.现行选中项, ), “\”, , 真)), 到字节集 (编辑框.内容)) = 真)

编辑框3.加入文本 (“完成,替换数量” + 到文本 (cs) + “处” + #换行符)

.否则

编辑框3.加入文本 (“写到文件失败!” + #换行符)

失败数 = 失败数 + 1

.如果结束

.否则

.如果 (写到文件 (待替换文件列表框.取标题 (待替换文件列表框.现行选中项, ), 到字节集 (编辑框.内容)) = 真)

编辑框3.加入文本 (“完成,替换数量” + 到文本 (cs) + “处” + #换行符)

.否则

编辑框3.加入文本 (“覆盖原文件失败!” + #换行符)

失败数 = 失败数 + 1

.如果结束

.如果结束

待替换文件列表框.删除表项 (待替换文件列表框.现行选中项)

进度条1.位置 = 进度条1.位置 + 1

cs = 0

.判断循环尾 ()

进度条1.位置 = 进度条1.最大位置

sj2 = (取启动时间 () - sj1) ÷ 1000

编辑框3.加入文本 (#换行符 + “-------------------------------” + #换行符 + “★完毕,总数目:” + 到文本 (zs) + “,” + 到文本 (失败数) + “个文件没有替换成功,总用时” + 到文本 (sj2) + “秒”)

待替换文件列表框.现行选中项 = -1

恢复鼠标 ()

.子程序 搜寻, 逻辑型

.参数 是否为搜寻下一个, 逻辑型

搜寻位置 = 编辑框.起始选择位置 + 1

.如果真 (是否为搜寻下一个)

搜寻位置 = 搜寻位置 + 取文本长度 (替换文本编辑框.内容)

.如果真结束

.如果 (是否为搜寻下一个)

搜寻位置 = 寻找文本 (编辑框.内容, 当前被搜寻文本, 搜寻位置, 不区分大小写选择框.选中)

.否则

搜寻位置 = 倒找文本 (编辑框.内容, 当前被搜寻文本, 搜寻位置, 不区分大小写选择框.选中)

.如果结束

.如果 (搜寻位置 = -1)

返回 (真)

.否则

编辑框.起始选择位置 = 搜寻位置 - 1

编辑框.被选择字符数 = 取文本长度 (当前被搜寻文本)

起始 = 编辑框.起始选择位置

返回 (假)

.如果结束

.子程序 _输出目录按钮_被单击

.局部变量 ml, 文本型

ml = 浏览文件夹 (“请选择输出目录”, )

输出目录编辑框.内容 = ml

.子程序 _覆盖原文件选择框_被单击

.如果 (覆盖原文件选择框.选中 = 真)

输出目录编辑框.禁止 = 真

输出目录编辑框.背景颜色 = #银白

输出目录按钮.禁止 = 真

.否则

输出目录编辑框.禁止 = 假

输出目录编辑框.背景颜色 = #白色

输出目录按钮.禁止 = 假

.如果结束

.子程序 _关于_被选择

信息框 (“文本批量替换机 ” + #换行符 + #换行符 + “版本:1.0” + #换行符, #信息图标, )

.子程序 _刷新目录_被选择

_类型组合框_列表项被选择 ()

.子程序 __启动窗口_创建完毕

XP风格 (1)

运行结果:

总结

以上是 易语言实现批量文本替换操作的代码 的全部内容, 来源链接: utcz.com/z/344462.html

回到顶部