Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение настроек форм, и компонентов на ней 
:(
    Опции темы
aktuba
  Дата 21.8.2006, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

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



Кто-нибудь сталкивался с такой проблемой: необходимо создать функции, сохраняющие и загружающие настройки формы, переданной в параметре функции. Т.е. функции должны быть универсальны для любой формы. 

Если есть соображения, прошу отписать.



--------------------
user posted image
PM MAIL WWW Skype   Вверх
Yanis
Дата 21.8.2006, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



aktuba
Может тебе стоит поставить RxLib?


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
kostas
Дата 21.8.2006, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



в чем собственно проблема?
Код

uses inifiles;
...
procedure SaveSettings(frm: TForm; s: string);
var ini: TIniFile;
begin
  ini:=TIniFile.Create(s);
  try
   ini.WriteInteger('Options_'+frm.Name, 'Width', frm.Width); //Сохраняем ширину окна
   ... //тут все остальное необходимое, например height, left, top и т.д.
  finally
   ini.Free;
  end;
end;

//вызывать соответственно вот так:
SaveSettings(Form1, ExtractFilePath(ParamStr(0))+'Settings.ini');

...

//для загрузки настроек думаю сам сообразишь))

PM ICQ   Вверх
Демо
Дата 21.8.2006, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(kostas @  21.8.2006,  11:43 Найти цитируемый пост)
в чем собственно проблема?


Думаю, что проблема в том, автор не сказал, что конкретно он хочет сохранять, какие параметры, компоненты и т.п. -)




--------------------
    
PM MAIL ICQ Skype   Вверх
Alexeis
Дата 21.8.2006, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



Цитата(Демо @  21.8.2006,  12:03 Найти цитируемый пост)
автор не сказал, что конкретно он хочет сохранять, какие параметры, компоненты и т.п. -)

Ну тогда в цикле перечисляем компоненты
Код

Application.Components[]

Если они относятся к определенной группе, то сохранияем, одни параметы, для другой групы другие, А можно вообеще все Published свойства разом в один поток, и дальше эти потоки (от разных компонентом) объединять.
Тема уже обсуждалась...


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

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

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


Смышленный
***


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

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



Насчет RxLib - стоит с момента установки Delphi.

Цитата

автор не сказал, что конкретно он хочет сохранять, какие параметры, компоненты и т.п. -)


Ответ: 
Цитата

необходимо создать функции, сохраняющие и загружающие настройки формы, переданной в параметре функции. Т.е. функции должны быть универсальны для любой формы. 


Т.е. необходимо в функцию передать форму, а функция сохраняет ВСЮ ФОРМУ в файл, вторая функция загружает из файла все данные в УЖЕ СУЩЕСТВУЮЩУЮ ФОРМУ! На форме могут быть как стандартные компоненты, так и не стандартные. В этом и проблемма, т.к. я не могу отследить что именно на форме.

Ini-файлы и реестр не подходят по тем-же причинам. Какие еще есть мысли?


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Alexeis
Дата 21.8.2006, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



aktuba, 
см. внизу ссылки
http://forum.vingrad.ru/index.php?showtopic=94245


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

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

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


Эксперт
***


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

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



Цитата(aktuba @  21.8.2006,  12:16 Найти цитируемый пост)
Цитата


Так тебе нужно и текст из TMemo сохранять, например?
Нужно ли тебе сохранять загруженные .BMP и прочие радости?

Не слишклм ли обширное у тебя понимание 
Цитата(aktuba @  21.8.2006,  10:43 Найти цитируемый пост)
Сохранение настроек форм, и компонентов на ней

?


--------------------
    
PM MAIL ICQ Skype   Вверх
aktuba
Дата 21.8.2006, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

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



Нет, текст, изображения не нужны. Нужны параметры компонентов, а не содержание...




--------------------
user posted image
PM MAIL WWW Skype   Вверх
Демо
Дата 21.8.2006, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Получить и сохранить ты сможешь только поля, свояства и методы, опубликованные в секции published, доступные в RTTI.

Советую поискать или купить :

Михаил Голованов, Евгений Веселов "Создание компонентов в среде Delphi. Руководство разработчика".
Марко Канту, Тим Гуч "Delphi. Руководство разработчика".


--------------------
    
PM MAIL ICQ Skype   Вверх
kostas
Дата 21.8.2006, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



упс) ну тогда циклом проходишь и сохраняешь, правда не у всех одинаковые свойства, поэтому придется все же немного поусловничать)) чтобы облегчить задачу можно сохранять каждый компонент в отдельный файл к примеру... или через поток, вот и пример пришел в голову:
Код

...
procedure SaveSettings(frm: TForm);
var i: integer;
      f: TStream;
begin
  f:=TStream.Create;
  try
   for i:=0 to frm.ComponentsCount-1 do
    f.WriteComponent(frm.Components[i]);
   f.SaveToFile('путь');
  finally
   f.Free;
  end;   
end; 

//загрузку по аналогии

PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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