Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.066 c
3-1082701656
helimos
2004-04-23 10:27
2004.05.16
Thread ADO Oracle - Необходимо во время запроса параллельно счи


1-1083352125
mr.Delphin
2004-04-30 23:08
2004.05.16
ФОКУС


14-1082190660
zaxxx
2004-04-17 12:31
2004.05.16
Здесь реальные программисты есть? Ни одного умного ответа


11-1069169938
S!R!X
2003-11-18 18:38
2004.05.16
Проблемы с модальной формой


4-1080636512
Jul
2004-03-30 12:48
2004.05.16
Хороший help file или справочник по Win Api





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский