news 2026/2/10 16:35:55

《告别重复劳动!易语言实现档案数字化录入全自动助手》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《告别重复劳动!易语言实现档案数字化录入全自动助手》

场景痛点:低效的重复录入操作

在档案数字化管理系统中,录入员常面临繁琐的“快捷键-录入-切换焦点-翻页”循环操作,即使引入OCR提取题名,仍需在多个窗口间手动切换、复制粘贴,效率低下。

优化方案:一键式自动化录入

通过将原有流程自动化,可将操作简化为仅使用空格键(翻页)点号键(录入)两个相邻按键,单手即可高效完成。

原繁琐操作流程
  1. 按快捷键(如数字键3)调出新建窗口。

  2. 手动输入或粘贴“文件题名”。

  3. 鼠标点击图片区域,转移光标焦点。

  4. 按空格键一次或多次进行翻页。

  5. 重复步骤1-4,开启下一循环。

优化后自动化流程
  1. 翻页:按空格键

  2. 录入:按点号键,系统自动执行以下操作:

    • 从预设的OCR识别结果文件(如titles.txt)中读取下一个题名。

    • 自动调出新建窗口(模拟按3)。

    • 自动填入题名。

    • 自动点击图片区域转移焦点。

    • 为下一次翻页做好准备。

核心价值与优势

  • 极致简化:将多步骤操作压缩为两个紧邻按键,单手操作,大幅减少疲劳和出错率。

  • 无缝衔接:自动化流程消除了窗口切换和手动复制粘贴的中断,使操作流暢连贯。

  • 高度可定制:按键、OCR文本源、操作间隔等均可根据实际系统和需求进行调整。

本文提供易语言Python两种实现方案,易语言胜在快速封装成EXE,Python胜在生态库丰富。

以下是实现以上功能的易语言代码:

.版本 2
.支持库 eAPI
.支持库 shellEx
.支持库 iext
.支持库 spec

.程序集 窗口程序集1
.程序集变量 是否有线程, 逻辑型
.程序集变量 线程句柄, 整数型
.程序集变量 标识开始, 整数型
.程序集变量 标识停止, 整数型
.程序集变量 延迟时间, 整数型
.程序集变量 picx, 整数型
.程序集变量 picy, 整数型
.程序集变量 标识导入, 整数型
.程序集变量 文件名, 文本型
.程序集变量 已保存密码, 文本型

.子程序 __启动窗口_创建完毕
.局部变量 硬盘信息, 硬盘信息
.局部变量 寻找结果, 整数型

皮肤_加载 (#皮肤_中国风)
标识开始 = 注册热键 (_启动窗口.取窗口句柄 (), 标签热键.取窗口句柄 (), 0, #圆点键)
标识导入 = 注册热键 (_启动窗口.取窗口句柄 (), 标签热键.取窗口句柄 (), 0, #F8键)

编辑框延迟.内容 = 读配置项 (取运行目录 () + “\” + “kh.ini”, “jr”, “延迟”, )
延迟时间 = 到数值 (编辑框延迟.内容)

picx = 到数值 (读配置项 (取运行目录 () + “\” + “kh.ini”, “jr”, “picx”, “690”))
picy = 到数值 (读配置项 (取运行目录 () + “\” + “kh.ini”, “jr”, “picy”, “500”))

打开临时数据库 ()


是否有线程 = 假
置随机数种子 ()

取硬盘信息 (硬盘信息, )


.如果 (注册码_生成 (_启动窗口.标题, 硬盘信息.序列号) = 注册码_读取 ())

.否则

信息框 (“软件未注册!请先注册!”, 0, )
载入 (窗口1, , 真)

.如果结束
限时使用 ()
已保存密码 = 读配置项 (取运行目录 () + “\” + “kh.ini”, “jr”, “jihuo”, “welcome”)

.判断开始 (加密文本 = 已保存密码)

.默认
载入 (窗口2, , 真)

.判断结束


.子程序 _超级列表框1_右键单击表项

弹出菜单 (右键菜单, , )


.子程序 _标记_被选择
.局部变量 索引, 整数型

索引 = 超级列表框1.现行选中项
超级列表框1.置标题 (索引, 1, “here”)
修改临时数据库 ()

.子程序 打开临时数据库
.局部变量 临时数据库, 文本型
.局部变量 订单号, 文本型
.局部变量 标记内容, 文本型
.局部变量 索引, 整数型

临时数据库 = 取运行目录 () + “/” + “tel.edb”
打开 (临时数据库, , , , , , )
.计次循环首 (取记录数 (), )
订单号 = 读 (1)
标记内容 = 读 (2)
索引 = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (索引, 0, 订单号)
超级列表框1.置标题 (索引, 1, 标记内容)
跳过 ()
.计次循环尾 ()
关闭 ()
标签1.标题 = “总个数:” + 到文本 (超级列表框1.取表项数 ())


.子程序 修改临时数据库
.局部变量 临时数据库, 文本型
.局部变量 n, 整数型
.局部变量 订单号, 文本型
.局部变量 标记内容, 文本型

临时数据库 = 取运行目录 () + “/” + “tel.edb”

打开 (临时数据库, , , , , , )
清空 ()
.计次循环首 (超级列表框1.取表项数 (), n)
订单号 = 超级列表框1.取标题 (n - 1, 0)
标记内容 = 超级列表框1.取标题 (n - 1, 1)
加记录 (订单号, 标记内容)
.计次循环尾 ()
关闭 ()

.子程序 _标签热键_反馈事件, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型

.判断开始 (参数一 = 标识开始)
_下一个_被单击 ()

.判断 (参数一 = 标识导入)
快捷导入 ()

.默认

.判断结束


.子程序 _按钮导入TXT数据_被单击
.局部变量 n, 整数型
.局部变量 子文本, 文本型
.局部变量 索引, 整数型
.局部变量 标记内容, 文本型
.局部变量 文件号, 整数型
.局部变量 文件内容, 文本型
.局部变量 文本数组, 文本型, , "0"


.如果真 (通用对话框1.打开 ())
文件名 = 通用对话框1.文件名
超级列表框1.全部删除 ()

文件号 = 打开文件 (文件名, , )
文件内容 = 读入文本 (文件号, )
文本数组 = 分割文本 (文件内容, #换行符, )


.计次循环首 (取数组成员数 (文本数组), n)
子文本 = 文本数组 [n]
子文本 = 删首尾空 (子文本)

索引 = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (索引, 0, 子文本)


.计次循环尾 ()
标签1.标题 = “总个数:” + 到文本 (超级列表框1.取表项数 ())
修改临时数据库 ()
关闭文件 (文件号)

.如果真结束


.子程序 快捷导入
.局部变量 n, 整数型
.局部变量 子文本, 文本型
.局部变量 索引, 整数型
.局部变量 标记内容, 文本型
.局部变量 文件号, 整数型
.局部变量 文件内容, 文本型
.局部变量 文本数组, 文本型, , "0"


超级列表框1.全部删除 ()

文件号 = 打开文件 (文件名, , )
文件内容 = 读入文本 (文件号, )
文本数组 = 分割文本 (文件内容, #换行符, )


.计次循环首 (取数组成员数 (文本数组), n)
子文本 = 文本数组 [n]
子文本 = 删首尾空 (子文本)

索引 = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (索引, 0, 子文本)


.计次循环尾 ()
标签1.标题 = “总个数:” + 到文本 (超级列表框1.取表项数 ())
修改临时数据库 ()
关闭文件 (文件号)
超级列表框1.现行选中项 = 0
超级列表框1.保证显示 (0)


.子程序 _复制_被选择
.局部变量 订单号, 文本型

订单号 = 超级列表框1.取标题 (超级列表框1.现行选中项, 0)
置剪辑板文本 (订单号)

.子程序 _下一个_被单击

超级列表框1.现行选中项 = 超级列表框1.现行选中项 + 1
超级列表框1.保证显示 (超级列表框1.现行选中项)

置剪辑板文本 (超级列表框1.取标题 (超级列表框1.现行选中项, 0))
延迟 (100)
模拟按键 (#键3, , )
延迟 (延迟时间)

模拟按键 (#Ctrl键, #V键, )
延迟 (100)
_标记_被选择 ()
模拟鼠标点击 (picx, picy, 0)
延迟 (100)

标签当前数.标题 = “当前数:” + 到文本 (超级列表框1.现行选中项)


.子程序 _选择框1_被单击

.如果 (选择框1.选中 = 真)
_启动窗口.总在最前 = 真

.否则
_启动窗口.总在最前 = 假

.如果结束


.子程序 _按钮1_被单击

写配置项 (取运行目录 () + “\” + “kh.ini”, “jr”, “延迟”, 编辑框延迟.内容)
延迟时间 = 到数值 (编辑框延迟.内容)
信息框 (“保存成功!”, 0, )

.版本 2 .支持库 eAPI .支持库 shellEx .支持库 iext .支持库 spec .程序集 窗口程序集1 .程序集变量 是否有线程, 逻辑型 .程序集变量 线程句柄, 整数型 .程序集变量 标识开始, 整数型 .程序集变量 标识停止, 整数型 .程序集变量 延迟时间, 整数型 .程序集变量 picx, 整数型 .程序集变量 picy, 整数型 .程序集变量 标识导入, 整数型 .程序集变量 文件名, 文本型 .程序集变量 已保存密码, 文本型 .子程序 __启动窗口_创建完毕 .局部变量 硬盘信息, 硬盘信息 .局部变量 寻找结果, 整数型 皮肤_加载 (#皮肤_中国风) 标识开始 = 注册热键 (_启动窗口.取窗口句柄 (), 标签热键.取窗口句柄 (), 0, #圆点键) 标识导入 = 注册热键 (_启动窗口.取窗口句柄 (), 标签热键.取窗口句柄 (), 0, #F8键) 编辑框延迟.内容 = 读配置项 (取运行目录 () + “\” + “kh.ini”, “jr”, “延迟”, ) 延迟时间 = 到数值 (编辑框延迟.内容) picx = 到数值 (读配置项 (取运行目录 () + “\” + “kh.ini”, “jr”, “picx”, “690”)) picy = 到数值 (读配置项 (取运行目录 () + “\” + “kh.ini”, “jr”, “picy”, “500”)) 打开临时数据库 () 是否有线程 = 假 置随机数种子 () 取硬盘信息 (硬盘信息, ) .如果 (注册码_生成 (_启动窗口.标题, 硬盘信息.序列号) = 注册码_读取 ()) .否则 信息框 (“软件未注册!请先注册!”, 0, ) 载入 (窗口1, , 真) .如果结束 限时使用 () 已保存密码 = 读配置项 (取运行目录 () + “\” + “kh.ini”, “jr”, “jihuo”, “welcome”) .判断开始 (加密文本 = 已保存密码) .默认 载入 (窗口2, , 真) .判断结束 .子程序 _超级列表框1_右键单击表项 弹出菜单 (右键菜单, , ) .子程序 _标记_被选择 .局部变量 索引, 整数型 索引 = 超级列表框1.现行选中项 超级列表框1.置标题 (索引, 1, “here”) 修改临时数据库 () .子程序 打开临时数据库 .局部变量 临时数据库, 文本型 .局部变量 订单号, 文本型 .局部变量 标记内容, 文本型 .局部变量 索引, 整数型 临时数据库 = 取运行目录 () + “/” + “tel.edb” 打开 (临时数据库, , , , , , ) .计次循环首 (取记录数 (), ) 订单号 = 读 (1) 标记内容 = 读 (2) 索引 = 超级列表框1.插入表项 (, , , , , ) 超级列表框1.置标题 (索引, 0, 订单号) 超级列表框1.置标题 (索引, 1, 标记内容) 跳过 () .计次循环尾 () 关闭 () 标签1.标题 = “总个数:” + 到文本 (超级列表框1.取表项数 ()) .子程序 修改临时数据库 .局部变量 临时数据库, 文本型 .局部变量 n, 整数型 .局部变量 订单号, 文本型 .局部变量 标记内容, 文本型 临时数据库 = 取运行目录 () + “/” + “tel.edb” 打开 (临时数据库, , , , , , ) 清空 () .计次循环首 (超级列表框1.取表项数 (), n) 订单号 = 超级列表框1.取标题 (n - 1, 0) 标记内容 = 超级列表框1.取标题 (n - 1, 1) 加记录 (订单号, 标记内容) .计次循环尾 () 关闭 () .子程序 _标签热键_反馈事件, 整数型 .参数 参数一, 整数型 .参数 参数二, 整数型 .判断开始 (参数一 = 标识开始) _下一个_被单击 () .判断 (参数一 = 标识导入) 快捷导入 () .默认 .判断结束 .子程序 _按钮导入TXT数据_被单击 .局部变量 n, 整数型 .局部变量 子文本, 文本型 .局部变量 索引, 整数型 .局部变量 标记内容, 文本型 .局部变量 文件号, 整数型 .局部变量 文件内容, 文本型 .局部变量 文本数组, 文本型, , "0" .如果真 (通用对话框1.打开 ()) 文件名 = 通用对话框1.文件名 超级列表框1.全部删除 () 文件号 = 打开文件 (文件名, , ) 文件内容 = 读入文本 (文件号, ) 文本数组 = 分割文本 (文件内容, #换行符, ) .计次循环首 (取数组成员数 (文本数组), n) 子文本 = 文本数组 [n] 子文本 = 删首尾空 (子文本) 索引 = 超级列表框1.插入表项 (, , , , , ) 超级列表框1.置标题 (索引, 0, 子文本) .计次循环尾 () 标签1.标题 = “总个数:” + 到文本 (超级列表框1.取表项数 ()) 修改临时数据库 () 关闭文件 (文件号) .如果真结束 .子程序 快捷导入 .局部变量 n, 整数型 .局部变量 子文本, 文本型 .局部变量 索引, 整数型 .局部变量 标记内容, 文本型 .局部变量 文件号, 整数型 .局部变量 文件内容, 文本型 .局部变量 文本数组, 文本型, , "0" 超级列表框1.全部删除 () 文件号 = 打开文件 (文件名, , ) 文件内容 = 读入文本 (文件号, ) 文本数组 = 分割文本 (文件内容, #换行符, ) .计次循环首 (取数组成员数 (文本数组), n) 子文本 = 文本数组 [n] 子文本 = 删首尾空 (子文本) 索引 = 超级列表框1.插入表项 (, , , , , ) 超级列表框1.置标题 (索引, 0, 子文本) .计次循环尾 () 标签1.标题 = “总个数:” + 到文本 (超级列表框1.取表项数 ()) 修改临时数据库 () 关闭文件 (文件号) 超级列表框1.现行选中项 = 0 超级列表框1.保证显示 (0) .子程序 _复制_被选择 .局部变量 订单号, 文本型 订单号 = 超级列表框1.取标题 (超级列表框1.现行选中项, 0) 置剪辑板文本 (订单号) .子程序 _下一个_被单击 超级列表框1.现行选中项 = 超级列表框1.现行选中项 + 1 超级列表框1.保证显示 (超级列表框1.现行选中项) 置剪辑板文本 (超级列表框1.取标题 (超级列表框1.现行选中项, 0)) 延迟 (100) 模拟按键 (#键3, , ) 延迟 (延迟时间) 模拟按键 (#Ctrl键, #V键, ) 延迟 (100) _标记_被选择 () 模拟鼠标点击 (picx, picy, 0) 延迟 (100) 标签当前数.标题 = “当前数:” + 到文本 (超级列表框1.现行选中项) .子程序 _选择框1_被单击 .如果 (选择框1.选中 = 真) _启动窗口.总在最前 = 真 .否则 _启动窗口.总在最前 = 假 .如果结束 .子程序 _按钮1_被单击 写配置项 (取运行目录 () + “\” + “kh.ini”, “jr”, “延迟”, 编辑框延迟.内容) 延迟时间 = 到数值 (编辑框延迟.内容) 信息框 (“保存成功!”, 0, )

以上功能在python中也可以实现,以下是相关技术文章:

告别复制粘贴!这个Python脚本让文字录入效率翻倍—python实战项目https://blog.csdn.net/u013741272/article/details/155665743?spm=1011.2415.3001.5331

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/4 11:28:34

SpringCloud负载均衡策略全解析

前言在当今分布式系统和微服务架构盛行的时代,如何高效地处理客户端请求,确保系统的高可用性、高性能和可扩展性,成为了开发人员面临的关键挑战。Spring Cloud 作为一套广泛应用的微服务框架,其中的客户端负载均衡机制扮演着至关重…

作者头像 李华
网站建设 2026/2/10 10:30:59

1分钟解锁30G空间!全网最简单安全的C盘清理方法 新手也放心用

电脑用久了,不少人都会遇到同一个烦恼:C 盘红色预警不断,存储空间告急,可看着满屏的系统文件,又怕一不小心删错东西导致电脑崩溃,只能眼睁睁看着电脑变慢、卡顿。其实,清理 C 盘根本不用 “畏首…

作者头像 李华
网站建设 2026/2/7 13:11:43

spring中el表达式安全和扩展

0. 背景 Spring的核心技术SpEL底层采用反射的方式获取对象属性、调用方法、创建对象等。如果不加以限制有非常大的安全漏洞。 如果访问权限过大,系统接收的字符串,很容易就执行恶意程序.比如在上一章 Spring使用el表达式 第一小节中执行的表达式T(Runtime).getRuntime().exec(…

作者头像 李华
网站建设 2026/2/10 12:06:22

四种高效的Obsidian标签体系构建,实战演示教程附模板

笔记的分类与标签的区别,标签应该怎么高效的使用?怎么合理的定义标签结构?结合四种案例构建自己的标签体系,结尾附带几套常用的标签结构。此方法不局限于Obsidian,同样适用于Notion,SiYuan等其他的笔记平台…

作者头像 李华
网站建设 2026/2/8 0:50:52

毕设分享 大数据分析:电商产品评论数据情感分析

文章目录1 简介数据分析目的数据预处理评论去重数据清洗分词、词性标注、去除停用词提取含名词的评论绘制词云词典匹配评论数据情感倾向分析修正情感倾向LinearSVC模型预测情感1 简介 Hi,大家好,这里是丹成学长,今天向大家介绍一个大数据项目…

作者头像 李华
网站建设 2026/2/7 14:39:25

办公系统|基于Java+ vue办公管理系统(源码+数据库+文档)

办公管理 目录 基于springboot vue办公管理系统 一、前言 二、系统功能演示 详细视频演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue办公管理系统 一、前言 博主介绍&am…

作者头像 李华