![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
В общем идея такая:
При запуске программы мы "создаем" все нужные ини файлы (т.е. читаем например из какого-нибудь 1 файла какие ини файлы нам будут нужны, TIniFile.Create(....)....). Создать то не проблема, проблема в другом... Как их потом использовать ? Точное кол-во файлов не известно (их может быть и 1 и 10) так что самому прописать не получится. Думал использовать ассоциативные массивы но в дельфи нет того, что мне нужно (например можно было бы сделать ключ - имя файла, значение - TIniFile (созданный)). Не подскажите как это лучше будет сделать ? |
|
#2
|
||||
|
||||
|
Динамические массивы?
|
|
#3
|
|||
|
|||
|
Можно сделать сложные имена ключей, или секций, и все в одном ини
[one.abc] val1 = ... val2 = ... [one.two.abc] val1 = ... val2 = ... |
|
#4
|
||||
|
||||
|
Что то похожее...
Код:
procedure TwMain.fRestoreFiles(); {Восстановление карточек (описания хранятся в *.ini)}
var
rSea:integer;
sType:string;
sActiveCard:string;
sForm:string;
begin
sActiveCard:=stEmpty;
dirspecCard:=CurrentDir + '\Data\Cards\*.*';
rsea:=findfirst(dirspecCard,(faAnyFile-faDirectory),flsea);
while rSea=0 do
begin
filespecCard:=CurrentDir + '\Data\Cards\'+flsea.Name;
flCard:= TIniFile.Create(filespecCard); {создание файла карты как ini файла}
sForm:=flCard.ReadString('Description', 'Form','None' );
if sForm='Card' then begin
sType:=flCard.ReadString('Description', 'Type','None');
if sType='Active' then begin {восстановление активных карточек}
sActiveCard:=filespecCard;
end;
if sType='Noactive' then fRestoreCard(filespecCard); {восстановление неактивных карточек}
end;
flCard.Free;
rSea:=findnext(flsea);
end;
if sActiveCard <> stEmpty then fRestoreCard(sActiveCard);
end;Последний раз редактировалось Viajero, 10.10.2011 в 12:47. |