الدرس الثالث عشر ...تعرف على أنواع المعطيات أو البيانات فى الفجوال بيسك 6 (الثوابت و المتغيرات )

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

الدرس الثالث عشر ...تعرف على أنواع المعطيات أو البيانات فى الفجوال بيسك 6 (الثوابت و المتغيرات )

مُساهمة من طرف أحمد مناع في الثلاثاء ديسمبر 13, 2011 2:16 pm

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


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


1_المعطيات الثابتة Constants
هي المعطيات التي تبقى قيمها ثابتة لا تتغير أثناء التنفيذ وتعرف بالامر Const وهي أما تكون رقمية أو رمزية وتكتب عادة أسمائها بحروف كبيرة لتمييزها عن المعطيات المتغيرة



2 المعطيات المتغيرة Variables
هي المعطيات التي يمكن تغيير قيمها أثناء تنفيذ المشروع وهي أما تكون خاصة وتعرف بالامر Dim (أو الامر Private) وتوضع داخل الحدث أو تكون عامة وتعرف بالامر Public وتوضع خارج الحدث.


مثال علي المتغيرات والثوابت :


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








لاحظ أن هذا المثال أخذناه عند شرح الدالة input ...ويجب أن تلاحظ أننا قمنا بأنشاء متغير (a)و قمنا بالاعلان عنه عن طريق الامر (Dim)أما نوع هذا المتغير لم أحدده ..


ويكون النتيجة عند تشغيل البرنامج في هذا المثال سيعرض فيجول بيسك علي المستخدم مربع حوار نتيجة لتنفيذ أمر InputBox يطالبه فيه بكتابه اسمه ويقوم بحفظ الاسم الذي يدخله المستخدم في المتغير (a) ويبقي المتغير يحمل هذا الاسم حتى يقوم المستخدم بتغيره ويتم تغير القيمة التي يحملها المتغير بوضع قيمة أخري داخلة فيقوم الفيجول بيسك باستبدال القيمة القديمة بالقيمة الجديدة .





وبعد ذلك يقوم بطباعة النص الذى قمت بكتابتة على النموذج كما فى الصورة التالية:






ثانيا مثال على الثوابت :أما الثوابت فإذا كان عملك مثلا يتطلب مجموعة من العمليات الحسابية ترتبط بوحدة ثابتة مثل وحدة القياس المتر وهو يساوي مائه سنتمتر فيمكن الإعلان عن ذلك بالأمر التالي:



الرمز:




Const Meter=100





وهذه يفيدك عندما تكون جميع حساباتك بالنسبة للوحدة سنتمتر فبدلا من قيمة المتر وكتابة الرقم ( 100 ) في كل مرة سيتم كتابه الثابت Meter في جميع التعليمات المطلوبة داخل البرنامج وهي فائدة كبيرة تجعل برنامجك سهلا وبسيطا

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


أنواع المتغيرات :

يوجد في الفيجول بيسك أنواع كثيرة للمتغيرات نوضح منها في الجدول التالي .




النوع
الوصف
طريقة التعريف
مثال على المتغير وقيمته (داخل الشفرة)
Integer
عدد صحيح أعتيادي يتراوح من
-32768 إلى 32767
Dim X as Integer
X=15
Long
عدد صحيح طويل Long اكبر من 32767 او اصغر من -32768
Dim B as Long
B=335675434
Single
عدد عشري ذو دقة اعتيادية
Dim Y as Single
Y=10.56
Double
عدد عشري ذو دقة مضاعفة
Dim AZ as Double
AZ=10.565767684
String
متغير رمزي (حرفي)
Dim Name as String
Name =”Sami”
Date
تاريخ
Dim DT as Date
DT=#10-11-1970#
Boolean
متغير منطقي
Dim Y as Boolean
Y = True
Variant
كل أنواع المعطيات المتغيرة
Dim V as Variant
V=37
V="Star"
ملاحظة:النوع Variant يمثل النوع الافتراضي للمتغيرات في حالة عدم تعريفها (مثل Dim a)_كما فى مثالنا السابق_ ويتعامل الفيجول بيسك مع المتغيرات من هذا النوع حسب القيمة المعطاة لها في الشفرة فهو يعتبر المتغير من نوع Integer أذا أعطينا له القيمة 12 ويعتبره من نوع String اذا اعطينا له القيمة "Nazar" وهكذا.

مـلاحظـة : يسمح الفيجول بيسك باستخدام المعطيات من دون تعريفها وتحديد أنواعها ولكن لا ينصح المبرمجون بذلك لآن تعريف المعطيات وتحديد أنواعها يسهل عملية متابعة الاخطاء (التي تحدث أثناء التنفيذ) وتصحيحها ولجعل الفيجول بيسك لا يسمح بأستخدام المعطيات ألا بعد تعريفها فاننا نكتب الايعاز Option Explicit داخل شفرة المشروع ولكن خارج الاحداث (يسمى بمقطع تعريف معطيات المشروع) ولكي نجبر الفيجول بيسك على اضافة هذا الايعاز (في المقطع المذكور) تلقائيا عند تكوين أي مشروع جديد نتبع الخطوات التالية :

• نفتح قائمة Tools.
• نضغط الخيار Options
• من نافذة Options نؤشر صندوق التحقق للخيار Require Variable Declaration ) ونضغط زر Ok• نعرض نافذة الشفرة لنتأكد من وجود الايعاز في مقطع تعريف المعطيات وأذا لم يظهر الايعاز فيجب غلق المشروع وفتحه مرة أخرى (أو فتح مشروع جديد) حيث سيظهر الايعاز في أعلى نافذة الشفرة خارج الاحداث


الشروط الواجب توافرها عند اختيار اسم للمتغير ..
يجب أن يبدأ اسم المتغير بحرف أبجدي وليس رقما .ألا يزيد عدد حروف اسم المتغير عن 40 حرفا .ويجب ألا يحتوي علي أي مسافات أو نقاط وإذا كان اسم المتغير يحتوي علي كلمتين فأنصحك باستخدام (_) Under Score للفصل بينهما .. و يجب أيضا إلا يتضمن كلمة من الكلمات المحجوزة وهي الكلمات التي تستخدم في الأوامر و العبارات التي يستخدمها فيجول بيسك فمثلا لا يسمح باستخدام كلمة Print كاسم للمتغير فإذا احتجت لتسمية متغير مثل كلمة Print فيمكنك أن تكتب الكلمة كجزء من اسم المتغير PrintText مثلا .

مستويات الإعلان عن المتغيرات :

ويقصد بمستوى التعريف هو المكان (أو المدى) الذي يكون فيه المتغير (أو الثابت) معرف ويمكن أستخدامه وتوجد ثلاث مستويات لتعريف المعطيات.

• تعريف من مستوى الاجراء أو الحدث (Procedure or Event Level) وتكون المعطيات معروفة داخل الحدث فقط وتعرف بالامر Dim.

• تعريف من مستوى النموذج ووحدة الاجراءات (Module Level) وتعرف المعطيات بالامر Private (ويمكن تعريفها بالامر Dim) في مقطع التعريف للوحدة أو النموذج (خارج الاحداث) وتكون قيمها معروفة لكل أحداث النموذج أو أجراءات الوحدة.

• تعريف من مستوى التطبيق (Application Level) وتكون المعطيات هنا عامة ومعروفة لكل اجراءات التطبيق (ضمن النموذج ووحدة الاجراءات) وتعرف هذه المعطيات بالآمر Public (أو Global) في مقطع التعريف لوحدة الاجراءات أو النموذج.

معنى ذلك أن هذه المستويات بأختصار هى على النحو التالى :

في القسم العام لملفات البرمجة Dim عام ، Private عام ، Public شامل ، Global شامل
في القسم العام للنوافذ Dim عام ، Private عام ، Public عام
داخل إجراءات الملفات Dim ساكن
داخل إجراءات النوافذ Dim محلي ، Static ساكن


المصطلحات :
1- شامل : عام لجميع نوافذ البرنامج وملفاته
2- عام : عام لجميع إجراءات النافذة أو الملف الذي تم الإعلان داخلها ( الشامل أعم )
3- المحلي والساكن : كلا منهما خاص بالإجراء الذي تم الإعلان داخله

الفرق بين المحلي والساكن :
1- المتغير المحلي يفقد قيمته عند الخروج النهائي من الإجراء
2- الساكن يحتفظ بقيمته طوال مدة تشغيل البرنامج

مـلاحظـة : بعض الكتب تستخدم مصطلح الاجراء (Procedure) على الاحداث الموجودة داخل النموذج وداخل وحدة الاجراءات ولهذا أستخدمنا المصطلحين لتكون مألوفة لدى الطلبة عند قرائتهم للمصادر الخاصة بالفيجول بيسك.
مـلاحظـة : وحدة الاجراءات (Module) هي ملف بالامتداد Bas تظهر تحت نماذج المشروع (بعد أضافتها من قبل المستخدم) في نافذة متصفح المشروع وتعرف أجراءات الوحدة عادة بالامر Public بدل Private لكي تكون متاحة لكل نماذج المشروع. وتصبح أداة View Object غير فعالة عند أختيار الوحدة لآن الوحدة لا يمكن عرضها مثل النوذج وانما نعرض الشفرة الخاصة بها من خلال أداة View code.

وتضاف الوحدة من خلال نقر الزر الايمن في منطقة فارغة في نافذة مستعرض المشروع وأختيار Add ثم Module أنظر الشكل التالى :




وألان وقد انتهينا من المتغيرات بمعرفة أنواعها و أوامر الإعلان عنها ومدي استخدام المتغير وعمرة...نأتى الى الجزء الثانى الثوابت


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

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

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

ثوابت عامة : إذا أردت أن يكون الثابت عاما أي يمكن استخدامه من أي مكان في البرنامج فيجب أن تعلن عنه في الوحدة النمطية بشرط أن يسبق الإعلان عنه كلمة Public هكذا.
الرمز:
Public Const My_Name As String = "TafTaf"
ثوابت علي مستوي الوحدة النمطية : لكي تستخدم الثابت في وحدة نمطية فقط يجب أن تعلن عنه في قسم الإعلانات في هذه الوحدة النمطية تسبقه كلمه Private هكذا.
الرمز:
Private Const My_Age As Integer = 25
ثوابت علي مستوي الأجراء : لكي تستخدم الثابت مؤقتا داخل إجراء معين أعلن عن الثابت داخل هذا الإجراء بنفس الطريقة السابقة.و نكتشف من الكلام السابق أن الثوابت مشابه إلي حد كبير للمتغيرات في طريقة الإعلان عنها بأمر الإعلان Const أو حتى الإعلان عن نوع الثابت لزيادة سرعة التعامل معه وأيضا مجال رؤية الثابت وعمرة .

وللثوابت أنواع منها ثوابت عددية وثوابت حرفيه String وللإعلان عن ثابت حرفي يجب وضعة بين علامتي تنصيص " " .

الإعلان عن الثوابت : يتم الإعلان عن الثوابت باستخدام( Const ) أو ( Public Const )

مستوى الإعلان :

1- إذا تم الإعلان داخل إجراء يعتبر الثابت المعلن عنه محليا Const a=5

2- وإذا تم الإعلان في القسم العام للنافذة يصبح عاما لجميع إجراءات تلك النافذة Const a=5

3- وإذا تم الإعلان في القسم العام للملف يصبح عاما لجميع إجراءات ذلك الملف Const a=5

4- أما إذا تم الإعلان في القسم العام للملف - كما سبق - لكن سبقت كلمة Const بكلمة Public فسيصبح الثابت شاملا لجميع ملفات البرنامج ونوافذه يتم الإعلان عن الثابت الشامل هكذا ( Public Const a=5 )



الى هنا أنتهينا فى هذا الدرس و والى اللقاء فى الدرس القادم أن شاء الله تعالى


ا

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

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

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث عشر ...تعرف على أنواع المعطيات أو البيانات فى الفجوال بيسك 6 (الثوابت و المتغيرات )

مُساهمة من طرف salamfaraj2002 في الثلاثاء أغسطس 11, 2015 8:12 pm

جزاك الله خيرا

salamfaraj2002
....
....

تاريخ التسجيل : 18/04/2015
المساهمات : 54
النقاط : 68
التقيم : 0
الدولة : ليبيا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى