h111666b 发表于 2022-6-29 10:08:29

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

本帖最后由 h111666b 于 2022-6-29 13:15 编辑

先上代码:



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

Dim $Input

GUICreate("Form1", 600, 450)

$Input = GUICtrlCreateInput("文件路径", 110, 20, 220, 21)
$Input = GUICtrlCreateInput("文件路径", 110, 57, 220, 21)
$Input = GUICtrlCreateInput("文件路径", 110, 94, 220, 21)
$Input = GUICtrlCreateInput("文件路径", 110, 131, 220, 21)
$Input = GUICtrlCreateInput("文件路径", 110, 168, 220, 21)
$Input = 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窗口可以执行其它按钮








chzj589 发表于 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跳出...

h111666b 发表于 2022-6-29 11:23:57

主要是我没表达明白 , 我的意思是: 检查只要有空的项目 , 就不再向下执行 , 但是不能关闭GUI窗口

chzj589 发表于 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

afan 发表于 2022-6-29 12:38:38

ContinueCase

h111666b 发表于 2022-6-29 13:14:34

谢谢 , 6楼代码正确 , 已解决了
页: [1]
查看完整版本: [已解决]求助, 读取输入框执行相应程序出错