Пример с INIPropStorage

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

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

Ответить
des00
новенький
Сообщения: 21
Зарегистрирован: 22.04.2009 13:28:06

Пример с INIPropStorage

Сообщение des00 »

Господа, я на дельфи не сидел лет 15, а тут gui набросать захотелось, торможу по-дикому ))
Можно попросить пример использования INIPropStorage, а то он у меня чегото ругается при записи..

Код: Выделить всё

with IniPropStorage1 do
begin
IniFileName:='gui.conf';
WriteInteger('br',BBar.Position);
WriteInteger('mode',Mode.ItemIndex);
Save;
end;


и нафига ему в инспекторе объектов указывается имя файла и iniSection? и что такое StoredValues? =)) чем они хороши?
Аватара пользователя
Alexx2000
постоялец
Сообщения: 490
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи
Контактная информация:

Сообщение Alexx2000 »

Вот здесь есть информация по использованию данного компонента.
des00
новенький
Сообщения: 21
Зарегистрирован: 22.04.2009 13:28:06

Сообщение des00 »

1) XML!=INI
2) Информации там кот наплакал, и я ее видел.

Добавлено спустя 4 часа 24 минуты 49 секунд:
причем так нормально пишет..

Код: Выделить всё

with IniPropStorage1 do
begin
IniFileName:='gui.conf';
StoredValues[0].Name:='mode';
StoredValues[0].Value:='0';


но какойто изврат, мне кажется, так задавать параметры для записи. У меня их много =)
И зачем тогда методы
WriteString
WriteInteger
WriteBoolean

непонятно все..


Худо бедно доперло как сохранить данные в файл

Код: Выделить всё

with IniPropStorage1 do
begin
IniFileName:='gui.conf';
StoredValue['mode']:=inttostr(Mode.ItemIndex);
StoredValue['outputDir']:=OutputDirectory.text; 
Save;
end;


прочитать обратно, следуя логике и обрывкам в google code можно типа так

Код: Выделить всё

with IniPropStorage1 do
begin
IniFileName:='gui.conf';
Restore;
Mode.ItemIndex:=strtoint(StoredValue['mode']);
OutputDirectory.text:=StoredValue['outputDir'];
end;


но на практике все это дает пустую строку.. нихрена не понимаю.. =)) sos.. i need help.. =))
Аватара пользователя
Alexx2000
постоялец
Сообщения: 490
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи
Контактная информация:

Сообщение Alexx2000 »

А почему вас интересует именно INIPropStorage, может проще использовать TIniFile. Все таки IniPropStorage1 больше предназначен для автоматического сохранения/загрузки свойств формы и её компонентов.
des00
новенький
Сообщения: 21
Зарегистрирован: 22.04.2009 13:28:06

Сообщение des00 »

Да мне по сути пофиг =) лишь бы стандартное.. чтобы у всех было

Добавлено спустя 37 минут 37 секунд:
Попробовал tinifile.. само то!
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Сообщение Ism »

Читать так

Код: Выделить всё

with IniPropStorage1 do
begin
IniFileName:='gui.conf';
IniSection:='Section' (Указывать обязательно)
OutputDirectory.text:=ReadString ('outputDir','По умолчанию')
end;


При записи тоже указывать секцию
Ответить