关于控件数据读取的问题,请高手指点。
#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
直接输入的值可以写入配置文件,但选择的值就不能写入了,请各位指点,谢谢! GUICtrlRead ( $Input1 )
当执行$Button1的时候才会改写$Input1
这个和$Button2没有必然的联系!
理顺思路想想就明白了! 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去掉,还是不能写入,不知道是什么原因,请指点。 Case $Button1
$Browser = FileOpenDialog ( "选择" , @ProgramFilesDir & "\" , "可执行程序(*.exe)" , 1 + 2 )
GUICtrlSetData ( $Input1, $Browser )
MsgBox ( 0, "提示", GUICtrlRead ( $Input1 ) )
IniWrite ( "11.ini", "1", "2", GUICtrlRead ( $Input1 ) ) IniWrite (@ScriptDir & "\11.ini", "1", "2", GUICtrlRead ( $Input1 ) )
这样试试看 这个貌似iniwrite()的问题,我试用run(GUICtrlRead($input1))代替IniWrite ( "11.ini", "1", "2", GUICtrlRead ( $Input1 ) ),是可以正常运行选择的程序的。
所以我也很迷惑,希望楼下有人能够解惑。 5楼正解,我也找到问题原因了,因为ini文件路径没有定义,所以通过选择按钮产生的路径会成为ini文件的路径。故问题不是GUICtrlRead读取的问题,而是路径改变了的问题。 谢谢大家!!问题解决。。 解决了就把标题改为已解决嘛,我还看了半天呢!{:face (207):}
页:
[1]