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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2012, 15:41   #1
JunioR_BK
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 10
Вопрос Восстановить прежний вид программы с .ini файла???

Можно ли восстановить прежний вид программы с .ini файла??? программа сохраняется как был изменен при закрытии, можно сделать так, чтобы по нажатию кнопки можно было восстановить прежний вид программы, который был до изменение???
JunioR_BK вне форума Ответить с цитированием
Старый 21.07.2012, 17:02   #2
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Что подразумевается под видом: сама форма (ширина, высота и т.д.) или то, что на ней находится (данные в Edit1, Label1 и т.д.)?
Shouldercannon вне форума Ответить с цитированием
Старый 21.07.2012, 19:32   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Можно конечно. Нужно знать что в ИНИ файл пишется, и так же восстанавливать свойства контролов, считывая параметры
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.07.2012, 06:26   #4
ych_del
Форумчанин
 
Аватар для ych_del
 
Регистрация: 06.02.2011
Сообщений: 150
По умолчанию

Можно - рекурсивно обходить все элементы формы и скрупулёзно записывать интересующие тебя значения (например - Left, Top, Width, Height) в то место, где ты будешь хранить эту информацию (в твоем случае - ini-файл). А потом так же обходить все элементы и читать их значения.

Пример - вот тут: http://www.ych-group.ru/232/1211/

Там сделано сохранение в реестр, под ini перепишешь сам.

Принцип здесь следующий: мы рекурсивно обходим все элементы формы и записываем в реестр их положение и размеры. Если элемент является TWinControl'ом, т.е. чисто теоретически может содержать на себе еще какие-то элементы (яркий пример - TPanel) - то мы обходим все контролы, лежащие на нем.

Если элемент является TEdit'ом, то сохраняем его текст, а потом, соответственно, восстанавливаем.

И еще по поводу хранения.
Изначально вопрос был задан про сохранение в ini-файле, но это не всегда является правильным решением. Объясню на примере.

1. Далеко не факт, что у пользователя будут права на запись в то место, где лежит предполагаемая ini-шка, а вот в ветку реестра HKEY_CURRENT_USER права на запись есть практически всегда.
2. На одном компьютере может работать несколько пользователей, и в этом случае (ну, если только ini-файл не хранить в %USERPROFILEDIR%) ini-шка будет одинаковая для всех, что не совсем правильно.
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.

Последний раз редактировалось ych_del; 22.07.2012 в 07:45. Причина: Более развернуто, с пояснениями и лирикой
ych_del вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Иконки сменили внешний вид и программы не открываются Project 33 Операционные системы общие вопросы 13 23.10.2010 22:03
Более компактный вид программы Spiritehf Помощь студентам 0 04.10.2010 17:48
как это сделано (визуальный вид программы) designer999 Общие вопросы Delphi 12 14.09.2010 20:15
Внешний вид программы под ХР Rock'n'rolla Общие вопросы Delphi 13 21.01.2010 23:17
Вид программы. Maxs Общие вопросы Delphi 6 09.06.2009 17:08