rhci 发表于 2020-7-7 17:17:06

逐行读取文本文件作为参数输出[已解决]

本帖最后由 rhci 于 2020-7-8 11:53 编辑

如题
#include <File.au3>
$Files = @ScriptDir & "\IDCRC.ini"
$line =_FileCountLines($Files)
$ida = IniReadSection($Files,"POSID")
for $i=1 to $line
$IDCRC = $ida[$i]
MsgBox(64,"管理员通知","工号输入正确"&$IDCRC&"",1)
Next


IDCRC.ini文件内容如下

ID=26048
ID=1001
ID=22222
ID=44444
ID=33333
ID=55555
ID=66666
ID=77777
ID=88888
ID=99999
ID=9999


目前这个功能已成功
但是衍生功能未实现。
If $posini = $IDCRC Then
    IniWrite("D:\1.ini", "ss", "id", GUICtrlRead($input))
                              MsgBox(64,"管理员通知","工号输入正确"&$IDCRC&"",2)
                        Sleep(1000) ;1000 等于1秒
                        MsgBox("64","管理员通知","配置文件已生成,正在自动退出",2)
   Else
                        MsgBox(64,"管理员通知","工号输入错误,请重新输入"&$IDCRC&"",0)
                        EndIf

如上
程序读取IDCRC.ini中ID=数字和$POSID做对比
then 1.ini文件

id=数值
失败,弹框提醒错误。
问题就在这里了,怎么才能把整个文件都做对比,输入错误,就继续返回让重新输入。


rhci 发表于 2020-7-7 17:39:40

我把整个源码贴出来。
工作流程是,弹出窗口,让输入工号,然后点击确认生成按钮程序对输入的数值和idcrc.ini文件中的数值做判断
成功提示正确,写入文件,退出
失败,弹框提醒错误,重新输入
现在的问题是,错误的话,会不停的弹框,让你去确认,弹框次数和idcrc文件的行数相等。

rhci 发表于 2020-7-7 17:40:20

:face (19):求大佬帮忙去除BUG,优化下代码。

rhci 发表于 2020-7-8 11:52:02

本帖最后由 rhci 于 2020-7-8 12:02 编辑

解决了。最终代码如下

lcygd 发表于 2020-7-10 09:51:27

多谢不吝赐教

沐月狐 发表于 2020-7-14 02:01:27

留个记号,可能有需要
页: [1]
查看完整版本: 逐行读取文本文件作为参数输出[已解决]