الالعاب المجانية     الفيديو     Chat دردشة     دليل المواقع     جروب     العالم عبر الاقمار الصناعية     اتصل بنا

البحث المخصص والسريع من جوجل داخل منتدى العصر الجديد فقط
Loading
اختر الستايل الذي يناسبك

Banner

رابط اعلاني :
اصبح الرد على المواضيع مسموح في جميع المنتديات من قبل الزوار

عبر عن رأيك الان

الإهداءات


     
العودة   منتدى العصر الجديد(NewAdvEra) > «۩۞۩-منتدى التكنولوجيا والتقنية-۩۞۩» > «۩۞۩-منتدى البرمجة-۩۞۩» > VB.NET
     

VB.NET كل شيء عن لغة الــ VB.NET

إضافة رد
اضف الموضوع الى مفضلاتك  Submit to AddThisTo Submit to Digg Submit to Reddit Submit to Furl Submit to Del.icio.us Submit to Google Submit to Yahoo! This Submit to Technorati Submit to StumbleUpon Submit to Spurl Submit to Netscape  Submit Thread
     
 Share on Facebook
LinkBack أدوات الموضوع انواع عرض الموضوع
قديم 09-05-2009, 07:19 AM   رقم المشاركة : [1]
معلومات العضو
عضو مميز
رايق
 
إحصائية العضو







المبرمج المحترف على طريق التميز

معلومات إضافية
  الجنس :
  فترة الاقامه : يوم
  قوة السمعة : 10
  الحالة :المبرمج المحترف غير متواجد حالياً

افتراضي تعلم كيف تقوم بترجمة الكود إلى ملف تنفيذى برمجيا

السلام عليكــم ورحمـة الله وبركاتــه ،،

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

الحل بسيط وسهل جدا بإذن الله
توفر لك بيئة الدوت نت فئة رائعة جدا للتعامل مع الكومبايلر وهى System.CodeDom.Compiler.VBCodeProvider حيث يمكنك استخدام هذه الفئة لترجمة الكود إلى ملف تنفيذى بمنتهى السهولة وبالمثال يتضح المقال

لنفرض أن لدينا وحدة نمطية Module تحتوى على هذا الكود

:Parse('81dad13b951f69fb96b871987a66706c60692') target="_blank">انسخ الكود

  1. Public Module EntryPointModule
  2. Public Sub Main()
  3. Microsoft.VisualBasic.MsgBox("Test compiling a VB code")
  4. End Sub
  5. End Module


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

نريد الآن عن طريق الكود تحويل هذا الكود إلى ملف تنفيذى والذى من المفترض عند تنفيذه أن يظهر لنا الرسالة "Test compiling a VB code"

الكود الذى سيقوم بهذه العملية سيكون بهذا الشكل

:Parse('049df6f52abefc5465dfd1499757ebe123') target="_blank">انسخ الكود
  1. Dim pr As New VBCodeProvider
  2. Dim cp As New CompilerParameters
  3. cp.GenerateExecutable = True
  4. cp.GenerateInMemory = False
  5. cp.IncludeDebugInformation = False
  6. cp.CompilerOptions = "/target:winexe"
  7. cp.TreatWarningsAsErrors = False
  8. cp.OutputAssembly = "C:\main.exe"
  9. Dim cr As CompilerResults = pr.CompileAssemblyFromFile(cp, "C:\main.vb")
  10. If cr.Errors.Count > 0 Then
  11. For Each er As CompilerError In cr.Errors
  12. MsgBox(er.ErrorText)
  13. Next
  14. End If


قمنا أولا بإنشاء نسخة جديدة من الفئة VBCodeProvider وهى المسئولة عن ترجمة الكود ونسخة من الفئة CompilerParameters والتى تستخدم لتحديد طريقة ترجمة الكود حيث تحدد نوع الملف الناتج هل هو ملف تنفيذى أو مكتبة ربط كما تحدد الأيكونة الخاصة بالبرنامج الناتج وغير ذلك من الوظائف
ثم نبدأ بعد ذلك بتحديد طريقة الترجمة عن طريق بعض الخصائص يمكنك مراجعتها على MSDN لكن ما يهمنا هو الخاصية GenerateExecutable والتى قمنا بإسناد القيمة True لها لأننا نريد أن ننشئ ملف تنفيذى وليس مكتبة ربط والخاصية CompilerOptions وهى التى تحدد خيارات المعالج عند ترجمة الكود وفى هذا المثال استخدمنا فقط خيار نوع المشروع وأخبرنا المعالج أن يترجم المشروع على أنه برنامج تنفيذى ثم أخبرناه أن الملف الناتج يجب حفظه فى المسار C:\main.exe وأخيرا نقوم بعملية الترجمة الفعلية عن طريق استدعاء الوظيفة CompileAssemblyFromFile والتى تستقبل معاملين اثنين الأول هو الفئة التى تحتوى على معاملات المعالج والثانى الملف المراد ترجمته وبعد تنفيذ هذه الوظيفة فإن نتيجة عملية الترجمة قمنا بتخزينها داخل كائن من النوع CompilerResults حتى نتمكن من معرفة هل تمت العملية بنجاح أم لا وذلك عن طريق التحقق من عدد الأخطاء فإن كانت صفرا فإن العملية قد تمت بنجاح وإلا فإن العملية قد فشلت.

أتمنى أن يكون الدرس مفيداً وأى استفسار فأنا فى انتظاركم ,,

 

للمزيد من مواضيعي

   الموضوع الأصلي : هنا    ||   المصدر : منتدى العصر الجديد   ||   الكاتب: المبرمج المحترف    ||  مواضيعي
المبرمج المحترف غير متواجد حالياً   رد مع اقتباس
Sponsored Links
     
إضافة رد

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are معطلة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
برنامج منفذ الأوامر (ملفات .exe , صفحات ويب) مع الكود مجانا المبرمج المحترف C#.NET 0 09-13-2009 08:33 AM
تنشيط الkasper skay +الكود salfity موبايل 0 07-07-2009 02:18 AM
عمل فتحه لموقعك فى دليل نواحى مع الكود blackmonster منتدى تطوير المواقع 0 07-01-2009 02:11 AM
الكوخ المحترق الجدع القسم الاسلامي 3 06-19-2009 10:08 AM
هل تقول الشريعة إن راتب الزوجة لزوجها؟ النسر الأحمر القسم الاسلامي 13 06-10-2009 04:58 PM


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

مواقع صديقة

Everything About Britney Spears مركز الالعاب المجانية احلى مقاطع الفيديو دليل المواقع
Songs Mp3 Lyrics

الساعة الآن 12:19 AM.

RSS RSS 2.0 XML MAP HTML

Powered by vBulletin® Version 3.8.1, Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. TranZ By Almuhajir
vEhdaa 1.1 by NLP ©2009