找回密码
 加入
搜索
查看: 1896|回复: 4

[AU3基础] 请达人看下这段检测按键动作并计数的代码哪错了

[复制链接]
发表于 2011-12-26 14:58:14 | 显示全部楼层 |阅读模式
本帖最后由 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
发表于 2011-12-26 18:12:21 | 显示全部楼层
要达到你的目的, 把变量 a , b , c 移到 While 1 前面。
把第一个 ExitLoop 改为 ContinueLoop.

在循环里反复给变量赋0值, 这还统计什么呀

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

 楼主| 发表于 2011-12-26 18:19:42 | 显示全部楼层
谢谢你!看了下,确实是
改了之后按回车键没有暂停并统计了啊?
发表于 2011-12-26 18:51:02 | 显示全部楼层
谢谢你!看了下,确实是
改了之后按回车键没有暂停并统计了啊?
dhwc 发表于 2011-12-26 18:19



    你要看到统计框就把 Msgbox 那句复制到 那个 ContinueLoop 前面,
   如果还要把统计写进文本, 那就,,,,不用我说了吧?
 楼主| 发表于 2011-12-26 20:01:20 | 显示全部楼层
谢谢你,基本是完成了,现在是完善它,加上GUI,并且判断按键按下和弹起才算一个动作
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-20 19:56 , Processed in 0.094574 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表