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

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

Как вскормить 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


Наверх

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