опять я

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

опять я

Сообщение alleonid » 15.08.2005 (Пн) 11:41

Вопрос:
из основной формы я открываю другую - ставлю там всягие галочки, включаю опшены - соответствующим публичным переменным задаются некие значения. Потом закрываю вспомогательную форму. Потом, если открою опять, все чеки и опшены естественно в первозданном виде, и надо их по новой устанавивать что геморно.
Можно конечно навводить еще переменных на этот случай и все как надо прописать, но я придумал не выгружать форму, а просто делать невидимой.
А как поступают опытные программисты? Есть ли более простые варианты?

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 15.08.2005 (Пн) 11:44

В Form_Load устанавливать состояние контролов в зависимости от глобальных переменных.

alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

Сообщение alleonid » 15.08.2005 (Пн) 11:48

А это что, какие то свойства самих контролов (в смысле увязки с соответствующими им переменными) или это все надо прописывать для каждого частного контрола программно, типа If переменная = тому-то Then контрол должен включаться так-то?

Sedge писал(а):В Form_Load устанавливать состояние контролов в зависимости от глобальных переменных.

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 15.08.2005 (Пн) 11:51

alleonid писал(а):или это все надо прописывать для каждого частного контрола программно, типа If переменная = тому-то Then контрол должен включаться так-то?

Да.

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 15.08.2005 (Пн) 14:21

Можно файл конфигурации слепить. В этом случае все опции сохраняться и после перезагрузки приложения.
Век живи - век учись!
www.detal-plast.narod.ru

hohol_kz
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.08.2005 (Пт) 6:21

Сообщение hohol_kz » 16.08.2005 (Вт) 9:50

1. Объявляешь глобальные переменные (например, язык интерфейса), в которых сохраняется значение на все время работы программы.

2. Если требуется сохранение настроек в период между запусками программы, то сохраняешь настройки:
а) в реестре (см. функции SaveSetting, GetSetting)
б) или в ini файле (см. функции работы с файлами)
При запуске читаешь значения настроек в твои глобальные переменные.

3. При открытии требуемых форм, устанавливаешь необходимые свойства в соответствии со значением глобальных переменных.
Не забываешь проверять загружаемые значение и если они недопустимые или отсутствуют (например при первом запуске проги на компе), то устанавливаешь значение по-умолчанию.
Это можно сделать в процедуре YourForm_Load. Тогда надо не забывать принудительно обновлять форму после изменения настроек, если ты другие формы не закрывал, а скрывал с помощью Hide.

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

5. Обновляешь открытые формы, чтобы изменения настроек вступили в силу для них.

6. Если необходимо, по завершению твоей программы сохраняешь настройки в реестр или в ini файл.
На правах саморекламмы: "Кофейник" - это тот же "чайник", только круче.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 17.08.2005 (Ср) 0:49

Народ, а Form.Visible=false нельзя ? :oops: :oops: Или я чего то не догоняю ?

hohol_kz
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.08.2005 (Пт) 6:21

Сообщение hohol_kz » 17.08.2005 (Ср) 8:11

ALX_2002 писал(а):Народ, а Form.Visible=false нельзя ? :oops: :oops: Или я чего то не догоняю ?


Не так. Чел. жалуется, что сделал форму где настройки для его программы устанавливаются. А они не сохраняются у него при повторном открытии.
На правах саморекламмы: "Кофейник" - это тот же "чайник", только круче.

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 17.08.2005 (Ср) 10:18

ALX_2002 писал(а):Народ, а Form.Visible=false нельзя ? :oops: :oops: Или я чего то не догоняю ?

А смысл? При первом запуске окна с настройками все равно придется инициализировать состояние контролов.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 17.08.2005 (Ср) 10:33

А, извиняйте. Значит не совсем задачу понял. :).

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


Я решил, что ему только в пределах запущенного приложения нужно сохранять настройки. :oops: :roll:


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 20

    TopList