找回密码
 加入
搜索
查看: 2074|回复: 12

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

[复制链接]
发表于 2009-7-20 11:01:17 | 显示全部楼层 |阅读模式
本帖最后由 chenjt819 于 2009-8-9 13:56 编辑

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

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

代码要怎么写?
发表于 2009-7-20 11:54:08 | 显示全部楼层
读取复选框控件的值,是1时被选中,其它没被选中。
 楼主| 发表于 2009-7-20 12:01:25 | 显示全部楼层
这个我知道了啊  
我是不知道怎么继续判断下一个
发表于 2009-7-20 12:13:27 | 显示全部楼层
好像可以用数组吧,判断数组值。
 楼主| 发表于 2009-7-20 12:16:37 | 显示全部楼层
好像可以用数组吧,判断数组值。
xg911335 发表于 2009-7-20 12:13


怎么做举个列子
发表于 2009-7-20 12:18:02 | 显示全部楼层
嗯!你的意思就是要识别N个复选框吧!
这个要用到循环语句,For...In...Next 。
 楼主| 发表于 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[6],$Soft[6]
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 420, 287, 192, 124)
$CK[1] = GUICtrlCreateCheckbox("Checkbox1", 24, 24, 153, 25)
$CK[2] = GUICtrlCreateCheckbox("Checkbox2", 24, 56, 161, 25)
$CK[3] = GUICtrlCreateCheckbox("Checkbox3", 24, 88, 161, 25)
$CK[4] = GUICtrlCreateCheckbox("Checkbox4", 24, 120, 169, 25)
$CK[5] = GUICtrlCreateCheckbox("Checkbox5", 24, 152, 81, 25)

$Soft[1]="1.exe"
$Soft[2]="2.exe"
$Soft[3]="3.exe"
$Soft[4]="4.exe"
$Soft[5]="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
发表于 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:34


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

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


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


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

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

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



相关
ContinueLoop  Exitoop

示例/演示

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

【摘录与AU3中文帮助】
发表于 2009-7-20 17:48:21 | 显示全部楼层
现在的新人
非要老鸟复制帮助文件上来
师傅带入门修行靠自身啊
 楼主| 发表于 2009-7-20 18:18:48 | 显示全部楼层
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-3 01:16 , Processed in 0.076364 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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