powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
20 сообщений из 20, страница 1 из 1
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621355
Глазунов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Передали исходники проекта, написанного на Lazarus.
При запуске на исполнение открывается форма с несколькими параметрами, которые указывает пользователь. После закрытия формы и повторного открытия все введенные пользователем параметры уже заполнены, т.е. они как-то сохраняются при закрытии формы и восстанавливаются при открытии формы.

В каталоге запуска есть файл settings.ini, в котором видно сохраненные значения параметров:

[TApplication.Form1]
ComboBox1_ItemIndex=0
DirectoryEdit1_Directory=D:\!_TEST
Edit1_Text=Login
Edit2_Text=Password
FileNameEdit1_FileName=D:\Base\Base2017.gdb
Edit3_Text=
Date1=01.01.2017
Date2=31.12.2017

При доработке на форму был добавлен еще один параметр, но его значение не восстанавливается после повторного открытия формы.

В коде не нашел процедур, которые бы сохраняли параметры при закрытии формы и восстанавливали при открытии.
Где может быть спрятан механизм сохранения/восстановления параметров формы?
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621363
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TIniPropStorage?
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621375
Глазунов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, нашел на форме объект IniPropStorage1 со свойством InitFileName = settings.ini

Осталось понять как все это работает.
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621415
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где может быть спрятан механизм сохранения/восстановления параметров формы? Если форма многократно унаследована, то в одном из предков.
А в событиях формы ОнСлосе, ОнКлосеКвери, ОнДестрой точно нет нужных ссылок ?
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621430
Глазунов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точно, есть события на OnShow и OnClose, проглядел.
Но там описано сохранение и восстановление только 2-х параметров из 8: Date1 и Date2. А как сохраняются/восстанавливаются остальные шесть?
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621436
Глазунов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В коде форма описана как:

TForm1 = class(TForm)

Правильно понимаю, что форма создана на основе базового класса и ни от чего не наследована?
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621473
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГлазуновА как сохраняются/восстанавливаются остальные шесть?
Автоматически... Заглянуть в исходники дело пары минут.
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621683
Глазунов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А почему тогда так же автоматически не сохраняется значение нового элемента, добавленного на форму?

Куда смотреть в исходниках?
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621700
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГлазуновКуда смотреть в исходниках?
Начиная с TCustomIniPropStorage = class(TFormPropertyStorage) и выше.
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621702
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глазунов,

IniPropStorage1 какого класса? Не TIniPropStorageManEh? Есть экземпляр TPropStorageEh? Если есть, то вот у него есть свойство StoredProps. Его и нужно смотреть.
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621704
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goldmi45Не TIniPropStorageManEh?
Нет. Стандартный для лазаруса.
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621714
Глазунов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Описание формы в коде:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
type

  { TForm1 }

  TForm1 = class(TForm)
      Button1: TButton;
      CheckBox1: TCheckBox;
      CheckBox2: TCheckBox;
      ComboBox1: TComboBox;
      Datasource1: TDatasource;
      Datasource2: TDatasource;
      Datasource3: TDatasource;
      Datasource4: TDatasource;
      Datasource5: TDatasource;
      DateEdit1: TDateEdit;
      DateEdit2: TDateEdit;
      Dbf1: TDbf;
      Dbf2: TDbf;
      Dbf3: TDbf;
      DirectoryEdit1: TDirectoryEdit;
      Edit1: TEdit;
      Edit2: TEdit;
      Edit3: TEdit;
      FileNameEdit1: TFileNameEdit;
      IniPropStorage1: TIniPropStorage;
      Label1: TLabel;
      Label2: TLabel;
      Label3: TLabel;
      Label4: TLabel;
      Label5: TLabel;
      Label6: TLabel;
      Label7: TLabel;
      ProgressBar1: TProgressBar;
      StatusBar1: TStatusBar;
    UIBDataBase1: TUIBDataBase;
    UIBDataSet1: TUIBDataSet;
    UIBDataSet2: TUIBDataSet;
    UIBTransaction1: TUIBTransaction;
    UIBTransaction2: TUIBTransaction; 
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621734
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глазунов,

Ищи соотв. настройки в свойствах этого самого PropStorage, а ещё попробуй даблкликнуть по нему.
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621735
Глазунов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так и не нашел где же настраивается автосохранение значений переменных формы.

Добавил в свойство StoredValues объекта формы IniPropStorage1 нужное мне для сохранение имя и в методах формы FormClose и FormActivate дописал код по сохранению и восстановлению.
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621751
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГлазуновТак и не нашел где же настраивается автосохранение значений переменных формы.
Какой именно компонент не сохраняет автоматом данные?
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621755
Глазунов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

CheckBox2: TCheckBox;
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621758
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГлазуновCheckBox2: TCheckBox;
Там их два. Первый сохраняет? Выше в сохраненных параметрах его тоже нет...
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621768
Глазунов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

И первый не сохраняет. Но CheckBox1 меня особо не интересует, т.к. им не пользуются. А вот 8 других сохраняются. И только 2 из 8, те что даты, были прописаны в коде закрытия и активации формы. Т.е. 6 переменных сохраняются автоматом без кодинга.
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621770
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глазунов,

вспомнил... Выбери форму, открой в инспекторе SessionProperties. Там выбери, что нужно сохранять. :)
...
Рейтинг: 0 / 0
Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
    #39621774
Глазунов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

Огромное спасибо!
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как работает сохранение параметров, вводимых пользователем в форме при закрытии этой формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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