chenjt819 发表于 2009-7-20 11:01:17

怎么继续判断复选框是否选中

本帖最后由 chenjt819 于 2009-8-9 13:56 编辑

判断第一个复选框是否钩选
如果钩选,执行代码
如果没钩选,不执行代码
执行完第一个复选框后
继续判断第二个复选框是否钩选
如果钩选,执行代码
如果没钩选,不执行代码
执行完 第二个复选框后
继续判断第三个复选框是否钩选
如果钩选,执行代码
如果没钩选,不执行代码

这样一个一个判断下来。
用 IF THEN写 好像不行。

代码要怎么写?

顽固不化 发表于 2009-7-20 11:54:08

读取复选框控件的值,是1时被选中,其它没被选中。

chenjt819 发表于 2009-7-20 12:01:25

这个我知道了啊
我是不知道怎么继续判断下一个

xg911335 发表于 2009-7-20 12:13:27

好像可以用数组吧,判断数组值。

chenjt819 发表于 2009-7-20 12:16:37

好像可以用数组吧,判断数组值。
xg911335 发表于 2009-7-20 12:13 http://www.autoitx.com/images/common/back.gif

怎么做举个列子

水木子 发表于 2009-7-20 12:18:02

嗯!你的意思就是要识别N个复选框吧!
这个要用到循环语句,For...In...Next 。

chenjt819 发表于 2009-7-20 12:27:38

我昨天晚上自己有试用了一下
For...In...Next语句好像不行
不知道是不是我写错了
你写个列子我看看

顽固不化 发表于 2009-7-20 15:03:42

本帖最后由 顽固不化 于 2009-7-20 15:06 编辑

说白了,楼主就想人家给你写代码。基础的东西需要自己去钻研,永远索求会一事无成的。#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Dim $CK,$Soft
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 420, 287, 192, 124)
$CK = GUICtrlCreateCheckbox("Checkbox1", 24, 24, 153, 25)
$CK = GUICtrlCreateCheckbox("Checkbox2", 24, 56, 161, 25)
$CK = GUICtrlCreateCheckbox("Checkbox3", 24, 88, 161, 25)
$CK = GUICtrlCreateCheckbox("Checkbox4", 24, 120, 169, 25)
$CK = GUICtrlCreateCheckbox("Checkbox5", 24, 152, 81, 25)

$Soft="1.exe"
$Soft="2.exe"
$Soft="3.exe"
$Soft="4.exe"
$Soft="5.exe"

$AutoIns=GUICtrlCreateButton("安装所选",250,200,150,20)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $AutoIns
                        GUISetState(@SW_DISABLE)
                        for $i=1 to 5
                                if GUICtrlRead($CK[$i])=1 Then ShellExecute($Soft[$i])
                        Next
                        GUISetState(@SW_ENABLE)               
        EndSwitch
WEnd

lynfr8 发表于 2009-7-20 15:15:50

借顽固兄很久以前写的略加修改做个演示


#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 139, 254, 193, 125)
$Checkbox1 = GUICtrlCreateCheckbox("注册1", 32, 24, 105, 33)
$Checkbox2 = GUICtrlCreateCheckbox("注册3", 32, 104, 73, 17)
$Button1 = GUICtrlCreateButton("全选", 16, 192, 97, 25, 0)
$Button2 = GUICtrlCreateButton("判断", 16, 220, 97, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                        For $i=1 to 2
                              $T="Checkbox"&$i
                              GUICtrlSetState(Eval($T),$GUI_CHECKED)
                        Next
                Case $Button2      
                        For $i=1 to 2
                              $T="Checkbox"&$i
      If GUICtrlRead(Eval($T))=$GUI_UNCHECKED Then MsgBox(0,0,$T&'没选择')
      If GUICtrlRead(Eval($T))=$GUI_CHECKED Then MsgBox(0,0,$T&'已选择')
                        Next
      EndSwitch
WEnd

水木子 发表于 2009-7-20 17:26:32

呵呵!学习ing

顽固不化 发表于 2009-7-20 17:33:50

本帖最后由 顽固不化 于 2009-7-20 17:39 编辑

Case $AutoIns

                        GUISetState(@SW_DISABLE)

                        for $i=1 to 5

                              if GUICtrlRead($CK[$i])=1 Then ShellExecute($Soft[$i])

                        Next

                        GUISetState(@SW_ENABLE)
FOR 语句 看不懂说一下语法吧
chenjt819 短消息 于 2009-7-20 16:34http://www.autoitx.com/images/common/back.gif

For...To...Step...Next
基于表达式循环.

For <变量> = <开始> To <停止> [Step <步进值>]
    语句
    ...
Next


参数
变量一个用于统计当前数量的变量.开始变量的初始数字值.停止变量的结束数字值.步进值[可选参数] 数字值 (或者小数)每次循环所增加的值. 默认为 1.

注意/说明
如果指定了MustDeclareVars,无需声明这个变量.程序将会自动创建一个 LOCAL 范围的变量.

For...Next 可以被嵌套使用. For 循环将会在 变量 超过 停止 值时终止. 如果 步进值 或者 停止值 为一个变量, 它的值使用只在第一次循环时读取的值.

在下方情形中 For 循环将被执行0次:
   开始 > 停止 和 步进值 > 0, 或者
   开始 < 停止 和 步进值 为负数



相关
ContinueLoopExitoop

示例/演示

For $i=5 to 1 Step -1
MsgBox(0,"递减计数!",$i)
Next
MsgBox(0,"","点火起飞!")

【摘录与AU3中文帮助】

lynfr8 发表于 2009-7-20 17:48:21

现在的新人
非要老鸟复制帮助文件上来
师傅带入门修行靠自身啊

chenjt819 发表于 2009-7-20 18:18:48

:face (31)::face (31):
页: [1]
查看完整版本: 怎么继续判断复选框是否选中