Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Как сохранить параметры формы и компонентов в нем?   Найти похожие ветки 

 
Kliiip   (2004-04-30 08:18) [0]

Допустим я запустил программу. Изменил ее размеры. И изменил размеры колонок TListVeiw и вышел из программы. Мне нужно что бы все параметры сохранились.


 
Ozone ©   (2004-04-30 08:25) [1]

TIniFile + F1


 
Kliiip   (2004-04-30 09:01) [2]

А есть программка для примера? По готовой программе разобраться легче, чем по англоязычному хелпу


 
SSN ©   (2004-04-30 09:37) [3]

Есть отличный компонент в библотеке RXLib. Называется TFormStorage. А если хочешь сделать сам, используй класс TRegister (см. help)


 
Dimedrol ©   (2004-04-30 09:49) [4]

Да да! RxLib - рулИт! :-)


 
GrayPilgrim ©   (2004-04-30 09:53) [5]

Через ini файл однозначно проще и удобнее,
сохраняешь подряд размеры всех компонентов
например
[ControlName]
 width  = ...
 height = ...
Соответственно потом читаешь из ini файла
readinteger(...)
имена компонентов берешь прямо из формы


 
opoloxai ©   (2004-04-30 09:59) [6]

А по-моему через реестр удобнее. Называешь нужную ветку реестра по имени родитедя+компонента
OpenRegKey(TComponent().Parent.Name+TComponent().Name, true);
и пользуешься.


 
Евкисий ©   (2004-04-30 10:01) [7]

Я лично сохранял в реестре, ниже кусок кода, сохраняющего позиции контролов и размеры колумнов DBGrid"ов... может пригодится :))

procedure WriteKey(ParentName : string; PC : TWinControl);
var
       s : string;
       i : integer;
begin
       Reg.RootKey := HKEY_CURRENT_USER;
       s:=ParentName+"\"+PC.Name;
       Reg.OpenKey(s, true);
       Reg.WriteString("Left", IntToStr(PC.Left));
       Reg.WriteString("Top", IntToStr(PC.Top));
       Reg.WriteString("Width", IntToStr(PC.Width));
       Reg.WriteString("Height", IntToStr(PC.Height));

       if TControl(PC).ClassName = "TDBGrid" then
       begin
               for i:=0 to TDBGrid(PC).Columns.Count-1 do
                       Reg.WriteString("ColumnWidth"+IntToStr(i), IntToStr(TDBgrid(PC).Columns[i].Width));
       end else Reg.WriteString("ClassName", TControl(PC).ClassName);

       if PC.ControlCount<>0 then
               for i:=0 to PC.ControlCount-1 do WriteKey(s, TWinControl(PC.Controls[i]));
end;

function SavePositionsToRegistry(ProjectName : PChar; PF: PChar; var PC : TWinControl) : boolean; stdcall; export
var
       s:string;
       P :TWinControl;
begin
       P:=PC;
       s := P.Name;
       ShowMessage(s);
       try
       Reg := TRegistry.Create;
       Reg.RootKey := HKEY_CURRENT_USER;
       Reg.OpenKey("\Software\"+ProjectName, true);
       Reg.OpenKey("\Software\"+ProjectName+"\"+s, true);
       finally
               Reg.CloseKey;
               Reg.Destroy;
       end;
end;


 
Pul   (2004-04-30 12:09) [8]

Поищи на tory компонент TAutoPropertiesStore
Он сохраняет любые свойства доступные через Object Inspector  любых компонентов. Очень удобно, сначала указываешь какие свойства сохранять, а потом добавляешь две строки кода в проект.


 
Pul   (2004-04-30 12:10) [9]

Если не найдешь TAutoPropertiesStore
могу выслать почтой


 
Вованчик ©   (2004-04-30 14:15) [10]


> Pul   (30.04.04 12:10) [9]

Кинь плиз и мне тоже OgpK@Azot.ru, посмотреть интересно


 
arc   (2004-04-30 18:21) [11]

> Pul   (30.04.04 12:10) [9]

Кинь мне компонент тоже на почту  VolkRan@mail.ru если не затруднит


 
WebErr ©   (2004-04-30 18:25) [12]

Народ, TFormStorage из RxLib уже кого-то не устраивает? 8/


 
Mim1 ©   (2004-04-30 20:19) [13]

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

Лично я сейчас просмотре PropStorageEh, очень симпатичная штука (входит в ehlib). Есть clx версия.


 
Vemer ©   (2004-04-30 20:34) [14]

Проблему изначально решаю .BorderStyle = BsSingle; :). Пока никто не жаловался.. Все равно в полноэкранном режиме обычно работают..


 
имя   (2004-05-02 22:39) [15]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
14-1082754277
УНЯ
2004-04-24 01:04
2004.05.16
Вопрос по СМС


1-1083061737
IceMaster
2004-04-27 14:28
2004.05.16
Memo


1-1083153374
bond
2004-04-28 15:56
2004.05.16
Как вызвать метод класса для всех объектов этого класса


14-1083066121
Yozh_Programmer
2004-04-27 15:42
2004.05.16
Альтернатива mIRC


8-1077816064
evrey
2004-02-26 20:21
2004.05.16
Получение цвета пикселя в изображении.