Текущий архив: 2010.11.21;
Скачать: CL | DM;
Вниз
Как в ini-файле сдвинуть секцию вверх или вниз? Найти похожие ветки
← →
Palladin © (2010-08-23 18:29) [40]И вся эта бодяга, вся эта ветка уже неделю длится, из-за глупого желания странного, которое ни на что в программе не влияет.
> Вы бы сами стали после такого как [20] делиться кодом?
поверь, никому тут твой код нафик не обкакался... ппц... он обиделся и не стал делится "вселенской мудростью" с другими... хоть в орешник...
← →
antonn © (2010-08-23 20:36) [41]
> которое ни на что в программе не влияет.
не все что используется в программе нужно только самой программе.
[7]
"двоичность" в теме зашкаливает :(
← →
Loginov Dmitry © (2010-08-23 20:52) [42]Гость, антивирус отключить попробуй (особенно если это Nod32)
← →
Palladin © (2010-08-23 21:09) [43]да там в [7] бред, кому надо тот разберется, мне при редактировании ини файла побоку где находится секция... если количество параметров превысило какой-то "человеческий" лимит, сложный для восприятия, то проще сделать конфигуратор (отдельный или встроенный), чем вот так вот засирать программу ненужным функционалом... а в случае наличия "тыщипитсот" параметров, то их вообще нельзя в ини хранить...
← →
antonn © (2010-08-23 21:54) [44]А я менее агрессивен, секции от параметров сверху дополнительно переносом обозначаю, часто используемые или в самом верху ставлю или в самом низу.
Секции близкие по смыслу ставлю рядом (например настройки сетевые, порты и хосты).
> а в случае наличия "тыщипитсот" параметров, то их вообще
> нельзя в ини хранить...
Программы бывают разные, вот сейчас смотрю в файл с 96-ю секциями, от 5 до 17 параметров в каждой. Хранить, оказывается, можно, молния с неба не бьет, по рукам линейкой тоже никто не стучит. Почему-то все прекрасно работает.
← →
Loginov Dmitry © (2010-08-23 22:30) [45]А реальная инишка с параметрами 150 КБ - слабо? :)
← →
Германн © (2010-08-24 02:35) [46]
> Loginov Dmitry © (23.08.10 22:30) [45]
>
> А реальная инишка с параметрами 150 КБ - слабо? :)
>
А я ведь не зря упомянул про "фотки". Ведь был уже на ДМ подобный вопрос. Только там было ещё хуже. Там "эти фотки" совали не в ини-файл, а в реестр. В ини ещё не так страшно. Страдает только программа автора. А в реестр!
← →
sniknik © (2010-08-24 08:09) [47]> 96-ю секциями, от 5 до 17 параметров в каждой
не представляю для чего может быть нужно такое количество параметров кроме как для описания списка чего то конкретного (ну вот реально зачем столько настроек именно программе?)
а если так то был у нас аналогичный случай... настройки весов описывались в ini файле, а т.к. прога выступала сервером, а не работала с одними конкретными то секций набиралось достаточно (максимум было 131 весы + естественно пара секций с собственно настройками программы).
раз двести наверно пожалели что так сделно... каждый раз когда на клиенте нужно было например получить список, или отчет по конкретному устройству, или настраивая клиентские программы, на них тоже нужно знать куда можно посылать загрузки (был бы доступ к данным сервера, эта настройка отпала бы сама по себе).
вот с тех пор, в своих прогах четко разделяю настройки программы и данные программы (в описанном выше весы/их описание это данные, а собственно настройки проги всего пара секций)
вот у тебя скажи эти все 96 секций содержат настройки именно программы?
← →
Loginov Dmitry © (2010-08-24 12:49) [48]
> В ини ещё не так страшно. Страдает только программа автора.
Дык да, что ту такого особенного. Сам когда-то делал прогу специально для сохранения картинок в ини. Правда работало через TMemIniFile, поэтому без тормозов.
> Там "эти фотки" совали не в ини-файл, а в реестр.
Жесть. Это ж как винда тормозить будет после этого!
← →
Игорь Шевченко © (2010-08-24 12:55) [49]
> Жесть. Это ж как винда тормозить будет после этого!
никак не будет
← →
Loginov Dmitry © (2010-08-24 13:38) [50]
> никак не будет
После любого внесения изменений в реестр винда через 5 секунд сохраняет измененный раздел реестра в файл. Маленький реестр сохраняется быстро. Большой - дольше, мне так думается. А во время сохранения винда блокирует все функции записи в раздел реестра. Тормоза будут ощущать в первую очередь программы с отключенной "ленивой записью" (в момент закрытия ключа реестра).
← →
Игорь Шевченко © (2010-08-24 15:03) [51]Loginov Dmitry © (24.08.10 13:38) [50]
> мне так думается
неверно думается
> А во время сохранения винда блокирует все функции записи
> в раздел реестра
неверно думается
← →
Loginov Dmitry © (2010-08-24 16:38) [52]
> > А во время сохранения винда блокирует все функции записи
> > в раздел реестра
>
>
> неверно думается
А как верно?
← →
Игорь Шевченко © (2010-08-24 18:32) [53]
> А как верно?
Соломон, Руссинович, "Внутреннее устройство Windows"
← →
antonn (work) (2010-08-24 19:44) [54]
> вот у тебя скажи эти все 96 секций содержат настройки именно
> программы?
Это ресурсы для игрушки, да все секции используются. Настройки ли это программы? Судя по тому, что они задают параметры и режимы работы игрового движка - вполне себе настройки программы.
← →
Loginov Dmitry © (2010-08-24 20:47) [55]
> > А как верно?
>
> Соломон, Руссинович, "Внутреннее устройство Windows"
Я в первую очередь знакомлюсь со справкой. Не думаю, что она врет. Справка по функции RegFlushKey гласит:
> Calling RegFlushKey is an expensive operation that significantly
> affects system-wide performance as it consumes disk bandwidth
> and blocks modifications to all keys by all processes
> in the registry hive that is being flushed until the
> flush operation completes.
Т.е. пока выполняется сохранение раздела реестра, любые его модификации блокируются.
По поводу первого, согласен:
> The RegFlushKey function writes out the data for other keys
> in the hive that have been modified since the last lazy
> flush or system start.
Т.е., согласно справке, лишнее не пишется.
Но все равно, винда отслеживает изменения реестра, создает точки восстановления, восстанавливает из них и т.д., и если раздел реестра ~200МБ, то производительности это как минимум не добавит :)
← →
Игорь Шевченко © (2010-08-24 20:56) [56]
> Т.е. пока выполняется сохранение раздела реестра, любые
> его модификации блокируются.
что есть "раздел реестра" в твоем понимании ?
и вообще, зачем делать предположения, есть regmon, есть filemon, есть procmon, который их объединяет - ты вполне можешь продемонстрировать тормоза на практике.
← →
George © (2010-08-24 22:45) [57]Удалено модератором
← →
Гость (2010-08-25 08:41) [58]
> Сергей М. © (23.08.10 18:07) [39]
>
> > способ решить проблему тормознутости
>
> Не упираться в TIniFile, а использовать TMemIniFile - он
> работает с данными в ini-формате в памяти приложения, при
> необходимости разом выплевывая готовое в файл, что ощутимо
> быстрее выплевывания кусками, как это делает TIniFile.
Молодец! Спасибо! Действительно, время показывает 0.000 sec. Надо будет всегда TMemIniFile использовать.
← →
Loginov Dmitry © (2010-08-25 09:17) [59]
> что есть "раздел реестра" в твоем понимании ?
В моем понимании есть раздел реестра, например HKLM, HKCU и т.д.
А есть ключ реестра: HKLM\Software\ и т.д.
> и вообще, зачем делать предположения, есть regmon, есть
> filemon, есть procmon, который их объединяет - ты вполне
> можешь продемонстрировать тормоза на практике.
Я уже достаточно экспериментировал с реестром. Блокировка есть - это 100%, безо всяких regmon, filemon. Если хочется в этом поковыряться, ну что ж, вперед! Я не против.
← →
Игорь Шевченко © (2010-08-25 10:04) [60]Loginov Dmitry © (25.08.10 09:17) [59]
То есть, ты ляпнул, а другие должны экспериментировать ? :)
← →
Loginov Dmitry © (2010-08-25 10:44) [61]Не знаю, кто из нас тут что ляпнул. Я привел цитату из msdn. Эти данные я сумел подтвердить на практике.
Этого недостаточно?
Страницы: 1 2 вся ветка
Текущий архив: 2010.11.21;
Скачать: CL | DM;
Память: 0.59 MB
Время: 0.013 c