العبارات في Visual Basic

العبارة في Visual Basic هي تعليمة كاملة. يمكن أن تحتوي على كلمات أساسية, عوامل تشغيل , متغيرات, ثوابت و تعبيرات. كل عبارة تنتمي إلى أحد الفئات التالية:

  • بيانات التعريف ، والتي تقوم بتسمية متغير, ثابت أو إجراء, و يمكنها أيضاً تحديد نوع بيانات.

  • البيانات القابلة للتنفيذ ، التي تبدأ الإجراءات. يمكن لهذه العبارات استدعاء أسلوب أو دالة, كما يمكنها تنفيذ تكرار حلقي أو فرع في كتل التعليمات البرمجية. العباراة القابلة للتنفيذ تتضمن بيانات التعيين ، والتي تقوم بتعيين قيمة أو تعبير لمتغير أو ثابت.

يصف هذا الموضوع كل فئة. كما يصف هذا الموضوع كيفية جمع عدة عباراة على سطر واحد وكيفية متابعة عبارة عبر سطور متعددة.

عباراة التعريف

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

يحتوي المثال التالي على ثلاثة تعريفات.

Public Sub applyFormat()
    Const limit As Integer = 33
    Dim thisWidget As New widget
    ' Insert code to implement the procedure.
End Sub

التعريف الأول هو العبارة Sub . مع العبارة End Sub المطابقة لها. تقوم بتعريف إجراء يسمى applyFormat. تحدد أيضاً أن applyFormat هو Public، مما يعني أن أية تعليمات برمجية يمكنها الإشارة إليه يمكنها استدعائه.

التعريف الثاني هو العبارة Const التي تقوم بتعريف الثابت limit مع تعيين نوع بيانات Integer و قيمة 33.

التعريف الثالث هو العبارة Dim التي تقوم بتعريف المتغير thisWidget. نوع البيانات هو كائن محدد, تحديداً كائن تم إنشاؤه من فئة Widget . بإمكانك تعريف متغير ليكون من أي نوع بيانات أولي أو من أي نوع كائنات يتم عرضها في التطبيق الذي تستخدمه.

القيم الأولية

عند تشغيل تعليمات برمجية تحتوي على عبارة تعريف, يحجز Visual Basic الذاكرة المطلوبة للعنصر المعرّف. إذا كان العنصر يقيّد قيمة, يقوم Visual Basic بتهيئته إلى القيمة الافتراضية لنوع البيانات الخاص به. لمزيد من المعلومات، راجع السلوك في عبارة Vsual Basic) Dim) .

يمكنك تعيين قيمة أولية لمتغير كجزء من تعريفه, كما يوضح المثال التالي.

Dim m As Integer = 45
' The preceding declaration creates m and assigns the value 45 to it.

إذا كان المتغير متغير كائن, يمكنك بشكل صريح إنشاء مثيل للفئة الخاصة به عند تعريفه عن طريق استخدام الكلمة الأساسية عامل تشغيل Visual Basic) New), كما هو موضح في المثال التالي.

Dim f As New System.Windows.Forms.Form()

لاحظ أن القيمة الأولية التي تحددها في تعريف العبارة لن يتم تعيينها لمتغير حتى يصل التنفيذ إلى عبارة التعريف الخاصة به. وحتى ذلك الوقت، يحتوي المتغير على القيمة الافتراضية لنوع البيانات الخاص به.

العباراة القابلة للتنفيذ

العبارة القابلة للتنفيذ تنفذ إجراء. يمكنها استدعاء إجراء, فرع لمكان آخر في التعليمات البرمجية, تكرار حلقي خلال عدة عبارات أو تقييم تعبير. عبارة التعيين حالة خاصة للعبارة القابلة للتنفيذ.

يستخدم المثال التالي بنية عنصر التحكم If...Then...Else لتشغيل مقاطع مختلفة من التعليمات البرمجية ‏‫استناداً إلى‬ قيمة المتغير. ضمن كل مقطع من التعليمات البرمجية، يتم تشغيل التكرار الحلقي For...Next لعدد محدد من المرات.

Public Sub startWidget(ByVal aWidget As widget, 
    ByVal clockwise As Boolean, ByVal revolutions As Integer)
    Dim counter As Integer
    If clockwise = True Then
        For counter = 1 To revolutions
            aWidget.spinClockwise()
        Next counter
    Else
        For counter = 1 To revolutions
            aWidget.spinCounterClockwise()
        Next counter
    End If
End Sub

تقوم العبارة If في المثال السابق بالتحقق من قيمة المعلمة clockwise. إذا كانت القيمة True، تستدعي الإسلوب spinClockwise من aWidget. إذا كانت القيمة False، تستدعي الإسلوب spinCounterClockwise من aWidget. بنية عنصر التحكم If...Then...Else تنتهي بـ End If.

التكرار الحلقي For...Next ضمن كل مقطع يستدعي الأسلوب المناسب لعدد من المرات يساوي قيمة المعلمة revolutions .

عبارات التعيين

عبارات التعيين تقوم على تنفيذ عمليات التعيين, والتي تتكون من أخذ القيمة في الجانب الأيمن من عامل التعيين (=) ثم تخزينها في العنصر في الجانب الأيسر, كما هو موضح في المثال التالي.

v = 42

في المثال السابق، تخزّن عبارة التعيين القيمة الحرفية 42 في المتغير v.

عناصر البرمجة المؤهلة

عنصر البرمجة على الجانب الأيسر من عامل التعيين يجب أن يكون قادراً على قبول و تخزين القيمة. وهذا يعني أنه يجب أن يكون متغير أو خاصية ليست للقراءة فقط (Visual Basic)، أو يجب أن يكون عنصر صفيف. في سياق عبارة التعيين, مثل هذا العنصر يسمى أحيانا lvalue لـ "القيمة في اليسار".

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

x = y + z + findResult(3)

المثال السابق يقوم بإضافة القيمة في المتغير y إلى القيمة في المتغير z، ومن ثم يقوم بإضافة القيمة التي تم إرجاعها بواسطة استدعاء دالة findResult. القيمة الإجمالية لهذا التعبير يتم حينئذ تخزينها في متغير x.

أنواع البيانات في عبارات التعيين

بالإضافة إلى القيم الرقمية, يمكن أيضاً لعامل التعيين تعيين قيم String كما يوضح المثال التالي.

Dim a, b As String
a = "String variable assignment"
b = "Con" & "cat" & "enation"
' The preceding statement assigns the value "Concatenation" to b.

يمكنك أيضاً تعيين قيم Boolean باستخدام إما قيمة حرفية من نوع Boolean أو تعبير من نوع Boolean ، كما يوضح المثال التالي.

Dim r, s, t As Boolean
r = True
s = 45 > 1003
t = 45 > 1003 Or 45 > 17
' The preceding statements assign False to s and True to t.

وبنفس الطريقة، يمكنك تعيين قيم مناسبة إلى عناصر برمجة من نوع بيانات Char, Date، أو Object. يمكنك أيضاً تعيين مثيل كائن إلى عنصر تم تعريفه ليكون من الفئة التي تم إنشاء المثيل منها.

عبارات تعيين مركبة

عبارات التعيين المركبة تنفذ أولاً عملية على تعبير قبل تعيينه إلى عنصر برمجة. يوضح المثال التالي أحد هذه العوامل +=، والتي تقوم بزيادة قيمة المتغير على الجانب الأيسر من عامل التشغيل بقيمة التعبير على الجانب الأيمن.

n += 1

يضيف المثال السابق 1 إلى قيمة n، ثم يقوم بتخزين القيمة الجديدة في n. هذا اختصار مكافئ للعبارة التالية:

n = n + 1

يمكن تنفيذ العديد من عمليات التعيين المركبة باستخدام عوامل تشغيل من هذا النوع. للحصول على قائمة من هذه العوامل ومزيد من المعلومات حولها, انظر عوامل تشغيل التعيين.

تسلسل عامل التعيين (&=) مفيد من أجل إضافة سلسلة إلى نهاية سلسلة أخرى موجوده,كما يوضح المثال التالي.

Dim q As String = "Sample "
q &= "String"
' q now contains "Sample String".

تحويلات النوع في عبارات التعيين

القيمة التي قمت بتعيينها إلى متغير, خاصية، أو عنصر صفيف يجب أن تكون من نوع بيانات مناسب لعنصر الوجهة. بشكل عام، يجب محاولة إنشاء قيمة من نفس نوع بيانات عنصر الوجهة . ومع ذلك، يمكن تحويل بعض الأنواع إلى أنواع أخرى أثناء التعيين.

للحصول على معلومات حول التحويل بين أنواع البيانات, راجع نوع التحويلات في Visual Basic. في موجز, Visual Basic يحوّل قيمة نوع محدد تلقائياً إلى أي نوع آخر يتوسّع له. التحويل التوسيعي دائماً ينجح في وقت التشغيل و لا يفقد أية بيانات. على سبيل المثال، Visual Basic يحوّل قيمة من نوع Integer إلى Double عندما يكون ذلك مناسباً, لأن Integer يتوسّع لـ Double. لمزيد من المعلومات، راجع توسيع و تضييق التحويلات.

التحويلات التضييقية (تلك التي لا تتوسّع) تحمل خطر الفشل في وقت التشغيل أو فقدان البيانات. يمكن إجراء تحويل تضييقي بشكل صريح باستخدام دالة تحويل النوع, أو يمكنك توجيه برنامج التحويل البرمجي لتنفيذ كافة التحويلات ضمنياً بواسطة إعداد Option Strict Off. لمزيد من المعلومات، راجع تحويلات ضمنية و صريحة.

وضع عدة عبارات على سطر واحد

يمكنك وضع عدة عبارات على سطر واحد مفصولة بحرف النقطتين (:) . فيما يلي مثال يوضّح ذلك.

Dim sampleString As String = "Hello World" : MsgBox(sampleString)

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

متابعة عبارة عبر سطور متعددة

العبارة عادة يكفيها سطر واحد، لكن عندما تكون طويلة جداً, يمكنك المتابعة على السطر التالي باستخدام تسلسل متابعة السطر, الذي يتكون من مسافة متبوعة بحرف التسطير السفلي (_) متبوعة بحرف إرجاع. في المثال التالي العبارة القابلة للتنفيذ MsgBox، استمرت على سطرين.

Public Sub demoBox()
    Dim nameVar As String
    nameVar = "John"
    MsgBox("Hello " & nameVar _
        & ". How are you?")
End Sub

متابعة السطر بشكل ضمني

في كثير من الحالات، يمكنك متابعة عبارة على السطر التالي بدون استخدام حرف التسطير السفلي (_). يدرج الجدول التالي عناصر بناء الجملة التي تتم بها عملية استمرار العبارة ضمنيًا على السطر التالي من التعليمات البرمجية.

عنصر بناء الجملة

المثال

بعد الفاصلة (,).

بعد قوس مفتوح (() أو قبل قوس مغلق )).

بعد قوس متعرج مفتوح ({) أو قبل قوس متعرج مغلق }).

لمزيد من المعلومات، راجع مهيئات الكائن أنواع مسماة و مجهولة أو نظرة عامة حول مُهيآت المجموعة (Visual Basic).

بعد تعبير مضمن مفتوح (<%=) أو قبل إغلاق تعبير مضمن (%>) داخل القيمة الحرفية XML.

لمزيد من المعلومات، راجع التعبيرات المضمنة في XML.

بعد عامل السلسل (&).

لمزيد من المعلومات، راجع عوامل تشغيل مسرودة حسب الوظيفة.

بعد عوامل التعيين (=, &=, :=, +=, -=, *=, /=, \=, ^=, <<=, >>=).

لمزيد من المعلومات، راجع عوامل تشغيل مسرودة حسب الوظيفة.

بعد العوامل الثنائية (+, -, /, *, Mod, <>, <, >, <=, >=, ^, >>, <<, And, AndAlso, Or, OrElse, Like, Xor) داخل تعبير.

لمزيد من المعلومات، راجع عوامل تشغيل مسرودة حسب الوظيفة.

بعد عوامل Is و IsNot .

لمزيد من المعلومات، راجع عوامل تشغيل مسرودة حسب الوظيفة.

بعد حرف مؤَهِل عضو (.) وقبل اسم العضو. على الرغم من ذلك، يجب عليك تضمين حرف متابعة السطر (_) يتبع حرف مؤهل العضو عند استخدام العبارة With أو توفير قيم في قائمة التهيئة لنوع. خذ بعين الاعتبار قطع السطر بعد عامل التعيين (على سبيل المثال،=) عند استخدام عبارات أو قوائم تهيئة الكائن With .

لمزيد من المعلومات، راجع كشف مع... إنهاء مع (Visual Basic) أو مهيئات الكائن أنواع مسماة و مجهولة.

بعد مؤهل خاصية محور XML (. أو .@ أو ...). على الرغم من ذلك، يجب عليك تضمين حرف متابعة السطر (_) عند تحديد مؤهل عضو عند استخدام الكلمة الأساسية With.

لمزيد من المعلومات، راجع خصائص محور الـ XML.

بعد علامة أقل-من (>) أو قبل علامة أكبر-من (>) عند تحديد سمة. أيضاً بعد علامة أكبر-من (>) عند تحديد سمة. على الرغم من ذلك، يجب عليك تضمين حرف متابعة السطر (_) عند تحديد سمات مستوى تجميع أو مستوى وحدة نمطية.

لمزيد من المعلومات، راجع دعم Visual Basic و Visual C#‎.

قبل وبعد عوامل الاستعلام (Aggregate, Distinct, From, Group By, Group Join, Join, Let, Order By, Select, Skip, Skip While, Take, Take While, Where, In, Into, On, Ascending، و Descending). لا يمكن قطع السطر بين الكلمات الأساسية لعوامل الاستعلام التي تتكون من عدة كلمات أساسية (Order By, Group Join, Take While، و Skip While).

لمزيد من المعلومات، راجع استعلامات (Visual Basic).

بعد الكلمة الأساسية In في العبارة For Each .

لمزيد من المعلومات، راجع عبارة Visual Basic) For Each...Next).

بعد الكلمة الأساسية From في مُهيئ المجموعة.

لمزيد من المعلومات، راجع نظرة عامة حول مُهيآت المجموعة (Visual Basic).

إضافة تعليقات

‏‫مصدر التعليمات البرمجية ليس دائماً مُفسر بذاته, حتى إلى المبرمج الذي قام بكتابه. للمساعدة في توثيق التعليمات البرمجية الخاصة بهم ، لذلك، يقوم معظم المبرمجين باستخدام تعليقات مضمنة بشكل وافر. التعليقات في التعليمات البرمجية يمكنها تفسير إجراء أو تعليمة معينة لأي شخص يقرأها أو يعمل معها لاحقاً. يتجاهل Visual Basic التعليقات أثناء التحويل البرمجي, وهي لا تؤثر على التعليمات البرمجية المترجمة .

أسطر التعليق تبدأ بعلامة اقتباس أحادية (') أو REM متبوعة بمسافة. ويمكن أن يتم إضافتها في أي مكان في التعليمات البرمجية ، عدا داخل سلسلة. لإلحاق تعليق بعبارة, قم بإدراج علامة اقتباس أحادية أو REM بعد العبارة ، متبوعة بالتعليق. التعليقات يمكنها أيضاً الإنتقال في سطور منفصلة خاصة بها. يوضح المثال التالي هذه الإمكانيات.

' This is a comment on a separate code line.
REM This is another comment on a separate code line.
x += a(i) * b(i) ' Add this amount to total.
MsgBox(statusMessage) REM Inform operator of status.

تدقيق أخطاء الترجمة

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

الأقسام ذات الصلة