怎么继续判断复选框是否选中
本帖最后由 chenjt819 于 2009-8-9 13:56 编辑判断第一个复选框是否钩选
如果钩选,执行代码
如果没钩选,不执行代码
执行完第一个复选框后
继续判断第二个复选框是否钩选
如果钩选,执行代码
如果没钩选,不执行代码
执行完 第二个复选框后
继续判断第三个复选框是否钩选
如果钩选,执行代码
如果没钩选,不执行代码
这样一个一个判断下来。
用 IF THEN写 好像不行。
代码要怎么写? 读取复选框控件的值,是1时被选中,其它没被选中。 这个我知道了啊
我是不知道怎么继续判断下一个 好像可以用数组吧,判断数组值。 好像可以用数组吧,判断数组值。
xg911335 发表于 2009-7-20 12:13 http://www.autoitx.com/images/common/back.gif
怎么做举个列子 嗯!你的意思就是要识别N个复选框吧!
这个要用到循环语句,For...In...Next 。 我昨天晚上自己有试用了一下
For...In...Next语句好像不行
不知道是不是我写错了
你写个列子我看看 本帖最后由 顽固不化 于 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
借顽固兄很久以前写的略加修改做个演示
#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 呵呵!学习ing 本帖最后由 顽固不化 于 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中文帮助】 现在的新人
非要老鸟复制帮助文件上来
师傅带入门修行靠自身啊 :face (31)::face (31):
页:
[1]