找回密码
 加入
搜索
查看: 414|回复: 6

[AU3基础] [已解决]求助, 读取输入框执行相应程序出错

[复制链接]
发表于 2022-6-29 10:08:29 | 显示全部楼层 |阅读模式
本帖最后由 h111666b 于 2022-6-29 13:15 编辑

先上代码:



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

Dim $Input[7]

GUICreate("Form1", 600, 450)

$Input[1] = GUICtrlCreateInput("文件路径", 110, 20, 220, 21)
$Input[2] = GUICtrlCreateInput("文件路径", 110, 57, 220, 21)
$Input[3] = GUICtrlCreateInput("文件路径", 110, 94, 220, 21)
$Input[4] = GUICtrlCreateInput("文件路径", 110, 131, 220, 21)
$Input[5] = GUICtrlCreateInput("文件路径", 110, 168, 220, 21)
$Input[6] = GUICtrlCreateInput("", 110, 205, 220, 21)
;按钮
$Button1 = GUICtrlCreateButton("读取输入框是否为空", 210, 245, 120, 23, 0)

GUISetState(@SW_SHOW)

While 1
        Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                        Exit

                        ;按钮执行
                Case $Button1
                        For $i = 1 To 6
                                ;读取输入框
                                $SRead = GUICtrlRead($Input[$i])
                                ;检查输入框为空
                                If FileExists($SRead) = "" Then
                                        ;提示
                                        MsgBox(64, "输入框", "输入框为空,退出当前提示, 不再向下执行", 5)
                                        ;Exit
                                EndIf
                        Next

                        ;继续执行执行项
                        MsgBox(64, "路径正常", "继续向下执行其它项", 5)
                        
        EndSwitch
WEnd


当前问题是: 当检查了其中之一输入框为空, 还是会继续向下执行

现在的要求是: 当检查了其中之一输入框为空, 就提示并退出, 不再向下执行其它项, 便要保留GUI窗口可以执行其它按钮








发表于 2022-6-29 11:11:33 | 显示全部楼层
If GUICtrlRead($Input[$i]) = "" Then
        ;提示
        MsgBox(64, "输入框", "输入框为空,退出当前提示, 不再向下执行", 2)
        Exit
Else
        ;继续执行执行项
        MsgBox(64, "路径正常", "继续向下执行其它项", 1)
EndIf
发表于 2022-6-29 11:18:14 | 显示全部楼层
加个ExitLoop跳出...
 楼主| 发表于 2022-6-29 11:23:57 | 显示全部楼层
主要是我没表达明白 , 我的意思是: 检查只要有空的项目 , 就不再向下执行 , 但是不能关闭GUI窗口
发表于 2022-6-29 12:04:15 | 显示全部楼层
h111666b 发表于 2022-6-29 11:23
主要是我没表达明白 , 我的意思是: 检查只要有空的项目 , 就不再向下执行 , 但是不能关闭GUI窗口

If Not GUICtrlRead($Input[$i]) = "" Then
        ;继续执行执行项
        MsgBox(64, "路径正常", "继续向下执行其它项", 1)
Else
        ;提示
        MsgBox(64, "输入框", "输入框为空,退出当前提示, 不再向下执行", 2)
        ExitLoop
EndIf
发表于 2022-6-29 12:38:38 | 显示全部楼层
ContinueCase
 楼主| 发表于 2022-6-29 13:14:34 | 显示全部楼层
谢谢 , 6楼代码正确 , 已解决了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-25 16:26 , Processed in 0.073879 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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