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

درس إستعمال المعامل Like مع 3 أمثلة

مغلق
بدأه mohdabdu في 27 يوليو 2007 · 0 رد · 1,120 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم معاشر الطلبة ، الدرس موجه للمبتدئين والمتوسطين إليكم الدرس:

إستعمال المعامل Like؟

-------------------------------------------------------------------------------------------------------------------------------------------------------

1- فائدة المعامل Like :

لو أردت صنع برنامج يتأكد من أن إسم المستخدم يحتوى على كلمة (عبد) ، مثل : عبد الله ، عبد الرحمن ، عبدالعزيز فماذا ستفعل؟ توجد أكثر من طريقة في فيجوال بيسك وأسهل هذه الطرق إستعمال المعامل Like .

لو كان لدى شركة ما موديلات يتم ترقيمها كالآتي (ثلاث أرقام_نوع البضاعة_mc) مثل الموديلات التالية : mc_mobile_745 ، mc_phone_581

وعندما يدخل العامل في هذه الشركة رقم الموديل يجب أن يطابق الصيغة السابقة ، فما هو الكود الذي ستستعمله لهذا الغرض؟

لو أردت أن تتأكد من أن القيمة التي ادخلها المستخدم لا تحتوي على الرمز $ ، فماذا ستفعل؟؟

---------------------------------------------------------------2- إليكم شرح المعامل Like ----------------------------------------------------------

يقوم هذا المعامل بالمقارنة بين قيمة ما وبين الصيغة التي يكتبها المبرمج بالطريقة التالية:

( صيغة البيانات المرادة Like قيمة التي تريد التحقق من طريقة كتابتها )

ويعود هذه المعامل بعد المقارنة بقيمتين منطقيتين هما True صحيح ، أو False خاطئ

وقبل الأمثلة لا بد أن تعرف أننا نستخدم ثلاث رموز لبناء صيغة البيانات ، حيث أن الرمز * يعني صفر أو أكثر من الحروف ، والرمز ؟ يعني حرف واحد فقط ، والرمز # لرقم واحد فقط

وبالمثال يتضح المقال

المثال 1 : برنامج يتأكد من أن إسم المستخدم يحتوي على كلمة عبد أو لا؟

أدرج مربع نص الذي ستتم كتابة إسم المتسخدم بداخله وأجعل إسمه Text1 ، وأدرج زر أوامر ثم أنقر عليه مرتين لكتابة الكود في الأسفل

	Dim blnIsAbd As Boolean
	blnIsAbd = Text1.Text Like "*عبد*"

	If blnIsAbd = True Then
		MsgBox ("إسمك يحتوي على كلمة عبد" & vbCr & "إسمك " & Text1.Text)
	ElseIf blnIsAbd = False Then
		MsgBox ("إسمك لا يحتوي على كلمة عبد" & vbCr & "إسمك " & Text1.Text)
	End If

شرح الكود :

السطر 1: يحجز متغير في الذاكرة نوعه منطقي Boolean ، أي أنه لا يقبل سوى قيمتين فقط True و False

2: جعلنا قيمة المتغير تساوي نتيجة المقارنة التي سيعود بها المعامل Like ، وكما تلاحظ عن يسار المعامل يوجد النص الي نريد التحقق من أنه مطابق للصيغة التي نريدها

وعند يمين المعامل الصيغة التي نريدها ، الصيغة كانت "*عبد*" ومعناها : إذا كان قبل الكلمة عبد صفر أو أكثر من الحروف وكان بعد الكلمة عبد صفر أو أكثر من الحروف فأجعل نتيجة

المقارنة True و إذا كان العكس فاجعل قيمة المقارنة False

السطور الباقية : نتحقق من قيمة المتغير blnIsAbd بواسطة التركيب If.....end if ، ويمكنك أيضا إستعمال Select Case وهو أقصر من التركيب السابق

، فإذا كانت قيمة المعامل True تظهر رسالة مفادها إسمك يحتوي على كلمة عبد ، العكس صحيح

قيم تعود بTrue مع المعامل لايك مثل : "عبدالله" ،"محمد عبد الرحمن" ، "للعبدوووعيل"

؟؟ لماذا القيمة الأخيرة تعود بناتج صحيح مع المعامل لايك؟؟ لأن قبل وبعد عبد حرف أو أكثر ، ما الحل؟شغل مخك، والعرض من المثال السابق كيفية التعامل مع المعامل Like

مثال 2 : التحقق من أن طريقة كتابة رقم الموديل مطابقة للصيغة (ثلاث أرقام_نوع البضاعة_mc)

أدرج مربع نص الذي ستتم كتابة رقم الموديل بداخله وأجعل إسمه Text1 ، وأدرج زر أوامر ثم أنقر عليه مرتين واكتب الكود التالي

Dim blnIsModel As Boolean
blnIsModel = Text1.Text Like "mc_*_###"

Select Case blnIsModel
	Case True
		MsgBox ("رقم موديل صحيح")
	Case False
		MsgBox ("رقم الموديل خاطئ")
End Select

المثال 3 : نريد التحقق من أن القيمة التي أدخلها المستخدم لا تحتوي على رمز $ ، لدينا طريقتين الأولى مشابهة للمثال الأول ، أما الثانية وهي الأهم فهي كما يلي:

أدرج مربع نص وزر أوامر وأنقر على زر الأوامر مرتين واكتب الكود التالي في حدث النقر الخاص بالزر

	Dim blnIsD As Boolean
	blnIsD = "$" Like "[" & Text1.Text & "]"
	MsgBox (blnIsD

)

أنظر إلى السطر الثاني ولاحظ أننا وضعنا قيمة مربع النص بين قوسين مربعين [ ] وجعلنا الرمز الذي نريد التأكد من وجوده أو خلوه يسار المعامل Like .

وهذه حالة خاصة وشرحها الوافي هو: إذا كان الحرف الموجود يسار المعامل يشبه أي حرف بين قوسين مربعين في يمين المعامل ، فإن التعبير كله سيكون صحيحا . والأقواس في هذه الحالة تتيح لك معرفة إن كان هناك حرف معين موجود بين عدة حروف أم لا.

الأمثلة مرفقة

انتهى الدرس ووفق الله الجميع لما يحبه ويرضاه

Like.rar

تم تعديل هذه المشاركة بواسطة mohdabdu في 27 يوليو 2007 في 14:32

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

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