ini, очистка

Модератор: motyara

Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm

ini, очистка

Сообщение Alex »

в ini есть старые пути- в [LPHistory] - хотя count=0, но пути не очищены. (Надо бы делать очистку, когда count=0)

Кстати, какой ключ отвечает за "run single instance"?
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3432
Зарегистрирован: Пт окт 12, 2007 3:26 pm

Сообщение Max Diesel »

Alex писал(а):в ini есть старые пути- в [LPHistory] - хотя count=0, но пути не очищены. (Надо бы делать очистку, когда count=0)
Я не против добавить удаление вытесненных пунктов (для тех категорий значений, в которых могут быть вытесненные пункты).
Alex писал(а):Кстати, какой ключ отвечает за "run single instance"?
Желательно бы указывать имена опций именно в том виде, в котором они проходят в настройках (и раз уж мы все-таки здесь говорим по-русски, то было бы неплохо указывать русский вариант названия опций). Если речь про "Allow only 1 Unreal Commander to run at a time" ("Запуск не более одной копии Unreal Commander"), то ключ OnlyOneCopy в секции Settings. Вот внегласный принцип определения интересующего ключа:
1. копируем текущий файл Uncom.ini во временный каталог,
2. заходим в настройки и меняем интересующий параметр на другое его значение, жмем ОК,
3. используем сравнение по содержимому для текущего файла Uncom.ini и скопированного во временный каталог, видим отличие.
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm

Сообщение Alex »

Желательно бы указывать имена опций именно в том виде, в котором они проходят в настройках
пишу так, т.к. UC на др. компьютере (по памяти run single instance).
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm

Сообщение Alex »

у меня в UV есть следующее: если ключ (onlyOneCopy) перем. в начало секции, uv будет запускаться быстрее. Т.к. он вначале читает этот ключ без TMemIniFile. А потом еще с TMeminifile.
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3432
Зарегистрирован: Пт окт 12, 2007 3:26 pm

Сообщение Max Diesel »

Alex писал(а):у меня в UV есть следующее: если ключ (onlyOneCopy) перем. в начало секции, uv будет запускаться быстрее. Т.к. он вначале читает этот ключ без TMemIniFile. А потом еще с TMeminifile.
Да, действительно по результатам тестирования TMemIniFile работает в 10-ть с лишним раз медленнее чем TIniFile (как минимум когда речь идет о получении лишь одного значения из файла), я поразмыслю над рациональностью использования предложенного метода.
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm

Сообщение Alex »

уточню: я не про TMemini, я предлагаю OnlyOneCopy писать в *начало секции
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Alex писал(а):уточню: я не про TMemini, я предлагаю OnlyOneCopy писать в *начало секции
Напоминает историю с программой (не требующей установки), с которой пришлось думать какой из трёх бинарных ini-файлов удалить, чтобы она не вылетала по ошибке из-за того что диск с последним открытым файлом не существовал...
Суть в том что ini-файл можно редактировать руками в текстовом редакторе, и при этом определённая последовательность ключей может и не сохраниться. Но писать ключ первым чтобы просто не просматривать весь файл до конца - вполне логично.
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3432
Зарегистрирован: Пт окт 12, 2007 3:26 pm

Сообщение Max Diesel »

Alex писал(а):уточню: я не про TMemini, я предлагаю OnlyOneCopy писать в *начало секции
Только вчера тестировал скорости работы TMemIniFile и TIniFile для расположения ключа в разных частях секции - при TIniFile при расположении ключа в начале секции операция производится в среднем на 10% быстрее, а при TMemIniFile вообще скорость не меняется при любом расположения ключа в секции.