Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Компонент для сохранения состояния программы / 25 сообщений из 31, страница 1 из 2
17.10.2018, 15:15
    #39718850
revda.info
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
Помню раньше был компонент такой, там указываешь какие свойства у компонентов хранить, и оно само сохраняет и восстанавливает при запуске..

Подскажите ?
...
Рейтинг: 0 / 0
17.10.2018, 15:25
    #39718858
Dimonka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
revda.infoПомню раньше был компонент такой, там указываешь какие свойства у компонентов хранить, и оно само сохраняет и восстанавливает при запуске..
Я так понимаю, речь идёт о TcxPropertiesStore от DevEx-а? Ну может и неплохой вариант для ленивых.
...
Рейтинг: 0 / 0
17.10.2018, 16:00
    #39718906
krapotkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
лучший вариант иметь отдельный класс "настройки программы", и читать писать туда все что нужно
JSON отлично подходит для сериализации такого класса
...
Рейтинг: 0 / 0
17.10.2018, 16:02
    #39718908
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
revda.info,

в пакете ehlib.
...
Рейтинг: 0 / 0
17.10.2018, 16:02
    #39718910
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
Опять собрались любители все усложнять.

Чем сохранение нескольких нужных параметров в TIniFile не устраивает?

Ведь реально сохранять надо весьма небольшое кол-во параметров у весьма небольшого кол-ва компонентов.
...
Рейтинг: 0 / 0
17.10.2018, 16:09
    #39718919
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
17.10.2018 16:02, rgreat пишет:
> Чем сохранение нескольких нужных параметров в TIniFile не устраивает?

так ведь поциенту хочется положить компонент на формочку и чтоб оно само...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17.10.2018, 16:34
    #39718955
revda.info
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
TPropStorageEh - нашел точно был, у меня ж лицуха была древняя, но их политика не нравится..
http://www.ehlib.com/ru/spisok-komponentov-i-klassov

надо бесплтный бы вариант такой поискать. Может был в Rx где-то..
А в DevEx бесплатный ?
найду может
...
Рейтинг: 0 / 0
17.10.2018, 16:35
    #39718956
revda.info
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
Я меня лицуха на старый ehlib а в 10 Tokyo он полезет ли.. тоже вопрос еще
...
Рейтинг: 0 / 0
17.10.2018, 16:42
    #39718967
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
revda.infoих политика не нравится
А что с ней, с политикой?
...
Рейтинг: 0 / 0
17.10.2018, 16:53
    #39718977
AndyMandy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
revda.infoнадо бесплтный бы вариант такой поискать. Может был в Rx где-то..
Порт RxLib на современные IDE
...
Рейтинг: 0 / 0
17.10.2018, 16:57
    #39718983
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
revda.infoПомню раньше был компонент такой, там указываешь какие свойства у компонентов хранить, и оно само сохраняет и восстанавливает при запуске..

Подскажите ?Бредово использовать такой компонент. Потому что он не будет гибким и в итоге от него придётся отказываться.
И сохранение и восстановление это процесс неоднозначный. С определенными условиями и исключениями. И в разное рунтайм-время условия могут быть разные.
Поэтому лучше написать это самому.
...
Рейтинг: 0 / 0
17.10.2018, 17:24
    #39719003
revda.info
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
да я пользовался раньше нормально. А вот потом когда пересел на DevelStudio , стал делать руками, потому что в PHP делается все просто, в Delphi страшно представить как серилизовать и писать в файл, портянка будет в много килобайт мне кажется..

Отправил запрос в Ehlib что бы скачать лицуху. Может на Токио еще не встанет и денег будут просить, а там 4500 платить надо, или 3.6 версию ставить, дак она тоже на Tokyo не налезет поди
...
Рейтинг: 0 / 0
17.10.2018, 17:27
    #39719005
zinpub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
L_argo,

Прекрасно всё сохраняется...

Какие могут быть условия(ну допустим может быть "чистый запуск", "сброс настроек" - ну грохнул веточку в реестре...), конечно подобные вещи не надо использовать для параметров настройки - это исключительно для сохранения колонок в гриде например(ширина, визибилити)
...
Рейтинг: 0 / 0
17.10.2018, 17:41
    #39719013
Dimonka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
revda.infoда я пользовался раньше нормально. А вот потом когда пересел на DevelStudio , стал делать руками, потому что в PHP делается все просто, в Delphi страшно представить как серилизовать и писать в файл, портянка будет в много килобайт мне кажется..
Неужели в PHP проще, чем DevEx-овом компоненте мышкой накликать? Силой мысли чтоли всё сохраняется?
...
Рейтинг: 0 / 0
17.10.2018, 17:52
    #39719020
revda.info
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
Dimonkarevda.infoда я пользовался раньше нормально. А вот потом когда пересел на DevelStudio , стал делать руками, потому что в PHP делается все просто, в Delphi страшно представить как серилизовать и писать в файл, портянка будет в много килобайт мне кажется..
Неужели в PHP проще, чем DevEx-овом компоненте мышкой накликать? Силой мысли чтоли всё сохраняется?

Код: php
1.
2.
3.
$A[listbox1]=c("listbox1")->text;
$A[listbox2]=c("listbox2")->text;
file_put_contents("config.txt",serialize($A));


вот и все..
...
Рейтинг: 0 / 0
17.10.2018, 17:54
    #39719021
revda.info
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
Может в Дельфях так же просто можно ?
...
Рейтинг: 0 / 0
17.10.2018, 18:16
    #39719035
ГыгыГы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
revda.info,

На создание
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
$Classes = array(
	'TEdit' => 'text',
	'TCheckBox' => 'checked'
);

// Auto load
if(is_file($file = $self->name . 'SaveOpt'))
	foreach(unserialize(file_get_contents($file)) as $Name => $Value)
		c($Name)->{$Classes[c($Name)->classname]} = $Value;




На закрытие программы
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$Classes = array(
	'TEdit' => 'text',
	'TCheckBox' => 'checked'
);

$ListSave = array();
foreach($self->componentList as $v) 
	if($c = $Classes[$v->classname])
		$ListSave[$v->name] = $v->$c;

file_p_contents($self->name . 'SaveOpt', serialize($ListSave));
...
Рейтинг: 0 / 0
17.10.2018, 18:46
    #39719056
stanilar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
Есть метод класса TStream.ReadComponent(WriteComponent). Он сереализует все, что наследовано от TComponent. Может писать как бинарные данные, так и dfm like file.

Есть проблема, как писать только то, что нужно. Ну тут есть разные подходы. Можно перекрыть реадер/врайтер на момент записи/чтения файла. Можно создать отдельный компонент, в котором объявить собственные поля. Короче поле для деятельности не паханное.
...
Рейтинг: 0 / 0
18.10.2018, 08:32
    #39719184
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
revda.infoПомню раньше был компонент такой, там указываешь какие свойства у компонентов хранить, и оно само сохраняет и восстанавливает при запуске..

Подскажите ?
помню, в старых проектах пользовал NiceSettings Component . Обычная прокладка между реестром/инишником и приложением. Переделывается под любую версию дельфей в два клика
...
Рейтинг: 0 / 0
18.10.2018, 09:23
    #39719198
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
revda.infoПомню раньше был компонент такой, там указываешь какие свойства у компонентов хранить, и оно само сохраняет и восстанавливает при запуске..

Подскажите ? Таких много.
Мне больше всего нравится EhLib-овский вариант, там грамотно разделены StorageManager и StorageProps.
...
Рейтинг: 0 / 0
18.10.2018, 09:38
    #39719202
revda.info
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
Соколинский Борис,

да но, для Tokyo 3.6 не пойдет, а лицуха 4500..
Ломак искать ?
Я пользовался Хлибом, у меня и то лицуха до 5.3 и та тоже на Токио не идет.

Есть че-то похожее кстати в RxLIb: FormStorage
надо вот попробовать.. скачать сккачал, а установить не знаю как инсталятора нет.
...
Рейтинг: 0 / 0
18.10.2018, 09:46
    #39719208
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
Поучительный пример по использованию подобного компонента по сохранению/восстановлению состояния компонентов на основе DevExpress:
http://www.sql.ru/forum/1237940/dxlayoutcontrol-restorefromregistry
...
Рейтинг: 0 / 0
18.10.2018, 10:12
    #39719232
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
revda.infoПомню раньше был компонент такой, там указываешь какие свойства у компонентов хранить, и оно само сохраняет и восстанавливает при запуске..

Подскажите ?

Я использую жедаевские TJvFormStorage. Могут сохранять любые свойства в ини, xml, базе, реестре. Удобно.
...
Рейтинг: 0 / 0
18.10.2018, 11:31
    #39719278
revda.info
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
для tokyo не нашел
...
Рейтинг: 0 / 0
18.10.2018, 12:25
    #39719297
AndyMandy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компонент для сохранения состояния программы
revda.info, я так понимаю порт RxLib не подошел?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Компонент для сохранения состояния программы / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]