📄 النص الكامل للصفحة
when riyadh_list .BeforePicking do if get start value = "en" then set riyadh_list . Elements to get global riyadh_highlights_en else if get start value = "ar" then set riyadh_list . Elements to get global riyadh_highlights_ar
شكل 3.38: تهيئة محتوى ListPicker (قائمة الخيارات)
--- SECTION: فتح صفحة جديدة من قائمة الخيارات ListPicker ---
بعد أن أصبح لديك قائمة من المعالم البارزة للمدينة التي تختارها، سيتعين عليك أن تجعل لكل معلم صفحة خاصة تعرض فيها معلومات عنه. وسيُحدّد كل اختيار من ListPicker (قائمة الخيارات) المعلم المطلوب لفتحه، بحيث تدعم الصفحة الخاصة بكل من المعالم اللغتين الإنجليزية والعربية.
--- SECTION: للحصول على اسم الصفحة الجديدة للمعلم من التحديد ListPicker (قائمة الخيارات)، ---
1. أنشئ variable (متغير) جديد اسمه selection (اختيار).
2. أضف empty string (سلسلة نصية فارغة) إلى المتغير selection (اختيار).
3. حدد الحدث AfterPicking (بعد الاختيار) لـ riyadh_list (قائمة_الرياض).
4. أضف المتغير selection (اختيار) داخل الحدث AfterPicking (بعد الاختيار).
5. اضبط المتغير selection (اختيار) إلى خاصية selection (اختيار) لـ riyadh_list (قائمة_الرياض).
6. أضف لبنة التعليمات البرمجية if داخل الحدث AfterPicking (بعد الاختيار).
وزارة التعليم
Ministry of Education
163
2025 - 1447
--- VISUAL CONTEXT ---
**DIAGRAM**: App Inventor ListPicker BeforePicking Event Block
Description: A block diagram showing conditional logic for setting ListPicker elements based on a 'start value' (language preference 'en' or 'ar'). The block is labeled with '8' in a blue circle. It defines an action 'when riyadh_list .BeforePicking' occurs. Inside, it checks 'if get start value = "en"' and if true, 'then set riyadh_list . Elements to get global riyadh_highlights_en'. Otherwise, 'else if get start value = "ar"' and if true, 'then set riyadh_list . Elements to get global riyadh_highlights_ar'.
Key Values: 8, when, riyadh_list, .BeforePicking, do, if, get start value, =, "en", then, set, riyadh_list, .Elements, to, get global riyadh_highlights_en, else if, get start value, =, "ar", then, set, riyadh_list, .Elements, to, get global riyadh_highlights_ar
Context: Illustrates how to dynamically load content based on language selection (English or Arabic) using App Inventor blocks before the ListPicker is opened.
**SCREENSHOT**: MIT App Inventor Interface with Variable Initialization Blocks
Description: A screenshot of the MIT App Inventor development environment. The top bar shows 'Projects', 'Connect', 'Build', 'Settings', 'Help'. The app name 'Visit_SA_App' is visible. Below the app name, there are buttons 'Cities', 'Add Screen', 'Remove Screen', 'Publish to Gallery'. The main workspace is divided into 'Blocks' and 'Viewer' sections. The 'Blocks' section on the left lists categories: 'Built-in', 'Control', 'Logic', 'Math', 'Text', 'Lists', 'Dictionaries', 'Colors', 'Variables', 'Procedures', 'Cities'. The main canvas shows several programming blocks: 'initialize global name to' (with a blue circle '1'), 'get', 'set to', and 'initialize local name to in'. An arrow points from the 'initialize global name to' block to another block labeled 'initialize global selection to'.
Key Values: MIT APP INVENTOR, Projects, Connect, Build, Settings, Help, Visit_SA_App, Cities, Add Screen, Remove Screen, Publish to Gallery, Blocks, Viewer, Built-in, Control, Logic, Math, Text, Lists, Dictionaries, Colors, Variables, Procedures, Cities, initialize global name to, 1, get, set to, initialize local name to in, initialize global selection to
Context: Demonstrates the visual programming interface of MIT App Inventor, specifically showing how to initialize global and local variables, and highlighting the initialization of a 'selection' variable.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 5 بطاقة لهذه الصفحة
ما هو الغرض من استخدام حدث BeforePicking في ListPicker (قائمة الخيارات)؟
الإجابة: يستخدم حدث BeforePicking لتهيئة محتوى ListPicker (قائمة الخيارات) قبل فتحها، مثل تحميل القائمة باللغة المناسبة (الإنجليزية أو العربية) بناءً على قيمة بداية التطبيق.
الشرح: يسمح هذا الحدث بإعداد البيانات أو تغييرها قبل أن تظهر قائمة الخيارات للمستخدم، مما يضمن عرض المحتوى الصحيح في الوقت المناسب.
تلميح: فكر في الوقت المناسب لتحميل البيانات في القائمة قبل أن يراها المستخدم.
التصنيف: مفهوم جوهري | المستوى: متوسط
ما هي الخطوات الأساسية للحصول على اسم الصفحة الجديدة للمعلم من التحديد في ListPicker (قائمة الخيارات)؟
الإجابة: 1. إنشاء متغير جديد اسمه selection (اختيار). 2. إضافة سلسلة نصية فارغة إلى المتغير selection. 3. تحديد الحدث AfterPicking (بعد الاختيار) لـ riyadh_list. 4. إضافة المتغير selection داخل الحدث AfterPicking. 5. ضبط المتغير selection إلى خاصية selection لـ riyadh_list. 6. إضافة لبنة التعليمات البرمجية if داخل الحدث AfterPicking.
الشرح: تتبع هذه الخطوات المنطق البرمجي الصحيح لالتقاط اختيار المستخدم من القائمة واستخدامه لفتح المحتوى المناسب.
تلميح: ركز على التسلسل المنطقي: إنشاء متغير، ثم ربطه بالحدث، ثم تعيين القيمة.
التصنيف: صيغة/خطوات | المستوى: صعب
ما الفرق بين حدثي BeforePicking و AfterPicking في مكون ListPicker (قائمة الخيارات)؟
الإجابة: حدث BeforePicking يتم تنفيذه قبل فتح قائمة الخيارات للمستخدم (لتهيئة المحتوى)، بينما حدث AfterPicking يتم تنفيذه بعد أن يقوم المستخدم باختيار عنصر من القائمة (لمعالجة الاختيار).
الشرح: يحدد التوقيت المختلف لكل حدث الغرض منه: التحضير المسبق مقابل الاستجابة للاختيار.
تلميح: فكر في توقيت كل حدث بالنسبة لعملية التفاعل مع القائمة من قبل المستخدم.
التصنيف: فرق بين مفهومين | المستوى: متوسط
كيف يمكن جعل تطبيق يدعم اللغتين الإنجليزية والعربية بناءً على اختيار المستخدم الأولي؟
الإجابة: عن طريق استخدام حدث BeforePicking للتحقق من قيمة بداية التطبيق (start value). إذا كانت القيمة "en"، يتم تعيين عناصر القائمة إلى القائمة العالمية الإنجليزية (riyadh_highlights_en)، وإذا كانت "ar"، يتم تعيينها إلى القائمة العالمية العربية (riyadh_highlights_ar).
الشرح: هذه الطريقة تسمح بتحميل المحتوى المناسب للغة تلقائياً قبل عرض القائمة، مما يوفر تجربة مستخدم متعددة اللغات.
تلميح: تذكر أن الشرط (if) يستخدم للتحقق من قيمة اللغة.
التصنيف: تفكير ناقد | المستوى: صعب
ما هو تعريف المتغير selection (اختيار) في سياق معالجة اختيار ListPicker؟
الإجابة: هو متغير يستخدم لتخزين العنصر الذي يختاره المستخدم من قائمة الخيارات (ListPicker) بعد حدوث حدث AfterPicking، وذلك لاستخدامه لاحقاً (مثل فتح صفحة المعلم المناسبة).
الشرح: يسمح هذا المتغير بحفظ الاختيار مؤقتاً لمعالجته في خطوات لاحقة من البرنامج.
تلميح: فكر في الغرض من تخزين قيمة مؤقتة بعد تفاعل المستخدم.
التصنيف: تعريف | المستوى: سهل