Что нового

Запись текста в ini

rusreg79

Продвинутый
Сообщения
159
Репутация
57
Есть скрипт, настройки которого хранятся в ini файле.
Возникла идея добавить в скрипт, окошко ввода GUICtrlCreateEdit для примечаний.
Можно ли многострочный текст записать в файл ini и потом при старте программы его подгрузить?

Для примера
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Form1", 318, 376, 192, 124)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 16, 40, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 16, 64, 97, 17)
$Button1 = GUICtrlCreateButton("Button1", 208, 24, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Button2", 208, 64, 75, 25, $WS_GROUP)




$Edit1 = GUICtrlCreateEdit("", 8, 152, 297, 177)
GUICtrlSetData(-1, "")
$Button3 = GUICtrlCreateButton("Save", 224, 336, 75, 25, $WS_GROUP)
$Label1 = GUICtrlCreateLabel("Примечания", 16, 128, 67, 17)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

	EndSwitch
WEnd
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
rusreg79 [?]
Можно ли многострочный текст записать в файл ini и потом при старте программы его подгрузить?
Можно, я обычно делаю это так:

Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Global $sConfig = @ScriptDir & "\Config.ini"
Global $sNotes = StringReplace(IniRead($sConfig, "Main Prefs", "Notes", ""), "\n", @CRLF)

#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Form1", 318, 376, 192, 124)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 16, 40, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 16, 64, 97, 17)
$Button1 = GUICtrlCreateButton("Button1", 208, 24, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Button2", 208, 64, 75, 25, $WS_GROUP)

$Edit1 = GUICtrlCreateEdit($sNotes, 8, 152, 297, 177)
$Button3 = GUICtrlCreateButton("Save", 224, 336, 75, 25, $WS_GROUP)
$Label1 = GUICtrlCreateLabel("Примечания", 16, 128, 67, 17)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
	
    Switch $nMsg
		Case $GUI_EVENT_CLOSE
            Exit
		Case $Button3
			$sNotes = StringReplace(GUICtrlRead($Edit1), @CRLF, "\n")
			IniWrite($sConfig, "Main Prefs", "Notes", $sNotes)
    EndSwitch
WEnd
 

r35p3ct

Продвинутый
Сообщения
228
Репутация
60
Я так в свое время делал:
Код:
IniWrite($sConfig, "Main Prefs", "Notes", StringToBinary($sNotes))

ну и чтение соотв:
Код:
$sNotes=BinaryToString(IniRead($sConfig, "Main Prefs", "Notes", ""))
 
Верх