易语言实现批量文本替换操作的代码
批量文本替换机的代码
.版本 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)
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
赞 (0)