Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[TuT] System rejestracji/logowania z zapisem danych w rejestrze. [dla początkujących]


Rekomendowane odpowiedzi

Opublikowano

Siemanko, na samym wstępie chciałem zaznaczyć że sam jestem mocno początkujący w .NET, jednak mimo wszystko chcę podzielić się swoim poradnikiem z innymi początkującymi osobami szukającymi gotowego tutoriala jak stworzyć własny system rejestracji który zapisuje dane w rejestrze. Dlaczego lepiej użyć rejestru zamiast zapisu w My.Settings? Ponieważ dane te zostają kasowane za każdym razem gdy użytkownik programu zmieni jego lokalizację bądź nazwę. 

 

Tak więc zaczynamy!

 

1. Tworzymy 2 TextBoxy oraz 2 Buttony, służące do zalogowania oraz do rejestracji. Nie będę używał tutaj oddzielnego okna dla rejestracji, użyję po prostu tych samych TextBoxów które posłużą nam zarówno do zalogowania do programu.

 

116901409094888324503.jpg

 

2. Klikamy dwukrotnie na ramkę naszego programu aby otworzyć event Load, czyli ten który używany jest wraz z uruchomieniem się programu.

Na tym etapie musimy stworzyć nasz SubKey w rejestrze. A więc wpisujemy:

Dim regKey As RegistryKey
          regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE", True)
          regKey.CreateSubKey("systemrejestracji")
Dodatkowo nad całym kodem programu dopisujemy
Imports Microsoft.Win32
700831409094889324503.jpg
 
3. Wracamy do naszego okienka z wizualizacją programu. Tym razem dwukrotnie klikamy na przycisk "Zarejestruj". Otworzy nam się event Click, który zadziała wraz z naciśnięciem przycisku. I wpisujemy:
Dim regKey As RegistryKey
          regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\systemrejestracji", True)
          regKey.SetValue("Login", TextBox1.Text)
          regKey.SetValue("hasło", TextBox2.Text)
          regKey.Close()
Przykładowy kod na przycisku "Rejestruj" powinien wyglądać mniej więcej tak:
If TextBox1.Text = "" And TextBox2.Text = "" Then
          MsgBox("wybierz login oraz hasło") 
ElseIf TextBox1.Text = "" Then
          MsgBox("wybierz login")
ElseIf TextBox2.Text = "" Then
          MsgBox("wybierz hasło")
Else
          Dim regKey As RegistryKey
          regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\systemrejestracji", True)
          regKey.SetValue("Login", TextBox1.Text)
          regKey.SetValue("hasło", TextBox2.Text)
          regKey.Close()
          MsgBox("rejestracja pomyślna, możesz się zalogować")
End If
Dodatkowo możecie użyć TextLength aby ustawić sobie ile znaków musi mieć login/hasło aby konto zostało utworzone. Przykładowo:
If TextBox1.TextLength < 5 And TextBox2.TextLength < 5 Then
          MsgBox("hasło oraz login muszą posiadać przynajmniej 5 znaków")
End If

4. To by było na tyle w przycisku rejestracji. Teraz dwukrotnie klikamy na przycisk "Zaloguj". Oraz wpisujemy:

Dim regKey As RegistryKey
regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\systemrejestracji", True)
If TextBox1.Text = "" And TextBox2.Text = "" Then
          MsgBox("nieprawidłowe login lub hasło")
ElseIf
          TextBox1.Text = regKey.GetValue("Login", TextBox1.Text) And
          TextBox2.Text = regKey.GetValue("hasło", TextBox2.Text) Then
          MsgBox("zalogowano")
Else
          MsgBox("nieprawidłowe login lub hasło")
End If
Opublikowano

Wszystko fajnie, ale mogłeś opisać po prostu tworzenie kluczy w rejestrze, nadawanie im wartości a nie system rejestracji który się raczej nikomu nie przyda. Dziwnie wygląda to:

Dim regKey As RegistryKey
regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\systemrejestracji", True)
If TextBox1.Text = "" And TextBox2.Text = "" Then
          MsgBox("nieprawidłowe login lub hasło")
ElseIf
          TextBox1.Text = regKey.GetValue("Login", TextBox1.Text) And
          TextBox2.Text = regKey.GetValue("hasło", TextBox2.Text) Then
          MsgBox("zalogowano")
Else
          MsgBox("nieprawidłowe login lub hasło")
End If

po co osobny warunek dla pustego pola?

apple.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...