Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

INI файл

32K
09 августа 2009 года
Агроном
28 / / 14.11.2008
Здравствуйте уважаемые коллеги!
У меня возникла проблема,которую я решил не стандартным способом,который сказывается на производительности и меня самого это не устраивает!
Вобщем так:у моей программы есть файл конфигурации.Пользователь создает новую вкладку в моей программе.Моя программа создает соответствующую запись в INI файле,потом еще и еще...Но вдруг он захотел переименовать по счету например 2ю вкладку!Я считываю в буфер все значения вкладки со старым именем,потом удаляю полностью весь роздел со всеми ключами,создаю новый с новым именем и вписываю все значения назад.Но,переименованная вкладка со 2ой позиции перемещается в конец!Походу в INI файлах все пишется ток в конец!Я просто созданные вкладки пронумеровал и по номерам их сортирую.
Есть какой то стандартный способ записи в INI файл вместо одной записи на другую в той же позициии?
288
10 августа 2009 года
nikitozz
1.2K / / 09.03.2007
Цитата: Агроном
Есть какой то стандартный способ записи в INI файл вместо одной записи на другую в той же позициии?



Вообще-то сомневаюсь. Точнее он есть, но тоже не будет отличаться производительностью. Ведь INI файл - это обычный текстовый файл. Так что запись в позицию, где уже что-то было записано грозит перезаписью уже существующих данных (ну или их ручным перемещением).
В таком случае не легче ли одним из параметров вкладки хранить ее позицию, в которой она должны быть отображена в программе?.

14
10 августа 2009 года
Phodopus
3.3K / / 19.06.2008
Программа не должна полагаться на определенный порядок секций в ini-файле
32K
11 августа 2009 года
Агроном
28 / / 14.11.2008
Я примерно так и сделал.Пронумеровал созданные вкладки по мере их создания и после переименования вкладки ее порядковый номер не меняется,а программа соответственно сортирует вкладки по их порядковому номеру.
Спасибо за внимание и ответы!
Эта тема закрыта!
11
11 августа 2009 года
oxotnik333
2.9K / / 03.08.2007
не легче во время работы программы хранить все настройки в памяти (иногда можно скидывать на диск) а при выходе скидывать в файл?
32K
11 августа 2009 года
Агроном
28 / / 14.11.2008
Конечно легче!Но у меня тачка слабая тачка, что я стараюсь в первую очередь писать программы,которые экономят ОЗУ и время CPU-конечно по возможности!:)
11
11 августа 2009 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Агроном
Конечно легче!Но у меня тачка слабая тачка, что я стараюсь в первую очередь писать программы,которые экономят ОЗУ и время CPU-конечно по возможности!:)


не в том месте экономишь...
ну сколько вкладок юзер создаст? на каждую 2 переменных название (AnsiString ну килобайт будет) + номер (int 4 байта) итого при 100 вкладках чуть больше 100 кб.
В итоге все время работаем с ОЗУ, а при постоянной записи в файл - нагружается самое слабое место (HDD)

32K
12 августа 2009 года
Агроном
28 / / 14.11.2008
Цитата: oxotnik333
не в том месте экономишь...
ну сколько вкладок юзер создаст? на каждую 2 переменных название (AnsiString ну килобайт будет) + номер (int 4 байта) итого при 100 вкладках чуть больше 100 кб.
В итоге все время работаем с ОЗУ, а при постоянной записи в файл - нагружается самое слабое место (HDD)



Сначала я пробовал держать в памяти содержимое всего INI файла целиком....Было все ОК,но примерно за 1-2недели работы моей программы он прилично разрастается!А вот ток имена вкладок и их порядковый номер это - ИДЕЯ!
Спасибо!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог