MainFormof Delphi lietojumprogramma ir forma (logs), kas ir pirmā, kas izveidota lietojumprogrammas galvenajā daļā. Ja jums ir jāievieš sava veida Delphi pilnvarojums, iespējams, vēlēsities parādīt pieteikšanās / paroles dialoglodziņu, pirms galvenā forma tiek izveidota un parādīta lietotājam. Īsi sakot, ideja ir izveidot, parādīt un iznīcināt "pieteikšanās" dialogu pirms galvenās formas izveidošanas.
The Delphi MainForm
Kad tiek izveidots jauns Delphi projekts, "Form1" automātiski kļūst par MainForm īpašuma (globālā.) Vērtību Pieteikums objekts). Lai mainForm īpašumam piešķirtu citu veidlapu, izmantojiet Projekts> Iespējas dialoglodziņš projektēšanas laikā. Aizverot galveno veidlapu, lietojumprogramma tiek izbeigta.
Pieteikšanās / paroles dialoglodziņš
Sāksim ar pieteikuma galvenās formas izveidi. Izveidojiet jaunu Delphi projektu, kurā ir viena forma. Šī forma pēc dizaina ir galvenā forma.
Ja maināt veidlapas nosaukumu uz "TMainForm" un saglabājat vienību kā "main.pas", projekta avota kods izskatās šādi (projekts tika saglabāts kā “PasswordApp”):
programma PasswordApp;
izmanto
Veidlapas,
galvenais iekšā 'main.pas' {MainForm};
{$ R * .res}
sākt
Pieteikums. Palaist;
Pieteikums. CreateForm (TMainForm, MainForm);
Pieteikums. Skrien;
beigas.
Tagad pievienojiet projektam otru formu. Pēc uzbūves otrā pievienotā forma tiek parādīta dialoglodziņa Projekta opcijas sarakstā “Automātiski izveidot veidlapas”.
Piešķiriet otrajai formai nosaukumu “TLoginForm” un noņemiet to no saraksta “Automātiski izveidot veidlapas”. Saglabājiet vienību kā "login.pas".
Veidlapai pievienojiet etiķeti, rediģēšanu un pogu, pēc kuras seko a klases metode lai izveidotu, parādītu un aizvērtu pieteikšanās / paroles dialoglodziņu. Metode "Izpildīt" atgriežas patiesi, ja lietotājs paroles lodziņā ir ievadījis pareizu tekstu.
Šeit ir pilns avota kods:
vienība Pieslēgties;
saskarne
izmanto
Windows, Ziņojumi, SysUtils, Varianti, Klases,
Grafika, Kontrole, Veidlapas, Dialogi, StdCtrls;
tips
TLoginForm = klase(TForm)
LogInButton: TButton;
pwdLabel: TLabel;
passwordEdit: TEdit;
procedūra LogInButtonClick (Sūtītājs: TObject);
sabiedriskās klases funkcija Izpildīt: Būla;beigas;
ieviešana{$ R * .dfm}
klases funkcija TLoginForm. Izpildīt: Būla;Sāciet ar TLoginForm. Izveidot (nulle) pīķains
Rezultāts: = ShowModal = mrOk;
beidzot
Bezmaksas;
beigas; beigas;
procedūra TLoginForm. LogInButtonClick (Sūtītājs: TObject); sākas ar passwordEdit. Teksts = 'Delphi' tad
ModalResult: = mrOK
cits
ModalResult: = mrAbort;
beigas;
beigas.
Izpildes metode dinamiski rada TLoginForm gadījumu un parāda to, izmantojot ShowModal metode. ShowModal neatgriežas, kamēr forma netiek aizvērta. Kad veidlapa aizveras, tā atgriež ModalResult īpašums.
OnClick notikumu apstrādātājs "LogInButton" piešķir īpašumam "ModalResult" "mrOk", ja lietotājs ir ievadījis pareizo paroli (iepriekšminētajā piemērā tā ir "delphi"). Ja lietotājs ir norādījis nepareizu paroli, ModalResult ir iestatīts uz "mrAbort" (tas var būt jebkas, izņemot "mrNone").
Iestatot vērtību īpašumam ModalResult, forma tiek aizvērta. Izpilde atgriežas patiesi, ja ModalResult ir vienāds ar "mrOk" (ja lietotājs ir ievadījis pareizo paroli).
Neizveidojiet MainForm pirms pieteikšanās
Tagad jums jāpārliecinās, ka galvenā forma nav izveidota, ja lietotājs nav norādījis pareizo paroli.
Projekta avota kodam vajadzētu izskatīties šādi:
programma PasswordApp;
izmanto
Veidlapas,
galvenā 'main.pas' {MainForm},
pieteikšanās 'login.pas' {LoginForm};
{$ R * .res}
iesākums TLoginForm. Izpildīt tad sāk
Pieteikums. Palaist;
Pieteikums. CreateForm (TMainForm, MainForm);
Pieteikums. Skrien;
endelsebegin
Pieteikums. MessageBox ('Jums nav atļauts lietot lietojumprogrammu. Parole ir "delphi". ',' Ar paroli aizsargāta Delphi lietojumprogramma ');
beigas; beigas.
Ņemiet vērā ja tad vēl bloķēt, lai noteiktu, vai galvenā forma ir jāizveido. Ja "Izpildīt" atgriežas nepatiesi, MainForm netiek izveidots, un lietojumprogramma tiek pārtraukta, neuzsākot.