الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

شاشة تسجيل دخول اكثر أمانا ...

مغلق
بدأه ابوخالد العيدروس في 7 ديسمبر 2006 · 4 رد · 1,978 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ربما يستعمل الكثير منا في شاشة الدخول لبرامجه المقارنة العادية باستخدام المعامل يساوي ( = ) مع استخدام متغير من نوع string والذي كما نعلم ليس له حساسية على حالة الاحرف الانكليزية ( capital & small )..

لذلك قمت بكتابة Module بسيط يقوم بعمل تشييك على كلمة واسم المستخدم مع التركيز على حالة الاحرف بحيث حتى لو ادخل المستخدم كلمة باحرف صحيحة املائيا ولكن خطأ في حالتها فان البرنامج لايقبل تسجيل الدخول ..

علما بأنني في هذا البرنامج قمت بالتركيز على كلمة المرور وليس على اسم المستخدم .. لذلك ستلاحظون ان البرنامج لايهتم بحالة الاحرف بالنسبة لاسم المستخدم ..

ولقد ارفقت البرنامج للأستفادة ..

وان شاء الله يكون مفيد لكم

مع كامل الترحيب بالملاحظات الاضافات

وشكرا لكم

LoginClass.rar

1
#2

السلام عليكم

عمل يستحق الشكر و الثناء , إلى الامام استاذ أبوخالد

لدي بعض التعقيب على الكود كمنطق و قراءة أفضل.

أولاً: يفترض أن يكون اسم الـ Module يدل على مهامه مثلاً ExamineUserAcount

ثانياً : عندما نتعامل مع القيم النصية في عملية تجميعها أو ما يعرف بـ Concatenation

يفترض أن نستخدم & لعملية الجمع لا + لان الاخيرة تقوم بالمقارنة كونها معدة للقيم الرقمية لا النصية.

مثال على ذلك.

("SELECT " & FieldName & " FROM " & TableName, CON)

ثالثاً : المتغير TruePassword فيهِ إبهام كون الكلمة True قريبة من القيمة المنطقية Boolean

أبعد منها الى القيمة النصية لذلك كان يفترض أن يكون بالاسم StrongPassword

أو شيء مشابه لذلك, لكن لا يحمل اسم مدلوله لنوع غير النوع الذي هو عليه.

رابعاً : عند استخدام الكلمة Return فإن ما بعدها من اكواد سيكون دون جدوى ولا فائدة.

لماذا؟ لان هذه الكلمة تقوم بإجبار المترجم بالخروج من النطاق Block التي قُرِءت منه, لذلك الكلمة Exit Function

لا يقراءها المترجم إطلاقاً. وللمعلومية ( استخدام الكلمة Return أفضل بكثير من استخدام Exit )

خامساً : عند استخدام Itreation Variable يفضل أن يكون تعريفه في نفس الحلقة

(لزيادة عملية القراءة وتفهم الكود ) Readablity Concept , هذا النوع في مشروعك يمثله المتغير i

مثال على ذلك.

For i As Integer = 0 To MyPassword.Length - 1
				If MyPassword.Chars(i) <> TruePassword.Chars(i) Then
					Return False
				End If
			Next

سادساً : عند أختبار القيم المنطقية التي تعود أما بـ True OR False ,لا نحتاج لمعامل الرياضيات يساوي = و أنما يتم الاختبار بالمتغير نفسه أو الوظيفة نفسها

خصوصاً إذا كان البحث عن القيمة True أما إذا كان التحقق من القيمة False فضع فقط NOT

مثال على ذلك.

If LoginPassword("AUTH", "Pass", Me.txtPassword.Text, CON) Then
			MsgBox("تم تسجيل الدخول بنجاح")
		Else
			MsgBox("خطأ في كلمة المرور !!!")
		End If

هذه الطريقة أكثر إحكاماً More Compact

سابعاً : يفترض وهذا ينوه عليه بيئة التطوير 2005 باللون الاخضر أن اي متغير ينشئ لا بد أن تسند له قيمة مبدئية

مثال على ذلك.

Dim TruePassword As String = String.Empty

وعند تعريفنا لمتغير نصي أو مصفوفة يفترض أن نريح الذاكرة منه بعد استخدامه , بالنسبة للمتغير TruePassword

سنقوم بإخراجه من منطقة Try ليكون فوقها ثم نضع المنطقة Finally لنقوم بالتخلص من هذا المتغير بإسناد القيمة Nothing

لتقوم ماسحة المتغيرات الغير مرغوب فيها بالتخلص منه GC

مثال على ذلك.

 Dim TruePassword As String = String.Empty
		Try
			Dim rd As OleDbDataReader

Code Omitted Here

 Finally
			TruePassword = Nothing
		End Try

وفي الاخير وفقك الله لما فيه الخير و البركة.

تم تعديل هذه المشاركة بواسطة الغملاسي في 9 ديسمبر 2006 في 13:29

في المثال يتضح المقال

#3

استاذي الغملاسي

اولا: شرف لي ان تمر على موضوعي ..

ثانيا : اشكرك جزيل الشكر على ملاحظاتك القيمة وثق بأنني ساخذها في عين الاعتبار واستفيد منها ان شاء الله

وارجو من الاخوة الاعضاء خاصة الذين مروا على الموضوع ان ينورونا بآرائهم وملاحظاتهم حتى يستفيد الجميع

وشكرا جزيلا

#4

ابوخالد العيدروس شكراً جزيلا وجزاك الله خير

ونشكر أيضاً الاخ الغملاسي علي الملاحظات الطيبة

الله غايتنا

والرسول قدوتنا

والقرآن دستورنا

والجهاد في سبيل الله اسمى أمانينا

#5

لا شكر على واجب أحسن اللهُ إليكما.

للفائدة تم زيادة الملاحظات بملاحظتين وشكراً

تم تعديل هذه المشاركة بواسطة الغملاسي في 9 ديسمبر 2006 في 13:31

في المثال يتضح المقال

هذا الموضوع مغلق.

مواضيع مشابهة