Hogyan készítsünk Delphi bejelentkezési űrlapot

A MainFormof a Delphi alkalmazás egy képernyő (ablak), amely az első, amelyet az alkalmazás fő részében hoztak létre. Ha valamilyen felhatalmazást kell telepítenie a Delphi alkalmazáshoz, akkor érdemes megjeleníteni egy bejelentkezési / jelszó párbeszédpanelt, mielőtt a fő űrlap létrejön és megjelenik a felhasználó számára. Röviden: az ötlet az, hogy a fő űrlap létrehozása előtt létrehozza, megjeleníti és megsemmisíti a "bejelentkezés" párbeszédpanelt.

A Delphi MainForm

Egy új Delphi projekt létrehozásakor az "1. forma" automatikusan a MainForm tulajdonság (a globális érték) értékévé válik Alkalmazás tárgy). Ha másik űrlapot szeretne hozzárendelni a MainForm tulajdonsághoz, használja a Projekt> Beállítások párbeszédpanel a tervezéskor. Amikor a fő űrlap bezárul, az alkalmazás megszűnik.

Bejelentkezés / Jelszó párbeszédpanel

Kezdjük az alkalmazás fő formájának létrehozásával. Hozzon létre egy új Delphi projektet, amely egy űrlapot tartalmaz. Ez az forma a tervezés alapján a fő forma.

Ha megváltoztatja az űrlap nevét "TMainForm" -ra, és az egységet "main.pas" néven menti, akkor a

instagram viewer
a projekt forráskódja így néz ki (a projektet "PasswordApp" néven mentettük):

program PasswordApp;
felhasználások
Formák,
 fő- ban ben 'main.pas' {MainForm};
{$ R * .res}
 kezdődik
 Alkalmazás. inicializálása;
 Alkalmazás. CreateForm (TMainForm, MainForm);
 Alkalmazás. Fuss;
 véget.

Most adjon hozzá egy második űrlapot a projekthez. Tervezés szerint a hozzáadott második űrlap felkerül a Projektbeállítások párbeszédpanel "Automatikus létrehozási űrlapok" listájára.

Nevezze el a második űrlapot "TLoginForm", és távolítsa el az "Automatikusan létrehozott űrlapok" listáról. Mentse az egységet "login.pas" néven.

Adjon hozzá egy címkét, szerkesztést és gombot az űrlaphoz, majd a osztály módszer a bejelentkezés / jelszó párbeszédpanel létrehozásához, megjelenítéséhez és bezárásához. Az "Végrehajtás" metódus visszatér, ha a felhasználó helyes szöveget írt a jelszó mezőbe.

Itt van a teljes forráskód:

Mértékegység Belépés;
felület
 felhasználások
 Windows, Üzenetek, SysUtils, Változatok, Osztályok,
 Grafika, Vezérlők, Űrlapok, Párbeszédek, StdCtrls;
 típus
 TLoginForm = osztály(TForm)

LogInButton: TButton;
pwdLabel: TLabel;
passwordEdit: TEdit;
eljárás LogInButtonClick (Feladó: TObject);

publicclass funkció Végrehajtás: logikai;vég;
végrehajtás{$ R * .dfm}
osztály funkció TLoginForm. Végrehajtás: logikai;kezdve TLoginForm. létrehozása (nulla) dotry
 Eredmény: = ShowModal = mrOk;
 végül
 Ingyenes;
 végén; végén;
eljárás TLoginForm. LogInButtonClick (Feladó: TObject); kezdődik a passwordEdit. Szöveg = 'delphi' azután
 ModalResult: = mrOK
 más
 ModalResult: = mrAbort;
 végén;
véget. 

Az Execute módszer dinamikusan hoz létre a TLoginForm egy példánya, és megjeleníti azt a ShowModal eljárás. A ShowModal nem tér vissza, amíg az űrlap bezáródik. Amikor az űrlap bezáródik, visszaadja a ModalResult ingatlan.

Az "LogInButton" OnClick eseménykezelő "mrOk" -ot rendel hozzá a ModalResult tulajdonsághoz, ha a felhasználó helyes jelszót adott meg (amely a fenti példában "delphi"). Ha a felhasználó rossz jelszót adott meg, akkor a ModalResult "mrAbort" értékre van állítva (bármi lehet, az "mrNone" kivételével).

Az érték megadása a ModalResult tulajdonsághoz bezárja az űrlapot. Az Execute igaz értéket ad vissza, ha a ModalResult megegyezik az "mrOk" -val (ha a felhasználó helyes jelszót adott meg).

Ne hozzon létre MainForm-ot bejelentkezés előtt

Most csak akkor ellenőriznie kell, hogy a fő űrlap nem jött-e létre, ha a felhasználó nem adta meg a helyes jelszót.

Így néz ki a projekt forráskódja:

 program PasswordApp;
felhasználások
Formák,
main a 'main.pas' {MainForm}
bejelentkezés 'login.pas' {LoginForm};
 {$ R * .res}
 beginif TLoginForm. kivégez thenbegin
 Alkalmazás. inicializálása;
 Alkalmazás. CreateForm (TMainForm, MainForm);
 Alkalmazás. Fuss;
 endelsebegin
 Alkalmazás. MessageBox ('Nem jogosult az alkalmazás használatára. A jelszó: "delphi". ',' Jelszóval védett Delphi alkalmazás ');
 végén; véget.

Vegye figyelembe a ha akkor más blokk annak meghatározására, hogy létre kell hozni a fő űrlapot. Ha az "Végrehajtás" hamis értéket ad vissza, akkor a MainForm nem jön létre, és az alkalmazás indítás nélkül leáll.

instagram story viewer