قائمة البرمجة > لغة VB.NET

تعلم برمجة الكمبيوتر الكفي Pocket PC

الكاتب:


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


الحمد لله رب العالمين والصلاة والسلام على سيد المرسلين .. سيدنا محمد صلى الله عليه وسلم .. وبعد


قررت كتابة هذه الدروس إلى الأخوان ونشرها في المنتدى لكي يستفيد الجميع منها وتكون عون لهم على البدء في برمجة الكمبيوتر الكفي (Pocket PC) واسأل الله العون في إنجاز ما بدأته ، والأجر والثواب منه سبحانه وتعالى

الدرس الأول


الفصل الأول : المبادئ


أولا : الأدوات المطلوبة الأساسية :
- نظام نوافذ إكس بي (WindowsXP)
- لغة البرمجة Microsoft Visual Studio .net 2003
- جهاز كمبيوتر كفي بنظام وندوس 2003 (WindowsCE 2003)


ثانيا : الخبرات المقترح توفرها :
- الإلمام بـ VS.net 2003


الفصل الثاني : تهيئة الـ VS.net لكتابة أول برنامج

- شغل الـ VS.net
- من قائمة ملف (file) اختر جديد (new) ثم اختار مشروع (Projects) – وذلك حسب ماهو مشروح في الصورة التالية :



- سوف تظهر شاشة أخرى ، اتبع الخطوات كماهو موضح في الصورة :
- الخطوة الأولى : اختر مشروع فيجول بيسك (Visual Basic Projects)
- الخطوة الثانية : اختر برنامج الأجهزة الذكية (Smart Device Application)
- الخطوة الثالثة : اختر اسم البرنامج كما تحب



- ثم سوف تظهر الشاشة التالية ، اختر كما هو موضح في الصورة التالية :



- بعد ذلك ، أنت الآن على وشك كتابة أول برنامج ، وسوف تكون الشاشة كما هي الصورة التالية :



الدرس الثاني


الفصل الأول : كتابة أول برنامج


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


البرنامج المطلوب :
( برنامج يعرض حديث شريف للرسول صلى الله عليه وسلم )
( يحتوي البرنامج على زر يقوم بالخروج من البرنامج )

الحديث :
عن أبي هريرة رضي ا لله عنه أن رسول الله صلى الله عليه وسلم قال : " من حمل علينا السلاح فليس منا ومن غشنا فليس منا "


الفصل الثاني : تجهيز الواجهة للبرنامج


الخطوات :
سوف نبدأ في كتابة أول برنامج ، وسوف تكون الواجهة كما تركناها في الفصل السابق



الخطوة الأولى : إضافة مربع عنوان ( label ) لكتابة الحديث عليه ، وذلك بالنقر المزدوج على زر مربع العنوان في لوحة الأدوات وسوف يظهر مربع العنوان على النموذج (form) كما في الصورة التالية :



الخطوة الثانية : بعد ذلك نقوم بتغير حجم مربع العنوان حتى يصبح كما هو موضح في الصورة التالية :



الخطوة الثالثة : إضافة مربع زر (Button) في أي مكان في النموذج (form) بحيث لا يتعارض مع زر العنوان الذي أضفناه سابقاً .
في النهاية سوف يكون شكل النموذج كما هو في الصورة التالية :



الآن نحن جاهزون لكتابة الأوامر وللبدء في البرمجة

الفصل الثالث : البرمجة


أولا يجب كتابة الحديث الشريف في مربع العنوان. ويمكن أن يكون بعدة طرق ولكن سوف نأخذ الطريقة الأسرع والأسهل ، وهي :
بأن نشير بالفارة على مربع العنوان في النموذج ثم نتجه لقائمة الخصائص ونختار : Text ، ونكتب فيها الحديث الشريف كامل ، في الخانة التي تليها : TextAlign ، نختار : TopCenter ، ويمكن أيضاً تحديد حجم الخط ... وسوف أترك تحديد حجم الخط لكم (font).



بهذه الطريقة ، تمت الخطوة الأولى من البرنامج ، والآن للخطوة الثانية ، وهي جعل مربع الزر يقوم بالخروج من البرنامج في حالة الضغط عليه.

الخطوة الأولى هي الضغط المزدوج على مربع الزر في النموذج (form) ، وبعد الضغط المزدوج على الزر سنلاحظ أن الشاشة أصبحت كالتالي :



ما تحتاج كتابته هو الأمر التالي :


Application.exit


وهو أمر إنهاء البرنامج ، ونلاحظ آن اللغة المستخدمة لغة قريبة من الواقع وهذا ما يميز لغة الـ Dot Net


Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click

()Application.Exit

End Sub


وبهذا الأمر أصبح البرنامج جاهزاً ، ويمكن الآن عمل نسخة : Cab ، من البرنامج وذلك بالذهاب إلى قائمة (Build) ونختار الأمر (Build Cab file) وبذلك أصبح ملف الكاب جاهزاً للتحميل على جهازك الكفي.

الدرس الثالث


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

* سوف نعتمد إن شاء الله تعالى في هذا الدرس على الصورة التالية لتوضيح الأدوات المطلوبة وطريقة التعامل مع الفيجول بيسك :



طبعا واجهة البرمجة تكون كما تركنها في الصورة السابقة ، ونضيف الأدوات التالية من صندوق الأدوات أو شريط الأدوات :
* صندوق قوائم منسدلة ( Combo Box )
* مربعين للعنوان ( Label )
* عنصر قائمة ( MenuItem) ، غالباً ما يكون هذا العنصر موجود عند البدء في مشروع جديد.
ونحاول ترتيبها على النموذج لتصبح بالشكل التالي :



الآن شكل النموذج أصبح جاهزاً ، ولنبدأ الآن عملية تجهيز البرنامج
الخطوة الأولى ، نشير بالزر الأيمن للفارة على صندوق القوائم (combo box) ، ونذهب إلى خصائص الأدوات ونبحث عن خاصية ( Items ) ، نجد بجوارها ثلاث نقاط [...] ، نقوم بالضغط على الثلاث نقاط ، وسوف تظهر لوحة للكاتبة ، نكتب في هذه اللوحة قائمة بالدول التي نريدها في برنامجنا ، وتكون كل دولة في سطر مستقل ، كما في الصورة التالية :



والآن للخطوة الثانية : وهي برمجة صندوق القوائم ليعرض بيانات الدولة في مربع العنوان عند اختيار دولة معينة. والآن ، نقوم بالنقر المزدوج على صندوق القوائم المنسدلة ، ليفتح لنا محرر الأكواد ، وسوف تكون الواجهة كما في الصورة التالية :



كما نلاحظ في الصورة السابقة ، أن كتابة الأوامر البرمجية محصور في نقطة معينة ، وخاص بشي معين وهو عنصر القائمة المنسدلة ( صندوق القوائم : ComboBox1 ) ، والأوامر هي التالي :


If ComboBox1.Text
= "السعودية"
Then Label2.Text
= "العاصمة : الرياض" +
vbNewLine +
" معلومات إضافية"


وتكتب في سطر واحد ، أنا كل ما اكتبها في سطر واحد تطلع ملخبطة هنا ، عشان كذا كتبتها لكم على اسطر متعددة - ونقصد بها : إذا كانت اختيار الصندوق دولة .. كذا .. فيقوم بعرض المعلومات عن العاصمة والمعلومات الإضافية في مربع العنوان ( label2 ) ، ونكمل بقية الدول على نفس المنوال ( في الصورة السابقة لم أكمل بقية الدول ) .
وإن شاء الله سوف نقوم فيما بعد عند تطوير البرنامج بالاستغناء عن هذه الطريقة البرمجية باستخدام قاعدة بيانات فيها بيانات جميع الدول ، وسوف نحاول إضافة خرائط وأعلام ... إلخ . إن شاء الله تعالى

والآن ، بعد كتابة جميع الدول ، أصبح البرنامج شبه جاهز ، بقي لنا إضافة قائمة ملف ، وإضافة أمر للخروج منها .

إن لم تكون قد أضفت عنصر القائمة من لوحة الأدوات ( صندوق الأدوات كما هو مكتوب في الصورة : MenuItem ) كما هو واضح في الصورة الثانية من هذا الدرس ، فقم بذلك الآن ، واشر بالزر الأيسر للفارة عليه وسوف تلاحظ أن كلمة (type here ) قد ظهرت على النموذج ، انقر فوق هذه الكلمة ( type here ) وسوف تتيح لك كتابة اسم القائمة ، وليكن اسم القائمة : ملف ، وبعد كتابة ملف ، سوف تظهر قائمة اخرى ونفس الكلمة سوف تظهر مرة اخرى (type here) وهي متفرعة من قائمة ملف التي كتبناها ، انقر فوقها واكتب اسمها : خروج .



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

Application.exit


لقد أنتهينا من البرنامج ... والآن من قائمة : Build ، نختار : Build Cab File

برنامج للتجربة فقط
SmartDeviceApplication1PPC.ARMV4.rar

الدرس الرابع


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

الفقرة الأولى من الدرس :
حمل المشروع النهائي وأنظر إليه وحاول تحليل البرنامج وكيفية الوصول إليه !!


data_PPC.ARMV4.rar


الفقرة الثانية : كتابة البرنامج

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



نقوم الآن بتجهيز لغة البرمجة وعمل مشروع جديد كما تعودنا ، ومن باب التذكير سوف تكون الصورة كالتالي :



والآن نضيف من شريط الأدوات مربع صورة (PictureBox1) ، ونجعل المربع ملئ النموذج ، أي أن مربع الصورة الذي أضفناه يغطي النموذج كاملا ، ومن نافذة الخيارات الخاصة بمربع الصورة نختار خاصية الصورة (image) ونحمل الصورة التي نريدها كخلفية أو ملئ النموذج في مربع الصورة ، وسوف يكون الشكل النهائي للنموذج بعد تحميل الصورة في مربع الصورة كما في الصورة التالية :



الخلفية أصبحت جاهزة ، ونحتاج أن نضيف مربع قوائم منسدلة (ComboBox1) , وضع بتنسيق في المكان المخصص له أمام كلمة : اسم الدولة ، ونضع أيضاً مربع عنوان (label1) ونضعه أمام كلمة : اسم العاصمة في النموذج ، ونضع أيضا مربع عنوان أخر (label2) في خانة التي سوف تظهر فيها التفاصيل الخاصة بكل دولة ، ونحاول إضافة بعض القوائم (MenuItem) ، راجع الصورة التالية لترى الشكل النهائي :



أصبحت الواجهة جاهزة تماماً ، بقي لنا نقطتان مهمة ، الأولى : بناء قاعدة بيانات وتدوين المعلومات فيها ، والنقطة الثانية : كتابة الأوامر البرمجية ، وبناء قاعدة البيانات يكون عن طريق برنامج الـ MS Access ، ومن ثم تصدير البيانات بصيغة : XML ، وهي إحدى الصيغ المعتمدة في نظام تشغيل الكمبيوترات الكفية WinCE ، ويجب أن تكون قاعدة البيانات تحتوي على ثلاثة حقول ، الحقل الأول باسم : F1 ، ويحتوي على اسم الدولة ، والحقل الثاني باسم : F2 ، ويحتوي على اسم العاصمة ، والحقل الثالث باسم : F3 ، وهو مذكرة ويحتوي على المعلومات الإضافية عن الدولة ، واختصارا للجهد ، فقد أرفقت ملف قاعدة البيانات مع الدرس ، وكل ما عليك عمله هو تحويل الملف من صيغته الحالية إلى صيغة : XML وذلك باستخدام برنامج الـ MS Access ، والملف بعد التحويل أيضاً مرفق مع الدرس

ملف data.mdb
ملف data.xml
dbase.rar


الخطوة القادمة هي إضافة الملف إلى البرنامج ، من قائمة (Project) ، اختر (Add Existing Item) ، سوف تظهر قائمة نحدد منها اسم الملف : data.xml وبعد ذلك تختار فتح (open)



وسوف تلاحظ أن الملف أصبح موجود كما في الصورة التالية :



ها قد أنهينا إضافة ملف البيانات إلى البرنامج وأصبح جاهزاً ولنبدأ بعون الله في كتابة الأوامر البرمجية ، وقبل البدء في الأوامر البرمجية ، نقوم بعمل تحليل منطقي مبسط للبرنامج لشرح كيفية عمل البرنامج :

* يقوم البرنامج عند بدء التشغيل بقراءة ملف البيانات وأخذ الحقل الأول فقط (F1) وإضافته إلى مربع القوائم المنسدلة (ComboBox1) ، بحيث عند تشغيل البرنامج سوف يكون مربع القوائم المنسدلة فيه كل الدول المضافة في ملف البيانات وسوف يعرضها جميعا
* عند اختيار دولة معينة من مربع القوائم المنسدلة فسوف يقوم البرنامج بالبحث عن هذه الدولة في ملف البيانات وسوف يقوم بعرض العاصمة في مربع العنوان الأول (label1) وسوف يقوم بعرض البيانات الأخرى في مربع العنوان الثاني (label2)
هذه باختصار هي فكرة البرنامج وطريقة عمله نظرياً والآن مع الأوامر البرمجية :


البرنامج يحتاج الـ Namespace التالية :


Imports System.IO
Imports System.Xml
Imports System.Text
Imports System.Globalization


بعد العبارة التالية :
Public Class Form1
نقوم بكتابة هذه الأوامر ، وهي ضرورية لعمل البرنامج ولتحديد مسار ملف البيانات


Inherits System.Windows.Forms.Form
Private Const dataXML As String = "\Program Files\data\data.xml"
Private dsData As System.Data.DataSet


عند بدأ تحميل النموذج ، يقوم البرنامج بإستعداء الدالة : LoadData ليتم تحميل البيانات ، وبعد ذلك يقوم بوضع الحقل الأول من البيانات في مربع القوائم المنسدلة ليعرضها على المستخدم :


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

loadData()

Dim dr As DataRow
For Each dr In dsData.Tables("country").Rows
ComboBox1.Items.Add(dr("F1").ToString())
Next
End Sub


الأوامر التالية هي أوامر تحميل وقراءة ملف البيانات ، ويعطي رسالة خطأ باسم الملف في حالة عدم القدرة على القراءة أو عدم توفر ملف البيانات :


Private Sub loadData()
dsData = New DataSet("Data")
Try
Dim fs As New FileStream(dataXML, FileMode.Open)
Dim xr As New XmlTextReader(fs)
dsData.ReadXml(xr)
xr.Close()
fs.Close()
Catch e As System.IO.FileNotFoundException
MessageBox.Show("File " & dataXML & " not found.")
Catch e As XmlException
MessageBox.Show("XmlException occured")
End Try
End Sub



الأمر البرمجي في حالة تغيير محتوى صندوق القوائم المنسدلة ، فسوف يقوم البرنامج بالبحث عن الدولة في ملف البيانات ووضع العاصمة في : Label1 ، ووضع البيانات الإضافية عن الدولة في : Label2


Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

Dim dr As DataRow
For Each dr In dsData.Tables("country").Rows
If dr("F1").ToString() = ComboBox1.Text Then
Label1.Text = dr("F2").ToString()
Label2.Text = dr("F3").ToString()

End If

Next
End Sub



الأمر البرمجي لإنهاء البرنامج وذلك بالضغط على قائمة : خروج


Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click

Application.Exit()

End Sub



بذلك ، أصبح البرنامج جاهزاً ، وقد أرفقت الملف المصدر (source) لزيادة التوضيح.

data.rar

طبعاً قد يشكل على البعض فهم بعض النقاط ، ويمكن شرح ما أشكل إن شاء الله تعالى في حالة طلب ذلك

هذه بعض المواقع المفيدة لتعلم برمجة الكمبيوتر الكفي سواء بإستخدام الـ vc او الـ vb

http://www.devbuzz.com/

http://opennetcf.org/

http://www.gotdotnet.com/

وطبعا ما ننسى موقع MSDN الخاص بمايكروسوفت فهو موقع أكثر من رائع ومفيد