COBOL报表开发实战:从VSAM读取到JCL调度的金融级输出
简介本资源是一份面向COBOL初学者与金融/政务系统维护人员的报表开发实践指南聚焦传统主机环境下结构化报表生成的核心技术实现。内容以完整可运行的rpt001程序为载体系统讲解ID Division标识定义、Environment Division中双文件客户主文件custmast.dat与输出报表salesrpt.rpt路径绑定、Data Division内文件记录布局含PIC数值与字符字段定义、Working-Storage中EOF控制开关与日期时间格式化逻辑以及Report Section中页眉/页脚/明细区等66行分页报表的精细排版机制。资源为1个35KB的Word文档.doc完整呈现源码注释、段落结构与关键语法说明便于逐行研读与教学演示。已有223人学习下载适合需要掌握COBOL报表编制全流程、理解legacy系统数据输出规范的技术人员快速上手并复用代码框架。1. COBOL环境下的报表编制不是怀旧是银行核心系统里每天跑千万行的“稳态输出引擎”你可能以为COBOL只是教科书里的化石语言——但真实情况是全球超43%的银行核心交易系统、70%以上的保险保全引擎、90%以上的历史账务归档平台至今仍靠COBOL程序每秒处理数万笔借贷记、生成百万级日结/月结/年结报表。这些报表不炫技、不联网、不调API却必须在凌晨2:00准时落盘字段对齐、小数点后两位零填充、金额千分位空格分隔、页眉页脚带机构编码与批次号——错一个空格稽核系统就报“格式校验失败”整批数据退回重跑。这不是写个Excel宏的事这是在字符终端上用固定格式Fixed-Format和严格层级LEVEL 01–77构建的“可审计输出管道”。适合谁运维老手要改报表逻辑新入行的ABAP/Java工程师被派去对接COBOL下游或者某高校金融信息工程方向的学生做银行系统仿真实训——你不需要重写整个系统但必须让一张“客户余额明细表”在ISAM文件VSAM索引JCL调度链里稳稳当当吐出符合《金融行业报表格式规范 JR/T 0195—2020》的ASCII文本。本篇不讲语法史只拆解怎么从一份需求文档出发在真实COBOL开发环境中非模拟器完成从数据提取、字段映射、格式控制到批量落盘的完整闭环。2. 用COBOL定义报表结构从FD段到LINE SEQUENCE NUMBER的硬约束报表在COBOL里不是“打印出来就行”而是先在DATA DIVISION中用FDFile Description严格声明其物理结构。这一步错了后续所有逻辑都白搭——因为COBOL编译器会据此生成RECORD DESCRIPTOR WORDRDW和实际存储偏移运行时直接按字节截断或越界。2.1 FD段必须显式声明BLOCK CONTAINS与RECORD CONTAINSFD CUSTOMER-BALANCE-REPORT BLOCK CONTAINS 0 RECORDS RECORD CONTAINS 132 CHARACTERS LABEL RECORDS ARE STANDARD DATA RECORD IS REPORT-RECORD. 01 REPORT-RECORD. 05 REP-HEADER. 10 REP-DATE PIC X(10). 10 REP-TIME PIC X(8). 10 REP-BATCH-ID PIC X(12). 10 FILLER PIC X(102). 05 REP-DETAIL OCCURS 60 TIMES. 10 CUST-NO PIC X(10). 10 CUST-NAME PIC X(30). 10 CURR-BALANCE PIC S9(13)V99 SIGN IS LEADING SEPARATE. 10 FILLER PIC X(20). 05 REP-FOOTER. 10 TOTAL-RECORDS PIC 9(6). 10 FILLER PIC X(122).逻辑说明BLOCK CONTAINS 0 RECORDS表示不启用物理块缓冲现代磁盘I/O已不依赖此但遗留系统JCL常强制要求RECORD CONTAINS 132 CHARACTERS是硬性长度——COBOL报表文件本质是定长记录流每行必须严格132字节对应传统IBM 3270终端宽度。若实际内容不足靠FILLER补空格若超长编译期报错RECORD LENGTH EXCEEDS MAXIMUM。参数说明SIGN IS LEADING SEPARATE确保负数显示为-12345.67而非12345.67-这是金融报表审计刚需OCCURS 60 TIMES定义每页最多60条明细超出则自动触发WRITE REPORT-RECORD AFTER ADVANCING PAGE——这是COBOL原生分页机制比任何后处理都可靠。2.2 用LINE SEQUENCE NUMBER实现精确页控与页眉复用COBOL不提供“页码变量”但通过LINE SEQUENCE NUMBER可绑定物理行号到逻辑页SELECT CUSTOMER-BALANCE-REPORT ASSIGN TO UT-S-REPFILE ORGANIZATION IS LINE SEQUENTIAL FILE STATUS IS WS-REP-STATUS. WORKING-STORAGE SECTION. 01 WS-REP-STATUS PIC XX. 01 WS-PAGE-COUNT PIC 9(4) VALUE 0. 01 WS-LINE-COUNT PIC 9(3) VALUE 0. 01 WS-MAX-LINES-PER-PAGE PIC 9(3) VALUE 60. * 含页眉2行页脚1行 PROCEDURE DIVISION. OPEN OUTPUT CUSTOMER-BALANCE-REPORT. PERFORM UNTIL END-OF-INPUT READ INPUT-FILE INTO WS-INPUT-REC AT END MOVE Y TO WS-END-FLAG END-READ IF NOT WS-END-FLAG ADD 1 TO WS-LINE-COUNT IF WS-LINE-COUNT 1 PERFORM WRITE-HEADER END-IF IF WS-LINE-COUNT WS-MAX-LINES-PER-PAGE PERFORM WRITE-FOOTER PERFORM NEW-PAGE PERFORM WRITE-HEADER MOVE 3 TO WS-LINE-COUNT * 页眉占2行下一条从第3行开始 END-IF PERFORM WRITE-DETAIL-LINE END-IF END-PERFORM.关键点LINE SEQUENCE NUMBER不是COBOL关键字而是JCL中DD *定义的逻辑设备属性它让COBOL运行时能感知当前输出行在物理文件中的绝对位置。但更常用且兼容性更好的做法是手动计数如上例WS-LINE-COUNT因为LINE SEQUENCE NUMBER在不同COBOL实现Micro Focus vs. IBM Enterprise COBOL中行为不一致。新手易踩坑直接用WRITE ... AFTER ADVANCING 1 LINES而不重置计数器导致页眉重复打印或页脚错位。3. 从VSAM/KSDS读取数据并映射到报表字段避免KEY NOT FOUND与PACKED DECIMAL陷阱报表数据源90%来自VSAM KSDSKey-Sequenced Data Set而非关系数据库。这意味着你无法用SQLJOIN必须用STARTREAD NEXT遍历且键值匹配稍有偏差即中断。3.1 正确声明KSDS文件与KEY定义SELECT CUSTOMER-MASTER-FILE ASSIGN TO UT-S-CUSTFILE ORGANIZATION IS INDEXED ACCESS MODE IS DYNAMIC RECORD KEY IS CUST-KEY ALTERNATE RECORD KEY IS CUST-STATUS FILE STATUS IS WS-CUST-STATUS. FD CUSTOMER-MASTER-FILE. 01 CUST-RECORD. 05 CUST-KEY PIC X(10). 05 CUST-NAME PIC X(30). 05 CUST-BALANCE PIC S9(13)V99 COMP-3. * PACKED DECIMAL! 05 CUST-STATUS PIC X(1). WORKING-STORAGE SECTION. 01 WS-CUST-STATUS PIC XX. 01 WS-SEARCH-KEY PIC X(10) VALUE SPACES. 01 WS-START-CODE PIC X VALUE G. * G GREATER THAN or EQUAL逻辑说明COMP-3Packed Decimal是COBOL金融计算的核心——它用半字节存数字末半字节存符号C正D负比PIC S9(...) DISPLAY节省50%空间且运算更快。但报表输出时不能直接MOVE CUST-BALANCE TO REP-DETAIL.CURR-BALANCE因为后者是DISPLAY格式需转换。参数说明ACCESS MODE IS DYNAMIC允许START后READ NEXTALTERNATE RECORD KEY用于按状态筛选如只取AActive客户但注意VSAM Alternate Index默认不支持范围查询如BETWEEN只能等值匹配。3.2 PACKED DECIMAL到DISPLAY的无损转换用REDEFINES绕过MOVE陷阱WORKING-STORAGE SECTION. 01 WS-BALANCE-WORK. 05 WS-BALANCE-PACKED PIC S9(13)V99 COMP-3. 05 WS-BALANCE-DISPLAY REDEFINES WS-BALANCE-PACKED PIC S9(13).99 SIGN IS LEADING SEPARATE. PROCEDURE DIVISION. MOVE CUST-BALANCE TO WS-BALANCE-PACKED MOVE WS-BALANCE-DISPLAY TO REP-DETAIL.CURR-BALANCE.为什么不用MOVE ... TO ...直转因为COMP-3字段MOVE到DISPLAY字段时COBOL标准规定若目标字段未声明SIGN IS...符号位会被丢弃负数变正数REDEFINES强制共享内存地址再用PIC描述符重新解释字节序列确保-12345.67正确转为-12345.67而非12345.67。这是血泪经验某次月结报表多计了23亿负债根源就是此处少写了SIGN IS LEADING SEPARATE。4. JCL调度与报表落盘如何让COBOL程序在凌晨2:00准时生成带时间戳的文件COBOL程序本身不调度它靠JCLJob Control Language嵌入到批处理链中。报表文件名必须含日期/批次号否则日终对账时无法定位。4.1 JCL中用//SET定义动态文件名与时间戳//REPJOB JOB (ACCT),CUSTOMER BALANCE,CLASSA,MSGCLASSX //* // SET CURRDATELYYMMDD * 系统自动替换为231015 // SET BATCHIDLHHMMSS * 替换为23592123:59:21 //* //STEP010 EXEC PGMICETOOL //TOOLIN DD * COPY FROM(INFILE) TO(OUTFILE) USING(CTL1) /* //CTL1CNTL DD * INREC BUILD(1,10,11,30,41,15,56,1) /* //* //STEP020 EXEC PGMCUSTOMERREP //STEPLIB DD DSNPROD.LOADLIB,DISPSHR //SYSOUT DD SYSOUT* //CUSTFILE DD DSNPROD.CUST.MASTER.KSDS,DISPSHR //REPFILE DD DSNPROD.REPORT.BALANCE(CURRDATE..BATCHID), // DISP(NEW,CATLG,DELETE), // UNITSYSDA,SPACE(TRK,(5,1),RLSE), // DCB(RECFMFBA,LRECL132,BLKSIZE0)逻辑说明LYYMMDD是JCL系统符号System Symbol由作业提交时的系统时钟生成无需额外步骤LHHMMSS同理。DSNPROD.REPORT.BALANCE(CURRDATE..BATCHID)生成类似PROD.REPORT.BALANCE(231015.235921)的数据集名确保每日唯一。RECFMFBAFormatted Blocked ASCII是报表专用格式首字节为ASA行控制字符1跳页0单倍行距后131字节为内容BLKSIZE0让系统自动计算最优块大小。参数说明DISP(NEW,CATLG,DELETE)表示新建→成功则编目→失败则删除防止残留垃圾文件SPACE(TRK,(5,1),RLSE)分配5个主轨1个次轨RLSERelease在作业结束时释放未用空间——这对报表文件极重要因实际长度波动大月初客户少月末激增。4.2 在COBOL中读取JCL传递的日期参数用LINKAGE SECTION接住//PARMLINKAGE SECTION. 01 LS-PARM-DATA. 05 LS-PARM-LEN PIC S9(4) COMP. 05 LS-PARM-TEXT PIC X(10). PROCEDURE DIVISION USING LS-PARM-DATA. IF LS-PARM-LEN 0 MOVE LS-PARM-TEXT TO WS-JOB-DATE ELSE MOVE FUNCTION CURRENT-DATE (1:8) TO WS-JOB-DATE END-IF.使用场景当JCL中写//STEP020 EXEC PGMCUSTOMERREP,PARM20231015时LS-PARM-TEXT即接收该字符串。这比硬编码FUNCTION CURRENT-DATE更可靠——因为批处理可能跨日执行如23:59提交00:02才运行而报表日期必须是业务日非系统日。5. 避坑COBOL报表编制中5个高频翻车点与现场急救方案COBOL报表的错误往往不报错而是静默错位。以下全是某银行核心系统实测踩过的坑按现象→原因→解决三步给出可立即执行的方案。5.1 现象报表页眉在第2页开始错位1列后续每页偏移递增原因WRITE REPORT-RECORD AFTER ADVANCING PAGE后未重置WS-LINE-COUNT导致页眉写入位置基于错误行号计算。解决在PERFORM NEW-PAGE子程序末尾强制MOVE 1 TO WS-LINE-COUNT并在WRITE-HEADER中用WRITE ... AFTER ADVANCING 0 LINES确保绝对定位。5.2 现象金额字段显示为而非数字原因PIC S9(13)V99字段接收了超范围值如9999999999999.99COBOL用填充表示溢出OVERFLOW。解决在MOVE前加校验IF CUST-BALANCE 9999999999999.99 OR -9999999999999.99 MOVE ZERO TO WS-BALANCE-PACKED MOVE OVERFLOW TO REP-DETAIL.CUST-NAME ELSE MOVE CUST-BALANCE TO WS-BALANCE-PACKED END-IF5.3 现象VSAM文件READ NEXT突然返回FILE STATUS 23Invalid key原因START语句未指定KEY IS NOT LESS THAN且首条记录KEY大于搜索值导致READ NEXT无记录可读。解决START后立即检查状态START CUSTOMER-MASTER-FILE KEY IS NOT LESS THAN WS-SEARCH-KEY INVALID KEY PERFORM HANDLE-NO-START-FOUND NOT INVALID KEY PERFORM READ-NEXT-LOOP.5.4 现象JCL中//REPFILE DD分配失败报IEC030I原因DSN名含非法字符如CURRDATE生成231015.末尾点号被误判为PDS成员分隔符。解决改用LYYMMDD无点号或显式截断// SET CURRDATELYYMMDD //REPFILE DD DSNPROD.REPORT.BALANCE(CURRDATE),5.5 现象报表文件在FTP传输后中文乱码但本地cat正常原因COBOL生成的是EBCDIC编码而FTP客户端默认ASCII模式传输导致字节映射错乱。解决FTP时强制二进制模式ftp bin ftp put PROD.REPORT.BALANCE(231015.235921) report_231015.txt或在JCL中用IEBGENER转码//CONVERT EXEC PGMIEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT* //SYSUT1 DD DSNPROD.REPORT.BALANCE(231015.235921),DISPSHR //SYSUT2 DD DSNPROD.REPORT.BALANCE.ASCII(231015.235921), // DISP(NEW,CATLG),DCB(RECFMFB,LRECL132) //SYSUT2的DCB隐含ASCII转换6. 进阶技巧用COBOL内置SORT实现报表预排序与去重省掉DB2临时表报表常需“按客户号升序余额降序”传统做法是先SELECT ... ORDER BY到临时表再读取。但COBOL自带SORT动词可在内存/磁盘完成速度提升3倍且不占DB2资源。6.1 定义SORT工作区与输入输出文件SELECT SORT-FILE ASSIGN TO UT-S-SORTFILE ORGANIZATION IS SEQUENTIAL FILE STATUS IS WS-SORT-STATUS. SD SORT-FILE. 01 SORT-RECORD. 05 SORT-CUST-NO PIC X(10). 05 SORT-BALANCE PIC S9(13)V99 COMP-3. 05 SORT-NAME PIC X(30). FD SORT-INPUT-FILE. 01 INPUT-RECORD. 05 IN-CUST-NO PIC X(10). 05 IN-BALANCE PIC S9(13)V99 COMP-3. 05 IN-NAME PIC X(30). FD SORT-OUTPUT-FILE. 01 OUTPUT-RECORD. 05 OUT-CUST-NO PIC X(10). 05 OUT-BALANCE PIC S9(13)V99 COMP-3. 05 OUT-NAME PIC X(30).6.2 用SORT动词实现双字段排序与去重PROCEDURE DIVISION. OPEN INPUT SORT-INPUT-FILE OPEN OUTPUT SORT-OUTPUT-FILE SORT SORT-FILE ON ASCENDING KEY SORT-CUST-NO ON DESCENDING KEY SORT-BALANCE USING SORT-INPUT-FILE GIVING SORT-OUTPUT-FILE. CLOSE SORT-INPUT-FILE, SORT-OUTPUT-FILE. * 去重读取SORT-OUTPUT-FILE时跳过连续相同CUST-NO OPEN INPUT SORT-OUTPUT-FILE READ SORT-OUTPUT-FILE INTO WS-SORT-REC AT END MOVE Y TO WS-END-FLAG END-READ MOVE WS-SORT-REC TO WS-LAST-REC PERFORM UNTIL WS-END-FLAG Y IF SORT-CUST-NO OF WS-SORT-REC NOT SORT-CUST-NO OF WS-LAST-REC PERFORM WRITE-REPORT-LINE END-IF MOVE WS-SORT-REC TO WS-LAST-REC READ SORT-OUTPUT-FILE INTO WS-SORT-REC AT END MOVE Y TO WS-END-FLAG END-READ END-PERFORM.关键优势SORT动词由COBOL运行时调用OS底层排序算法如IBM DFSORT比DB2ORDER BY快得多尤其对千万级记录USING ... GIVING ...语法让输入输出完全独立于报表逻辑复用性极强。某次应付监管报送原需2小时的DB2排序COBOL报表改用此法后压至22分钟——因为SORT在z/OS上直接利用CPU向量指令加速。参数边界SORT内存限制默认64MB若报IGZ0037SSort work space exceeded需在JCL中扩大//STEP020 EXEC PGMCUSTOMERREP //SORTWK01 DD UNITSYSDA,SPACE(CYL,(50,10)) //SORTWK02 DD UNITSYSDA,SPACE(CYL,(50,10))我坚持在每个新项目里先写SORT再写报表主逻辑——因为排序结果可复用同一份SORT-OUTPUT-FILE既能喂给余额报表也能喂给客户TOP10排名还能导出CSV供BI分析。这种“一次排序、多路消费”的设计让COBOL报表从“一次性脚本”升级为“核心数据服务节点”。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

单卡24GB显存跑通70B大模型:airllm分层加载推理实战

单卡24GB显存跑通70B大模型:airllm分层加载推理实战

1. 当大模型装不进显卡时,我在单卡上跑通了70B推理第一次看到 airllm 这个项目名的时候,我正被一个很现实的问题卡住:手头只有一张 24GB 显存的卡,却要跑一个 70B 参数量的模型做推理验证。按常规思路,这几乎是不可能完…

2026/10/15 5:45:36 阅读更多 →
小程序按需注入未通过?uni-app项目组件注入优化实战指南

小程序按需注入未通过?uni-app项目组件注入优化实战指南

微信小程序的开发者,尤其是用 HBuilderX 写 uni-app 的朋友,大概率都撞上过这么一条构建提示:本地设置里勾上了“启用组件按需注入”,编译一跑,直接给你来一句“启用组件按需注入未通过”。第一次见到这个提示&#xf…

2026/10/15 5:45:36 阅读更多 →
Ponytail:React 18+ 组件状态可视化调试工具

Ponytail:React 18+ 组件状态可视化调试工具

1. “Ponytail”不是发型,而是开发者圈里悄然走红的轻量级调试辅助工具最近在几个前端协作群和开源项目 Issue 区里,频繁看到“ponytail skill”“ponytail 插件”这类词——不是美妆博主聊扎马尾技巧,也不是时尚穿搭指南,而是一群…

2026/10/15 5:45:36 阅读更多 →

最新新闻

Unity/Unreal光照烘焙与探针实操指南:静态精度+动态融合

Unity/Unreal光照烘焙与探针实操指南:静态精度+动态融合

1. 项目概述:为什么“光照烘焙与探针”不是锦上添花,而是实现实时渲染真实感的分水岭“在Demo实装光照烘焙与探针”——这短短十个字,背后是一整套实时渲染管线中最具性价比的光影解决方案。我带过不少刚接触Unity或Unreal的开发者&#xff0…

2026/10/15 6:30:46 阅读更多 →
TensorFlow图像分类实战:从模型训练到部署的全流程解析

TensorFlow图像分类实战:从模型训练到部署的全流程解析

1. 项目背景与整体设计思路1.1 为什么值得认真对待TensorFlow最近我花了两周时间,把一个基于TensorFlow的图像分类项目完整跑通并且部署到了实际业务里。整个过程踩了不少坑,也积累了一些比较实用的经验,今天想把整个项目的设计思路、实操过程…

2026/10/15 6:30:46 阅读更多 →
PyTorch核心机制与实战:动态图、张量、自动求导及模型训练全解析

PyTorch核心机制与实战:动态图、张量、自动求导及模型训练全解析

1. 从“PyTorch是什么”说起:一个深度学习框架的底层逻辑第一次接触PyTorch的人,往往会问一句:这不就是又一个深度学习框架吗?市面上TensorFlow、Keras、PaddlePaddle那么多了,为什么偏偏PyTorch成了学术圈和工业界的“…

2026/10/15 6:30:46 阅读更多 →
自动证明工具实操:操作系统形式化验证中的Z3与Isabelle

自动证明工具实操:操作系统形式化验证中的Z3与Isabelle

操作系统形式化验证做到第3篇,终于要开始“图省事”的部分了。前面我们聊过什么是形式化验证、为什么操作系统需要它、以及手工证明到底有多痛苦,这一篇直接进入工具实操。标题里的“自动证明工具”,往大了说包括SMT求解器、自动定理证明器、…

2026/10/15 6:30:46 阅读更多 →
FAD2500风量变送器说明书导读:安装校准与通讯调试全解析

FAD2500风量变送器说明书导读:安装校准与通讯调试全解析

简介:《FAD2500使用说明书》是武藏Musashi全自动点胶设备的官方中文操作手册,面向设备操作员、工艺工程师与维护人员,聚焦高精度点胶作业中的安全操作、参数设定、生产监控与故障恢复等实际问题,帮助产线人员降低误操作风险。资源…

2026/10/15 6:30:46 阅读更多 →
PLC变频调速恒压供水系统:从选型到调试验收全解析

PLC变频调速恒压供水系统:从选型到调试验收全解析

简介:这份毕业设计论文围绕城市小区供水需求,完整设计了基于PLC的变频调速恒压供水系统,面向自动化、电气工程及其自动化等专业的本科生,可作为毕业设计或课程设计的选题参考与撰写模板。论文涵盖了系统整体架构,由PLC…

2026/10/15 6:29:45 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →