一小段代码,写ini文件的,请高手看错在哪儿?
本帖最后由 ahphsautoit 于 2009-5-4 13:59 编辑$inbutton = InputBox("创建项目", "请输入您的新项目名:", "", "", 400, 120)
If @error = 1 Then
Else
IniWrite("menu.ini", 5, 5, $inbutton)
$read = $inbutton
$inbutton = InputBox("创建项目", "请输入您的新项目URL或者取消手动选择文件:", "", "", 400, 120)
If @error = 1 Then
$inbutton = FileOpenDialog("打开...", @DesktopCommonDir, "所有文件(*.*)|可执行文件(*.exe)|OFFICE文件(*.doc;*.excel;*.txt)")
Else
EndIf
MsgBox(0, "", $inbutton)
IniWrite("menu.ini", 5, 5 & "URL", $inbutton);将新项目写入配置
;GUICtrlSetData(5, "●" & $read);更新控件
EndIf输入要创建的项目名后,无论是手动输入地址还是选择文件,mgbox都能正确报出$inbutton的值,但是手动输入的$inbutton能正确写入ini,而选择文件得到的$inbutton则无法写入ini,表现为没有改写ini文件的对应的值。请高手看看,是个BUG还是错在哪儿? 少用相对路径,menu.ini存到你选择的路径去了。 注意FileOpenDialog备注里的一句话,
@WorkingDir is changed on successful return.
当你操作文件时,相对路径就是相对于工作文件夹的路径。 哦,意思是我手动输入的比如一个网址,是存在脚本目录里的ini文件中的,而选择文件所得到的地址如:d:\sm\e.exe被存到d:\sm\中去了,明白了!多谢了! 所以要少用相对路径。
如果你一开始就用 IniWrite(@ScriptDir & "\menu.ini", ...,这种问题就不会出现了。
页:
[1]