Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2010, 11:42   #1
maroder22
 
Регистрация: 27.01.2010
Сообщений: 5
По умолчанию Сброс в исходное состояние

Помогите!

Возможно все встречались с этим вопросом.

Требуется при повторном открытии формы сбрасывать значения, всех полей, всех меток, всех переменных, всех визуальных элементов в то состояние в котором они были при первоначальном открытии!

Неужели нужно писать для каждого в отдельности. Код этого модуля больше 2000 строк. Может есть какая то функция или свойство?

Напишите пожалуйста решение этой столь маленькой проблемы!
maroder22 вне форума Ответить с цитированием
Старый 26.09.2010, 11:45   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Что за поля?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 26.09.2010, 12:30   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в то состояние в котором они были при первоначальном открытии!
А что это за состояния? Они где-то запоминаются?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.09.2010, 14:20   #4
maroder22
 
Регистрация: 27.01.2010
Сообщений: 5
По умолчанию

все что находится на форме.
много полей (3*17+3*17).
также есть метки.
при первом открытии формы, посредством работы программы и таймеров, в эти поля вносятся изменения, за тем результаты вносятся в БД и форма закрывается, при повторном открытии формы, она выглядит так как все было изменено в последний раз, как сделать чтобы при открытии формы заново, все поля и метки принимали исходное состояние (как при первом открытии формы).

все объекты в основном находятся на groupbox'ах.
maroder22 вне форума Ответить с цитированием
Старый 26.09.2010, 15:18   #5
Greek9000
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 151
По умолчанию

Судя по описанию речь идёт не о главной форме.
Поэтому, когда эта форма закрывается, то она не удаляется из памяти, а просто делается невидимой.

Мне видится 2 варианта решения проблемы:
1. Написать процедуру, которая будет сбрасывать все компоненты в начальное состояние. Раз у автора хватило терпения вручную создать 2000 компонентов, то почему бы ему не накопипастить столько же строк сброса состояний (это лобовое решение).
2. Каждый раз при отображении формы создавать её заново, напр. так:
frmMy := TfrmMy.Create(nil);
Это более элегантное решение, но оно потребует от автора позаботиться о правильном уничтожении формы при закрытии.
Greek9000 вне форума Ответить с цитированием
Старый 26.09.2010, 15:49   #6
dmitriegorovih
Ещё не
Форумчанин
 
Аватар для dmitriegorovih
 
Регистрация: 04.01.2010
Сообщений: 517
По умолчанию

maroder22 значит делаете вот так, в меню, проект -->> Показать исходник
Удаляете вот эту строчку Application.CreateForm(TForm2, Form2); если ваша форма так называется и вставляете её в обработчик где она у вас должна появляться. По обработчику у form2 или как у вас она называеться? OnHide пишите вот это form12.Free; и всё
Воображение важнее, чем знания. (Albert Einstein)
dmitriegorovih вне форума Ответить с цитированием
Старый 26.09.2010, 16:02   #7
maroder22
 
Регистрация: 27.01.2010
Сообщений: 5
По умолчанию

спасибо. помогло.
maroder22 вне форума Ответить с цитированием
Старый 26.05.2012, 10:37   #8
m1zantrop
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 103
По умолчанию

Цитата:
Сообщение от dmitriegorovih Посмотреть сообщение
maroder22 значит делаете вот так, в меню, проект -->> Показать исходник
Удаляете вот эту строчку Application.CreateForm(TForm2, Form2); если ваша форма так называется и вставляете её в обработчик где она у вас должна появляться. По обработчику у form2 или как у вас она называеться? OnHide пишите вот это form12.Free; и всё
а можно более простым языком?)
m1zantrop вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CopyFile - удаляется исходное приложение seobot Общие вопросы Delphi 9 30.04.2010 18:17
кнопка сброс Nellas Общие вопросы Delphi 2 21.10.2009 22:19
Вернуть ScrollBar в исходное положение Shouldercannon Общие вопросы Delphi 6 18.04.2009 21:05
Сброс счетчика vldand Microsoft Office Access 1 20.10.2008 18:40
состояние CDRom joker Win Api 12 27.01.2008 08:06