|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Редактирование txt в GUI |
|
[решено] Редактирование txt в GUI
|
Новый участник Сообщения: 7 |
Доброго времени суток, уважаемые форумчане!
Есть txt файлик, в котором хранится большое количество [Variables] для основного ini файла. Пример txt: Вот примерный GUI приложения: Надо, чтобы в список выводились наименования строк из txt (BGdock= 'Фон', BGmenu= 'Фон меню', Mark= 'Выделение иконки' и т.д.), в поле ввода при выделении каждого из пунктов в списке по умолчанию выводилась инфа, которая стоит после знака '=' в соответствующей строчке (для 1 строчки 'bgdock.png', для 2 - 'bgmenu' и т.д.). При изменении данных в поле ввода и нажатии кнопки Set они должны подставляться после знака '=', перезаписывая при этом старое значение. Можете посодействовать в реализации этой примочки? |
|
Отправлено: 14:49, 05-07-2011 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Не уверен что правильно понял, но вот что получилось:
#include <GUIConstantsEx.au3> #include <ListBoxConstants.au3> OnAutoItExitRegister("_OnExitProc") Global $sConfig_File = @ScriptDir & "\Config.ini" Global $aIniData = IniReadSection($sConfig_File, "Variables") $hGUI = GUICreate("Test Script", 300, 200) $nList = GUICtrlCreateList("", 20, 20, 260, 120, BitXOR($GUI_SS_DEFAULT_LIST, $LBS_SORT)) $nInput = GUICtrlCreateInput("", 20, 150, 200, 20) $nSet_Button = GUICtrlCreateButton("Set", 225, 150, 55, 20) For $i = 1 To UBound($aIniData)-1 GUICtrlSetData($nList, $aIniData[$i][0]) Next GUISetState(@SW_SHOW, $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $nList $sItem = GUICtrlRead($nList) For $i = 1 To UBound($aIniData)-1 If $aIniData[$i][0] = $sItem Then GUICtrlSetData($nInput, $aIniData[$i][1]) ExitLoop EndIf Next Case $nSet_Button $sItem = GUICtrlRead($nList) If $sItem = "" Then MsgBox(48, 'Attention', 'No selected item.', 0, $hGUI) ContinueLoop EndIf For $i = 1 To UBound($aIniData)-1 If $aIniData[$i][0] = $sItem Then $aIniData[$i][1] = GUICtrlRead($nInput) ExitLoop EndIf Next EndSwitch WEnd Func _OnExitProc() IniWriteSection($sConfig_File, "Variables", $aIniData) EndFunc |
------- Отправлено: 16:02, 05-07-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Creat0R ,
Спасибо огромнейшее!!! Практически то, что нужно! Пара недочётов - сохраняет после закрытия (может быть так и надо), т.е. не "на лету" непосредственно после нажатия кнопки Set; ну и ещё один - инфу хватает только из ini фалов, у меня же переменные хранятся в txt в соседней директории. Ну да не беда - допилю, Ваш пример очень поможет в изучении AutoIT (открыл его для себя только 21 час назад ![]() |
Отправлено: 17:33, 05-07-2011 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата koc9kaca:
Цитата koc9kaca:
Цитата koc9kaca:
|
|||
------- Отправлено: 22:53, 05-07-2011 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла. | OSArev | Скриптовые языки администрирования Windows | 2 | 30-01-2011 11:58 | |
Разное - редактирование SchedLgU.txt | vovnet | Хочу все знать | 0 | 02-02-2010 00:36 | |
[решено] Вставить строчку из одного txt в оределённое место другого txt | ZeroCrash | AutoIt | 7 | 13-07-2009 07:35 | |
Не работает GUI после выхода другова GUI | sashadeg | AutoIt | 3 | 15-05-2009 22:03 | |
c++ с gui | sad koder | Программирование и базы данных | 3 | 16-06-2004 08:51 |
|