请达人看下这段检测按键动作并计数的代码哪错了
本帖最后由 dhwc 于 2011-12-26 18:13 编辑想做个测试程序,用小键盘123分别代表高兴、生气、平和等情绪,按回车键统计按键结果,按X键退出程序,程序自动统计按键结果并输出到文本和提示框。代码如下,有两个问题:
1.按了回车键之后统计结果,再按x键不能退出程序;
2.按键的统计数字不能输出显示?
本人特菜,恳请指教,谢谢!
#include <Misc.au3>
if not FileExists ("统计结果.txt") then FileClose(FileOpen("统计结果.txt",10))
$dll = DllOpen("user32.dll")
While 1
$a = 0
$b = 0
$c = 0
Sleep ( 20 )
If _IsPressed("61", $dll) Then
$a = $a + 1
EndIf
If _IsPressed("62", $dll) Then
$b = $b + 1
EndIf
If _IsPressed("63", $dll) Then
$c = $c + 1
EndIf
If _IsPressed("0D", $dll) Then
ExitLoop
EndIf
If _IsPressed("58", $dll) Then
MsgBox(0, "统计结果", "高兴 "& $a &" 生气 "& $b &" 平和 " & $c)
$filename=fileopen("统计结果.txt",1)
FileWriteLine($filename,@YEAR&"年" & @MON & "月" & @MDAY & "日" & @HOUR & ":" & @MIN & " 统计结果:"&"高兴 "& $a &" 生气 "& $b &" 平和 " & $c)
FileClose($filename)
ExitLoop
Exit
EndIf
WEnd
DllClose($dll)
MsgBox(0, "统计结果", "高兴 "& $a &" 生气 "& $b &" 平和 " & $c)
$filename=fileopen("统计结果.txt",1)
FileWriteLine($filename,@YEAR&"年" & @MON & "月" & @MDAY & "日" & @HOUR & ":" & @MIN & " 统计结果:"&"高兴 "& $a &" 生气 "& $b &" 平和 " & $c)
FileClose($filename)
Exit 要达到你的目的, 把变量 a , b , c 移到 While 1 前面。
把第一个 ExitLoop 改为 ContinueLoop.
在循环里反复给变量赋0值, 这还统计什么呀 谢谢你!看了下,确实是
改了之后按回车键没有暂停并统计了啊? 谢谢你!看了下,确实是
改了之后按回车键没有暂停并统计了啊?
dhwc 发表于 2011-12-26 18:19 http://www.autoitx.com/images/common/back.gif
你要看到统计框就把 Msgbox 那句复制到 那个 ContinueLoop 前面,
如果还要把统计写进文本, 那就,,,,不用我说了吧? 谢谢你,基本是完成了,现在是完善它,加上GUI,并且判断按键按下和弹起才算一个动作
页:
[1]