Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Откат в сохранении настроек


МаксПла ©   (2007-09-08 16:57:00) 

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

Но как такое организовать. Допустим у меня на форме есть два Edit'a, четыре ComboBox'a, и несколько CheckBox'oв.

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


Anatoly Podgoretsky   (2007-09-08 17:44:00) [1]

> МаксПла  (08.09.2007 17:40:04)  [4]

Совсем не обязательно отслеживать состояние, можно применять и старые значения, ничего от этого не изменится, но смотри обработчик сообщения OnChanged, свойство Modified
Смотря что есть у компонент.
Но можно и не заморачиваться, пользователь знает, что делает.


Dib@zol   (2007-09-08 17:42:00) [2]

> есть более элегантное решение?

Есть. Не деактивировать эту кнопку совсем!


МаксПла   (2007-09-08 17:40:00) [3]

Ок, видимо смогу сделать спасибо.
Но у меня ещё один вопрос возник попутно.

Бывают ведь и такие настройки в которых есть ещё кнопка "применить". Которая остается неактивной до того момента, пока пользовтель не изменит какие либо установки. Как это корректно узнать?
Просто реагировать на изменения контролла и менять общую переменную: IsModified: Boolean; и в зависимости от этого активировать или не активировать кнопку применить? Или есть более элегантное решение?


Anatoly Podgoretsky   (2007-09-08 17:07:00) [4]

> МаксПла  (08.09.2007 17:05:02)  [2]

После закрытия, разрушь диалог, не хрен держать ресурсы, дольше чем требуется.


МаксПла   (2007-09-08 17:05:00) [5]

Ну я закрою диалог, но положение то например измененного CheckBox'a останется измененным. В след. раз пользователь открывает диалог и видит его же отменненные изменения, которые не вступили в силу.


Anatoly Podgoretsky   (2007-09-08 16:59:00) [6]

> МаксПла  (08.09.2007 16:57:00)  [0]

Как положено просто закрыть диалог


Наверх

Титульная страница Поиск, карта сайта Написать письмо