الأحد، 11 أغسطس 2013


الدرس 2- فهم مبادئ اللغة والمدخل لها مع برنامج الة حاسبة بسيطة

للبدئ في اللغة بشكل جدي لا بد من فهم عدة نقاط
أولا: الكلمة المحجوزة:
وهي كلمة تم إستخدامها من قبل لغة البرمجة المستخدمة مثل الكلمة if فهي كلمة محجوزة في لغة سي شارب
ثانيا: مجالات الأسماء (Name Spaces):
يمكنك إستيراد إحدى مجالات الأسماء باستخدام الكلمة المحجوزة using
فمثلا لو أردنا إستيراد الفئة IO وكما هو واضح أن أكبر مجال أسماء في اللغة هو System:
كود:
using System.IO;
فمثلا إذا أردنا أن نوصل إلى أمر فتح ملف في برنامجنا يمكننا فعل إحدى الطريقتين:
علما أن الأمر يقع تحت مجال الأسماء System.IO
الأولى
كود:
using System.IO;
وفي هذه الحالة يكتفى بكتابة الأمر كالتالي:
File.Open






البدئ مع لغة c# :
الان قد ان الأوان لنبدأ بلغة سي شارب بشكل جدي:
كتابة البرنامج الأول لك:
أولا قم بفتح برنامج ال Visual Studio 2008
سوف تجد كلمة Projectوعلى يمينها خيارين Open,Create
Open: لفتح برنامج مصنوع سابقا
Create: إنشاء مشروع جديد
إختر Createسوف تظهر لك نافذة تحوي على العديد من الخيارات التي سوف ندرس اهمها:
1- Windows Forms Application
وهي البرامج ذات النوافذ كال Internet Explorer ويكون إمتدادهاexe
2- Class Library
وهي عبارة عن صف برمجي فارغ للبدأ ببرمجته من الصفر ويكون إمتداده dll
3- ASP.NET Web Application
إنشاء تطبيقات Web باستخدام تقنية asp.net
4- ASP.NET Web Service Application
إنشاء خدمات لتطبيقات الويب باستخدام تقنية asp.net
5- WPF Application
وهي برامج متطورة يستخدم في رسمها لغة xaml
6- Console Application
وهي تطبيق مهمته تنفيذ شيئ ثم الإغلاق وسوف تظهر ال Console أثناء تنفيذ هذا البرنامج
وعادة ما يستخدم في برامج فك الضفط . النسخ ,,,
7- Windows Forms Control Library
لتصنيع أداة خاصة بك لأستخدامها في تطبيقات Windows Form Application
والان نعود إلى موضوعنا سوف نختار Windows Forms Application:

في ال Name: نضع إسم البرنامج والذي سيكون الان myfirstprogram
ثم إضغط على زر Ok
الان سوف تلاحظ ظهور فورم أمامك ( تم الشرح في الدرس السابق ماهية الفورم )
والان سوف نبدأ بدراسة بعض خواص هذه الفورم:
( ملاحظة لعرض خواص Controlما إضغط عليها ضغطة بالزر الأيمن للفأرة ثم إختر Properties
سوف تظهر خصائص ال Controlفي أسفل الشاشة على اليمين )

1- الخاصية Text
وهي الخاصية التي تحدد ماهو المكتوب على رأس الفورم(( بشكل إفتراضي هو Form1))لأنها الفورم الأولى في البرنامج
إكتب هنا MyFirstProgram
2- الخاصية Size
من خلال هذه الخاصية تستطيع تحديد حجم الفورم ولا داعي لكتابتها يدويا فأنت عدل بحجم الفورم بالفأرة وهي سوف تعدل تلقائيا
3- الخاصية Name:
ومن هنا يتم تحديد إسم الفورم (( إجعلها MainForm))
4- StartPosition
ومن هنا تحدد مكان الفورم عندما يتم تحميلها (( إجعلها CenterScreenلكي تبدأ بمنتصف الشاشة ))
الان سوف نقوم ببرمجة الة حاسبة بسيطة نقوم بوضع رقمين لها فتخرج الناتج برسالة:
ولكن قبل ذلك
عليا تعريفك ببعض مصطلحات اللغة ولو بشكل بسيط (الذي يلزمنا الان ) :
bool وتكون قيمتها true أو false
stringوتكون قيمتها نصية مثلا "td"
doubleرقم كبير عشري
(( سوف يرد في الدورة الشرح المفصل لكل واحدة وحدود إستيعابها ومقدار وزنها على ال ram))
الان نضع إثنان من ال textboxعلى ال form ثم نضع Button نجعل الخاصية text له = إجمع
وفي كل من خاصية ال textلل textboxes إجعلها = 0

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

كود:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{

}

}
}
لكن ما الذي كتب تلقائيا؟؟؟
أولا:
كود:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
هنا تم إستيراد المجالات كما تعلمنا في الدرس السابق
ثم تم تعريف ال namespace الخاص بالبرنامج والذي يدعى هنا WindowsFormsApplication1
كود:
public Form1()
{
InitializeComponent();
}
هنا كما تلاحظ أنه تم إستدعاء الأمر InitializeComponent
وهو الأمر الذي يقوم برسم الفورم ( سوف نتطرق إليه ويمكن الوصول إليه من ال Designer
الخاص بالفورم)
كود:
private void button1_Click(object sender, EventArgs e)
{
هنا سوف ينفذ كل شيئ مكتوب عند ضغطbutton1
}
ما هنا فقط تم إضافة أمر في ال Designer مع الحدث Click لل button1 لكي يتم تنفيذ الكود مع ضغط الزر والذي يتم على الشكل التالي
كود:
button1.Click+=new EventHandler(button1_Click);


أنتبه في الكود السابق تم إفتراض أنك قد كتبت أمر بأسم button1_Click حيث سوف يتم تنفيذ هذا الأمر عند ضغط زر البرتون وبإمكانك تغيير إسم الأمر كما تشاء
الان نكتب في الأمر الذي كتب تلقائيا في المكان الذي أشرت إليه سابقا:
كود:
private void button1_Click(object sender, EventArgs e)
{
هنا أكتب كود الجمع
}
نكتب:
كود:
double num1, num2;
num1 = double.Parse(textBox1.Text);
num2 = double.Parse(textBox2.Text);
MessageBox.Show((num1 + num2).ToString());

شرح الكود:
أولا قمنا بتعريف متغيرين من نوع double الأول:num1 والثانيnum2
وفي السطر الثاني تم إعطاء القيمة num1 = textbox1.text ولكن هنا يوجد مشكلة
أنه لا يمكن أن نعطي قيمة نصية string لقيمة عدديةdouble
لذلك قمت بالتحويل من stringإلى double كما هو واضح
أي تستخدم هذه الطريقة للتحويل من string إلى double على الشكل التالي:
مثلا:
كود:
num1 = double.Parse("500");
فهنا أصبحت num1 = 500

ثم في السطر الثالث قمنا بجعل num2 = textbox2.text بعد تحويلها ل double بنفس الطريقة
والان نصل إلى السطر الثالث ما معنى MessageBox???
وهي أمر يمكن من خلاله إظهار رسالة بقيمة نصية كالتالي:
كود:
MessageBox.Show("mymessage");
فقد قمت بجمع الرقمين num1,num2 بين قوسين ثم كتبت على القوسين .ToString()
ويتم إستخدام هذه الدالة على الشكل التالي:
كود:
textBox1.text = num1.ToString();
كما هو واضح فإنها تستخدم للتحويل من رقم إلى string
والان لتجريب الحاسبة إضغط على زر f5 وأكتب رقم في كل من ال textboxes وأضغط على ال Button
وانظر إلى النتيجة...

( الان لا تحاول العبث بالالة الحاسبة لأنها في كثير من الحالات سوف تتوقف عن العمل كوضع أحرف بدل من الأرقام لكن في الدرس القادم إن شاء الله سوف نتممها لنجعلها تتحقق من المدخلات )

يتبع في الدرس القادم إن شاء الله...

ليست هناك تعليقات:

إرسال تعليق