01-11-13, 11:46 AM
(آخر تعديل لهذه المشاركة : 01-11-13, 11:48 AM {2} بواسطة ناجي إبراهيم.)
السلام عليكم...
إجابة 1 و 2: العتب على العادة (التعود) ! فمعظم خبرتي البرمجية اكتسبتها من خلال العمل على VB6.
= وجود علامة الدولار في نهاية اسم الدالة يعني أنها ستعيد String و ليس Variant (فيكون الأمر أسرع قليلاً و أقل استهلاكاً للذاكرة). و رغم أن VB.NET مازالت تدعم استعمال العلامة $ مع بعض الدوال (مثل الدالة $Space) فإن ذلك غير ضروري (حتى إذا حذفت العلامة فالدالة ستعيد String).
= بالطبع يمكنك تمرير العدد مياشرة إلى الدالة، لكنني شخصياً لا أحب استعمال ما يسمى بالأعداد السحرية (Magic Numbers) و هي الأعداد التي لا تعرف معناها إلا إذا سألت عنها! أما إذا عرفتها كثوابت فغالباً اسم الثابت يدل على المعنى أو الغرض المستعملة من أجله القيمة - ربما هذا ليس مهماً في هذا المثال القصير، لكنه يصبح مساعداً جداً عند العمل في برامج كبيرة ذات أكواد متعددة، حيث يصبح تذكر أسماء الثوابت أسهل من تذكر الأعداد، فمثلاً إذا استعملت الدالة ShowWindow لعرض نافذة فإني أستطيع أن أتذكر بسهولة الثابت SW_MAXIMIZE لعرضها مكبرة مع أني لا أتذكر قيمته.
إجابة 3: الجدول Global Atom Table هو جدول عام يمكن لكل البرامج الوصول إليه. لكن لا يوجد في دوال API دالة لمسح محتوياته أو قراءة كافة محتوياته. فالدوال المتوفرة للتعامل مع هذا الجدول هي:
= GlobalAddAtom لإضافة نص إلى الجدول و الحصول على رقم تعريف ذلك النص.
= GlobalFindAtom للبحث عن نص في الجدول و الحصول على رقم تعريف ذلك النص (أو صفر في حالة عدم وجود النص).
= GlobalGetAtomName للحصول على نص بمعلومية رقم تعريفه.
= GlobalDeleteAtom لحذف نص من الجدول بمعلومية رقم تعريفه.
و لا أعلم شيئاً غير ذلك حول هذا الجدول.
نرجو الاستفادة و السلام.
إجابة 1 و 2: العتب على العادة (التعود) ! فمعظم خبرتي البرمجية اكتسبتها من خلال العمل على VB6.
= وجود علامة الدولار في نهاية اسم الدالة يعني أنها ستعيد String و ليس Variant (فيكون الأمر أسرع قليلاً و أقل استهلاكاً للذاكرة). و رغم أن VB.NET مازالت تدعم استعمال العلامة $ مع بعض الدوال (مثل الدالة $Space) فإن ذلك غير ضروري (حتى إذا حذفت العلامة فالدالة ستعيد String).
= بالطبع يمكنك تمرير العدد مياشرة إلى الدالة، لكنني شخصياً لا أحب استعمال ما يسمى بالأعداد السحرية (Magic Numbers) و هي الأعداد التي لا تعرف معناها إلا إذا سألت عنها! أما إذا عرفتها كثوابت فغالباً اسم الثابت يدل على المعنى أو الغرض المستعملة من أجله القيمة - ربما هذا ليس مهماً في هذا المثال القصير، لكنه يصبح مساعداً جداً عند العمل في برامج كبيرة ذات أكواد متعددة، حيث يصبح تذكر أسماء الثوابت أسهل من تذكر الأعداد، فمثلاً إذا استعملت الدالة ShowWindow لعرض نافذة فإني أستطيع أن أتذكر بسهولة الثابت SW_MAXIMIZE لعرضها مكبرة مع أني لا أتذكر قيمته.
إجابة 3: الجدول Global Atom Table هو جدول عام يمكن لكل البرامج الوصول إليه. لكن لا يوجد في دوال API دالة لمسح محتوياته أو قراءة كافة محتوياته. فالدوال المتوفرة للتعامل مع هذا الجدول هي:
= GlobalAddAtom لإضافة نص إلى الجدول و الحصول على رقم تعريف ذلك النص.
= GlobalFindAtom للبحث عن نص في الجدول و الحصول على رقم تعريف ذلك النص (أو صفر في حالة عدم وجود النص).
= GlobalGetAtomName للحصول على نص بمعلومية رقم تعريفه.
= GlobalDeleteAtom لحذف نص من الجدول بمعلومية رقم تعريفه.
و لا أعلم شيئاً غير ذلك حول هذا الجدول.
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
