السلام عليكم ورحمة الله وبركاته
اخواني آمل افادتي وتوضيح هذه الجملة الشرطية
If Not x Is Nothing
المتعارف عليه هو
if x
لكن الالتباس هي اضافة not قبل اسم المتغير
ايضاً ما فائدة Nothing ؟
ولكم جزيل الشكر
السلام عليكم ورحمة الله وبركاته
اخواني آمل افادتي وتوضيح هذه الجملة الشرطية
If Not x Is Nothing
المتعارف عليه هو
if x
لكن الالتباس هي اضافة not قبل اسم المتغير
ايضاً ما فائدة Nothing ؟
ولكم جزيل الشكر
السلام عليكم ورحمة الله وبركاته
السؤال ينقسم شقين الأول عن معنى Nothing والثانى فائدة Not
نبدأ على بركة الله بمعنى Nothing وهى تعنى ببساطة أن المتغير أو الكائن Object غير مهيأ للاستخدام انظر المثال التالى
Dim x As Button
فى السطر السابق أنت أعلنت عن متغير اسمه x وسيكون نوعه Button لكنه غير قابل للاستخدام حتى هذه اللحظة لأنه غير مهيأ أو معد
ولجعل الكائن أو المتغير جاهزاً للعمل يجب استخدام كلمة New سواء فى نفس السطر أو فى سطر آخر بإحدى الطريقتين التاليتين
Dim x As Button
X = New Button
أو فى سطر واحد هكذا
Dim x As New Button
ملحوظة: يمكنك تجهيز الكائن للعمل أيضاً إذا ساويته بكائن آخر مجهز مثل
x = y
بفرض أن y من نفس نوع x وأنه جاهز للعمل
ملحوظة هامة جدا: لقد استخدمت مجازاً اسم كائن للتسهيل ولكن من درس البرمجة الشيئية (الكائنية) Object Oriented Programming جيداً سيعرف أن هناك فرق بين الكائن الحقيقى وبين المشير Reference ولكن ليس هذا موضوعنا فى هذه اللحظة، إنما أردت التنويه لذلك حتى لا يلتبس الأمر على من درس البرمجة الشيئية OOP
الخلاصة: لا تستطيع استخدام أى كائن إلا بعد تجهيزه للعمل سواء باستخدام كلمة New (فى نفس السطر أو سطر آخر)، أو بمساواته مع كائن آخر مجهز
بالتوفيق للجميع
تم تعديل هذه المشاركة بواسطة ema2000_t في 7 أكتوبر 2013 في 14:11
أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا
Dr Sayed Tohamy
Programming Instructor
مدرب برمجة
---------------
EmaSoft2000
-------------------
السلام عليكم ورحمة الله وبركاته
بخصوص الشق الثانى من السؤال وهو فائدة Not
وهى تسأل عن عكس الشرط
بمعنى ربما يكون عندك شرط إذا كان المتغير يساوى 5 ينفذ أكواداً معينة مثل
Dim X = 5
If X = 5 Then
MessageBox.Show(X)
End If
ولكن ماذا لوأنك تريد تنفيذ أكواد معينة عندما لا تكون قيمة x مساوية 5
فى هذه الحالة تستخدم Not لعكس الشرط
If Not X = 5 Then
MessageBox.Show(x)
End If
فى الحالة الثانية لن يعرض الرسالة فقط عندما القيمة لا تساوى 5
ويمكنك استخدام Not مع NoThing للتأكد من أن الكائن مجهز للعمل فيمكنك استخدامه
Dim B As Button
If Not B Is NoThing Then
MessageBox.Show(B.Text)
End If
فى الكود السابق أنت تطمئن أن الكائن ليس فارغاً Not NoThing فيمكنك استخدامه ولن يعطيك خطأ لأنه لو كان NoThing لا يمكن استخدامه
أدعو الله بالتوفيق للجميع
تم تعديل هذه المشاركة بواسطة ema2000_t في 7 أكتوبر 2013 في 14:22
أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا
Dr Sayed Tohamy
Programming Instructor
مدرب برمجة
---------------
EmaSoft2000
-------------------