إجراء رئيسي في Visual Basic

يجب أن يحتوي كل تطبيق في Visual Basic على إجراء يسمى Main. يعمل هذا الإجراء كنقطة البداية وكتحكم عام للتطبيق الخاص بك. يستدعي .NET Framework إجراء Main الخاص بك عندما يتم تحميل التطبيق الخاص بك ويكون جاهز لتمرير عنصر التحكم إليه. ما لم تقم بإنشاء أحد تطبيقات نماذج Windows يجب كتابة إجراء Main للتطبيقات التي تعمل لوحدها.

Main يحتوي على التعليمات البرمجية التي تعمل أولاً. في Main، يمكنك تحديد أي نموذج يتم تحميله أولاً عند بدء تشغيل البرنامج، اكتشاف ما إذا كان هناك نسخة للتطبيق الخاص بك قيد التشغيل على النظام، إنشاء مجموعة من المتغيرات للتطبيق الخاص بك، أو فتح قاعدة بيانات يتطلبها التطبيق.

متطلبات الإجراء الرئيسي

الملف الذي يعمل من تلقاء نفسه (عادةً مع الملحق .exe) يجب أن يحتوي على إجراء Main. مكتبة (على سبيل المثال مع ملحق .dll) لا تعمل من تلقاء نفسها و لا تتطلب إجراء Main. متطلبات الأنواع المختلفة من المشاريع التي يمكنك إنشائها هي كالتالي:

  • وحدة تشغيل التطبيقات تعمل من تلقاء نفسها، و يجب أن توفر إجراء Main واحد على الأقل. .

  • تطبيقات Windows Forms تعمل من تلقاء نفسها. ومع ذلك، ينشئ برنامج التحويل البرمجي Visual Basic إجراء Main بشكل تلقائي في مثل هذا التطبيق، و لا تحتاج إلى كتابة واحد.

  • لا تتطلب مكتبات الفئة إجراء Main. هذه تتضمن مكتبات تحكم Windows ومكتبات تحكم ويب. يتم نشر تطبيقات ويب كمكتبات فئة.

تعريف الإجراء الرئيسي

توجد أربع طرق لتعريف إجراء Main. يمكن أن تأخذ وسائط أو لا، و يمكن أن ترجع قيمة أم لا.

ملاحظة

إذا قمت بتعريف Main في فئة ، يجب أن تستخدم الكلمة الأساسية Shared. في وحدة نمطية، لا يحتاج Main ليكون Shared.

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

    Module mainModule
        Sub Main()
            MsgBox("The Main procedure is starting the application.")
            ' Insert call to appropriate starting place in your code.
            MsgBox("The application is terminating.")
        End Sub
    End Module
    
  • Main يمكن أيضاً أن يرجع قيمة Integer، التي يستخدمها نظام التشغيل كرمز الخروج لهذا البرنامج. يمكن للبرامج الأخرى اختبار هذه التعليمات البرمجية بفحص قيمة Windows ERRORLEVEL. لإرجاع رمز الخروج, يجب أن تقوم بتعريف Main كإجراء Function بدلاً من إجراء Sub.

    Module mainModule
        Function Main() As Integer
            MsgBox("The Main procedure is starting the application.")
            Dim returnValue As Integer = 0
            ' Insert call to appropriate starting place in your code.
            ' On return, assign appropriate value to returnValue.
            ' 0 usually means successful completion.
            MsgBox("The application is terminating with error level " &
                 CStr(returnValue) & ".")
            Return returnValue
        End Function
    End Module
    
  • Main يمكنك أيضاً أن يأخذ صفيف String كوسيطة. تحتوي كل سلسلة في الصفيف على إحدى وسائط خط الأوامر المستخدم لاستدعاء البرنامج الخاص بك. يمكنك اتخاذ إجراءات مختلفة تبعا لقيمها.

    Module mainModule
        Function Main(ByVal cmdArgs() As String) As Integer
            MsgBox("The Main procedure is starting the application.")
            Dim returnValue As Integer = 0
            ' See if there are any arguments.
            If cmdArgs.Length > 0 Then
                For argNum As Integer = 0 To UBound(cmdArgs, 1)
                    ' Insert code to examine cmdArgs(argNum) and take
                    ' appropriate action based on its value.
                Next argNum
            End If
            ' Insert call to appropriate starting place in your code.
            ' On return, assign appropriate value to returnValue.
            ' 0 usually means successful completion.
            MsgBox("The application is terminating with error level " &
                 CStr(returnValue) & ".")
            Return returnValue
        End Function
    End Module
    
  • يمكنك تعريف Main لفحص وسائط خط الأوامر و لكن دون إرجاع رمز الخروج كما يلي.

    Module mainModule
        Sub Main(ByVal cmdArgs() As String)
            MsgBox("The Main procedure is starting the application.")
            Dim returnValue As Integer = 0
            ' See if there are any arguments.
            If cmdArgs.Length > 0 Then
                For argNum As Integer = 0 To UBound(cmdArgs, 1)
                    ' Insert code to examine cmdArgs(argNum) and take
                    ' appropriate action based on its value.
                Next argNum
            End If
            ' Insert call to appropriate starting place in your code.
            MsgBox("The application is terminating.")
        End Sub
    End Module
    

راجع أيضًا:

المرجع

بنية برنامج Visual Basic

/main

(Visual Basic) المشترك

MsgBox

عبارة Vsual Basic) Sub)

كشف دالة (Visual Basic)

نوع بيانات الأعداد الصحيحة (Visual Basic)

نوع بيانات السلسلة (Visual Basic)

Length

UBound

المبادئ

إصدار Visual Basic لكلمة الترحيب مرحباً بالعالم