المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة ‏ (دورة الفيجوال بيسك2008)



Abdullhadi JC
08-12-2010, 12:17 AM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته


عند فتح الفيجوال بيسك 2008 ستظهر لنا هذه النافذة هنا ويمكنك من خلالها تحديد اللغة
التي ستبرمج بها والية العمل التي تريدها داخل البرنامج والصورة توضح :_
http://www.vb4arab.com/vb/uploaded/70168/01254842014.jpg



الدرس الثالث :_ الثوابت والمتغيرات .

اولاً الثوابت :-
تنقسم الثوابت في لغة الفيجوال بسيك 2008 إلى ثلاثة اقسام رئيسية وهي نصية او رقمية ومنطقية
ويمكننا تعريف ثابت في البرنامج من خلال الكلمة المحجوزة

الرمز PHP:
const
ولاحظ هنا اخي الكريم في الفيجوال بيسك 2008 لا يمكنك تعريف ثابت إلا من خلال المبدأ التالي
الرمز PHP:
Const name as type = value
الرمز PHP:
Const اسم الثابت as قيمته = نوعه
ولاحظ هنا عند كتابة الثابت لا يمكنك نسب قيمة له إلا في نفس السطر الذي قمت بكتابة الثابت فيه .
http://www.vb4arab.com/vb/uploaded/70168/01254842194.jpg





اي انه لايمكنك ان تكتب الثابت في سطر وقيمة الثابت في سطر اخر
وهذا من الاشياء التي تميز المتغير عن الثابت
امثلة على تعريف ثوابت جديدة لاستخدامها في البرنامج :-

اي انه لايمكنك ان تكتب الثابت في سطر وقيمة الثابت في سطر اخر
وهذا من الاشياء التي تميز المتغير عن الثابت
امثلة على تعريف ثوابت جديدة لاستخدامها في البرنامج :-


الرمز PHP:
Const name As String = "mohammed"
' ثابت من نوع نص
الرمز PHP:
Const age As Integer = 22
' ثابت من نوع عدد صحيح
الرمز PHP:
Const marry As Boolean = False
' ثابت من نوع قيمة منطقية


الطرق التي من خلالها تستطيع تعريف ثوابت لبرنامج :-

1 - الطريقة التقليدية تعريف ثابت ونسب قيمة له مثل
الرمز PHP:
Const name As String = "ali"
2 - كتابة الثابت بدون تحديد نوع له مثل :-
الرمز PHP:
Const name = "lo2i"

3 - كتابة اكثر من ثابت مع تحديد القيمة لها في سطر واحد :- مثل
الرمز PHP:
Const name As String = "mohammed", age As Integer = 22
4 - كتابة اكثر من ثابت بودن تحديد نوع الثابت مثل
الرمز PHP:
Const name = "mohammed", age = 33, marry = False
لاحظ هنا اننا لم نستخدم كلمة تعريف الثابت إلا في بداية الجملة فقط

فوائد الثوابت في البرنامج :_

1- تسهيل البرمجة عندما تريد التعويض بقيمة ثابتة لعدد غير معين من المتغيرات.

فمثلاً اذا اردت ان ان تعٌرف ثابت لعمر اعضاء في المنتدى
اسماؤهم كالتالي :_ أحمد و محمد و لؤي
ونريد اعطاء عمر واحد لكل الاعضاء

الرمز PHP:
Const age As Integer = 20
Dim person1 As String = "ahmad"
Dim person2 As String = "mohammed"
Dim person3 As String = "lo2i"
MsgBox(person1 & " = " & age & vbCrLf & person2 & " = " & age & vbCrLf & person3 & " = " & age)
ووظيفة الدالة VBCRLF
هي كالتالي :-
الدالة تعمل على اعطاء سطر جديد في الرسالة ويمكن ايضاً استخدامها في اكثر من مجال
في التيكست وفي اللابيل وفي اكثر من اداة
وضيغتها كالتالي :_ & VBCRLF &

****************************
http://www.vb4arab.com/vb/uploaded/70168/01254842283.jpg





2- انها تتعامل مع المصفوفات بكل يسر وسهولة ويمكنها الوصول إلى مصفوفة معينة


================================================== ==========

الاخطاء المتوقعة حدوثها عند تعاملك مع الثوابت :-

اولاً :-
تغيير قيمة الثابت في البرنامج او اثناء التشغيل مثال لذلك :-

الرمز PHP:
Const age As Integer = 20
age = 22
ثانياً:-
تعريف الثابت في سطر ونسب القيمة له في سطر اخر كما قلنا سابقاً .
مثال لذلك ..
الرمز PHP:
Const age As Integer
age = 18
ملاحظة هامة جداً جداً :- عند تعاملنا مع الثوابت يجب علينا ادخال القيمة للثابت في نفس جملة تعريف الثابت .


ولا حظ هنا انا الفرق بين النقطة الاولى والثانية هي ماسيوضحه هذا الشكل
http://www.vb4arab.com/vb/uploaded/70168/01254842397.jpg





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


---------------------------------------------------------------------------------------------------
ملاحظة يمكنك عمل ثابت بالبرنامج
بدون تحديد نوعه اي نصي او حرفي مثل

الرمز PHP:
Const a = "lo2i"
الرمز PHP:
Const s = 123
الرمز PHP:
Const x = true
ولكن في هذه الحالة يمكنك اعطاء اي قيمة كانت له حرفية نصية منطقية(اي قيمة صحيحة او خاطئة)

==================================

ثانياً المتغيرات :-

تعريفها :- موقع محدد في الذاكرةيمكن ان يحتوي بيانات من اي نوع فالمتغير لايعطي قيمة ثابتة بل يمكن تغييرها بعكس الثابت .

الشروط اللازمة لكتابة اسماء المتغيرات في البرنامج:

1 - عدم استخدام الكلمات المحجوزة في البرنامج

الرمز PHP:
(if dim while do ......)
2 - عدم البدء برقم في اسم المتغير مثل لذلك :-

الرمز PHP:
Dim 1a as string

3 - يمنع استخدام الرموز في اسماء المتغيرات مثل

الرمز PHP:
Dim ? as Integer
4 - يمنع استخدام النقطة او الفاصلة في اسم المتغير مثل :-

الرمز PHP:
Dim a.1 as string
Dim a,1 as String
طرق تعريف المتغيرات في البرنامج باستخدام الكلمة المحجوزة Dim

1 – الطريقة الافتراضية لتعريف المتغيرات

الرمز PHP:
Dim name As String

2 - طريقة تعريف متغير منفصل مع نسب القيمة له في نفس السطر

الرمز PHP:
Dim name As String = "ali"
3 - طريقة تعريف اكثر من متغير في سطر واحد ويكونوا لنفس النوع (اي كلاهما من نوع نصي او كلاهما من نوع رقمي) مثل لذلك

الرمز PHP:
Dim f_name, l_name As String
في هذا المتغير عرفنا متغيريين من نوع نص اسم المتغير الاول
والثاني L_name F_name

4 - تعريف متغيرات مختلفة في نفس السطر (اي مختلفة في النوع اي متغير نصي ومتغير رقمي ومتغير منطقي) مثل

الرمز PHP:
Dim name As String, age As Integer, marry As Boolean

لاحظ هنا اننا كتبنا المتغيرات جميعها بكلمة واحد فقط للتعريف وهي Dim

5 - تعريف متغيرات من غير نوع في سطر واحد ونسب القيم لها مثل

الرمز PHP:
Dim name As String = "mr.mohammed", age As Integer = 12, marry As Boolean = True
لاحظ اننا عرفنا 3 متغيرات من انواع مختلفة منها النصي ومنها الرقمي ومنها المنطقي..
6 - تعريف متغير من دون ذكر الكلمة Dim مثل :-
الرمز PHP:
Name="lo2i"
طرق تعريف المتغيرات في البرنامج :_

باستخدام الكلمة المحجوزة static

1 - يمكنك استخدمها بهذه الطريقة

الرمز PHP:
Static name As String
وسيبقى البرنامج محتفظاً بها داخل البرنامج من لحظة تشغيله إلى لحظة ايقافه
المعلومات المستخدمة لاضافة المتغيرات باستخدام الامر Dim
لاتختلف عن طرق اضافة المتغيرات في الاستاتيك static


الفرق بين الكلمتين Dim و static

عندما تريد من المتغير ان يحتفظ باقيمة داخل اجراء خاص فقط تستخدم له هذه الكلمة Dim

عندما تريد من المتغير ان يحتفظ بقيمة المتغير طيلة فترة عمر البرنامج يمكنك استخدام هذه Static الانواع من المتغيرات

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


انواع المتغيرات التي يمكن التعامل معها نوضح كل ذلك
من خلال الجدول التالي

http://www.vb4arab.com/vb/uploaded/70168/01254842479.jpg

http://www.vb4arab.com/vb/uploaded/70168/01254842530.jpg




ويمكننا القول هنا ان انواع المتغيرات تنقسم إلى ثلاث اقسام رئيسية وهي كالتالي :-
1 - متغيرات عددية .
2 - متغيرات نصية .
3 - متغيرات منطقية.
4 - متغير عام ويحمل كل هذه القيم .

*******************************

سوف اعطي هنا امثلة بسيطة عن المتغيرات النصية

الرمز PHP:
Dim NAME As String
Static NAME2 As String
NAME = "ali"
NAME2 = "MOHAMMED"
MsgBox(NAME & " " & NAME2)
امثلة عن المتغيرات الرقيمة :_

الرمز PHP:
Dim num1 As Integer
Static num2 As Integer
num1 = 10
num2 = 10
MsgBox(num1 * num2)
امثلة عن العمليات المنطقية في المتغيرات :-

الرمز PHP:
Dim value As Boolean
value = True
value = false
MsgBox(value)
مثال على تعريف المتغير العام في البرنامج :-

الرمز PHP:
Dim s As Object
s = 12345
s = 12.345
s = "mohammed"
s = "lo2i"
s = True
s = False
MsgBox(s)
كما قلنا سابقاً يمكننا الاستعان بهذا النوع من المتغيرات اذا كنا غير متأكدين من المدخلات التي يدخلها المستخدم .

*************************************
المتغيرات والمساحات التخزينية التي تأخذها من الذاكرة توضحها الصورة التالية :-
http://www.vb4arab.com/vb/uploaded/70168/01253707683.jpg



طبعاً اخواني لن نستطيع ان نحصر كل خصائص المتغيرات والثوابت في هذا الدرس

لذلك تركت لكم اسلوب التنقيب بنفسكم عن الحل لان هذا من اهم اساسيات تعلم البرمجة

واخيراً وليس اخراً اعتذر عن تأخر الدرس بسبب انقطاع الانترنت

أبلغكم تحياتنا


انتظروا الدرس القادم

Root Killer
08-14-2010, 01:06 PM
مشكووور وواصل تقدمك ولاهنت

Abdullhadi JC
08-14-2010, 11:54 PM
حياك الله اخي
شرف لي ان ترد على موضوعي
تحياتي لك