nuoyan 发表于 2011-11-2 15:24:15

关于控件数据读取的问题,请高手指点。

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

$Form1 = GUICreate("Form1", 364, 146, -1, -1)
$Button1 = GUICtrlCreateButton("选择", 312, 48, 27, 21)
$Input1 = GUICtrlCreateInput("Input1", 32, 48, 265, 21)
$Button2 = GUICtrlCreateButton("确定", 112, 96, 131, 21)
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                     $Browser = FileOpenDialog ( "选择" , @ProgramFilesDir & "\" , "可执行程序(*.exe)" , 1 + 2 )
                     GUICtrlSetData ( $Input1, $Browser )
                Case $Button2
                     MsgBox ( 0, "提示", GUICtrlRead ( $Input1 ) )
                     IniWrite ( "11.ini", "1", "2", GUICtrlRead ( $Input1 ) )
        EndSwitch
WEnd


直接输入的值可以写入配置文件,但选择的值就不能写入了,请各位指点,谢谢!

gzh888666 发表于 2011-11-2 15:34:01

GUICtrlRead ( $Input1 )
当执行$Button1的时候才会改写$Input1
这个和$Button2没有必然的联系!
理顺思路想想就明白了!

nuoyan 发表于 2011-11-2 15:45:39

Case $Button1
                     $Browser = FileOpenDialog ( "选择" , @ProgramFilesDir & "\" , "可执行程序(*.exe)" , 1 + 2 )
                     GUICtrlSetData ( $Input1, $Browser )
                Case $Button2
                     MsgBox ( 0, "提示", GUICtrlRead ( $Input1 ) )
                     IniWrite ( "11.ini", "1", "2", GUICtrlRead ( $Input1 ) )

$Button2去掉,还是不能写入,不知道是什么原因,请指点。

nuoyan 发表于 2011-11-2 15:46:49

Case $Button1
                     $Browser = FileOpenDialog ( "选择" , @ProgramFilesDir & "\" , "可执行程序(*.exe)" , 1 + 2 )
                     GUICtrlSetData ( $Input1, $Browser )
                     MsgBox ( 0, "提示", GUICtrlRead ( $Input1 ) )
                     IniWrite ( "11.ini", "1", "2", GUICtrlRead ( $Input1 ) )

曼菲士 发表于 2011-11-2 22:12:50

IniWrite (@ScriptDir & "\11.ini", "1", "2", GUICtrlRead ( $Input1 ) )

这样试试看

xms77 发表于 2011-11-2 22:24:14

这个貌似iniwrite()的问题,我试用run(GUICtrlRead($input1))代替IniWrite ( "11.ini", "1", "2", GUICtrlRead ( $Input1 ) ),是可以正常运行选择的程序的。
所以我也很迷惑,希望楼下有人能够解惑。

xms77 发表于 2011-11-2 22:41:17

5楼正解,我也找到问题原因了,因为ini文件路径没有定义,所以通过选择按钮产生的路径会成为ini文件的路径。故问题不是GUICtrlRead读取的问题,而是路径改变了的问题。

nuoyan 发表于 2011-11-3 18:30:49

谢谢大家!!问题解决。。

drunk 发表于 2011-11-4 08:26:58

解决了就把标题改为已解决嘛,我还看了半天呢!{:face (207):}
页: [1]
查看完整版本: 关于控件数据读取的问题,请高手指点。