Η εφαρμογή MainFormof a Delphi είναι μια μορφή (παράθυρο) που είναι η πρώτη που δημιουργήθηκε στο κύριο σώμα της εφαρμογής. Εάν πρέπει να εφαρμόσετε κάποιο είδος εξουσιοδότησης για την εφαρμογή Delphi, ίσως χρειαστεί να εμφανίσετε ένα παράθυρο διαλόγου σύνδεσης / κωδικού πρόσβασης πριν δημιουργηθεί και εμφανιστεί η κύρια φόρμα στον χρήστη. Με λίγα λόγια, η ιδέα είναι να δημιουργήσετε, να εμφανίσετε και να καταστρέψετε το παράθυρο διαλόγου "σύνδεση" πριν δημιουργήσετε την κύρια φόρμα.
Το Delphi MainForm
Όταν δημιουργείται ένα νέο πρόγραμμα Delphi, το "Form1" γίνεται αυτόματα η τιμή της ιδιότητας MainForm (της συνολικής Εφαρμογή αντικείμενο). Για να εκχωρήσετε μια διαφορετική φόρμα στην ιδιότητα MainForm, χρησιμοποιήστε τη σελίδα Forms της Έργο> Επιλογές παράθυρο διαλόγου κατά την ώρα σχεδιασμού. Όταν ολοκληρωθεί η κύρια φόρμα, η εφαρμογή τερματίζεται.
Διασύνδεση σύνδεσης / κωδικού πρόσβασης
Ας ξεκινήσουμε δημιουργώντας την κύρια μορφή της εφαρμογής. Δημιουργήστε ένα νέο έργο Delphi που περιέχει μια φόρμα. Αυτή η φόρμα είναι, από την άποψη του σχεδιασμού, η κύρια μορφή.
Αν αλλάξετε το όνομα της φόρμας σε "TMainForm" και αποθηκεύσετε τη μονάδα ως "main.pas", το του πηγαίου κώδικα του έργου μοιάζει με αυτό (το έργο αποθηκεύτηκε ως "PasswordApp"):
πρόγραμμα PasswordApp;
χρήσεις
Μορφές,
κύριος σε 'main.pas' {MainForm};
{$ R * .res}
ξεκινήσει
Εφαρμογή. Αρχικοποιήστε.
Εφαρμογή. ΔημιουργίαForm (TMainForm, MainForm);
Εφαρμογή. Τρέξιμο;
τέλος.
Τώρα, προσθέστε μια δεύτερη φόρμα στο έργο. Με τη σχεδίαση, η δεύτερη μορφή που έχει προστεθεί παρατίθεται στη λίστα "Αυτόματη δημιουργία φορμών" στο παράθυρο διαλόγου "Επιλογές έργου".
Ονομάστε τη δεύτερη φόρμα "TLoginForm" και καταργήστε την από τη λίστα "Αυτόματη δημιουργία φορμών". Αποθηκεύστε τη μονάδα ως "login.pas".
Προσθέστε μια ετικέτα, Επεξεργασία και κουμπί στη φόρμα, ακολουθούμενη από ένα class μέθοδο για να δημιουργήσετε, να εμφανίσετε και να κλείσετε το παράθυρο διαλόγου σύνδεσης / κωδικού πρόσβασης. Η μέθοδος "Εκτέλεση" επιστρέφει αληθής αν ο χρήστης έχει εισαγάγει το σωστό κείμενο στο πλαίσιο κωδικού πρόσβασης.
Εδώ είναι ο πλήρης πηγαίος κώδικας:
μονάδα Σύνδεση;
διεπαφή
χρήσεις
Windows, Μηνύματα, SysUtils, Παραλλαγές, Μαθήματα,
Γραφικά, έλεγχοι, φόρμες, διαλόγους, StdCtrls;
τύπος
TLoginForm = τάξη(TForm)
LogInButton: TButton;
pwdLabel: TLabel;
passwordEdit: TEdit;
διαδικασία LogInButtonClick (αποστολέας: TObject);
λειτουργία publicclass Εκτέλεση: boolean;τέλος;
εκτέλεση{$ R * .dfm}
class TLoginForm. Εκτέλεση: boolean;ξεκινάω με TLoginForm. Δημιουργώ(μηδέν) dotry
Αποτέλεσμα: = ShowModal = mrOk;
τελικά
Ελεύθερος;
τέλος; τέλος;
διαδικασία TLoginForm. LogInButtonClick (αποστολέας: TObject), από την αρχή κωδικού πρόσβασηςEdit. Κείμενο = 'delphi' έπειτα
ModalResult: = mrOK
αλλού
ModalResult: = mrAbort;
τέλος;
τέλος.
Η μέθοδος Εκτέλεσης δημιουργεί δυναμικά μια εμφάνιση του TLoginForm και εμφανίζει τη χρήση του ShowModal μέθοδος. Το ShowModal δεν επιστρέφει μέχρι να κλείσει η φόρμα. Όταν η φόρμα κλείνει, επιστρέφει την τιμή του ModalResult ιδιοκτησία.
Ο χειριστής συμβάντων "LogInButton" OnClick εκχωρεί "mrOk" στην ιδιότητα ModalResult αν ο χρήστης έχει εισαγάγει τον σωστό κωδικό πρόσβασης (ο οποίος είναι "delphi" στο παραπάνω παράδειγμα). Εάν ο χρήστης έχει δώσει λάθος κωδικό πρόσβασης, το ModalResult έχει οριστεί σε "mrAbort" (μπορεί να είναι οτιδήποτε εκτός από το "mrNone").
Ορισμός μιας τιμής στην ιδιότητα ModalResult κλείνει τη φόρμα. Εκτέλεση επιστρέφει true αν το ModalResult ισούται με το "mrOk" (αν ο χρήστης έχει εισάγει τον σωστό κωδικό πρόσβασης).
Μην δημιουργήσετε το MainForm πριν από την είσοδο
Τώρα πρέπει μόνο να βεβαιωθείτε ότι η κύρια φόρμα δεν δημιουργείται αν ο χρήστης δεν έδωσε τον σωστό κωδικό πρόσβασης.
Ακολουθεί ο τρόπος εμφάνισης του πηγαίου κώδικα του έργου:
πρόγραμμα PasswordApp;
χρήσεις
Μορφές,
κυρίως στο 'main.pas' {MainForm},
συνδεθείτε στο 'login.pas' {LoginForm};
{$ R * .res}
αρχικά TLoginForm. Εκτέλεση τότε αρχίζει
Εφαρμογή. Αρχικοποιήστε.
Εφαρμογή. ΔημιουργίαForm (TMainForm, MainForm);
Εφαρμογή. Τρέξιμο;
endelsebegin
Εφαρμογή. MessageBox ('Δεν έχετε εξουσιοδότηση να χρησιμοποιήσετε την εφαρμογή. Ο κωδικός πρόσβασης είναι "delphi". "," Προστασία με κωδικό πρόσβασης Delphi ");
τέλος; τέλος.
Σημειώστε τη χρήση του αν έπειτα αλλού για να καθορίσετε εάν θα πρέπει να δημιουργηθεί η κύρια φόρμα. Εάν το "Execute" επιστρέφει ψευδές, το MainForm δεν δημιουργείται και η εφαρμογή τερματίζεται χωρίς να ξεκινήσει.