كتابة وتشغيل الكود في وقت التشغيل (عمل كومبايلر) - سي شارب - مقـــالات - Top Coder
Welcome to our Site
الدخــول Or تسجـــيل
الأربعاء
2016-12-07
5:18 PM
تسجــــيل | دخـــول
الرئيسية » مقالات » سي شارب

كتابة وتشغيل الكود في وقت التشغيل (عمل كومبايلر)
كتابة وتشغيل الكود في وقت التشغيل (عمل كومبايلر)

مقـــدمه
سنتطرق اليوم الى موضوع جديد قد نحتاجه أحيانا , حيث سنشرح كيف يمكنك ترجمة وتشغيل كود سي شارب من خلال برنامجك , فيمكنك الأن تشغيل برنامجك وكتابة الأكواد بداخل تكست بوكس مثلا , ثم تشغيل الكود وعمل برنامج , وكأنك تكتب داخل بيئة السي شارب .
فلنبدأ
في البداية يجب ان نضيف 3 نيم سبيس وهي
Microsoft.CSharp - System.CodeDom.Compiler - System.Diagnostics
والان نجتاج فقط لمكان يكتب فيه الكود داخل نافذة البرنامج , وليكن RichTextBox , وايضا مكان لإظهار الأخطاء ان وجدت وليكن ListBox .

والآن سنعرض الكود الخاص بالعملية بمجملها , حيث الداله التاليه ذات معامل txt نصي , حيث يمرر من خلاله الكود الذي نريد ترجمته وتشغيله  
CompileText Method
 
حيث في البدايه قمنا بخلق كائن من الكلاس CSharpCodeProvider لكي نستطيع من خلاله خلق كومبايلر من نوع انترفيس ICodeCompiler , ثم بعد ذلك نقوم بعمل كائن من النوع CompilerParameters لكي نستطيع من خلاله تمرير معاملات الكوبايلر , حيث وضعنا قيمة GenerateExecutable لكي يخرج لنا ملف من النوع exe , وايضا وضعنا القيمة OutputAssembly وهي التي تعبر عن اسم الملف الذي سيقوم الكومبايلر باخراجه في نهاية البرنامج .

بعد ذلك نقوم بتشغيل البرنامج و كشف الأخطاء بواسطه الكلاس CompilerResults , حيث في حالة وجود أخطاء سوف نظهرها داخل ListBox , وفي حالة عدم وجود أخطاء سوف يتم تشغيل البرنامج .

والان كل ما عليك هو تجربة البرنامج , فقط ضع الكود التالي داخل النص , وقم بتشغيل البرنامج , حيث هذا الكود يحتوي على برنامج يقوم بأظهار hello world داخل الكونسول  
test Code
 
الان انت لديك مترجم اكواد سي شارب يمكنك من خلاله كتابه أي برنامج وتشغيله , ويمكنك الان الذهاب الى المجلد الخاص بالبرنامج لتجد ملف باسم pro.exe قد ادرج , حيث يحتوي هذا البرنامج على نتيجة الكود الذي قمت بكتابته وتشغيله من خلال برنامجك .
ختـــام
بأفكار بسيطه يمكننا ان نصنع أشياء كبيره , فبهذه الفكره البسيطه يمكنك كتابة برامج كامله وصناعتها من خلال اداه بسيطه , ويمكنك تطوير الفكره الى الدرجة التي تجعلك في غنى عن بيئة الفيجوال ستوديو - وان كان هذا من الصعب جدا

وقد تم الأستعانه بموضوع في موقع ميكروسوفت ... للإطلاع على الموضوع من الرابط
http://support.microsoft.com/kb/304655
تحميل المشروع
 Written by :  Mohammed Mahmoud
الفئة: سي شارب | أضاف: ham_mody2000 (2011-10-09 2:03 AM)
مشاهده: 2037 | الترتيب: 0.0/0


أترك تعليقك من خلال حسابك على الفيس بوك

تعليقات مشتركي الموقع

مجموع المقالات: 0
إضافة تعليق يستطيع فقط المستخدمون المسجلون
[ التسجيل | دخول ]
طريقة الدخول
بحث
Our Facebook community

تم إطلاق صفحة توب كودر على الفيس بوك

Advertisment
الأحـــدث
hitstatus
Copyright Mohammed Mahmoud © 2016
إنشاء موقع مجاني с uCoz