Тема: AHK: Gui, Edit, File, Function, Voodoo
Снова всем здрасьте и спасибо за предоставленную и предоставляемую помощь.
Если вкраце, то я пытаюсь написать себе функцию, которая будет создавать мне контрол Edit, связанный с файлом - при загрузке гуя содержимое Edit становится равно файлу, при изменении содержимого Edit меняется файл.
Саму задачу я осилил:
Gui, Selector:Add, edit, x20 yp+15 r3 w350 vStaticEditVar gEditToFile ,
FileRead, FileContents, %A_ScriptDir%\ConfigTexts\Default.txt
GuiControl,, CompServEdit, %FileContents%
EditToFile:
Gui, Submit, NoHide
FileDelete, %A_ScriptDir%\ConfigTexts\Default.txt
FileAppend, %StaticEditVar%, %A_ScriptDir%\ConfigTexts\Default.txt
Return
В виде функции же всё немного сложнее:
AddEditToFile("Selector", "xp", "yp+15", "w350", "r3", "ServComp", "Default")
AddEditToFile(GuiName, GuiXpos, GuiYpos, GuiWidth, GuiRows, DynamicEditVar, FileToEdit)
{
Global
Gui, %GuiName%:Add, edit, %GuiXpos% %GuiYPos% %GuiWidth% %GuiRows% v%DynamicEditVar% gGuiEditSub,
FileRead, FileContents, %A_ScriptDir%\ConfigTexts\%FileToEdit%.txt
GuiControl,, %GuiEditVar%, %FileContents%
EditFile = %FileToEdit%
EditVar = %GuiEditVar%
Return
}
GuiEditSub:
Gui, Submit, NoHide
FileDelete, %A_ScriptDir%\ConfigTexts\%EditFile%.txt
FileAppend, %EditVar%, %A_ScriptDir%\ConfigTexts\%EditFile%.txt
Return
Оно ПОЧТИ работает.
Где-то ошибка в переносе в файл содержимого Edit. При разных вариантах написания файл у меня равен: ServComp, %ServComp%, предыдущему содержанию Edit (которое было до пересоздания Гуя) и черт знает чему еще.
Кроме помощи с этой проблемой также прошу оценить как вообще такая функция будет работать при многократном использовании - это следующий этап теста, после отладки одноразовой работы, но мало ли, вдруг кто заметит какую-нибудь страшную ошибку, которая помешает мне?

