مقدمه فيجول بيسك 10


فيجول ستوديو 2010 هو عبارة عن بيئة تطوير برمجة تستخدم لكتابة الكود باستخدام لغة برمجة معينة ويحتوي على إصدارين:

1- الإصدار الأول: professional  حيث  يحتوي على عدة لغات برمجة في آن واحد وهو غير مجاني.

2- الإصدار الثاني: Express حيث يحتوي على لغة برمجة واحدة وهو مجاني.

عند فتح البرنامج لأول مرة تظهر لنا الشاشة التالي:


هذه الشاشة تسمى شاشة البداية حيث يمكن من خلالها فتح مشروع موجود مسبقا أو إنشاء مشروع جديد.
لإنشاء مشروع جديد نضغط على New project فتظهر لنا الشاشة التالية:
عند الضغط على الزر OK ستجد على يمين الشاشة نافذة Solution Explorer والتي تحتوي على الملفات الخاصة بالمشروع.
وإيضا نافذة الخصائص (Properties) والتي نستطيع من خلالها تغيير خاصية الForm وخصائص الأدوات.

وعلى يسار الشاشة نجد صندوق الأدوات  (Toolbox)والذي يحتوي على جميع الأدوات التي يمكن استخدامها أثناء تصميم المشروع.


ملاحظة 1: عند تصميم أي مشروع نقوم بالبداية برسم الأدوات على النافذة (Form) وبعد الانتهاء من عملية التصميم نقوم بكتابة الكود الخاص بكل أداة إما عن طريق الضغط مرتين على الأداة واختيار View Code كما يمكنك الضغط على زر F7 للانتقال بين شاشة كتابة الكود وشاشة التصميم.

ملاحظة 2: في حال عدم وجود واحدة منه هذه النوافذ أو أكثر يمكننا إظهارها من قائمة View واختيار النافذة المراد إظهارها.
 
ملاحظة 3: إذا أردت تشغيل البرنامج اضغط على Debug وبعدها Start Debugging الموجود في شريط الأدوات أو اضغط زرF5 .





* الأدوات والقوائم في فيجوال بيسك:
الأدوات:
هي تلك المكونات التي تضاف إلى واجهة المستخدم ليتفاعل معها المستخدم وقت تنفيذ البرنامج, نقوم بإضافة الأدوات إلى الفورم بواسطة السحب والإفلات بالماوس وهذه الأدوات مرتبة بحسب الفئة فهناك الأدوات الشائعة الاستخدام تحت فئة Common Controls.

وهناك أدوات الطباعة Printingبالإضافة إلى مجموعة كبيرة من الأدوات.

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


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




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

سنذكر فيما يلي أهم الخصائص المشتركة بين الأدوات:
الخاصية
الشرح
Name
تستخدم لتحديد اسم الأداة المستخدم أثناء كتابة الكود فقط.
Enabled
تأخذ قيمتين True و False
True: تكون الأداة ظاهرة وفعالة.
False: تكون الأداة ظاهرة وغير فعالة.
Visible
تأخذ قيمتين True و False
True: تكون الأداة ظاهرة.
False: تكون الأداة غير ظاهرة (مخفية).
Font
لتغيير نوع وحجم الخط المكتوب على الأداة أو داخلها.
Fore Color
لتغيير لون الخط للأداة.
Right To Left

تأخذ قيمتين True و False
True: تكون الأدوات مرسومة من اليمين إلى اليسار وتستخدم في حالة كان البرنامج باللغة العربية.
False: تكون الأدوات مرسومة من اليسار على اليمين.
Size
تحدد طول وعرض الأداة.
Text
النص المكتوب على الأداة أو داخلها.
Text Align
محاذاة النص المكتوب في الأداة.
Back Color
لون الخلفية الخاص بالأداة.
Background Image
صورة الخلفية الخاصة بالأداة.
Cursor
شكل مؤشر الماوس الذي سيظهر عند وضع الماوس على الأداة.
Tab index
تستخدم للانتقال بين الأدوات عند الضغط على زر Tab بحيث أن كل أداة تأخذ رقم معين.
Tab Stop
تأخذ قيمتين True و False
True: تعني بأن الضغط على زر Tab سينقل التحديد إلى هذه الأداة.
False: لن يتم تحديد الأداة إذا تم الضغط على زر Tab.

عند تغيير أي خاصية لأي أداة نكتب اسم الأداة البرمجي ((Name ثم نقطة ثم اسم الخاصية ثم نكتب يساوي ثم نكتب القيمة.
على سبيل المثال إذا أردنا أن نكتب كلمة School داخل مربع نص TextBox1 فإننا نكتب الكود بالطريقة التالية:
TextBox1.Text= “School”
حيث   TextBox1 هو الاسم البرمجي للأداة و Text هو اسم الخاصية التي تمكننا من كتابة أي نص داخل الأداة وكلمة School هي القيمة ولا ننسى طبعا عند كتابة أي نص وضعه بين الرمزين "".

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


والصورة التالية توضح كيفية اختيار الأداة أو العنصر واختيار الحدث المطلوب.




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




* أنواع المتغيرات:
النوع الأول: هو النوع البسيط مثل Integer و Long و Double
النوع الثاني: هو النوع المركب مثل Array و Strut
  
المتغير
الاستخدام
Integer
تستخدم لتعريف المتغيرات التي تحتوي على أعداد صحيحة.
Long
تستخدم لتعريف المتغيرات التي تحتوي على أعداد صحيحة وطويلة.
String
تستخدم لتعريف المتغيرات النصية.
Decimal
تستخدم لتعريف المتغيرات التي تحتوي على أرقام عشرية.
Double
تستخدم لتعريف المتغيرات التي تحتوي على أرقام عشرية طويلة.
Date Time
تستخدم لتعريف المتغيرات التي تحتوي على الوقت والتاريخ.





* الثوابت (Constants):
الثوابت هي نوع من البيانات حيث يعطى قيمة ابتدائية للمتغير أثناء تعريفه ولا يمكن تغيير قيمته أبدا لذلك تعرف باسم الثوابت ويتم استخدام التوابيت كقيم ثابتة لبعض المعادلات مثل pi=3.14 أو كرقم معين تستخدمه الشركة في الحسابات, في هذه الحالة يفضل تعريفه كثابت لضمان استحالة تغييره في أي وقت, وتكتب الثوابت بالشكل التالي:
Public Const PI as Double=3.14
Public: تعني أن المتغير هو متغير عام يمكن الوصول إليه من أي مكان أما في حالة تعريف المتغير داخل الدالة نكتب كلمة Dim بدلا من كلمة Public.
PI: اسم المتغير.
:Const   تستخدم للمتغيرات الثابتة.
: As Double نوع المتغير.
: 3.14 قيمة المتغير.




 *  القيم للقراءة فقط:
تعمل مثل الثوابت تماما ما عدا أنه يمكن تغييرها مرة واحدة فقط بعد تعريف المتغير ولا يشترط إعطاءه قيمة أثناء تعريفه.




* شروط  تعريف المتغير:
1- أن يبدأ بحرف أو إشارة _ .
2- يمكن كتابة أرقام في اسم المتغير بشرط أن لا تكون في البداية.
3- أن لا يكون اسم المتغير طويل جدا.
4- أن لا يحتوي على رموز و إشارات ما عدا الرموز التالية ( _ , - ).
5- أن لا يحتوي على فراغات في الاسم.
6- لا يمكن استخدام كلمة محجوزة كاسم للمتغير مثل Public أو غيرها.




* المتغيرات النصية (String):
الخصائص والدوال الأساسية للString:
الدالة أو الخاصية
الاستخدام
Length
تحدد طول النص (عدد الأحرف داخل النص).
Compare
تستخدم للمقارنة بين نصين.
Contains
للبحث عن حرف واحد أو أكثر ضمن النص.
End With
لمعرفة إذا كان النص ينهي بحرف واحد أو أكثر.
Index Of Last Index Of
لمعرفة مكان وجود حرف واحد أو أكثر ضمن النص سواء من البداية أو النهاية.
Remove
تستخدم لحذف حرف واحد أو أكثر من النص.
Insert
تستخدم لإضافة حرف واحد أو أكثر إلى النص.
Replace
تستخدم لاستبدال جزء من النص.
Split
تستخدم لتقسيم النص إلى عدة أجزاء.
To Upper
تستخدم لتحويل الأحرف إلى أحرف كبيرة.
To Lower
تستخدم لتحويل الأحرف إلى أحرف صغيرة.





* الدالة ((Insert:
لو افترضنا أنه لدينا المتغير SI التالي:
Public SI as String= “School”
وإذا أردنا في الفيجوال بيسك إضافة كلمة Almaged قبل كلمة School نكتب الكود التالي:
SI= SI. Insert (0, “Almaged”)
حيث القيمة 0 هي مكان إضافة النص الجديد أي في البداية.
ملاحظة: يبدأ العد من الرقم 0 أي أن الحرف الأول تكون قيمته 0 والحرف الثاني تكون قيمته 1 والحرف الثالث تكون قيمته 2 وهكذا......
إذا أردنا أي نص بعد الحرف الثاني نكتب الكود بالشكل التالي:
SI= SI. Insert (2, “Almaged”)




   *  دمج النصوص:
نستطيع دمج النصوص باستخدام المعامل &
مثال:
Dim SI as String =”Almaged”
Dim S2 as String =”School”
Dim S3 As string
لدمج النصين S1, S2 ووضعها داخل S3 نكتب ما يلي:
S3=S1 & S2




* التعامل مع التاريخ والوقت:
نجد جميع ما يتعلق بالتاريخ والوقت داخل المكتبة Date Time حيث يمكننا طباعة التاريخ الحالي والوقت الحالي للجهاز باستخدام هذه المكتبة فمثلا لو أردنا إظهار التاريخ الحالي داخل أداة Label نكتب واحد من هذه الكودات:
1- Label1.Text= Date Time. Now. Date
2- Label1.Text= Date Time. Today
3- Label1.Text=Date String
ولعرض الوقت الحالي للجهاز داخل أداة  Labelنكتب واحد من هذه الكودات:
1- Label1.Text=Time String
2- Label1.Text=TimeOfDay.Hour&”:”&TimeOfDay.Minute&”:”&TimeOfDay.Second