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

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

Как мне сохранить свойство в ini-файле? [D7, WinXP]


Dmitry_04 ©   (2005-01-17 19:36:00) 

Как мне сохранить свойство в ini-файле? Т.е. свойство объекта имеет вид:

TRangeState = (rsRpl, rsComRpl, rssasm1, rssasm2, rssasm3, rsAsm, rsComAsm2, rsComAsm1);

Принимает одно из значений... Как бы мне сохранить это значение?


begin...end   (2005-01-17 19:59:00) [1]

> [5] Dmitry_04   (17.01.05 19:57)

var
 MyVar1, MyVar2: TRangeState;

begin
 MyVar1 := ...
 with TIniFile.Create('...') do
   try
     // Запись
     WriteInteger('...', '...', Ord(MyVar1 )) <-- а можно и WriteInteger('...', '...', Integer(MyVar1 ))
     // Чтение
     MyVar2 := TRangeState(ReadInteger('...', '...', 0) )
   finally
     Free
   end
end.


Dmitry_04   (2005-01-17 19:57:00) [2]

begin...endА как мне потом прочитать это? В том смысле что прочитаю я число, а как мне потом присвоить это значение свойству типа TRangeState?


Dmitry_04   (2005-01-17 19:40:00) [3]

можно конечно так:

with TIniFile.Create(...) do
 try
 if ...=rsRpl then WriteString(..., ..., 'rsRpl')

 finally
 Destroy;
 end;


Но мне кажется есть способ получше...


Zeqfreed   (2005-01-17 19:40:00) [4]

Сохранять как Integer; ещё можно вот так написать, для полной уверенности:

TRangeState = (rsRpl = 0, rsComRpl = 1, rssasm1 = 2, rssasm2 = 3, rssasm3 = 4, rsAsm = 5, rsComAsm2 = 6, rsComAsm1 = 7);


begin...end   (2005-01-17 19:39:00) [5]

> Dmitry_04   (17.01.05 19:36)

Сохраняйте в ini-файл "порядковый номер" значения, т.е. Ord(...), с помощью WriteInteger.


Dmitry_04   (2005-01-17 19:36:00) [6]

Сохранить надо в ini-файле...


Наверх

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