|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Сортировка сецкий ini файла при сохранении по алфавиту |
|
[решено] Сортировка сецкий ini файла при сохранении по алфавиту
|
Старожил Сообщения: 156 |
Профиль | Отправить PM | Цитировать Здравствуйте!
Имеется скрипт, который пишет данные в стандартный ini файл. Хотелось бы, чтобы при записи новые секции (да и старые, если в них вносятся изменения) писались не в конец файла, а сортировались по алфавиту, но единственное, что нарыл более менее подходящее - это _ArraySort(). Боюсь сильно портить функцию, она то рабочая... Вид функции такой: Func _savethemetofile() Local $vData $existsect = GUICtrlRead($vCombo1) $sect = GUICtrlRead($vInput8) $vkey1 = GUICtrlRead($vInput1) If $vkey1 Then $vData &= "BkColor=" & $vkey1 & @LF $vkey2 = GUICtrlRead($vInput2) If $vkey2 Then $vData &= "IconBkColor=" & $vkey2 & @LF $vkey3 = GUICtrlRead($vInput3) If $vkey3 Then $vData &= "IconBkGrdColor=" & $vkey3 & @LF $vkey4 = GUICtrlRead($vInput4) If $vkey4 Then $vData &= "SelectBkColor=" & $vkey4 & @LF $vkey5 = GUICtrlRead($vInput5) If $vkey5 Then $vData &= "SelectRectColor=" & $vkey5 & @LF $vkey6 = GUICtrlRead($vInput6) If $vkey6 Then $vData &= "TextColor=" & $vkey6 & @LF $vkey7 = GUICtrlRead($vInput7) If $vkey7 Then $vData &= "SelectTextColor=" & $vkey7 & @LF if GUICtrlRead($vRadio1) = $GUI_CHECKED then If $sect='' then MsgBox(262144+48, "Ошибка ", "Введите имя секции.") Return endif if $vData='' then MsgBox(262144+48, "Ошибка ", "Вы не ввели ни одного значения.") Return else $vibor = MsgBox(262144+32+4,'Сохранение секции','Хотите сохранить секцию с выбранными параметрами? ') If $vibor='6' Then IniWriteSection($inifile, $sect, $vData) MsgBox(262144 + 64, "Все удалось!", "Секция записана в файл " & $inifile) Else return Endif Endif Else if $existsect<>'' then IniWriteSection($inifile, $existsect, $vData) MsgBox(262144 + 64, "Все удалось!", "Вы сохранили отредактированную секцию в файл " & $inifile) _clean_color() endif EndIf EndFunc |
|
Отправлено: 20:07, 30-11-2013 |
Старожил Сообщения: 254
|
Профиль | Отправить PM | Цитировать eus_deus, меньшими затратами это можно сделать с помощью IniVirtual.au3 и конкретно функцией _IniVirtual_Initial. Получилв ini-файл в массив (точнее массив массивов), сортировать по секциям (первая колонка), и сортировать вложенные массивы (хотя может не потребуется). Перед записью очистить/удалить ini-файл. С помощью _IniVirtual_Save сохранить.
|
Отправлено: 23:48, 30-11-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать eus_deus, стандарт ini-файлов не предусматривает требования наличия сортировки ни в именах разделов, ни в именах параметров — они все равнозначны. Смысл в этом разве что для ориентировки внутри ini-файла при его ручной правке.
|
Отправлено: 00:06, 01-12-2013 | #3 |
Старожил Сообщения: 156
|
Профиль | Отправить PM | Цитировать Iska, ладно, все равно , если так.
|
Отправлено: 00:40, 01-12-2013 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интернет - Сортировка файлов в проводнике по дате названия файла | VbInt | Microsoft Windows 7 | 7 | 15-11-2013 10:33 | |
Доступ - Пропадает владелец файла при сохранении в общем ресурсе (Server 2008) | Lamorte | Windows Server 2008/2008 R2 | 4 | 01-03-2013 11:40 | |
Разное - [решено] Вход в папку через иконку при сохранении файла | kodznak | Microsoft Windows 2000/XP | 3 | 08-11-2011 07:12 | |
Разное - Периодичесское подвисание текстовых редакторов при сохранении файла. | iamyri | Microsoft Windows Vista | 6 | 18-04-2011 09:26 | |
Доступ - Сортировка программ в меню "Пуск" по алфавиту | 7human7 | Microsoft Windows 2000/XP | 24 | 13-02-2009 22:56 |
|