عبارة Vsual Basic) Sub)

قم بتعريف الاسم, المعلمات والتعليمات البرمجية التي تعرّف Sub الإجراء.

[ <attributelist> ] [ Partial ] [ accessmodifier ] [ proceduremodifiers ] [ Shared ] [ Shadows ] 
Sub name [ (Of typeparamlist) ] [ (parameterlist) ] [ Implements implementslist | Handles eventlist ]
    [ statements ]
    [ Exit Sub ]
    [ statements ]
End Sub

الأجزاء

  • attributelist
    اختياري. راجع قائمة سمة.

  • Partial
    اختياري. الإشارة إلى تعريف أسلوب الجزئية. انظر أساليب جزئية

  • accessmodifier
    اختياري. يمكن أن يكون أحد الخيارات التالية:

    انظر مستويات الوصول في Visual Basic

  • proceduremodifiers
    اختياري. يمكن أن يكون أحد الخيارات التالية:

  • Shared
    اختياري. راجع ‏مشترك‬.

  • Shadows
    اختياري. راجع الظلال.

  • name
    مطلوبة. اسم الاجراء. انظر أسماء العنصر المعرف لإنشاء إجراء مُنشئ فئة, تعيين اسم إجراء Sub للكلمة أساسية New. لمزيد من المعلومات، راجع مدة بقاء الكائن: كيفية إنشاء و إتلاف الكائنات.

  • typeparamlist
    اختياري. قائمة معلمات النوع لإجراء عام. راجع قائمة النوع.

  • parameterlist
    اختياري. قائمة أسماء المتغيرات المحلية يمثل معلمات هذا إجراء. انظر قائمة المعلمة

  • Implements
    اختياري. يشير إلى أن هذا إجراء يقوم بتطبيق واحد أو أكثر من Sub الإجراءات, كل واحد معرّف في واجهة تم تطبيقها بواسطة الفئة المحتوية لهذا الإجراء التي أو البنية. انظر جملة التنفيذ

  • implementslist
    مطلوب إذا كان Implements يتم توفيره. قائمة منSub الإجراءات التي يتم تطبيقها.

    implementedprocedure [ , implementedprocedure ... ]

    كل implementedprocedure يحتوي على بناء الجملة والأجزاء التالية:

    interface.definedname

    جزء

    الوصف

    interface

    مطلوبة. اسم واجهة تم تطبيقها بواسطة الفئة المحتوية لهذا الإجراء أو البنية.

    definedname

    مطلوبة. اسم حيث يتم تعريف الإجراء في interface.

  • Handles
    اختياري. يشير إلى أن هذا إجراء يمكنه معالجة حدث معينة أو أكثر. انظر عبارة المؤشرات (Visual Basic)

  • eventlist
    مطلوب إذا كان Handles يتم توفيره. قائمة الأحداث التي يعالجها هذا الإجراء.

    eventspecifier [ , eventspecifier ... ]

    كل eventspecifier يحتوي على بناء الجملة والأجزاء التالية:

    eventvariable.event

    جزء

    الوصف

    eventvariable

    مطلوبة. متغير الكائن المعرف مع نوع البيانات لفئة أو بنية التي ترفع الحدث.

    event

    مطلوبة. اسم الحدث الذي يعالجه هذا الإجراء.

  • statements
    اختياري. مقطع من العبارات لتنفذ داخل هذا الإجراء .

  • EndSub
    ينهي تعريف هذا الإجراء.

ملاحظات

يجب أن تكون كل التعليمات البرمجية القابلة للتنفيذ داخل إجراء. استخدم إجراء Sub عندما لا تريد إرجاع قيمة إلى التعليمات البرمجية المستدعية. استخدام إجراء Function عند الحاجة إلى إرجاع قيمة.

يمكنك استخدام Sub فقط عند مستوى الوحدة النمطية. وهذا يعني تعريف السياق لإجراء فرعي يجب أن يكون فئة، بنية، وحدة نمطية، واجهة و لا يمكن أن يكون ملف المصدر، مساحة الاسم، أو إجراء أو مقطع. لمزيد من المعلومات، راجع سياقات الـتعريف و مستويات الوصول الافتراضية.

Sub الإجراءات تقتصر على الوصول العام. يمكنك ضبط مستويات الوصول الخاصة بهم بمعدلات الوصول.

القواعد

  • التنفيذ. إذا كانت هذا الإجراء يستخدم الكلمة الأساسية Implements , يجب أن تملك الفئة الحاوية أو البنية على عبارة Implements التي تلي مباشرة العبارة Class أو Structure الخاص به. عبارة الـ Implements يجب أن يضم كل واجهة محددة في implementslist. ومع ذلك، الاسم الذي تعرّفه الواجهة Sub (في definedname) لا يحتاج أن يكون نفس اسم هذا الإجراء (في name).

السلوك

  • الخروج من إجراء. عندما يرجع إجراء Sub إلى التعليمات البرمجية المستدعية، يستمر التنفيذ مع الكشف الذي يلي الكشف الذي استدعاه.

    عبارات Exit Sub و Return تسبب خروج فوري من إجراء Sub. أي عدد من عبارات Exit Sub و Return يمكن أن تظهر أي مكان في الإجراء، كما يمكن خلط عبارات Exit Sub و Return .

    يظهر المثال التالي عائد من إجراء Sub .

    Sub mySub(ByVal q As String)
        Return
    End Sub 
    
  • استدعاء إجراء الإجراء Sub , مثل إجراء Function هو إجراء منفصل يمكنه أخذ معلمات وتنفيذ سلسلة من العبارات عليها. ومع ذلك، بخلاف إجراء Function، الذي يرجع قيمة، إجراء Sub لا يمكن استخدام في التعبير.

    استدعاء إجراء Sub باستخدام اسم الإجراء, متبوعاً بقائمة الوسائط في أقواس في عبارة. يمكنك حذف الأقواس فقط إذا لم يتم توفير أية وسائط. على الرغم من ذلك، التعليمات البرمجية قابلة للقراءة أكثر إذا قمت دائماً بإضافة الأقواس.

    بشكل اختياري يمكنك استخدام عبارة Call لاستدعاء إجراء Sub. هذا يؤدي إلى تحسين قراءة التعليمات البرمجية الخاص بك.

استكشاف الأخطاء وإصلاحها

ترتيب التنفيذ. يعيد ترتيب Visual Basic أحياناً التعبيرات الرياضية لزيادة الكفاءة الداخلية. لهذا السبب، إذا كانت قائمة الوسيطة الخاصة بك تتضمن تعبيرات تستدعي إجراءات أخرى، لا يمكن الاعتماد عليها لتستدعى بأي ترتيب معين.

مثال

يستخدم المثال التالي عبارة Sub لتعريف الاسم, المعلمات، و التعليمات البرمجية التي تشكل جسد إجراء Sub .

Sub computeArea(ByVal length As Double, ByVal width As Double)
    ' Declare local variable.
    Dim area As Double
    If length = 0 Or width = 0 Then
        ' If either argument = 0 then exit Sub immediately.
        Exit Sub
    End If
    ' Calculate area of rectangle.
    area = length * width
    ' Print area to Immediate window.
    Debug.WriteLine(area)
End Sub

راجع أيضًا:

المهام

كيفية القيام بما يلي: استخدام فئة عامة

إجراءات استكشاف الأخطاء وإصلاحها

كيفية القيام بما يلي: إنشاء أسلوب جزئي (Visual Basic)

المرجع

جملة التنفيذ

كشف دالة (Visual Basic)

قائمة المعلمة

عبارة Vsual Basic) Dim)

عبارة استدعاء (Vsual Basic)

من عبارة (Visual Basic)

المبادئ

صفائف المعلمة.

أساليب جزئية