التنبيهات التالية ظهرت :
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 864 - File: showthread.php PHP 7.4.33 (Linux)
File Line Function
/showthread.php 864 errorHandler->error



تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
دورة الفيجوال بيسك و اللينيكس - الدرس الثاني
#1
كاتب الموضوع : magicsword

بسم الله الرحمن الرحيم


تناولنا في الدرس الاول من الدورة مقدمة مبسطة عن منصة تشغيل التطبيقات mono و بعض البرامج الهامة التي سوف نحتاج اليها لنقل برامجنا المكتوبة بلغة vb.net للعمل تحت نظام التشغيل اللينيكس. في الدرس االثاني من الدورة سوف نبدا في بناء تطبيقات بلغة vb.net تستطيع العمل في نظام Linux من خلال mono.


محتويات الدرس الثاني

1. التقنيات المدعومة تحت mono
2. تطبيق Hello World
3. مقدمة عن التطبيقات الرسومية GUI
4. تطبيق Windows Forms


التقنيات المدعومة تحت mono

قبل ان نبدا في تطوير البرامج لمنصة mono يجب ان نتعرف على التقنيات التي يدعمها mono والتقنيات التي لا يدعمها mono ... حتى نعرف نوعية التطبيقات التي يمكن او لا يمكن تطويرها لمنصة mono.

Microsoft .NET Framework 1.1

C# 1.0 - دعم متكامل

المكتبات الاساسية mscorlib, System, System.Xml - دعم متكامل

ASP.Net 1.1 - دعم متكامل

ADO.Net 1.1 - دعم متكامل

Winforms/System.Drawing 1.1 - دعم متكامل

System.Transactions - دعم متكامل

System.Management - غير مدعومة لانها لا تتوافق مع اللينيكس

System.EnterpriseServices - غير مدعومة

-------------------------------------------------------------------------------------------------

.NET 2.0

C# 2.0 (generics) - دعم كامل

Core Libraries 2.0: mscorlib, System, System.Xml - دعم كامل

ASP.Net 2.0 - دعم كامل

ADO.Net 2.0 - دعم كامل

Winforms/System.Drawing 2.0 - دعم كامل

-------------------------------------------------------------------------------------------------

.NET 3

WCF
- دعم غير كامل

WPF - غير مدعوم

WF (Work Flow projects) - غير مدعوم

-------------------------------------------------------------------------------------------------

.NET 3.5

C# 3.0 - دعم متكامل

System.Core - دعم متكامل

LINQ - دعم متكامل

ASP.Net 3.5 - دعم متكامل

ASP.Net MVC - دعم متكامل

LINQ to SQL - دعم متكامل

-------------------------------------------------------------------------------------------------

.NET 4

C# 4.0 - دعم متكامل

ASP.Net 4.0 - دعم متكامل

ASP.Net MVC 1 and MVC 2 - دعم متكامل

System.Numerics - دعم متكامل

Managed Extensibily Framework - دعم متكامل

Dynamic Language Runtime - دعم متكامل

Client side OData - دعم متكامل

Parallel Framework and PLINQ - دعم متكامل

CodeContracts - دعم غير متكامل

EntityFrameworks - غير مدعومة

Server-side OData - غير مدعومة

المصدر
http://www.mono-project.com/Compatibility

-------------------------------------------------------------------------------------------------


تطبيق Hello World


سوف نبدا باذن الله بتصميم اول برنامج لنا على منصة mono بلغة vb.net باستخدام Visual Stdio 2010 كبيئة تطوير و باستخدام MonoDevelop لترجمة وتشغيل البرنامج (debugger) لمنصة mono

تطبيق Hello World هو تطبيق Console بدون واجهة رسومية وسوف يكون موجة لاطار العمل Microsoft .NET 3.5.

1. في Visual Stduio 2010 قم بانشاء مشروع جديد من نوع Console Application ويكون اسمة HelloWorld .

2. في الاجراء الاساسي main قم بكتابة الكود التالي

كود :
[color=#000000][COLOR=#0000bb]        Console[/color][color=#007700].[/color][color=#0000bb]WriteLine[/color][color=#007700]([/color][color=#dd0000]"Hello World"[/color][COLOR=#007700])
        [/COLOR][color=#0000bb]Console[/color][color=#007700].[/color][color=#0000bb]ReadLine[/color][COLOR=#007700]()  
[/COLOR][color=#0000bb][/color][/COLOR]

3. قم بحفظ المشروع باسم HelloWorld

4. قم بتشغيل MonoDevelop ومن قائمة File اختر Open ثم اختر ملف ال solution الخاص بالمشروع HelloWorld. سوف تقوم MonoDevelop بعمل استيراد لملفات المشروع.

5. في شريط الادوات القياسي Standard Toolbar سوف تجد قائمة منسدلةCombo box تحتوي على خيارات ترجمة المشروع اختر الاعدادات التالية:
Release x86 – Mono 2.10.5 ...لكي يتم ترجمة وتشغيل البرنامج تحت منصة mono.

6. اضغط Cntrl+ F5 لتشغيل البرنامج تحت منصة mono. في حالة نجاح التطبيق ستجد عبارة Hello World قد ظهرت في Application Output.

مبروك لقد برمجت اول تطبيق لك على منصة mono وهذا التطبيق يمكنة العمل على نظام التشغيل Linux

-------------------------------------------------------------------------------------------------

مقدمة عن التطبيقات الرسومية GUI

يوفر لنا mono مجموعة من المكتبات المختلفة التي يمكن الاختيار فيما بينها لعمل واجهة رسومية للتطبيق الخاص بنا و لعل اشهر هذة المكتبات هي Windows Forms وgtk# وسوف نقوم بعرض مختصر لاهم هذة المكتبات و شرح لمزاياها و عيوبها.

GTK#

هي مكتبة تم اشتقاقها من المكتبة الام Gtk+ وتم تطويرها خصيصا لعمل تطبيقات رسومية لمنصة المونو و الدونت وهي موجهة في الاصل للغة C# ولكن يمكن استخدامها في لغة vb.net.

يوفر MonoDevelop محرر واجهات للتطبيقات المكتوبة ب Gtk#

المنصات المدعومة: Windows, Linux, Mac OSx

المزايا:
1. مجتمع كبير للدعم
2. الاندماج مع سطح المكتب جنوم
3. الاندماج مع الويندوز حيث انها لها نفس شكل التطبيقات في الويندوز native look
4.لها نفس API الخاصة ب Gtk+
5. MonoDevelop توفر دعم متكامل لتطبيقات GTK#
6. دعم لكثير من اللغات C#, Java, Python, VB.Net
7. مكتبة حرة و مفتوحة المصدر
8. مجموعة كبيرة من الادوات

العيوب:
1. لها شكل مختلف عن التطبيقات الاخرى على Mac OSx
2. ملفات المساعدة و الدعم غير مكتملة
3. صعوبة التعلم وخاصة لمبرمجي ال Vb.net




Windows.Forms

هي المكتبة الرئيسية لعمل الواجهات في Microsoft Windows ويستخدمها ملايين المبرمجيين في عمل التطبيقات. يوفر ال mono الدعم لعمل التطبيقات الرسومية باستخدام هذة المكتبة ويمكن تطبقات Windows Forms من العمل على المنصات التشغيل الاخرى ( مع استثناء مجموعة من التطبيقات التي استخدم فيها بعض الادوات خارجية والتي تستخدم Win API مباشرة)

المنصات المدعومة: Windows, Linux, Mac OSx

المزايا:
1. دعم متكامل من خلال كتب-مقالات-منتديات
2. تمكنك ببساطة من نقل برامجك المكتوبة ب vb.net للعمل على المنصات الاخرى.

العيوب:
1. لا يوجد دعم للكود الذي يستخدم WIN API
2. شكل التطبيقات يظهر مختلف عند تشغيلة على المنصات الاخرى




مكتبات رسومية اخرى يمكن استخدمها:


Mono Mac
http://www.mono-project.com/MonoMac



Qyoto
http://techbase.kde.org/Development/Languages/Qyoto

Qt4Dotnet

http://code.google.com/p/qt4dotnet/

المصدر:
http://www.mono-project.com/Gui_Toolkits

-------------------------------------------------------------------------------------------------

تطبيق Windows Forms

بما اننا نريد ان ننقل تطبيقاتنا للعمل على المنصات الاخرى فسوف نستخدم مكتبة Windows Forms

سوف نبدا باذن الله بتصميم اول برنامج رسومي لنا على منصة mono بلغة vb.net باستخدام Visual Stdio 2010 كبيئة تطوير - لان ال MonoDevelop لا تحتوي على محرر نوافذ لل vb.net - و باستخدام MonoDevelop لترجمة وتشغيل البرنامج (debugger) لمنصة mono

تطبيق Hello GUI هو تطبيق Windows Forms Application وسوف يكون موجة لاطار العمل Microsoft .NET 3.5.


1. في Visual Stduio 2010 قم بانشاء مشروع جديد من نوع Windows Forms Application ويكون اسمة Hello GUI.

2. قم باضافة button الى ال Form ثم قم باضافة الكود التالي في الحدث Button_Click

كود :
[color=#000000][COLOR=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Hello Linux"[/color][color=#007700], [/color][color=#dd0000]"Mono"[/color][color=#007700], [/color][color=#0000bb]MessageBoxButtons[/color][color=#007700].[/color][color=#0000bb]OK[/color][color=#007700], [/color][color=#0000bb]MessageBoxIcon[/color][color=#007700].[/color][color=#0000bb]Information[/color][COLOR=#007700])  
[/COLOR][color=#0000bb][/color][/COLOR]

3. قم باضافة الكود التالي في الحدث Form_FormClosing

كود :
[color=#000000][COLOR=#0000bb]Application[/color][COLOR=#007700].Exit()  
[/COLOR][color=#0000bb][/color][/COLOR]

4. قم باضافة Module وسمة start

قم باضافة الكود التالي الى Module start


كود :
[color=#000000][COLOR=#0000bb]    Sub main[/color][COLOR=#007700]()

        [/COLOR][color=#0000bb]Application[/color][color=#007700].[/color][color=#0000bb]EnableVisualStyles[/color][COLOR=#007700]()
        [/COLOR][color=#0000bb]Dim StartForm [/color][color=#007700]As New [/color][COLOR=#0000bb]Form1
        StartForm[/COLOR][color=#007700].[/color][color=#0000bb]Show[/color][COLOR=#007700]()

        [/COLOR][color=#0000bb]Application[/color][color=#007700].[/color][color=#0000bb]Run[/color][COLOR=#007700]()

    [/COLOR][COLOR=#0000bb]End Sub  
[/COLOR][/COLOR]

5. اذهب الى خيارات المشروع و فم بتعطيل الخاصية Enable Application framework حيث ان ال MonoDevelop لا تدعمها....وغير Startup object الى start

6. قم بحفظ المشروع باسم HelloGUI

7. قم بتشغيل MonoDevelop ومن قائمة File اختر Open ثم اختر ملف ال solution الخاص بالمشروع HelloGUI. سوف تقوم MonoDevelop بعمل استيراد لملفات المشروع.

8. في شريط الادوات القياسي Standard Toolbar سوف تجد قائمة منسدلةCombo box تحتوي على خيارات ترجمة المشروع اختر الاعدادات التالية:
Release x86 – Mono 2.10.5 ...لكي يتم ترجمة وتشغيل البرنامج تحت منصة mono.

9. اضغط Cntrl+ F5 لتشغيل البرنامج تحت منصة mono. في حالة نجاح التطبيق ستظهر نافذة التطبيق جرب ان تضغط على ال Button. ستجد ان شكل ايقونة التطبيق و شكل صورة الرسالة تختلف لان البرنامج من خلال منصة Mono وليس .NET

مبروك هذا اول تطبيق رسومي لك......هذا التطبيق يمكنة العمل بكل سلاسة على منصات التشغيل الاخرى.





انتهي الدرس الثاني من الدورة واعتذر عن تاخر الدرس لظروف السفر و الامتحانات
ومنتظر الاراء و الاسئلة

بالتوفيق
Magic Sword
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
دورة الفيجوال بيسك و اللينيكس - الدرس الثاني - بواسطة Raggi Tech - 03-10-12, 03:01 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [درس فيديو] اضافة ملف مشغل لصفحة html و جافاسكريبت و سي اس اس بفيجوال بيسك.(قد لا اكون اصبت بالتع سعود 1 923 17-04-23, 08:31 AM
آخر رد: سعود
  ربط الفيجوا ل بيسك 2010 بأكسيس 2010 اسلام الكبابى 0 1,828 04-08-21, 01:27 AM
آخر رد: اسلام الكبابى
  شرح تحزيم البرامج في الفيجوال نت عمل ملف تنفيذي ملهمـ 0 2,693 08-04-21, 01:09 AM
آخر رد: ملهمـ
  [مشروع] مكتبة برمجية بلغة الفيجوال بيسك aljzazy 4 3,785 23-05-20, 02:12 PM
آخر رد: asemshahen5
  [VB.NET] برنامج ستايلات للفيجوال بيسك DK-x 2 5,964 14-08-19, 07:51 PM
آخر رد: أمجد وضاح
  [مقال] الفيجوال والSQLSERVER اسامه الهرماوي 4 2,983 28-05-19, 09:30 PM
آخر رد: اسامه الهرماوي
Information تحميل برنامج الفيجوال بيسك 2010 download visual basic 2010 mohamed atef2018 4 64,977 15-03-19, 07:50 PM
آخر رد: العتيق
  دورة إنشاء برنامج مبيعات متكامل ملهمـ 1 2,721 02-05-18, 12:04 AM
آخر رد: عبد العزيز البسكري
  [درس فيديو] مثال بسيط لبرنامج إجازات فقط لأغراض الشرح (الدرس الأول) عبدالله الدوسري 7 11,547 28-04-18, 06:55 PM
آخر رد: moniam
  الطباعة على الوورد من خلال الفيجوال بطريقة مبسطة abdullah 10 15,594 01-04-18, 03:16 AM
آخر رد: سعود الشامان

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم