Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с CheckBox, Подскажите пожалуйста. 
:(
    Опции темы
Craf
  Дата 19.8.2005, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.8.2005

Репутация: нет
Всего: нет



Всем доброго времени суток! у меня проблемка вот такая: мне нужно чтобы при нажатии на галочку (B CheckBox) Менялся ключ реестра на 1 и обратно, подскажите пожалуйста что для этого вписать в CheckBox надо ?!

Заранее большое спасибо. smile
Я только начинающий smile не судите строго.

Это сообщение отредактировал(а) Craf - 19.8.2005, 15:13
PM MAIL   Вверх
Akina
Дата 19.8.2005, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Копай хелп по GetSetting/GetAllSettings/SaveSetting - или тебе в WinAPI, смотря какие ключи менять.

Есссно все это по CheckBox_Change


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kulibin
Дата 19.8.2005, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 9.5.2005
Где: Украина, Запорожь е

Репутация: 2
Всего: 3



private sub CheckBox_change
if CheckBox.Value then
savesetting "section", "key", 1
else
savesetting "section", "key", 0
end if
end sub

- как чайник чайнику smile
PM MAIL WWW ICQ   Вверх
Craf
Дата 19.8.2005, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.8.2005

Репутация: нет
Всего: нет



Цитата(kulibin @ 19.8.2005, 17:42)
private sub CheckBox_change
if CheckBox.Value then
    savesetting "section", "key", 1
else
    savesetting "section", "key", 0
end if
end sub

- как чайник чайнику smile

Хм... а где путь до ветки реестра, ну типа HKEY_CURRENT_USER и т.д.?!


Это сообщение отредактировал(а) Craf - 19.8.2005, 18:41
PM MAIL   Вверх
cardinal
Дата 19.8.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата(Craf @ 19.8.2005, 15:46)
Хм... а где путь до ветки реестра

MSDN:
Цитата
Visual Basic provides a standard registry location for storing program information for applications created in Visual Basic:
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\appname\section\key



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Craf
  Дата 20.8.2005, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.8.2005

Репутация: нет
Всего: нет



Цитата(cardinal @ 19.8.2005, 18:50)
Цитата(Craf @ 19.8.2005, 15:46)
Хм... а где путь до ветки реестра

MSDN:
Цитата
Visual Basic provides a standard registry location for storing program information for applications created in Visual Basic:
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\appname\section\key

а между какими строками не подскажите это вставить ?! smile Извините за глупый вопрос, но всё-таки я только начинающий smile


PM MAIL   Вверх
cardinal
Дата 20.8.2005, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Никуда это вставить нельзя. Это просто standard registry location, то есть место куда SaveSetting записывает данные. Но тебе в принципе толку то от того, где это записано? Записал и ладно.
Также можно записывать инфу в .ini файлы или любые свои собственные файлы, а также в ресурсы.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Craf
Дата 20.8.2005, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.8.2005

Репутация: нет
Всего: нет



Спасибо большое.
PM MAIL   Вверх
Craf
  Дата 20.8.2005, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.8.2005

Репутация: нет
Всего: нет



Цитата(cardinal @ 20.8.2005, 02:38)
Никуда это вставить нельзя. Это просто standard registry location, то есть место куда SaveSetting записывает данные. Но тебе в принципе толку то от того, где это записано? Записал и ладно.
Также можно записывать инфу в .ini файлы или любые свои собственные файлы, а также в ресурсы.

Вот только мне нужно НЕ записать, а изменить! допустим я хочу сделать прогу которая бы отключала Автозапуск компакт-дисков и мне нужно программно поменять адресок в реестре.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom
SetValue "AutoRun"=dword:00000001 (1)
- Вот и мне нужно поменять обратно - т.е на 0.
PM MAIL   Вверх
cardinal
Дата 20.8.2005, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Ковыряться в реестре - это очень опасная штука! Можешь обрести много головной боли делая это вручную.

А вообще вот:
VB-VB-002867
И нафига спрашивается FAQ делали...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Kergan
Дата 25.8.2005, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.8.2005

Репутация: 3
Всего: 5



Craf, кинул тебе на мыло модуль для работы с реестром. Та только если надо добавь константы
HKEY_ (api viewr'ом)
Функция SaveString или изменяет параметр, или создает его, если его нет.
вызывать так: SaveString(HKEY_который_тебе_нужен,"razdel1\razdel2\razdel3\parametr", "Znachenie parametra", Len("Znachenie parametra")) ;
len - находит длину.
Своих (встроенных) функций для работы с реестром кроме одной-единственной ветки в VB НЕТ.
Только API.
Будут вопросы пиши на мыло.
--------------------
Была у меня дурацкая подпись...Я ее убрал, а новую еще не придумал. :(
PM MAIL ICQ   Вверх
Gannibal
Дата 29.8.2005, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



я бы для чек бокса поставил проверку если нажата или нет вот так вот

Код

blnZap = iif(chkBoxing.Value, 1, 0)


будет при нажатии устанавливать один в переменную blnZap и ноль когда ненажато.. а потом запись в реестром smile

а вот так вот работать с реестром

Запись данных в реестр:
SaveSetting AppName, Section, Key, Setting
'// AppName - название вашей программы, Section - ключ, Key - имя параметра, Setting - строковое значение параметра

Чтение данных из реестра:
GetSetting AppName, Section, Key, Default '// AppName - название вашей программы,
Section - ключ, Key - имя параметра, Default - значение, которое будет возвращено функцией, если параметра не существует

Удаление данных из реестра:
DeleteSetting AppName, Section, Key '// AppName - название вашей программы,
Section - ключ, Key - имя параметра

Примечание: если вы хотите удалить подраздел целиком, то имя ключа указывать не нужно.

Получение всех имён и значений параметров заданного ключа:
GetAllSetting AppName, Section '// AppName - название вашей программы,
Section - ключ

Пример:

Код

Dim intKeys As Integer, strKeys As Variant '// Объявляем переменные
strKeys = GetAllSettings("MyApp", "MySection") '// Используем функцию GetAllSettings
For intKeys = LBound(strKeys, 1) To UBound(strKeys, 1) '// Получаем границы массива ключей и выполняем цикл
Debug.Print strKeys(intKeys, 0), strKeys(intKeys, 1) '// Выводим результат
Next intKeys


Реестр имеет иерархическую структуру, и делится на шесть ветвей:

HKEY_CLASSES_ROOT. Здесь содержится информация о зарегистрированных типах файлов, а также информация для OLE и операций drag-and-drop.

HKEY_CURRENT_USER. В этом разделе хранятся настройки цветов, заставок, рабочего стола и т.д.

HKEY_LOCAL_MACHINE. Здесь содержится информация о аппаратных и программных настройках.

HKEY_CURRENT_CONFIG. В этом разделе содержится информация, относящаяся к компьютеру: драйверы, установленное программное обеспечение и его настройки

HKEY_DYN_DATA. Здесь хранятся динамические данные о состоянии различных устройств, установленных на компьютере пользователя.

Каждый, из перечисленных выше ветвей, содержит ключи (подразделы). А конечными элементами реестра являются параметры, в которых и хранится вся информация. Параметры реестра делятся на три типа:

1. строковые (напр. «Мой компьютер»)
2. двоичные (напр. 10 82 A0 8F). Максимальная длина такого ключа 16Кб
3. DWORD. Этот тип ключа занимает 4 байта и отображается в шестнадцатеричном и в десятичном виде (напр. 0x00000020 (32) - в скобках указано десятичное значение ключа).

вот пример в запись для реестра и чтения из него smile
на форме поместить чекбокс и две кнопки

Код

Option Explicit
Dim blnCheck As Byte

Private Sub Command1_Click()
blnCheck = IIf(Check1.Value, 1, 0) ' если чекбокс отмечен будет один, если нет то ноль
SaveSetting "MoyaProgra", "VB6Programy", "ChekBox", blnCheck
End Sub

Private Sub Command2_Click()
Dim a As Byte
a = GetSetting("MoyaProgra", "VB6Programy", "ChekBox", blnCheck)
MsgBox a
End Sub

работает с стондартной веткой HKEY_CURRENT_USER\Software\VB and VBA Program Setting
в нашем случае запишет в реестр вот так вот HKEY_CURRENT_USER\Software\VB and VBA Program Setting\MoyaProga\VB6Programy\
ключь ChekBox с параметром smile

Это сообщение отредактировал(а) M.E.G.U.S - 29.8.2005, 09:06


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Exception
Дата 29.8.2005, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



[оффтоп]мегус как всегда - пишет нечасто, но точно[/оффтоп иссяк]
Добавлено @ 12:54
[оффтоп]мегус как всегда - пишет нечасто, но точно[/оффтоп иссяк]
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1326 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.