ahphsautoit 发表于 2009-5-4 10:09:33

一小段代码,写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还是错在哪儿?

sensel 发表于 2009-5-4 10:46:13

少用相对路径,menu.ini存到你选择的路径去了。

sensel 发表于 2009-5-4 10:48:55

注意FileOpenDialog备注里的一句话,
@WorkingDir is changed on successful return.
当你操作文件时,相对路径就是相对于工作文件夹的路径。

ahphsautoit 发表于 2009-5-4 13:58:44

哦,意思是我手动输入的比如一个网址,是存在脚本目录里的ini文件中的,而选择文件所得到的地址如:d:\sm\e.exe被存到d:\sm\中去了,明白了!多谢了!

sensel 发表于 2009-5-4 20:04:47

所以要少用相对路径。
如果你一开始就用 IniWrite(@ScriptDir & "\menu.ini", ...,这种问题就不会出现了。
页: [1]
查看完整版本: 一小段代码,写ini文件的,请高手看错在哪儿?