![]() |
|
الدرس السابع - تصميم شاشة New User - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90) +--- قسم : قسم دورات المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=113) +---- قسم : دورة بناء برنامج لإدارة السوبر ماركت من الألف إلى الياء (http://vb4arb.com/vb/forumdisplay.php?fid=128) +---- الموضوع : الدرس السابع - تصميم شاشة New User (/showthread.php?tid=5695) |
الدرس السابع - تصميم شاشة New User - RaggiTech - 15-10-12 كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته . تصميم شاشة New User .
في هذه الشاشة سوف نلغي خاصيتي التكبير والتصغير من الفورم عن طريق ضبط خاصية BorderStyle للفورم بحيث تصبح = 1 .
أيضاً سيعد ضغط زر X بمثابة اغلاق البرنامج ، لذلك لا بد من كتابة ذلك في حدث Unload للفورم بالشكل التالي : كود : [align=right]Private Sub Form_Unload(Cancel As Integer)والآن صمم الشاشة كما يحلو لك ، مع وجود خمسة مربعات ادخال للاسم - كلمة المرور - اسم المحل - التلفون - العنوان ، وزرين لالغاء الامر وللاستمرار .
لا تنس أن تعدل خاصية Caption للفورم بحيث تصبح ( تسجيل مستخدم جديد ) أو ما شابه ، لن يكون سيئاً أن تكتب التاريخ أيضاً . لكتابة التاريخ في خاصية Caption للفورم اكتب الأمر التالي في حدث Form_Load : Me.Caption = " تسجيل مستخدم جديد " & DateTime.Date
كذلك اضبط خاصية RightToLeft بحيث تساوي True ، وذلك كما أسلفنا عند الحديث عن تصميم البرمجيات العربية .
ملاحظات سريعة : * لا تنس أنه لكي تنشأ مربع نص خاص بكتابة كلمة السر اضبط خاصية PasswordChar إلى الحرف الذي تريد له أن يظهر بدل كلمة السر - غالباً * - .
* لا تنس أيضاً أنه لكي تنشأ حقل لكتابة ملاحظات ( حقل
More بالنسبة إلينا ) فلا بد من ضبط خاصية MultiLine بحيث تصبح True وذلك لنستطيع الكتابة على أكثر من سطر .
* أيضاً يمكنك التحكم في ظهور أشرطة التمرير من عدمها من خلال خاصية
ScrollBars
نعود الآن لحدث التحميل لهذا الفورم ، فاضافة لتغيير خاصية Caption للفورم وقت التنفيذ ، فإبمكاننا أيضاً وضع اسم مستخدم الجهاز ( افتراضياً ) في خانة ( اسم المستخدم ) .
نقوم بذلك بالشكل التالي : أولاً . استدعي دالة GetComputerNameA من مكتبة kernel32 في الموديول بالشكل التالي :
كود : [align=right]Public Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long[/align]أو تستطيع تعريفها في الفورم بالشكل التالي :
كود : Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Longلكننا عرفناها في الموديول لأننا قد نحتاج إليها لاحقاً في أماكن أخرى . وهذا الدالة أحد دوال API في الويندوز والتي تعطينا اسم المستخدم المسجل في جهاز الكومبيوتر . ثانياً : الآن ضع الأمر التالي في حدث Form_Load :
كود : [align=right]Dim A As String * 256نعود مرة أخرى ، وكما ذكرنا أن ضغط زر ( الغاء الأمر ) يعني الخروج من البرنامج ، لذلك سنكتب End في الحدث الخاص بها .
لكن ماذا عن ضغط زر موافق ؟ سنقوم بمهمتين : * المهمة الأولى التأكد من المدخلات . * المهمة الثانية هي اضافة المدخلات في حالة كانت صحيحة . وبما أن الغرض من هذه الدروس التعليم ، وبناء على طلب الإخوة من أعضاء vb4arab سوف نقوم بعمل دالة نمرر لها قيم الحقول الخمسة ، وتعيد -1 في حالة وجود أي خطأ - لتعلم أسلوب الدوال في فيجوال بيسك - . لن أتوسع في شرح أنواع الارسال - وفي حالة وجود وقت سوف أشرح الامر في درس منفصل ولكن لاحقاً - لكننا سنكتب صيغة هذه الدالة : * لاحظ أنها دالة Function ( لانها تعيد قيمة ) وليست اجراء Sub أو Prcedure . كود : [align=right]Private Function Check(A, B, C, D, E)حيث أن كل حرف يمثل أحد قيم مربعات النص .
*** طبعاً المفروض تسميها اسماء واضحة في برامجك الجدية علشان متتوهش وسط الكود ... المهمة الأولى هي التأكد من وجود الاسم ، كلمة المرور ، كون كلمة المرور بين 3 و 12 حرف . وفي حالة وجود أي خطأ سوف أعيد القيمة - 1 . ونعيد القيمة من الدالة بمعنى أن نجعل اسم الدالة = القيمة التي نرغب باعادتها . سنكتب الكود للمهمة الأولى والذي سيكون بالشكل التالي : كود : [align=right]If A = "" Thenالمهمة الثانية هي وضع قيم افتراضية للحقول المتبقية في حالة لم يقم المستخدم بادخالها ، وذلك بالشكل التالي :
كود : [align=right]If C = "" Then* تذكر أن
VbNewLine مع TextBox أو Chr(13) عموماً تنقلنا لسطر جديد ، حيث أن رقم 13 يقابل زر Enter في جدول آسكي Ascii .
نعود الآن إلى تصميم زر موافق ، وسنبدأ باستدعاء الدالة ووضع القيمة التي ترجعها في متغير :
كود : [align=right]Dim Y As Integerإذا وجدنا أن قيمة Y هي -1 فإننا نخرج ، وإلا فإننا سوف نضيف المستخدم وذلك باستدعاء ( الإجراء هذه المرة ) Add_User .
كود : [align=right]If Y = -1 Then Exit Subوالآن سوف نقوم ببرمجة الإجراء Add_User والذي سيحتوي على فتح جدول المستخدمين في البداية بالشكل التالي :
كود : [align=right]Set T4 = D1.OpenRecordset("Tb_User", dbOpenTable)[/align]ثم نبدأ باضافة سجل جديد بالشكل التالي :
كود : [align=right]T4.AddNew[/align]ومن ثم نبدأ باسناد القيم المختلفة للحقول بالشكل التالي :
كود : [align=right]T4!User_Name = Text1.Textومن ثم نقوم بحفظ السجل .
كود : [align=right]T4.Update[/align]ثم نقوم بنفس العمليات التي تحدث عند وجود قاعدة بيانات ، فنضع القيم المختلفة للقاعدة في المصفوفة ، ونغلق قاعدة البيانات .
كود : [align=right]Info(0) = T4!User_Nameالدرس السابع - تصميم شاشة New User - RaggiTech - 15-10-12 لا تنس بعد ذلك أن تذكره بكلمة المرور التي أدخلها كيلا ينساها ، اظهر له رسالة بها :
كود : MsgBox "لا تنس أن كلمة المرور هي : " & Info(1), vbInformation + arabic, "تذكير بكلمة المرور"أخيراً نقوم بانشاء دالة في Module اسمها Start وتحتوي على الأوامر الرئيسية التي تحدث عند بداية تشغيل البرنامج ، وهو ما سوف نقوم بعمله لاحقاً . كود : [align=right]Public Sub Start()ونستدعيها في دالة Add_New بعد الشاشة الحالية .
كود : [align=right]Me.Hideولن ننسى بالطبع جعل بعض الحقول لا تقبل إلا أرقاماً فقط ، مثل رقم الهاتف بالشكل التالي :
كود : [align=right]Private Sub Text4_KeyPress(KeyAscii As Integer)ويمكنك تطوير الأمر السابق كما أشرنا إلى ذلك في دروس سابقة .
بهذا نكون قد انتهينا من تصميم شاشة NewUser - مستخدم جديد . والله الموفق ... والسلام عليكم ورحمة الله وبركاته . |