بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته
الكاتب احمد جمال.
عادة ما لا تحتوي شاشة About والتي تظهر في مقدمة البرنامج أي أزرر تحكم ، ولذا نستطيع تكوين هذه الشاشة من اختيار القيمة 0-None من خاصية BrderStyle .
في هذه الحالة عادة ما يتم وضع Shape بمحيط الفورم بحيث يأخذ شكلاً جمالياً ، يمكن ايضاً جعل النافذة بارزة - وهذا ما سنقوم بعمله - ، ولهذا فإن علينا الإحتفاظ ببروز الفورم BorderStyle = 3-Fixedialog وذلك لمنع تغيير حجم الفورم مع اخفاء جميع أدوات التحكم وذلك بالشكل التالي :
* اضبط خاصية ControlBox = False .
* امسح جميع محتويات الخاصية Caption .
الخطوة الأخيرة هي جعل هذه الشاشة تظهر في المنتصف وذلك من خلال خاصية StartUp Position = Center Screen .
طريقة أخرى قياسية - لكننا لن نستخدمها في هذا البرنامج - وهي الضغط بزر الماوس الأيمن على الفورم ... Add ومن ثم Form ، واختر Splach Screen وسوف يظهر لك قالب بالشكل القياسي للشاشات الافتتاحية في ويندوز ... كل ما عليك تغيير الصورة والمعلومات فقط ومن ثم استخدامها فوراً .
نعود الآن لشاشتنا ... ولكل منا أسلوب في تصميمها ، ولقد صممت الشاشة بطريقة بسيطة جداً بحيث وضعت صورة أخي مصطفى Taftafمن منتدى vb4arab فقط .
وسنبدأ في التصميم البرمجي .
أول عنصر في التصميم البرمجي هو وقت اختفاء هذه الشاشة ، وعادة ما يتم اضافة Timer بزمن 2000 أو 3000 يتم بعده اخفاء هذه الشاشة واظهار الشاشة التالية .
هناك طريقة أخرى بعمل تأخير لأمر الاخفاء مدة معينة باستخدام Sleep مثلاً ، في البرامج الكبيرة لا يكون هناك تأخير ولكن في الواقع منذ ظهور هذه الشاشة يتم تحميل باقي عناصر البرنامج وبمجرد الانتهاء من هذه العملية يتم اخفاء الشاشة ، ولكن برنامجنا لن يأخذ وقتاً للتحميل أصلاً ولهذا أخرنا الشاشة بواسطة Timer .
والشاشة التالية في برنامجنا تنقسم إلى قسمين ، إذا كان البرنامج يعمل لأول مرة فستظهر له شاشة يدخل فيها معلوماته ومعلومات شركته ، وإلا فإن شاشة ادخال اسم المستخدم وكلمة المرور سوف تظهر .
ونستطيع عادة التعرف إن كانت هذه أول مرة أم لا بالعديد من الطرق ، منها تسجيل قيمة في الريجستري مع تشغيل البرنامج والتأكد من وجودها كل مرة ، إلا أن هذا يعني أنه إذا تم عمل
Format للجهاز فسوف يتم مسح هذه القيمة ، ولو شغلت البرنامج ولو على قاعدة البيانات القديمة فسوف يعتبر أنها المرة الأولى لتشغيل البرنامج .
من أجل ذلك سوف نعتمد في هذه الحالة على وجود سجل في جدول
Tb_User أم لا ، ولذا فإننا نقوم بعمل ارتباط لهذا الجدول مع
T4 .
رمز:
Set T4 = D1.OpenRecordset("Tb_User", dbOpenTable)
ومن ثم نتأكد من وجود سجل أم لا باستخدام خاصية
RecordCount والتي تحتوي على عدد السجلات ، وعلى أساس ذلك يتم التوجه إلى فورم التسجيل أو فورم كلمة المرور - في جميع الحالات سوف تظهر الشاشة الحاضنة كخلفية لهذه الشاشات . من أجل الشكل ولكنهم ليسوا من الأبناء .
لاحظ أنه في حالة وجود سجل سوف يتم ملء المصفوفة التي أنشأناها سابقاً
info(5) بمعلومات هذا الجدول .
وفي جميع الحالات سوف يتم تعطيل التايمر حتى لا يعمل لاحقاً ، وكذلك سوف نغلق الجدول ، وبذلك يكون الكود الكامل لهذا التايمر هو :
رمز:
Private Sub Timer1_Timer()
Set T4 = D1.OpenRecordset("Tb_User", dbOpenTable)
MDIForm1.Show
Unload Me
If T4.RecordCount = 0 Then
T4.Close
Frm_NewUser.Show 1
Else
Info(0) = T4!User_Name
Info(1) = T4!PassWord
Info(2) = T4!Name
Info(3) = T4!Telephone
Info(4) = T4!More
T4.Close
Frm_Login.Show 1
End If
End Sub
وسوف نتعرف على تصميم شاشتي
New User و
Log in في الدرس القادم بإذن الله