مثير للإعجاب

دلفي نموذج تسجيل الدخول

دلفي نموذج تسجيل الدخول

MainForm لتطبيق Delphi هو نموذج (نافذة) هو الأول الذي تم إنشاؤه في النص الرئيسي للتطبيق. إذا كنت بحاجة إلى تطبيق نوع من التفويض لتطبيق Delphi ، فقد ترغب في عرض مربع حوار تسجيل الدخول / كلمة المرور قبل إنشاء النموذج الرئيسي وعرضه على المستخدم. باختصار ، تتمثل الفكرة في إنشاء وعرض وتدمير مربع حوار "تسجيل الدخول" قبل إنشاء النموذج الرئيسي.

دلفي مينفورم

عندما يتم إنشاء مشروع دلفي جديد ، يصبح "Form1" تلقائيًا قيمة خاصية MainForm (للعامة الوضعية موضوع). لتعيين نموذج مختلف لخاصية MainForm ، استخدم صفحة النماذج في مشروع> خيارات مربع الحوار في وقت التصميم. عند إغلاق النموذج الرئيسي ، يتم إنهاء التطبيق.

مربع حوار تسجيل الدخول / كلمة المرور

لنبدأ بإنشاء النموذج الرئيسي للتطبيق. إنشاء مشروع دلفي جديد يحتوي على نموذج واحد. هذا النموذج ، حسب التصميم ، هو الشكل الرئيسي.

إذا قمت بتغيير اسم النموذج إلى "TMainForm" وحفظت الوحدة كـ "main.pas" ، فسيظهر رمز مصدر المشروع بهذا الشكل (تم حفظ المشروع باسم "PasswordApp"):

برنامج PasswordApp.

الاستخدامات

إستمارات،

الأساسية في 'main.pas' {MainForm}؛

{$ R * .res}

ابدأ

Application.Initialize.

Application.CreateForm (TMainForm ، MainForm) ؛

Application.Run.

النهاية.

الآن ، أضف نموذجًا ثانيًا إلى المشروع. حسب التصميم ، يتم إدراج النموذج الثاني الذي تمت إضافته في قائمة "إنشاء النماذج تلقائيًا" في مربع الحوار "خيارات المشروع".

اسم النموذج الثاني "TLoginForm" وإزالته من قائمة "إنشاء النماذج تلقائيًا". احفظ الوحدة باسم "login.pas".

إضافة تسمية ، تحرير ، وزر في النموذج ، متبوعًا بطريقة فصل لإنشاء حوار تسجيل الدخول / كلمة المرور وإظهاره وإغلاقه. تُرجع الطريقة "تنفيذ" بشكل صحيح إذا قام المستخدم بإدخال النص الصحيح في مربع كلمة المرور.

إليك شفرة المصدر الكاملة:

وحدة تسجيل الدخول؛

جهة تعامل

الاستخدامات

ويندوز ، الرسائل ، SysUtils ، المتغيرات ، فئات ،

الرسومات ، الضوابط ، النماذج ، الحوارات ، StdCtrls ؛

نوع

TLoginForm = صف دراسي(TForm)

LogInButton: TButton؛
pwdLabel: TLabel؛
passwordEdit: TEdit؛
الإجراء LogInButtonClick (المرسل: TObject) ؛

وظيفة publicclass تنفيذ: منطقية.النهاية;

التنفيذ{$ R * .dfm}

وظيفة الطبقة TLoginForm.Execute: منطقية؛إبتدئ ب TLoginForm.Create (صفر) dotry

النتيجة: = ShowModal = mrOk؛

أخيرا

حر؛

الغاية؛ الغاية؛

إجراء TLoginForm.LogInButtonClick (المرسل: TObject) ؛ startif passwordEdit.Text = 'delphi' ثم

ModalResult: = mrOK

آخر

ModalResult: = mrAbort؛

النهاية؛

النهاية.

الأسلوب Execute بشكل حيوي بإنشاء مثيل TLoginForm ويعرضها باستخدام ShowModal طريقة. لا يُرجع ShowModal حتى يتم إغلاق النموذج. عند إغلاق النموذج ، تقوم بإرجاع قيمة ModalResult خاصية.

يعين معالج الأحداث "LogInButton" OnClick "mrOk" لخاصية ModalResult إذا قام المستخدم بإدخال كلمة المرور الصحيحة (والتي هي "delphi" في المثال أعلاه). إذا قدم المستخدم كلمة مرور خاطئة ، فسيتم تعيين ModalResult على "mrAbort" (يمكن أن يكون أي شيء باستثناء "mrNone").

تعيين قيمة إلى الخاصية ModalResult يغلق النموذج. تنفيذ الإرجاع صحيح إذا ModalResult يساوي "mrOk" (إذا كان المستخدم قد أدخل كلمة المرور الصحيحة).

لا تقم بإنشاء MainForm قبل تسجيل الدخول

تحتاج فقط الآن إلى التأكد من عدم إنشاء النموذج الرئيسي إذا فشل المستخدم في توفير كلمة المرور الصحيحة.

إليك كيفية ظهور شفرة المصدر الخاصة بالمشروع:

برنامج PasswordApp.

الاستخدامات

إستمارات،

main في 'main.pas' {MainForm} ،

تسجيل الدخول في 'login.pas' {LoginForm} ؛

{$ R * .res}

beginif TLoginForm.Execute thenbegin

Application.Initialize.

Application.CreateForm (TMainForm ، MainForm) ؛

Application.Run.

endelsebegin

Application.MessageBox ('غير مصرح لك باستخدام التطبيق. كلمة المرور هي "delphi". "،" Password Protected Delphi application ") ؛

نهاية، نهاية.

لاحظ استخدام كتلة if إذا كان الأمر كذلك لتحديد ما إذا كان يجب إنشاء النموذج الرئيسي أم لا. في حالة إرجاع "تنفيذ" خطأ ، لا يتم إنشاء MainForm وينتهي التطبيق دون البدء.