| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Хранение строковых констант в программе |
| Автор: Keeper89 14.8.2009, 18:48 |
| Доброго времени суток! Перейду сразу к вопросу. Как лучше и где лучше хранить строки, заголовки окон, динамические сообщения и т.п.? В INI, защищенном хранилище, реестре или еще как-то? Например, Тотал Коммандер делает это в языковых INI-файлах. Хотелось бы хранить эти данные в определенном месте, а при необходимости (или при загрузке приложения) загружать. Также интересует хранение настроек (больших массивов данных, строковых массивов и т.п.). Т.е. вопроса 2, но они смежны: 1) хранение программных констант, строк меню, окон сообщений и т.д.). 2) хранение настроек программы (строковых массивов, записей и т.п.). Если будут примеры реализации - прекрасно. Заранее спасибо. |
| Автор: Данкинг 14.8.2009, 19:24 |
| В реестре. Но если у юзера нет прав на изменение реестра, тогда на помощь приходит INI. |
| Автор: Keeper89 14.8.2009, 19:59 |
| Данкинг, т.е. хранить сотни строк в реестре? |
| Автор: NightmareZ 14.8.2009, 20:16 |
| Я храню в xml. |
| Автор: Данкинг 14.8.2009, 21:18 |
| Нет, если сотни строк - то ответ ясен. Просто раньше (не знаю, как сейчас) одним из условий сертификации программы Microsoft'ом было хранение данных именно в реестре. Потому и говорю. |
| Автор: ~FoX~ 15.8.2009, 11:06 |
| , можно и в БД хранить... Лично я пользуюсь типизированными файлами, храню многомерные массивы, больше 60 тыс. итемов. |
| Автор: Keeper89 15.8.2009, 12:36 | ||||
| Права на запись в принципе не нужны, т.к. в первом случае (строки в программе) данные будут только считываться. В связи с этим вопрос: допустим необходимо вывести сообщение
где МАША - определенная переменная. Или другой вариант (с 2 переносами):
Как эти строки хранить в файле (INI-например) и как ее вывести в сообщении? |
| Автор: Данкинг 15.8.2009, 13:46 | ||
Как-то так хранить (если я правильно понимаю задание):
Это в обычном текстовом файле, разумеется. А вот если кто приведёт пример, как хранить в XML, то я тоже буду благодарен, так как с XML никак не разберусь. |
| Автор: bems 15.8.2009, 15:14 | ||||
где sReadFromFile переменная куда ты заблаговременно прочитал |
| Автор: Keeper89 15.8.2009, 15:40 |
| bems, а как быть со вторым случаем (число переносов не известно)? |
| Автор: bems 15.8.2009, 21:54 |
| не понял вопроса. А когда становится известно? |
| Автор: Keeper89 15.8.2009, 23:32 | ||||
Ну написал я в языковом файле вот так (пример из коммандера):
Если заменить это на
То добавится 2 переноса. В Format я не нашел автоматического преобразования "Сишных" спецсимволов, как быть? И как это может быть реализовано в TC? |
| Автор: Qu1nt 16.8.2009, 00:43 | ||
М?
|
| Автор: bems 16.8.2009, 08:52 |
| Или как вариант - символы переноса в файле остаются символами переноса в сообщении (то есть если внутри кавычек - перенос это данные, если снаружи - разделитель) Как быть если нужно иметь кавычки частью строки - не спрашивай) |