killmus 发表于 2012-7-13 20:58:02

【已解决】发送指定按键后顺序读取ini文件内容

本帖最后由 killmus 于 2012-7-14 13:29 编辑

#include <Misc.au3>
Local $hDLL = DllOpen("user32.dll")
Local $list = IniReadSection("code.ini","list")
For $i=1 To $list
While 1
        If _IsPressed("10", $hDLL) Then
                While _IsPressed("10", $hDLL)
                        Sleep(250)
                WEnd
                MsgBox(4096, "", "身份证:" & $list[$i],1)
                MsgBox(4096, "", "姓名:" & $list[$i],1)
        ElseIf _IsPressed("1B", $hDLL) Then
                ExitLoop
        EndIf
WEnd
Next以上代码只能读取ini文件的第一行内容,我想实现每当按shift键时,能显示下一行ini内容。比如:第一次按shift时,显示第一行,第二次按shift时,显示第二行........第N次按shift时,显示第N行。请帮我修改一下代码 ,谢谢!

ooxxgod 发表于 2012-7-13 22:02:06

FileReadLine
帮助文档这个函数不是有例子吗

killmus 发表于 2012-7-13 22:09:01

回复 2# ooxxgod

我的是ini文件,要求读取关键字和值

ooxxgod 发表于 2012-7-13 22:15:02

你的意思是不能读取INI?

user3000 发表于 2012-7-14 00:41:55

回复 1# killmus

楼主对基本的循环语句的应用不熟, 要多练练了. 按你的思路, 只要一个循环语句即可.
#include <Misc.au3>
Local $hDLL = DllOpen("user32.dll")
Local $list = IniReadSection("code.ini", "list")
If @error Then Exit
Local $count = 1
While 1
        If _IsPressed("10", $hDLL) Then
                MsgBox(4096, "", "身份证:" & $list[$count], 1)
                MsgBox(4096, "", "姓名:" & $list[$count], 1)
                $count += 1
                If $count > $list Then $count = 1 ; 保证下标不越界!
        ElseIf _IsPressed("1B", $hDLL) Then
                ExitLoop
        Else
                Sleep(50) ; 降低CPU占用率.
        EndIf
WEnd

骗子 发表于 2012-7-14 08:42:43

你一直在whil 1 里面循环,根本就没去for next 所以你的$i是不会变的

killmus 发表于 2012-7-14 13:28:21

回复 5# user3000


    谢谢~
页: [1]
查看完整版本: 【已解决】发送指定按键后顺序读取ini文件内容