منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
توجيهات المعالج Processor Directives - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184)
+--- الموضوع : توجيهات المعالج Processor Directives (/showthread.php?tid=4992)



توجيهات المعالج Processor Directives - RaggiTech - 03-10-12

كاتب الموضوع : samerselo


تحديد مناطق الكود


يعتير #Region … #End Region أحد التوجيهات المهمة فهو يساعدك على ترتيب الكود ضمن مناطق حيث تظهر فقط منطقة الكود التي تتعامل معها الآن وتخفي الباقي مما يسهل عملية تحرير ملفات الكود الطويلة فمثلا يمكنك انشاء منطقة للمتغيرات وأخرى للخصائص وثالثة للإجراءات ... الخ

كود :
Class Car
Private petName As String
Private currSp As Integer
#Region "Constructors"
Public Sub New()
...
End Sub
Public Sub New(ByVal currSp As Integer, ByVal petName As String)
...
End Sub
#End Region
#Region "Properties"
Public Property Speed() As Integer
...
End Property
Public Property Name() As String
...
End Property
#End Region
End Class
و عندما توقف مؤشر الفاأرة فوق منطقة مطوية يظهر لك مقطعا من الكود الموجود ضمنها

الترجمة الشرطية Conditional Code Compilation

يوفر لك التوجيه #If … #ElseIF … #Else … #End If إمكانية الترجمة الشرطية لمقطع من الكود بناء على رموز معرفة مسبقا فمثلا يمكنك تحديد مقطع ما من الكود للتتم ترجمته فقط في حالة الـ Debug ولا تتم ترجمته في حالة الـ Release

كود :
Module Program
Sub Main()
' This code will only execute if the project is
' compiled as a Debug build.
#If DEBUG Then
Console.WriteLine("***** In Debug Mode! *****")
Console.WriteLine("App directory: {0}", _
Environment.CurrentDirectory)
Console.WriteLine("Box: {0}", _
Environment.MachineName)
Console.WriteLine("OS: {0}", _
Environment.OSVersion)
Console.WriteLine(".NET Version: {0}", _
Environment.Version)
#End If
End Sub
End Module
فمثلا مقطع الكود السابق ينفذ فقط إذا كانت القيمة DEBUG موجودة – البرنامج في وضع Debug –

تحديد رموزك الخاصة


بالوضع الافتراضي تحدد بيئة التطوير الرمز DEBUG حيث يمكنك منعه من تحديده بإلغاء تحديد الخيار المناسب من صفحة Advanced Compile Options في خصائص My Project و يمكنك أيضا تحديد رموزك الخاصة أيضا حيث يزودك التوجيه #Const بإمكانية تعريفها

كود :
#Const MONO_BUILD = 1
Class SomeClass
Public Sub SomeMethod()
#If MONO_BUILD Then
Console.WriteLine("Compiling under Mono!")
#Else
Console.WriteLine("Compiling under Microsoft .NET")
#End If
End Sub
End Class
و يكون التوجيه هنا على مستوى الملف ولاستخدام التوجيهات على مستوى المشروع افتح Advanced Compile Options في صفحة Compile في خصائص My Project وذلك بكتابة الرمز في صندوق النصوص Custom Constants