TIniFile или TIniPropStorage

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
mirk
постоялец
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

TIniFile или TIniPropStorage

Сообщение mirk »

В чем разница между этими компонентами?
Аватара пользователя
amateur
энтузиаст
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Сообщение amateur »

TIniFile - разве компонент ? :)
mirk
постоялец
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

Сообщение mirk »

В контексте вопроса это имеет значение? ;)
mirk
постоялец
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

Сообщение mirk »

Попробовал разобраться ;)
Правильно ли я понимаю, что TIniPropStorage больше для "домохозяек"?
Т.е. можно быстро покликать мышкой и некоторый слабенький функционал получить, но для полноценной работы все равно понадобится TIniFile (или подобное).
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

С помощью компонента TIniPropStorage удобно хранить настройки внешнего вида, то есть публичные свойства визуальных компонентов на выбор автоматом сохраняются и загружаются. Также с помощью данного компонента можно конечо хранить и любые пользовательские переменные (свойство StoredValues и методы Restore и SaveProperties) в настройках.
А с помощью класса TIniFile сохраняйте и восстанавливайте свои переменные. Здесь только кодить.
Просто поэкспериментируйте, если не хотите в и-нете инфу поискать

Добавлено спустя 4 минуты 12 секунд:
Да, и вот еще. Для выбора, какие свойства визуальных компонентов сохранять в настройках при этом используйте SessionProperties в компоненте формы.
Аватара пользователя
B4rr4cuda
энтузиаст
Сообщения: 693
Зарегистрирован: 28.12.2007 06:48:35

Сообщение B4rr4cuda »

Чистое имхо: TIniPropStorage только для сохранения позиции окна можно юзать.. свои настройки лучше ручками, очень уж он неинтуитивный и неудобный.
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

Первое впечатление было такими же, но сейчас мое ИМХО: крайне удобно в несколько кликов организовать хранение настроек многих свойств компонентов... и это далеко не только позиция окошка, а все что заблагорассудится, даже содержимое таких компонентов как TMemo, TGrid и т.д.

Добавлено спустя 1 минуту 36 секунд:
А свои настройки сохраняйте с помощью TMemIniFile можно прямо в том же файле, куда сохраняет свои настройки TIniPropStorage
mirk
постоялец
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

Сообщение mirk »

крайне удобно в несколько кликов организовать хранение настроек многих свойств компонентов... и это далеко не только позиция окошка, а все что заблагорассудится, даже содержимое таких компонентов как TMemo, TGrid и т.д.

Вот только все при этом пишется в одну секцию ini-файла :(
Можно это побороть?

А свои настройки сохраняйте с помощью TMemIniFile можно прямо в том же файле, куда сохраняет свои настройки TIniPropStorage

Почему именно TMemIniFile, а не TIniFile?
kipar
новенький
Сообщения: 78
Зарегистрирован: 04.03.2010 11:15:54

Сообщение kipar »

mirk писал(а):Почему именно TMemIniFile, а не TIniFile?

Кстати да, это в Дельфи MemIniFile сделан эффективнее т.к. хранит всю информацию в памяти. А в Lazarus отличие между ними по-моему косметическое (TMemIniFile является потомком TIniFile).
mirk
постоялец
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

Сообщение mirk »

А в Lazarus отличие между ними по-моему косметическое (TMemIniFile является потомком TIniFile).

А по скорости как работает: как дельфевый TMemIniFile или TIniFile?
kipar
новенький
Сообщения: 78
Зарегистрирован: 04.03.2010 11:15:54

Сообщение kipar »

Как TMemIniFile
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

mirk писал(а):
крайне удобно в несколько кликов организовать хранение настроек многих свойств компонентов... и это далеко не только позиция окошка, а все что заблагорассудится, даже содержимое таких компонентов как TMemo, TGrid и т.д.

Вот только все при этом пишется в одну секцию ini-файла :(
Можно это побороть?

К сожалению, нет, хотя может и есть способы... Можно только выбрать имя для этой секции )) Честно говоря не вижу в этом большой проблемы

mirk писал(а):
А свои настройки сохраняйте с помощью TMemIniFile можно прямо в том же файле, куда сохраняет свои настройки TIniPropStorage

Почему именно TMemIniFile, а не TIniFile?

Как правильно выше сказали TMemIniFile наследник TIniFile. Что-то там давным-давно при работе c TIniFile не получалось, то ли сохранять не хотел, то ли еще что. В TMemIniFIle такого недостатка не было. Вообщем, пользуюсь всегда TMemIniFile вместо TIniFile, а почему подзабыл уже ))
Ответить