Szybkie szukanie
Słowo kluczowe:
sobota, 11 luty 2012
Start arrow Tips & Tricks arrow Obsługa rejestru w Visual Basicu za pomocą wbudowanych funkcji.
Obsługa rejestru w Visual Basicu za pomocą wbudowanych funkcji. Drukuj E-mail
Napisał Administrator   
sobota, 21 styczeń 2006
**********************************************
* Zarządzanie ustawieniami aplikacji.*
* Opracowanie: moRTar *
* Na podstawie "Podręcznika Programisty VB" *
* Kontakt: *
* http://free.polbox.pl/m/mortar *
* lub*
* http://www.vb4all.w.pl *
**********************************************
* ISO-8859-2 *
**********************************************

Do czasu pojawienia się Windows 95/NT, wszelkie ustawienia aplikacji
przechowywane były w plikach *.ini. Z chwilą premiery nowych systemów
nasze możliwości wzrosły. Parametry programów możemy, a wręcz powinniśmy,
zapisywać w rejestrze systemu. (do jego przeglądania służy program regedit.exe,
będący standardowym wyposażeniem Windows)

Visual Basic udostępnia dwie metody dostępu do rejestru. Pierwsza, to dostęp za
pośrednictwem funkcji API. Metoda ta daje większą kontrolę nad rejestrem, ale może okazać
się nazbyt skomplikowana dla szarego zjadacza visualbasicowego chleba :-)

Druga, łatwiejsza opcja, to wykorzystanie czterech funkcji Visual Basica odpowiedzialnych
za operacje na rejestrze. Są to:

GetSetting - pobieranie ustawień rejestru.
GetAllSettings - zwraca tablicę zawierająca wiele ustawień rejestru.
SaveSetting- zapisywanie lub tworzenie ustawień rejestru.
DeleteSetting - usuwa ustawienia rejestru

W zagmatwanej strukturze rejstru, miejscem, które służy do przechowywania
informacji dotyczących aplikacji utworzonych w VB jest:

HKEY_CURRENT_USER\Software\VB and VBA Program Settings\nazwa_aplikacji\sekcja\klucz

Z tego właśnie miejsca pobierają lub do niego zapisują dane powyższe funkcje.
********************************************************************************************
Pierwsza z nich pobiera pojedyncze ustawienia. Ma ona następującą składnię:

GetSetting(nazwa_aplikacji,sekcja,klucz[,domyslny])

Ostatni parametr (domyslny) jest opcjonalny. W przypadku gdy funkcja nie znalazła wartości
dla podanego klucza, zostaje jej przyporządkowana wartość domyślna (o ile została podana).
Przykład:

Private Sub Form_Load()
Dim OstatniWpis As Integer
OstatniWpis = GetSetting("MojaBaza","Wpisy","Ostatni","0")
End Sub()

Ten przykład przypisuje zmiennej OstatniWpis wartość, jaką funkcja znajdzie w
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\MojaBaza\Wpisy\Ostatni
Jeżeli Ostatni nie ma przypisanej wartości, funkcja przypiszę wartość domyślna = 0.
********************************************************************************************
Do pobierania wielu ustawień naraz służy funkcja GetAllSettings. Jej składnia:

GetAllSettings(nazwa_aplikacji,sekcja)

Poniższy kod wyjaśnia działanie tej funkcji:

Private Sub Form_Load()
Dim Ustawienia As Variant
Dim X As Integer
Ustawienia = GetAllSettings("MojaBaza","Wpisy")
For X = 0 To UBound(Ustawienia,1)
Debug.Print Ustawienia(X,0), Ustawienia(X,1)
Next X
End Sub

Ustawienia = GetAllSettings("MojaBaza","Wpisy") - ta linia przypisuje zmiennej
dwuwymiarową tablicę zawierającą nazwy kluczy i ich wartości.

For X = 0 To UBound(Ustawienia,1)
Debug.Print Ustawienia(X,0), Ustawienia(X,1)
Next X

Ta pętla przypisuje zmiennej X wartości od 0 do maksymalnej liczby kluczy
( UBound(Ustawienia,1) - patrz help - opis funkcji UBound)
Przyjęto, że każdy klucz ma zapisane dwie wartości, które są przykładowo wyświetlane w oknie
Debug:
Debug.Print Ustawienia(X,0), Ustawienia(X,1)
********************************************************************************************
Do zapisywania ustawień służy funkcja SaveSetting.

SaveSetting nazwa_aplikacji, sekcja, klucz, wartosc

Private Sub Form_Unload(Cencel As Integer)
SaveSetting "MojaBaza", "Wpisy", "Ostatni", ostatni_wpis
End Sub

Powyższy kod odpowiedzialny jest za przypisanie kluczowi Ostatni
wartości przechowywanej w zmiennej ostatni_wpis
********************************************************************************************
Ustawienia usuwa funkcja DeleteSetting

DeleteSetting nazwa_aplikacji, sekcja, klucz

Poniższy kod usuwa klucz Ostatni
DeleteSetting "MojaBaza", "Wpisy", "Ostatni"

Kolejny kod usuwa całą sekcję Wpisy
DeleteSetting "MojaBaza", "Wpisy"

Ten kod usuwa wszelkie dane związane z aplikacją MojaBaza
DeleteSetting "MojaBaza"
*******************************************************************************************
To już wszystko. Jeżeli czegoś nie skapowałeś(aś), choć bardzo się starałem, to daj znać.
Czekam na opinie odnośnie tego opracowania. See ya.


Komentarze
Dodane przez nocok w dniu - 2008-03-02 12:39:47
:grin
niklon
Dodane przez niklon w dniu - 2009-09-16 18:20:37
Czy da sie zastosowac tutaj instrukcje if? 
np . if cos,cos,cos,cos = 1 then... 
niklon
Dodane przez niklon w dniu - 2009-09-16 18:20:38
Czy da sie zastosowac tutaj instrukcje if? 
np . if cos,cos,cos,cos = 1 then... 

Aby dodać komentarz zaloguj się. Jeśli nie masz konta, załóż je sobie.
Tylko zarejestrowani użytkownicy mogą pisać komentarze.

Powered by AkoComment 2.0!

< Poprzedni   Następny >

Menu główne
Start
Teoria
VB.NET
Api
Tips & Tricks
Warsztat
VBMagazine
Pliki
Forum
Literatura
Ankiety
Linki
Szukaj
Wyślij program
Napisz do nas
Redakcja
Logowanie
Login

Hasło

Zapamiętaj mnie
Nie pamiętasz hasła?
Nie masz konta? Załóż je sobie
Gościmy
Aktualnie jest 53 gości online
Statystyka
Użytkownicy: 11345
Newsy: 237
Odnośniki: 48
Odwiedzających: 4327616
Mambo is Free Software released under the GNU/GPL License.