文本与文件
读取并删除指定行
读取指定文本文件中的某一行到变量并删除该行,适用于队列消费、排行弹出和单次领取记录提取。
命令用途
DeleteLine 用于读取指定文本文件中的某一行内容到变量,并在读取后删除该行。
它适合处理队列式文本数据,例如报名列表逐条消费、奖励记录逐条提取、文本池按序弹出和一次性任务清单处理。
命令名
DeleteLine
调用格式
DeleteLine <文件路径> <行数> <返回变量> [HardDisk]
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
文件路径 | 是 | 目标文本文件路径。 |
行数 | 是 | 需要读取并删除的行号。可以是固定数字,也可以是变量表达式。 |
返回变量 | 是 | 用于接收读取结果的变量,一般写 S 系列临时变量或 A 系列全局变量。 |
HardDisk | 否 | 实时读写物理硬盘;省略时优先操作当前内存中的文本内容。 |
返回或影响
- 该命令会把目标行内容写入指定变量。
- 读取完成后,该行会从目标文本文件中删除。
- 带
HardDisk时,会优先读写物理文件中的实时内容。 - 不带
HardDisk时,通常操作当前内存中的文本状态。 - 如果目标行为空,返回变量可能保留上一次保存的内容,不能默认当作空字符串处理。
示例
基础用法
#ACT
DeleteLine ..\QuestDiary\排行榜\报名名单.txt 1 S10 HardDisk
SendMsg 0 "本次取出的报名记录:<$STR(S10)>"
这段写法会把报名名单的第 1 行读入 S10,再把这一行从文件中删除,适合逐条消费排队或待处理记录。
注意事项
DeleteLine是按行号读取并删除,不是按关键字匹配删除;如果需要按内容删除,应改用DeleteLineList。- 如果要判断“是否真的取到了内容”,建议先把返回变量清空,再执行读取删除;例如先
MOV S10,再读入S10。 - 如果读取到的内容还要参与后续流程,建议在删除后尽快转存或使用,避免变量被后续逻辑覆盖。
