delphi4arab منتديات دلفي للعرب
ما معنى Nil في دلفي ؟ - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : ما معنى Nil في دلفي ؟ (/showthread.php?tid=356)



ما معنى Nil في دلفي ؟ - AL-MOB4RM3G - 28-12-2008

السلام عليكم ورحمة الله

اخواني الكرام

بخصوص كلمة نيل NIL nil
ما ماعني هذه الكلمة ؟

مثلا
كود :
Edit:=FindWindowEx(Panel,0,'Edit',nil);
اراهاه كثيرا في درس الأخ عندما شرح امر الهاندل

نعم بارك الله فيكم..


ما معنى Nil في دلفي ؟ - محمد عبد العزيز - 28-12-2008


فرضا لدينا متغير x من نوع Integer
كود :
Var x : Integer;
قمنا يتعريف المتغير كما فوق
لكن السؤال الان، ماهي قيمة x ؟
لم نستعمله بعد، قيمته فرضا ستكون صفر اي 0

الان ان كان لدينا متغير من نوع مؤشر Pointer
ولم نستعمله بعد ماذا ستكون قيمته ؟
لن تكون صفر لانه ليس عدد بل ستكون Nil
Nil تعني ان مؤشرنا لايؤشر على شيئ!

وقس على مكونات دلفي عامة، عند تعرف اي مكون وعدم انشائت قيمته تكون Nil
اي المكون معرف لكنه غير موجود ول ايمكن استخدامه الابعد انشائه

مثال برنامج لديك 4 مكونات Form
المكونات يتم انشاءها واحدة تلو الاخرى (انظر لمحتوى Project لتعرف الترتيب)
تخيل ان ال Form2 تستدعي Form4
لكن Form2 يتم انشائها قبل Form4 وهذا قد يحدث خطأ اثناء التنفيذ

الحل هو استخدام Nil (التحقق من انشاء الفورم) قبل استدعائها
بدلا من كتابة
كود :
Form4.show
نكتب
كود :
if Form4<>Nil then Form4.Show;
ان شاء الله تكون الفكرة وصلت
والسلام عليكم



ما معنى Nil في دلفي ؟ - AL-MOB4RM3G - 28-12-2008

نعم بارك الله لك...
الشرح واضح وضوح الشمس ما شاء الله...

يعني ال Nil مثل ال 0 لكن للأغراض التي لا يمكن ان اكتب 0 عليها...
يعني هي صعب تعريفها ... لكن الفكرة واضحة ولله الحمد...

بارك الله فيك


ما معنى Nil في دلفي ؟ - S.FATEH - 24-03-2015

السلام عليكم
Nil هو قيمة مؤشر (pointer value) معرف على انه قيمة غير معرفة.
PHP كود :
ShowMessage(Format('%p', [nil])); 
النتيجة : قيمته 00000000
PHP كود :
ShowMessage(Format('%d', [SizeOf(nil)])); 
النتيجة : حجمه 4 bytes
و هذا هو Nil يعرف عن نفسه Cool

PHP كود :
MessageDlg(Format('delphi4arab.net|S.FATEH'+#13#10+'I am nil i''m pointer value defined as undetermined' + #13#10 +'My size is: %d Bytes'+#13#10+'My value is: %p', [SizeOf(nil), nil]), mtInformation, [mbOK], -1); 

[صورة: pointer_zpsmhpajlup.png]


ما معنى Nil في دلفي ؟ - مهند الرسيني - 24-03-2015

إضافة
Nil يكون بحجم 4 Bytes في الأنظمة 32Bit و بحجم 8 Bytes في أنظمة 64Bit