Jak zrobić formularz logowania Delphi

click fraud protection

MainFormof aplikacji Delphi to formularz (okno), który jest pierwszym utworzonym w głównej części aplikacji. Jeśli potrzebujesz zaimplementować pewnego rodzaju autoryzację dla aplikacji Delphi, możesz chcieć wyświetlić okno dialogowe logowania / hasła, zanim główny formularz zostanie utworzony i wyświetlony użytkownikowi. Krótko mówiąc, pomysł polega na utworzeniu, wyświetleniu i zniszczeniu okna dialogowego „login” przed utworzeniem głównego formularza.

Delphi MainForm

Po utworzeniu nowego projektu Delphi „Form1” automatycznie staje się wartością właściwości MainForm (globalnej) Podanie obiekt). Aby przypisać inny formularz do właściwości MainForm, użyj strony Formularze Projekt> Opcje okno dialogowe w czasie projektowania. Po zamknięciu głównego formularza aplikacja zostaje zakończona.

Okno dialogowe logowania / hasła

Zacznijmy od stworzenia głównej formy aplikacji. Utwórz nowy projekt Delphi zawierający jeden formularz. Ta forma jest z założenia główną formą.

Jeśli zmienisz nazwę formularza na „TMainForm” i zapiszesz jednostkę jako „main.pas”,

instagram viewer
kod źródłowy projektu wygląda następująco (projekt został zapisany jako „PasswordApp”):

program PasswordApp;
wykorzystuje
Formularze,
 Główny w „main.pas” {MainForm};
{$ R * .res}
 zaczynać
 Podanie. Zainicjuj;
 Podanie. CreateForm (TMainForm, MainForm);
 Podanie. Biegać;
 koniec.

Teraz dodaj drugi formularz do projektu. Zgodnie z projektem drugi dodany formularz jest wymieniony na liście „Automatyczne tworzenie formularzy” w oknie dialogowym Opcje projektu.

Nazwij drugi formularz „TLoginForm” i usuń go z listy „Automatyczne tworzenie formularzy”. Zapisz urządzenie jako „login.pas”.

Dodaj etykietę, edytuj i przycisk w formularzu, a następnie metoda klasowa aby utworzyć, wyświetlić i zamknąć okno dialogowe logowania / hasła. Metoda „Wykonaj” zwraca wartość true, jeśli użytkownik wprowadził poprawny tekst w polu hasła.

Oto pełny kod źródłowy:

jednostka Zaloguj sie;
berło
 wykorzystuje
 Windows, Wiadomości, SysUtils, Warianty, Klasy,
 Grafika, formanty, formularze, okna dialogowe, StdCtrls;
 rodzaj
 TLoginForm = klasa(TForm)

LogInButton: TButton;
pwdLabel: TLabel;
passwordEdit: TEdit;
procedura LogInButtonClick (Sender: TObject);

funkcja klasy publicznej Wykonaj: boolean;koniec;
realizacja{$ R * .dfm}
funkcja klasy TLoginForm. Wykonaj: boolean;zaczynać się TLoginForm. Stwórz(zero) dotry
 Wynik: = ShowModal = mrOk;
 Wreszcie
 Darmowy;
 koniec; koniec;
procedura TLoginForm. LogInButtonClick (Sender: TObject); beginif passwordEdit. Text = „delphi” następnie
 ModalResult: = mrOK
 jeszcze
 ModalResult: = mrAbort;
 koniec;
koniec. 

Metoda wykonania dynamicznie tworzy wystąpienie TLoginForm i wyświetla je za pomocą ShowModal metoda. ShowModal nie zwraca, dopóki formularz nie zostanie zamknięty. Kiedy formularz zamyka się, zwraca wartość ModalResult własność.

Program obsługi zdarzeń OnClick „LogInButton” przypisuje „mrOk” do właściwości ModalResult, jeśli użytkownik wprowadził prawidłowe hasło (w powyższym przykładzie jest to „delphi”). Jeśli użytkownik podał nieprawidłowe hasło, ModalResult jest ustawiony na „mrAbort” (może to być cokolwiek oprócz „mrNone”).

Ustawienie wartości właściwości ModalResult zamyka formularz. Wykonaj zwraca true, jeśli ModalResult jest równy „mrOk” (jeśli użytkownik wprowadził poprawne hasło).

Nie twórz formularza głównego przed zalogowaniem

Musisz tylko upewnić się, że główny formularz nie zostanie utworzony, jeśli użytkownik nie podał poprawnego hasła.

Oto jak powinien wyglądać kod źródłowy projektu:

 program PasswordApp;
wykorzystuje
Formularze,
main in 'main.pas' {MainForm},
zaloguj się w 'login.pas' {LoginForm};
 {$ R * .res}
 beginif TLoginForm. Wykonać wtedy zacznij
 Podanie. Zainicjuj;
 Podanie. CreateForm (TMainForm, MainForm);
 Podanie. Biegać;
 endelsebegin
 Podanie. MessageBox („Nie masz uprawnień do korzystania z aplikacji. Hasło to „delphi”. ”,„ Aplikacja chroniona hasłem Delphi ”);
 koniec; koniec.

Zwróć uwagę na użycie jeśli to jeszcze blok, aby określić, czy należy utworzyć formularz główny. Jeśli „Wykonaj” zwróci wartość false, formularz główny nie zostanie utworzony, a aplikacja zostanie zakończona bez uruchamiania.

instagram story viewer