0

我对 AutoIt 真的很陌生,我的意思是就像今天一样新,我正在 Koda 表单设计器中创建一个 GUI。我想弄清楚如何保存表单中的所有输入部分,这样如果有人再次打开它,它就会保存他们的输入。

干杯

4

1 回答 1

1

AutoIt 中最简单的文件格式是 ini 文件。您之前可能已经将它们视为程序的配置文件,Windows 曾经将它们用于所有事情。

以下函数很重要:IniReadIniWriteGUICtrlReadGUICtrlSetData

其他类型的输入略有不同。复选框需要稍微不同的代码,当使用多行编辑控件时,您可以使用一些技巧来绕过 ini 限制。

这是最基本的,这是一个 koda 生成的表单,添加了几行:

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

Global $sConfigPath = @ScriptDir & "\MySettings.ini"

#Region ### START Koda GUI section ### Form=
Local $Form1 = GUICreate("Form1", 362, 34, 192, 124)
Local $Input1 = GUICtrlCreateInput("", 8, 8, 346, 20)
#EndRegion ### END Koda GUI section ###

; Here we can execute code before the window is shown

; Get the value of Input1 from the ini file.
GUICtrlSetData($Input1, IniRead($sConfigPath, "inputs", "Input1", ""))

; Show the window afterwards so it looks a bit tidier
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()

    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            ; Note: Exit needs to be changed to ExitLoop
            ; for any code after the loop to execute.
            ExitLoop
    EndSwitch
WEnd

; This code will be executed when the window is closed.

; Writes the value of the $Input1 control to the ini file
IniWrite($sConfigPath, "inputs", "Input1", GUICtrlRead($Input1))

该模式适用于您只想从代码中的单个位置加载和保存的简单表单。当您制作更复杂的 GUI 时,您会想要更改函数输入的加载和保存,这将允许您拥有正常的应用、取消和确定按钮,甚至是重置为默认值的按钮。

最后一点,值得记住的是,基于 stackoverflow 的 AutoIt 用户群非常小。我们的大部分社区都在AutoIt 论坛上。像这样的问题通常会在 10 分钟内得到答案,而这里需要几个小时。

于 2013-09-19T12:06:08.207 回答