一个关于循环的语句的问题 小弟刚学没多长时间
本帖最后由 linkuncool 于 2010-1-7 22:44 编辑For $i = 0 To $n Step 1
GUICtrlSetState ($soft[$i],$GUI_DISABLE)
Next
跟下面这句有区别吗?
For $i = 0 To $n - 1
GUICtrlSetState ($soft[$i],$GUI_DISABLE)
Next
第一句执行错误提示 Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
GUICtrlSetState ($soft[$i],$GUI_DISABLE)
GUICtrlSetState (^ ERROR
大概说$soft[$i]含有不正确标识数字 嗨 词比较专业不知道怎么表达英语勉勉强强还可以
而第一句执行却没发生错误我是个新手
很多东西 我能解决 尽量不问 就查资料
可帮助文档里 是我找不到 还是没有啊
老手指点下 在线等啊急着 写一个小程序用来自动安装多个软件 跟系统优化
在装机时代替重复性的动作虽然网络有自动安装软件 系统优化光盘但是还是用自己写的程序感觉好
也可以时常更新软件 对吧大家都有同感吧 在线等啊急着 写一个小程序用来自动安装多个软件 跟系统优化
在装机时代替重复性的动作虽然网络有自动安装软件 系统优化光盘但是还是用自己写的程序感觉好
也可以时常更新软件 对吧大家都有同感吧 第一句执行错误提示 Array variable has incorrect number of subscripts or subscript dimension
...
而第一句执行却没发生错误
到底哪个是错误?我晕了 看形势一定是第一段出错了,数组的元素数量超出范围了,第二段-1才正确 你看下吧
等等我上代码 #NoTrayIcon
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
;编译头文件
Opt ("GUICloseOnESC",0);脚本运行时按ESC不退出
FileInstall ("back.jpg",@TempDir & "\back.jpg",1)
FileInstall ("config.xml",@TempDir & "\config.xml",1)
FileInstall ("KuGoo.xml",@TempDir & "\KuGoo.xml",1)
FileInstall ("show.IE8.icon.bat",@TempDir & "\show.IE8.icon.bat",1)
FileInstall ("show.IE8.icon.reg",@TempDir & "\show.IE8.icon.reg",1)
FileInstall ("酷狗音乐文件夹.lnk",@TempDir & "\酷狗音乐文件夹.lnk",1)
FileInstall ("酷我音乐文件夹.lnk",@TempDir & "\酷我音乐文件夹.lnk",1)
;把附加文件编译进脚本
Dim $os , $int
$os=RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion","ProductName")
If 0<>StringInStr ($os,"Windows XP") Then
$os="Windows XP"
ElseIf 0<>StringInStr ($os,"Windows 7") Then
$os="Windows 7"
ElseIf 0<>StringInStr ($os,"Windows Vista") Then
$os="Windows Vista"
Else
$flag=MsgBox ("36","软件安装提示:","无法检测到您正在使用的系统版本,可能会出现未知错误,是否继续?")
If $flag=7 then
Exit
EndIf
EndIf
;判断操作系统
Const $n=12 , $b=4
Dim $installpatch , $softname[$n] , $soft[$n] , $radio[$b]
$softname="FLASH PLAYER"
$softname="WinRAR 3.91 beta 1"
$softname="腾讯QQ2009 SP5"
$softname="QQGame2009游戏大厅"
$softname="酷狗音乐2010"
$softname="酷我音乐盒 2009"
$softname="PPS影音"
$softname="风行 2.0.0.29 Beta"
$softname="暴风影音2009"
$softname="搜狗拼音输入法 4.3正式版"
$softname="迅雷 5"
;定义变量 软件安装目录 数量
GUICreate ("街头秀装机程序",600,500);创建主程序界面
GUICtrlCreatePic ("back.jpg",0,0,600,100);设置LOGO图片
$group1=GUICtrlCreateGroup ("软件选择",10,110,580,180)
;为复选框创建一个控件组
$soft=GUICtrlCreateCheckbox ($softname,15,125,160,20)
$soft=GUICtrlCreateCheckbox ($softname,205,125,160,20)
$soft=GUICtrlCreateCheckbox ($softname,395,125,160,20)
$soft=GUICtrlCreateCheckbox ($softname,15,145,160,20)
$soft=GUICtrlCreateCheckbox ($softname,205,145,160,20)
$soft=GUICtrlCreateCheckbox ($softname,395,145,160,20)
$soft=GUICtrlCreateCheckbox ($softname,15,165,160,20)
$soft=GUICtrlCreateCheckbox ($softname,205,165,160,20)
$soft=GUICtrlCreateCheckbox ($softname,395,165,160,20)
$soft=GUICtrlCreateCheckbox ($softname,15,185,160,20)
$soft=GUICtrlCreateCheckbox ($softname,205,185,160,20)
For $i = 0 To $n - 1
GUICtrlSetState ($soft[$i],$GUI_DISABLE)
Next 我也晕的 搞的脑袋大
写错了第一句执行错误
第二句OK 成功
可以帮助文档里 没有 - 这个的用法 的是不是老版本的啊 是版主啊 这么晚还没睡啊 晕死了帖子 写完自己也没看下
写错了一个字 搞的老手浪费时间
提问的艺术啊说时候我自己看到问题描述的乱七八糟的帖子也讨厌
:face (30): 实话会 打成时候
真的要睡一觉的 脑子有点不清醒
NO NO NO:face (9): +-*/ 这个不用解释吧…… - 就是减…… 但是常量 $n 我赋予的值是12
for 循环从 0 开始 如果步进值为 -1
这样的循环语句在AU3帮助文档里是不会被执行的
A For loop will execute zero times if:
start > stop and step > 0, or
start < stop and step is negative
FOR循环会被执行0次假如:
初始值>终值 而且 步进值>0 , 不是 step -1
是 $n - 1 也就是 11 接上面的 按错键了
或者 初始值 <终值 而且步进值是负数
我正好属于第二种情况
$=12
For $i = 0 To $n - 1
GUICtrlSetState ($soft[$i],$GUI_DISABLE)
Next
应该来说不会 被执行的
就算被执行 可怎么 缺了个 Step 啊
然道 - 这个就代表 step 吗
页:
[1]
2