Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Сортировка сецкий ini файла при сохранении по алфавиту

Ответить
Настройки темы
[решено] Сортировка сецкий ini файла при сохранении по алфавиту

Старожил


Сообщения: 156
Благодарности: 1


Конфигурация

Профиль | Отправить 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

 

Аватара для AZJIO

Старожил


Сообщения: 254
Благодарности: 126

Профиль | Отправить PM | Цитировать


eus_deus, меньшими затратами это можно сделать с помощью IniVirtual.au3 и конкретно функцией _IniVirtual_Initial. Получилв ini-файл в массив (точнее массив массивов), сортировать по секциям (первая колонка), и сортировать вложенные массивы (хотя может не потребуется). Перед записью очистить/удалить ini-файл. С помощью _IniVirtual_Save сохранить.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:48, 30-11-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


eus_deus, стандарт ini-файлов не предусматривает требования наличия сортировки ни в именах разделов, ни в именах параметров — они все равнозначны. Смысл в этом разве что для ориентировки внутри ini-файла при его ручной правке.

Отправлено: 00:06, 01-12-2013 | #3


Старожил


Сообщения: 156
Благодарности: 1

Профиль | Отправить PM | Цитировать


Iska, ладно, все равно , если так.

Отправлено: 00:40, 01-12-2013 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Сортировка сецкий ini файла при сохранении по алфавиту

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интернет - Сортировка файлов в проводнике по дате названия файла 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




 
Переход