Главная страница
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.031 c
1-1083150293
xm-ad
2004-04-28 15:04
2004.05.16
ГА+коммивояжер


14-1081857216
Digitman
2004-04-13 15:53
2004.05.16
Платформа Аллегро ... баннер перед носом ... чуть выше..


4-1080024121
npr2
2004-03-23 09:42
2004.05.16
региональные стандарты


1-1083329703
Виктор
2004-04-30 16:55
2004.05.16
Reset(Vf1, 1) пишет acces denied на ресурсе read-only


14-1082627627
Dmitriy O.
2004-04-22 13:53
2004.05.16
Можно ли составить схему ассеблеровского кода ?