![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вскормить TStrings TIniFile-у
ini © (2008-03-26 21:00:00)чтоб не переписывать большой кусок кода
...Надо каким-то образом получть к пр.
MyIni.ReadBool('a', 'a', True);
но не из файла а из TStrings
Сергей М. (2008-03-27 19:49:00) [1]Удалено модератором
Плохиш (2008-03-27 18:10:00) [2]
> Kolan © (27.03.08 17:45) [13]
> Отнаследуйся от TIniFile
Дурость какая, наследоваться надо от TMemIniFile.
Плохиш (2008-03-27 18:06:00) [3]
> ini (27.03.08 16:43) [9]
> Ну дык я в курсе его то я хочу вскормить вместо 'abc.ini'
> целиком TIniFile полюбому читает весь 'abc.ini'
И кто ж тебе такие сказки рассказал, открой справку и узнай, что он является обычной оболочкой над API-функциями работы с ini- файлами
Kolan (2008-03-27 17:45:00) [4]> не хочу менять чтение параметров (кто-то скажет давноб уже
> изменил и не парилсяб правда, но здесь даже не дело принципа
> а понятие механизма работы и желание вместо физического
> иниФайла подсунуть как бы др. хранилище Поле БД/компонент
> Memo/ а все остальное работало как с Ini/Reg как будто
> туды/оттуда все запишется/читается)
Тебе надо написать адаптер (см. GoF паттерны если незнаешь что это такое). Отнаследуйся от TIniFile, чтобы был такой же интерфейс. И позакрывай все методы нафих, замени их на свои, которые будут обращаться к БД Дальше радуйся ты получил еще один костыль и программа стала еще хуже.
ini (2008-03-27 17:36:00) [5]
> Приведи текст из мемо ..
не понял к примеру:
[Sec1]
a=1
b=2
c=3
[Sec2]
a=abc
не хочу менять чтение параметров (кто-то скажет давноб уже изменил и не парилсяб - правда, но здесь даже не дело принципа а понятие механизма работы ... и желание вместо физического иниФайла подсунуть ... как бы др. хранилище - Поле БД/компонент Memo/... а все остальное работало как с Ini/Reg как будто туды/оттуда все запишется/читается)
icWasya (2008-03-27 17:26:00) [6]TMemIniFile + F1
Сергей М. (2008-03-27 16:54:00) [7]Приведи текст из мемо ..
ini (2008-03-27 16:43:00) [8]
> У Мемо есть св-во Lines: TStrings
Ну дык я в курсе его то я хочу вскормить вместо 'abc.ini' целиком TIniFile полюбому читает весь 'abc.ini' не поьму как тут реализовано через TMemIniFile ... вобщем "вертитася на язике/уме" не никак не выговорю
... хочю подменить то откуда берет TiniFile тем что у меня в Lines ...так вот вроде
Сергей М. (2008-03-27 16:27:00) [9]
> как дать на чтение не 'abc.ini' а содержимое поля Memo
У Мемо есть св-во Lines: TStrings
От него и пляши через [6]
ini (2008-03-27 16:23:00) [10]
> А на русский перевести?
Проект состоит из двух "независимых" прог (Делал на скорую руку):
- Одна для редактирования данных в ней же и задаются параметры для второй в INI (в расшаренной папке (не пинайте - говорил же "на скорую руку" :) ))
- Втораю для демонстрации данных
работает на ура, но ...
сейчас добавились требования и пользуясь случаем хочу немножко довести до ума:
Записать параметры в мемо поле в БД (именно в мемо чтоб иметь теxт типа ИНИ дабы не менять кучу кода да и потому что количестово и типы параметров может и изменитися) каждая из этих вторых прог будет брать свои параметры из БД которые для нее настраивает главная прога
---
Вопрос как дать на чтение не 'abc.ini' а содержимое поля Memo(тип не указывем :) ибо проблема не в нем)
Сергей М. (2008-03-27 09:54:00) [11]Если секция всего одна или во всех секциях имена значений уникальны, то
try
MyBool := StrToBool(MyStrings.Values['ValueName']);
except
MyBool := True;
end;
Германн (2008-03-27 03:20:00) [12]
> Как вскормить TStrings TIniFile-у
>
> ...Надо каким-то образом получть к пр.
А на русский перевести?
Efir (2008-03-26 21:38:00) [13]Может всё таки из TStringList
ini (2008-03-26 21:30:00) [14]to
> Anatoly Podgoretsky © (26.03.08 21:21) [2]
> > ini (26.03.2008 21:00:00) [0]
>
> В TStrings нет данных
Из "S"
аx да как бы не забыть
...
S: TStrings;
...
<offtop>
--------------------------------------
Думал и так было понятно (слава богу не написал TMyIni)
Anatoly Podgoretsky (2008-03-26 21:21:00) [15]> ini (26.03.2008 21:00:00) [0]
В TStrings нет данных
DVM (2008-03-26 21:17:00) [16]SetStrings/GetStrings