Программирование
Веб программирование

VB Реестр

 
 

Реестр эта база данных винда (ой, я же забыл тебе сказать, что такое базы данных). Ну ладно уговорил, скажу, что это такое: База данных это любой текст, который где - то хранится (например, в текстовом документе). Ну я это точно не знаю т.к. в базах я не спец. А создавать мы их будем в ближайшем будущем, т.к. сейчас у меня нет одной программы, без которой не обойтись. Ну хватит определений!!! Уже 2 штуки сказал! Перейдем к делу! Короче в реестре хранятся все настройки юзера. Например разрешение экрана, логин от инет карты, а пароль мы узнаем другим способом, с помощью реестра ты можешь сделать так чтоб твоя программа запускалась при старте винда (т.е. при входе в программу, юзер от нее никогда не избавится, короче в нем хранится почти все настройки юзера (и не только, все устройства, расширения файлов...), их можно менять, дополнять.... Но об этом потом. ВСЕ ПОТОМ. А сейчас будем работать с реестром с помощью VB. Но скажу сразу возможности VB ограничены, и это еще сильно сказано. В VB можно работать только с одним ключем, а этот ключ - самый ненужный ключ во всем Реестре, даже нельзя поместить программу в автозагрузку, а это унизительно..., НО, все равно, для хранения настроек программы он сойдет. Начнем.

Программа для работы с реестром находится в Винде, и зовется она RegEdit.EXE. Найди ее. А для ленивых есть в Пуске Раздел "Выполнить", нажми на него, и в текстовом поле впиши regedit и нажми ОК. Перед тобой откуда не возьмись открывается окно Редактор реестра. Там находится 6 ключей, но нам они не нужны, т.к. мы работаем без АПИ, а с помощью функций VB, а VB может работать только с одним ключем - HKEY_CURRENT_USER. Нажми на него(или 2 раза по нему, или один раз на плюс). Перед тобой появляется до хрена подключей, но нам они опять не нужны, т.к. МЫ БЕЗ АПИ КАК БЕЗ РУК!!!, но все равно нажми на SOFTWARE(т.е. Софт). И вот оно! То что нам надо! Это ключ VB and VBA Program Setting. В этом ключе Басик чувствует себя как дома! И в этом ключе мы будем работать с помощью VB функций. Полный путь к нему: HKEY_CURRENT_USERSOFTWAREVB and VBA Program Settings. Прежде чем рассказать о функциях я скажу пару умных слов(НЕ ОПРЕДЕЛЕНИЙ!!!!!!!!!!!!!!!!!!!!!).

Ключ - это таккая хрень, которая находится в самом начале, и начинается на HKEY_(ключей всего 6)
Подключ - это все что находится в ключе.
Строковой параметр - Ты наверное заметил, что редактор реестра поделен на 2 части, в первой - Ключи & Подключи, во второй - Строковые параметры, и числовые. А строковые параметры выглядят так: Строковой параметр

Числовые нам вообще пока не нужны, они выглядят почти также, только синие.
Как всегда сделаем программу, которая будет сохранять текст в реестр(т.е. в строковой параметр), читать их от туда, создовать навые подключи. Войди в VB, на форму кинь 3 кнопки(У первой Caption = "Сохранить", у 2ой - "Удалить", у 3ей - "Прочитать"), и текстовое поле. Код:

Private Sub Command1_Click()
SaveSetting "New Ключ", "Нью Подключ", "Строковой Параметр", "Строковое значение которое принемает параметр" 'Создаем ключ New Ключ(т.е. подключ), и подключ Нью Подключ, в подключе Нью Ключ создаем Строковой параметр, а в нем запись.
End Sub

Private Sub Command2_Click()
'Удаляем
DeleteSetting "New Ключ", "Нью Подключ", "Строковой Параметр" 'Если ты хочешь удалить сразу всю папку то впиши: DeleteSetting "New Ключ"
End Sub
Private Sub Command3_Click()
Text1.Text = GetSetting("New Ключ", "Нью Подключ", "Строковой Параметр")'Читаем в текстовое поле содержимое Строкового параметра
End Sub

Теперь в редакторе реестра нажнми ВидОбновить, или просто F5.
Исходник


Есть вопросы? Спроси на нашем форуме!!
Багир [17.04.2011 13:56]

Не так давно мне попался подобный пример сохранения настроек в реестре. Ранее я хранил их только в свойствах самого файла с помощью
BuiltinDocumentProperties
и
CustomDocumentProperties
(речь идет о файлах Excel *.xls)
Но если твою программу открывают по сети сразу несколько разных пользователей, и каждому надо хранить свои настройки, то реестр подходит как нельзя лучше.

Гость [15.12.2011 14:27]

ТАКИ УДАЛИТ ТЕКСТЫ СО СТРОЧКИ МНЕ НЕ УДАЛОС ...ПИЩИТЕ ПОЖ ...КТО ЗНАЕТЬ Private Sub cmdDelet_Click()
...........
End Sub
КАК ДАЛЬЩЕ ПИСАТЬ ...

revolution10 [20.07.2014 15:22]

Всем привеТ! Автор написал, что числовые не нужны в реестре. Лично меня только они и интересуют. Напишите пожалуйста, как с ними работать.
Заранее благодарен.



Оставлять комментарии можно только зарегистрированным




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