找回密码
 加入
搜索
查看: 1642|回复: 9

如何在同一行分别执行两个语句

  [复制链接]
发表于 2010-1-22 11:12:07 | 显示全部楼层 |阅读模式
本帖最后由 laojikelly 于 2010-1-27 11:06 编辑
#NoTrayIcon
While 1
        If ProcessExists("QQ.exe") Then ProcessClose("QQ.exe") and MsgBox(0,"应用程序出错","请重新安装")
        Sleep("1000")
WEnd
如何才能在第三行执行呢?我不想把他换到第二行,忘记怎么写了。麻烦有心人透露下天机。

评分

参与人数 1金钱 +10 收起 理由
pusofalse + 10 感谢主动修改帖子分类为[已解决],请继续发 ...

查看全部评分

发表于 2010-1-22 11:50:37 | 显示全部楼层
不行的,if then只能执行单条语句
发表于 2010-1-22 14:22:39 | 显示全部楼层
用 _
但是你的代码不对,then 后面只能一句 , 要执行多句,必须endif 结束,因此你需要then后面换行
发表于 2010-1-22 14:27:06 | 显示全部楼层
你的代码可以这样写...

If ProcessExists("QQ.exe") and MsgBox(0,"QQ正在运行","点确定结束QQ.EXE") Then ProcessClose("QQ.exe")

意思是,当找到 QQ.exe 就执行 msgbox , MSGBOX正常退出,则执行then后面的
如果没找到 QQ.EXE ,后面的都不会运行
发表于 2010-1-22 14:30:23 | 显示全部楼层
If ProcessExists("QQ.exe") Then $fAssignVar = ProcessClose("QQ.exe") and MsgBox(0,"应用程序出错","请重新安装")
发表于 2010-1-22 14:38:02 | 显示全部楼层
楼上的,学习了...
发表于 2010-1-27 10:52:30 | 显示全部楼层
pusofalse 发表于 2010-1-22 14:30



    原来真的可以这样!
谢谢pusofalse大大,又让小的学了一招!
 楼主| 发表于 2010-1-27 11:06:07 | 显示全部楼层
谢谢版主。
发表于 2010-1-27 11:14:22 | 显示全部楼层
回复 5# pusofalse

哈哈,从没想过,也没见过,会有这办法。。膜拜啊

不知其他脚本语言有这写法没,回头试试
发表于 2010-1-27 11:17:30 | 显示全部楼层
本帖最后由 pusofalse 于 2010-1-27 12:28 编辑

- -|||, 不必客气。有时写代码为了代码的美观,或者纯粹为了单行执行多条语句,可以使用以上方法,也可以调用以下的这个函数:
Func _AssignVar(ByRef $vVar, $vValue = 0, $vReturn = "", $iError = @error, _
             $iExtended = @extended, $vExpression = 0)
             $vVar = $vValue
             Return SetError($iError, $iExtended, $vReturn)
EndFunc
这个函数的好处在于,可以为一个变量赋值,而@error和@extended的值不会因为调用此函数而受到影响,函数的返回值即是函数的$vReturn参数。除了$vVar之外,其他参数可以是任意的表达式。$vExpression在函数内部没有任何作用,单纯是为了调用其他函数不必再另写一行而已。
$vValue、$vReturn、$iError、$iExtended这4个参数的顺序很重要,在一行完整语句的执行中,如果有函数的嵌套用法,总是从左向右、从内向外扩展出函数的返回值,而@error的值也在不断发生变化,上面4个参数的顺序,只是依据我个人书写的习惯来安排的。如果希望@error和@extended的值来自于上一行语句,那么这就约束了$vValue和$vReturn的值不能来自于一个函数调用,解决的方法是在_AssignVar中再套一层_AssignVar,或者将$iError、$iExtended写在$vValue、$vReturn之前,这样做带来的结果是可以让@error、@extended完全不受函数调用的影响,但同时会牺牲了代码的简洁。当然这只是以我现在的认知来说的。

评分

参与人数 1金钱 +50 收起 理由
afan + 50 学习技巧哈

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-28 02:11 , Processed in 0.401809 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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