بيان الوظيفة
أعلن الاسم ومعلمات عملية الوظيفة والرمز الذي يشكل جسمه.
[عام [افتراضي] | الخاص] FunctionName [(
Arglist
)]
[بيانات]
[الاسم = التعبير]
[exitfunction]
[بيانات]
[الاسم = التعبير]
المعلمة الوظيفية
عام
يشير إلى أنه يمكن الوصول إلى عملية الوظيفة من خلال جميع الإجراءات الأخرى في جميع البرامج النصية.
تقصير
استخدم فقط مع الكلمات الرئيسية العامة في كتلة الفصل للإشارة إلى أن إجراء الوظيفة هو الطريقة الافتراضية للفئة. إذا تم تحديد أكثر من إجراء افتراضي واحد في فئة ، يحدث خطأ.
خاص
يشير إلى أنه لا يمكن الوصول إلى إجراء الوظيفة إلا من خلال إجراءات أخرى في البرنامج النصي الذي يعلن ذلك ، أو إذا كانت الوظيفة فئة بيانات ، لا يمكن الوصول إلى إجراء الوظيفة إلا من خلال إجراءات أخرى في الفصل.
اسم
يتبع اسم الوظيفة قواعد التسمية المتغيرة القياسية.
Arglist
قائمة المتغيرات التي تمثل المعلمات التي سيتم نقلها إلى إجراء الوظيفة عند الاحتجاج بها. فصل متغيرات متعددة مع فواصل.
البيانات
أي مجموعة من العبارات التي تم تنفيذها في نص الإجراء الوظيفي.
تعبير
قيمة إرجاع الوظيفة.
تحتوي معلمة ArgList على بناء الجملة والأجزاء التالية:
[byval | byref] varname [()]
المعلمة
بيفال
يشير إلى أن المعلمة يتم تمريرها في القيمة.
بيرف
يشير إلى أنه يتم تمرير المعلمة في المرجع.
varname
يمثل اسم متغير المعلمة ؛ يتبع قواعد التسمية المتغيرة القياسية.
يوضح
إذا لم يتم تحديد عام أو خاص بشكل صريح ، فإن إجراءات الوظائف تكون عامة بشكل افتراضي ، أي أنها مرئية لجميع الإجراءات الأخرى في البرنامج النصي. لا يتم الحفاظ على قيمة المتغيرات المحلية في الوظيفة في الدعوة إلى الإجراء.
لا يمكن تحديد إجراءات الوظيفة في أي إجراء آخر (على سبيل المثال ، Sub أو PropertyGet).
استخدم عبارة exitfunction للخروج فورًا من عملية الوظيفة. يستمر البرنامج في تنفيذ البيان بعد البيان الذي يستدعي إجراء الوظيفة. يمكن أن تظهر أي عبارة exitfunction في أي مكان في إجراء الوظيفة.
على غرار العملية الفرعية ، فإن عملية الوظيفة هي عملية مستقلة يمكنها الحصول على معلمات ، وتنفيذ سلسلة من العبارات ، وتغيير قيم المعلمات الخاصة بها. الفرق من الإجراء الفرعي هو أنه عندما تريد استخدام القيمة التي يتم إرجاعها بواسطة الوظيفة ، يمكنك استخدام إجراء الوظيفة على يمين التعبير ، وهو نفس الوظيفة الداخلية المستخدمة ، مثل SQR أو COS أو CHR.
في التعبير ، يمكن استدعاء إجراء الوظيفة باستخدام اسم الوظيفة ثم إعطاء قائمة المعلمات المقابلة بين الأقواس. لمزيد من المعلومات حول استدعاء إجراء الوظيفة ، راجع بيان الاتصال.
يمكن أن يكون إجراء وظيفة التحذير متكررًا ، أي أن الإجراء يمكن أن يستدعي نفسه لإكمال مهمة معينة. ومع ذلك ، يمكن أن تسبب العودية فائض مكدس.