الخالد
27 Jul 2002, 09:01 PM
الأخوة الأعزاء ...
السلام عليكم
في الموضوع السابق (المسارات)
http://saven7.com/vb/showthread.php?s=&threadid=11291
تعرفنا على طريقة مخاطبة الكليبات عندما تكون متداخلة ( متعششة) ، أو بمعنى آخر عندما يكون هناك كليب يمثل ( الوالد parent ) يضم كليب آخر وربمى هناك كليب ثالث محتوى في الثاني ... وهكذا ، فقلنا أن طريقة التخاطب تتم من الأكبر إلى الأصغر ( الوالدparent إلى الطفل Child ) وذلك بذكر اسم الكليب الأكبر ثم الأصغر منه ... وهكذا ، حتى الوصول للهدف المقصود ، وإذا كان ما قلته غير مفهوم فيمكن الرجوع لتوضيح الأخ / كلاشن كوف في الرابط السابق فقد وضح المقصود بمثال بسيط ومفهوم.
الآن أود أن أوضح طريقة الخطاب العكسي ، أقصد كيف مثلا في التطبيق التالي أجعل الزر(3) الموجود في الكليبB أن يخفي الكليب A ( لاحظ أن الكليب A يمثل الأب للكليب B ) .
الطريقة : هي ذكر pariet_ قبل الكليب B ووضعه في الزر(3) ، أي :
parent._visible = false_
width = 500 height = 400
أما إذا أردنا من الزر(4) إخفاء الكليبA ( نفس التطبيق السابق) فكأن المطلوب الانتقال مستويين لأعلى ، إذن ما علينا سوى كتابة parent مرتين :
parent._parent._visible = false_
طبعاً الطريقة واضحة لو كان لدينا مستويات أكثر...
السؤال الآن : هل بالضرورة وجود التعشيش؟ ، أعني هل يجب أن يكون كليب داخل كليب داخل كليب ...؟ . الجواب لأ
لنفرض وجود كليب رئيسي main ( أب parent ) ويضم هذه المرة كليبين A , B لهم نفس المستوى ، ولكن الكليب B يضم داخله الكليب C ( الكليب B أب للكليب C )
لنرى كيف التعامل مع هذه الحاله:
لإخفاء الكليب A من خلال الزر (2) أولاً يجب الخروج إلى مستوى الكليب ( الأب ) ثم الذهاب إلى الكليب فنخفيه ، هذا هو مسار التخاطب بين الزر(2) الموجود في الكليب B وبين الكليب B :
parent.A ِِِِِِ._visible = false_
أنظر التطبيق:
width = 500 height = 400
لو أردنا إخفاء الكليب C من خلال الزر (1) فيجب أولاً الذهاب لمستوى الأب main ثم الذهاب للكليب B وبعده الذهاب للكليب C فيتم إخفائه ( نفس التطبيق أعلاه ):
parent.B.C ِِِِِِ._visible = false_
أخيراً كيف يمكن إخفاء الكليب A من خلال الزر (3) الموجود في الكليب C :
أولاً نخرج إلى مستوى الكليب B وهو يمثل أب للكليب C وطبعاً باستخدام parent_ ثم الذهاب للمستوى الرئيسي وهو يمثل أيضاً أب ، إذا نستخدم parent_ وفي المستوى الرئيسي يمكن الآن مخاطبة الكليب A ويمكن إخفائه :
parent._parent._.A._visible = false_
(انظر نفس التطبيق أعلاه)
لقد رأينا كيف مخاطبة الكليبات من مستوى أعلى إلى مستوى أدنا ، ورأينا كيف فعل العكس ، يبقى الآن معرفة نوع من المسارات , وهو المسار العام أو المسار المطلق ( absolute path ) وهو المسار الذي يمكن استخدامه من اي مكان في الموفي كليب.
فمثلاً لإخفاء الكليبA من أي زر فكل ما عليك هو استخدام المسار المطلق وذلك عن طريق كتابة root_ قبل اسم الكليب المطلوب خطابه :
root.A ِِِِِِ._visible = false_
باستخدام المسار المطلق(root_ ) يمكن الاتصال بجميع الكليبات ، فالأمثلة الثلات المرتبطة بالتطبيق السابق يمكن صياغتها عن طريق المسار المطلق كالتالي:
root.A ِِِِِِ._visible = false_
root.A ِِِِِِ.B._visible = false_
root.B.C ِِِِِِ._visible = false_
شكراً أخوتي وإلى اللقاء في موضوع جديد
السلام عليكم
في الموضوع السابق (المسارات)
http://saven7.com/vb/showthread.php?s=&threadid=11291
تعرفنا على طريقة مخاطبة الكليبات عندما تكون متداخلة ( متعششة) ، أو بمعنى آخر عندما يكون هناك كليب يمثل ( الوالد parent ) يضم كليب آخر وربمى هناك كليب ثالث محتوى في الثاني ... وهكذا ، فقلنا أن طريقة التخاطب تتم من الأكبر إلى الأصغر ( الوالدparent إلى الطفل Child ) وذلك بذكر اسم الكليب الأكبر ثم الأصغر منه ... وهكذا ، حتى الوصول للهدف المقصود ، وإذا كان ما قلته غير مفهوم فيمكن الرجوع لتوضيح الأخ / كلاشن كوف في الرابط السابق فقد وضح المقصود بمثال بسيط ومفهوم.
الآن أود أن أوضح طريقة الخطاب العكسي ، أقصد كيف مثلا في التطبيق التالي أجعل الزر(3) الموجود في الكليبB أن يخفي الكليب A ( لاحظ أن الكليب A يمثل الأب للكليب B ) .
الطريقة : هي ذكر pariet_ قبل الكليب B ووضعه في الزر(3) ، أي :
parent._visible = false_
width = 500 height = 400
أما إذا أردنا من الزر(4) إخفاء الكليبA ( نفس التطبيق السابق) فكأن المطلوب الانتقال مستويين لأعلى ، إذن ما علينا سوى كتابة parent مرتين :
parent._parent._visible = false_
طبعاً الطريقة واضحة لو كان لدينا مستويات أكثر...
السؤال الآن : هل بالضرورة وجود التعشيش؟ ، أعني هل يجب أن يكون كليب داخل كليب داخل كليب ...؟ . الجواب لأ
لنفرض وجود كليب رئيسي main ( أب parent ) ويضم هذه المرة كليبين A , B لهم نفس المستوى ، ولكن الكليب B يضم داخله الكليب C ( الكليب B أب للكليب C )
لنرى كيف التعامل مع هذه الحاله:
لإخفاء الكليب A من خلال الزر (2) أولاً يجب الخروج إلى مستوى الكليب ( الأب ) ثم الذهاب إلى الكليب فنخفيه ، هذا هو مسار التخاطب بين الزر(2) الموجود في الكليب B وبين الكليب B :
parent.A ِِِِِِ._visible = false_
أنظر التطبيق:
width = 500 height = 400
لو أردنا إخفاء الكليب C من خلال الزر (1) فيجب أولاً الذهاب لمستوى الأب main ثم الذهاب للكليب B وبعده الذهاب للكليب C فيتم إخفائه ( نفس التطبيق أعلاه ):
parent.B.C ِِِِِِ._visible = false_
أخيراً كيف يمكن إخفاء الكليب A من خلال الزر (3) الموجود في الكليب C :
أولاً نخرج إلى مستوى الكليب B وهو يمثل أب للكليب C وطبعاً باستخدام parent_ ثم الذهاب للمستوى الرئيسي وهو يمثل أيضاً أب ، إذا نستخدم parent_ وفي المستوى الرئيسي يمكن الآن مخاطبة الكليب A ويمكن إخفائه :
parent._parent._.A._visible = false_
(انظر نفس التطبيق أعلاه)
لقد رأينا كيف مخاطبة الكليبات من مستوى أعلى إلى مستوى أدنا ، ورأينا كيف فعل العكس ، يبقى الآن معرفة نوع من المسارات , وهو المسار العام أو المسار المطلق ( absolute path ) وهو المسار الذي يمكن استخدامه من اي مكان في الموفي كليب.
فمثلاً لإخفاء الكليبA من أي زر فكل ما عليك هو استخدام المسار المطلق وذلك عن طريق كتابة root_ قبل اسم الكليب المطلوب خطابه :
root.A ِِِِِِ._visible = false_
باستخدام المسار المطلق(root_ ) يمكن الاتصال بجميع الكليبات ، فالأمثلة الثلات المرتبطة بالتطبيق السابق يمكن صياغتها عن طريق المسار المطلق كالتالي:
root.A ِِِِِِ._visible = false_
root.A ِِِِِِ.B._visible = false_
root.B.C ِِِِِِ._visible = false_
شكراً أخوتي وإلى اللقاء في موضوع جديد