Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Диалоги, квесты и др.


Автор: PsiMagistr 7.7.2010, 12:26
Как то мне понадобилось соорудить цепочку диалогов для игры. Никогда не мог подумать, что Ini-файлы подходят для этой цели практически идеально. Возможно это не совсем по назначению, но работает... Программа получается простейшая, а вся интеллектуальная начинка собрана в ini-файле.

Делюсь простейшими исходниками (Компилировано в Дельфи 2009)

Автор: casinosoftguru 8.7.2010, 10:51
я думаю слишком неудобна и нелогична структура самого ини файла - редактировать сложно будет, названия элементов нелогичные.. такое было бы гораздо удобнее на базах данных состряпать имхо.

Автор: PsiMagistr 8.7.2010, 11:57
casinosoftguru, Мб, что меня склонило к ini так это простота доступа и редактирования как такового. Любой блокнот открыл и... никаких специальных программ не потребуется... Сразу как сценарий читаешь. К тому же структуру файла можно сколь угодно гибкой сделать + при отсутствии полей сама твоя прога не обваливается, прогружая данные умолчания...

Автор: rytmix 11.7.2010, 21:12
советую использовать xml, удобнее работать и с изменением текста проблем меньше. а хорошо придумано smile 

Автор: PsiMagistr 12.7.2010, 09:44
С ини файлами у меня интересная штука выходит.

Это кусочек инифайла. Значения полей логические. 

ButtonEnabled=1
GroupEnabled=0 

Все прекрасно работает. Но достаточно заменить:


ButtonEnabled=true
GroupEnabled=false

Не читается...

Инструкции для чтения такие:

Код

Bt.Enabled := F.ReadBool(alert,'ButtonEnabled',false);
Rg.Enabled := F.ReadBool(alert,'GroupEnabled',true);


В чем дело - не пойму.


Автор: Keeper89 12.7.2010, 14:08
Так INI хранит лог. переменные в виде 0 и 1 smile

Автор: PsiMagistr 12.7.2010, 14:25

Keeper89, спасибо. Просто мне попадались Ini c true-false. Правда они не для дельфи программ может в этом дело.

Автор: Motorocker 24.9.2010, 17:38
Что мешает читать поле как строку и проверять на "true/false" или "0/1"?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)