إنتقل إلى المحتوى الرئيسي

استدعاء الدوال المضمَّنة

  • الوسيطات موضعية وكل واحدة منها مطلوبة. لا تأخذ أي دالة مضمَّنة وسيطات اختيارية أو مسماة أو متغيرة العدد. أسماء المعلمات في المرجع مجرد تسميات.
  • يُفحص عدد الوسيطات عند ترجمة البرنامج النصي، لذا يوقف العدد الخاطئ البرنامج النصي قبل تشغيل أي شيء.
  • تُفحص أنواع الوسيطات عند تنفيذ الاستدعاء، ويجب أن تتطابق تمامًا، مع توسيع واحد. القيمة Integer حيث يُعلَن عن Real تصبح تلك القيمة Real (MathSqrt(16) يعمل)، كما يحدث في العمليات الحسابية. أما القيمة Real حيث يُعلَن عن Integer، أو الرقم حيث يُعلَن عن Text (UtilityPrint(42))، فيوقف الإجراء بالخطأ Name: الوسيطة N من نوع خاطئ. المعلمات المعروضة بالنوع Any تقبل أي نوع.
  • كل دالة مضمَّنة تُرجع قيمة. تُرجع معظم الإجراءات قيمة Bool تعني «هل نجح ذلك»، ويمكنك تجاهلها أو اختبارها.
  • الأشياء المفقودة نتائج عادية، وليست أخطاء. النافذة التي لا يُعثر عليها هي قيمة Window فارغة. تمرير Window فارغة، أو نافذة أُغلقت، إلى دالة مضمَّنة من نوع Window* لا يفعل شيئًا ويُرجع false أو 0 أو ""، لذا فإن سلسلة من استدعاءات النوافذ على مقبض لم يُعثر عليه آمنة. تُرجع دوال السياق المضمَّنة خارج المشغِّل الخاص بها "" أو 0 أو -1 أو Window فارغة.
  • النتائج المتعددة تستخدم أسلوب التعداد ثم الفهرسة. يُرجع استدعاء مثل WindowGetAllTopLevel() أو FolderEnumerateAll(…) أو StringSplit(…) أو DisplayMonitorEnumeratedAll() عددًا، وتقرأ الدالة المقابلة …EnumeratedAt(i)/…PartAt(i) العنصر i، من 0 إلى العدد − 1. لكل عائلة ذاكرة تخزين مؤقت واحدة لكل تشغيل للبرنامج النصي، ويستبدلها استدعاء التعداد التالي في تلك العائلة.
  • يمكن للمكوّن الإضافي أن يضيف دوالًا مضمَّنة خاصة به. تبدو استدعاءاتها بالشكل نفسه. إذا لم يكن المكوّن الإضافي متصلًا عند ترجمة البرنامج النصي، فلن يعمل البرنامج النصي ويوضح إعلام السبب.
n = WindowGetAllTopLevel(); // العدد، ويملأ ذاكرة التخزين المؤقت للنوافذ
for (i = 0; i < n; i = i + 1) {
w = WindowGetEnumeratedAt(i); // العنصر i من تلك الذاكرة المؤقتة
if (WindowGetVisible(w) && WindowGetTitle(w)) {
UtilityPrint(WindowGetExecutableName(w) + " - " + WindowGetTitle(w));
}
}