Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранение в ini [D7, XP]


DimDim ©   (2009-08-19 18:21:00) 

350 переменных сохраняет в ini-файл примерно 5 секунд. Это нормально? Как-то хочется побыстрее...
    IniKf := TIniFile.Create(NameIniFile);
   IniKf.WriteInteger('Glavn', 'XXX', XXX);
   ....
   IniKf.Free;

Переменные разные: Doolean, Float, Integer ...
Компьютер 2,2 ГГц, 1Гб ОЗУ. "Чистый" (без вирусов).


Дмитрий Белькевич   (2009-08-22 19:29:00) [1]

Вместо постоянной смены структуры сделать поле Text BLOB, в стрнглист помещать пары Parameter=Value, text в стринглист при старте читать из BLOB'а, при оставке - запихивать в блоб. Параметров можно сделать хоть мульён ничего мянятся и тормозить не будет, и инишка не нужна.


Плохиш   (2009-08-20 16:02:00) [2]


> DimDim   (19.08.09 18:51) [6]
>
> Грешно глумиться над убогим...
> Сметная программа. На наждую смету мильон настроек. До этого
> сохранял в таблице базы данных. Но это очень муторно если
> надо еще что нибудь добавить - приходится менять структуру
> таблиц


Зачем?

> Kolan ©   (19.08.09 23:15) [13]
>
> Надо было таблицу в базе делать из двух полей: Key и Value
> оба текстового типа.

+ idSmeta - integer ;-)


DimDim   (2009-08-20 14:54:00) [3]

Спасибо всем. Через TMemIniFile работает на ура.
Про xml плюс xpath думал, но нет времени на изучение формата...


Kolan   (2009-08-19 23:15:00) [4]

Надо было таблицу в базе делать из двух полей: Keyи Valueоба текстового типа.


Loginov Dmitry   (2009-08-19 22:43:00) [5]

> 350 переменных сохраняет в ini-файл примерно 5 секунд. Это
> нормально? Как-то хочется побыстрее...


Антивирь скорее всего тормозит. Выключи его, или добавь
iniшку в игнор-лист.


Anatoly Podgoretsky   (2009-08-19 20:48:00) [6]

> DimDim  (19.08.2009 18:51:06)  [6]

База нужна, только боюсь, что ты там больше делов натворишь, есть где размахнуться.


antonn   (2009-08-19 19:31:00) [7]


> DimDim   (19.08.09 18:21)
>
> 350 переменных сохраняет в ini-файл примерно 5 секунд. Это
> нормально?

ну вероятно при каждом сохранении он читает файл заново и ищет нет ли в нем уже созданой секции и ключа :)
Если нужно сохранить значения в уже созданый файл (и в котором могут быть незатрагиваемые ключи), то попробуй TMemIniFile
Если в файле только эти 350 переменных - формируй ручками структуру ini в TStrings и потом сохраняй его в файл


Leonid Troyanovsky   (2009-08-19 18:59:00) [8]


> Palladin ©   (19.08.09 18:43) [5]

А чего, если понравился - то сразу из Челябинска?

Оный тип широко известен еще со времен доса,
хотя его формат иногда и скрывают
(скажем, в кармане, может кто и помнит такое :)

--
Regards, LVT.


Медвежонок Пятачок   (2009-08-19 18:58:00) [9]

Но это очень муторно если надо еще что нибудь добавить - приходится менять структуру таблиц, следить за значениями по умолчанию

xml плюс xpath минус куча кода чтения/записи каждой переменной отдельно.


Медвежонок Пятачок   (2009-08-19 18:52:00) [10]

посторочная трассировка + геттиккаунт подскажут правду на чем именно тратится время


DimDim   (2009-08-19 18:51:00) [11]

Грешно глумиться над убогим...
Сметная программа. На наждую смету мильон настроек. До этого сохранял в таблице базы данных. Но это очень муторно если надо еще что нибудь добавить - приходится менять структуру таблиц, следить за значениями по умолчанию. Причем это должно проверяться и происходить у заказчиков автоматически при обновлении программы, т.к. их много (около 500 раб. мест - за каждым не уследишь).
Решил переделать - сохранять настройки в ini-файл, а его переписывать как текст в Memo поле базы. Также и открывать - переписать из Memo в ini, а из ini читать в программу. Так ведь такими темпами только процедура перезаписи наработанной базы в новый вариант пол дня займет.


Palladin   (2009-08-19 18:43:00) [12]

А мне тип Doolean понравился :) Поди из Челябинска родом ))


vip77   (2009-08-19 18:35:00) [13]


> 350 переменных


ужос!!!


Медвежонок Пятачок   (2009-08-19 18:35:00) [14]

тоже верно. гостом допускается только 349 переменных


Медвежонок Пятачок   (2009-08-19 18:32:00) [15]

Это потому, что переменная названа неправильно  - "NameIniFile"

Надо "IniFileName". Будет реально быстрее.


Palladin   (2009-08-19 18:22:00) [16]

что же сподвигло тебя на сий подвиг?


Наверх

Титульная страница Поиск, карта сайта Написать письмо