Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамические компоненты 
:(
    Опции темы
Domain
Дата 30.3.2010, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 11.3.2010

Репутация: нет
Всего: нет



Всем привет. Создаю 5 кнопок, каждая из них при нажатии выполняет свои действия. При перезагрузки само собой эти компоненты исчезают. Если делать например на onCreate, то создать компоненты можно, но пользователь в программе может их удалять и изменять их переназначения.  Если я не каряво объяснил, то может кто знает как это организовать?
PM MAIL   Вверх
Domain
Дата 31.3.2010, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 11.3.2010

Репутация: нет
Всего: нет



Никто не знает или я все плохо объяснил?  
PM MAIL   Вверх
sawfish
Дата 31.3.2010, 17:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 150
Регистрация: 30.7.2008
Где: Новосибирск

Репутация: 8
Всего: 8



Ага, ниче не понятно!
PM MAIL   Вверх
Domain
Дата 1.4.2010, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 11.3.2010

Репутация: нет
Всего: нет



Я создаю пару динамических контролов(например конопак) и пользователь может изменять их предназначение и имя например. Как мне после перезагрузке программы все вернуть так как сделал это пользователь?  
PM MAIL   Вверх
mrbrooks
Дата 1.4.2010, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



используй файл настроек. К примеру на основе XML.
PM MAIL   Вверх
borisbn
Дата 1.4.2010, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



мне, например, XML тоже больше нравится, но для простоты сначала можно использовать TIniFile


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
mrbrooks
Дата 1.4.2010, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



TIniFile - это же анахронизм smile
PM MAIL   Вверх
Domain
Дата 1.4.2010, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 11.3.2010

Репутация: нет
Всего: нет



 smile 
PM MAIL   Вверх
borisbn
Дата 1.4.2010, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



mrbrooks, TIniFile - реально анахронизм, но для начинающего попроще, даже чем TinyXml

Domain, пример TiniFile
Код

// где-нибудь в конструкторе
TIniFile * ini = new TIniFile( "./settings.ini" );
button1->Caption = ini->ReadString( "Buttons", "button1_Caption", "Кнопка 1" );
button2->Caption = ini->ReadString( "Buttons", "button2_Caption", "Кнопка 2" );
delete ini;
// где-нибудь в деструкторе
TIniFile * ini = new TIniFile( "./settings.ini" );
ini->WriteString( "Buttons", "button1_Caption", button1->Caption );
ini->WriteString( "Buttons", "button2_Caption", button2->Caption );
delete ini;

но всё-таки советую работать с XML. в TinyXml всё просто, есть примеры.


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Domain
Дата 1.4.2010, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 11.3.2010

Репутация: нет
Всего: нет



Всем спасибо буим юзать
PM MAIL   Вверх
ИванМ
Дата 1.4.2010, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1260
Регистрация: 19.6.2006
Где: СПб

Репутация: 5
Всего: 23



TinyXml вроде с русским не работает
PM MAIL   Вверх
RatHat
Дата 1.4.2010, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вождь индейцев
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 5.9.2005

Репутация: -1
Всего: 1



Анахронизм-не анахронизм, а вопрос в привычке просто ИМХО.
Мне привычнее юзать инишки.
К тому же линуксоидам скажите, что их стандартные конфиг-файлы (коотрые по структуре своей - те же ini-файлы) - это анахронизмsmile
--------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i
PM MAIL   Вверх
Alexeis
Дата 1.4.2010, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 26
Всего: 459



Цитата(ИванМ @  1.4.2010,  16:43 Найти цитируемый пост)
TinyXml вроде с русским не работает 

Это невозможно, XML по стандарту это UFT8/UTF16.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ИванМ
Дата 1.4.2010, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1260
Регистрация: 19.6.2006
Где: СПб

Репутация: 5
Всего: 23



Я скачал tinyxml, попытался прочитать файл в формате utf (стандартных, который был в комплекте) . С английским все ок, с русским кракозябры. Это все я делал в C++ Builder 6
PM MAIL   Вверх
Alexeis
Дата 1.4.2010, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 26
Всего: 459



Цитата(ИванМ @  1.4.2010,  17:15 Найти цитируемый пост)
С английским все ок, с русским кракозябры. Это все я делал в C++ Builder 6 

  И в этом конечно же виноват tinyxml  smile . Наверняка для преобразования UTF8 -> UTF16 не использовалась функция MultiByteToWideChar . C++ Builder 6 в отличие от новых версий не знает что такое строка в формате UTF8 и не умеет ее преобразовывать присваиванием или конструктором копирования. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ИванМ
Дата 1.4.2010, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1260
Регистрация: 19.6.2006
Где: СПб

Репутация: 5
Всего: 23



Alexeis, да, так работает. Буду, значит, им пользоваться)

Это сообщение отредактировал(а) ИванМ - 1.4.2010, 20:14
PM MAIL   Вверх
borisbn
Дата 1.4.2010, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



Цитата(ИванМ @  1.4.2010,  17:43 Найти цитируемый пост)
TinyXml вроде с русским не работает

с utf-8 - возможно не работает, а с win-1251 - даже в builder'е 5.0 работает на ура.
P.S. TinyXml - не последняя инстанция. смысл вопроса TS-ра: как лучше хранить данные между сессиями запуска приложения.
IMHO xml (не обязательно tiny) - оптимальный вариант.

Цитата(RatHat @  1.4.2010,  18:04 Найти цитируемый пост)
К тому же линуксоидам скажите, что их стандартные конфиг-файлы (коотрые по структуре своей - те же ini-файлы) - это анахронизм

RatHat, а для них есть более или менее стандартизованное API ?



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
mrbrooks
Дата 2.4.2010, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306




Цитата(RatHat @  1.4.2010,  19:04 Найти цитируемый пост)
К тому же линуксоидам скажите, что их стандартные конфиг-файлы (коотрые по структуре своей - те же ini-файлы) - это анахронизм

Достаточно любопытно говорить о люниксоидах в разделе Билдера. smile
PM MAIL   Вверх
Alexeis
Дата 2.4.2010, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 26
Всего: 459



Цитата(mrbrooks @  2.4.2010,  06:34 Найти цитируемый пост)
Достаточно любопытно говорить о люниксоидах в разделе Билдера. smile 

  А ты вообще предатель! Версия C++ Builder 2011 будет компилировать программы под Linux/MAC . Так что в скором времени тут будут обсуждаться особенности линукса. 

  Касательно сабжа информацию желательно сбрасывать на диск сразу после ее изменения (с точки зрения надежности). Структура ини файла такова, что изменение одного параметра скорее всего приведет к перезаписи всего файла. С XML ситуация еще хуже, потому что он содержит много избыточной информации. Получается, что на тот же объем полезной информации XML файл будет тяжелее. Для настроек ПО как замена лучше всего подходит формат JSON как гораздо менее избыточный, кроме того он позволяет сохранять массивы как массивы. Когда конфигурация становиться порядка 100 кб, то с точки зрения производительности удобнее создать несколько конфигурационных файлов. Если удается систематизировать информацию, то хранить как БД.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
borisbn
Дата 2.4.2010, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



Alexeis, где лучше прочитать про JSON ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Alexeis
Дата 2.4.2010, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 26
Всего: 459



borisbn, например http://ru.wikipedia.org/wiki/JSON . Идея особо привлекательна тем, что в новых версиях билдера есть своя поддержка этого формата (DBXJSON). Т.е. не требуется установка сторонних компонент. Точно также как есть класс TINIFile и TXMLDocument.  


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0679 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.