فتحات العرب

AD (728x60)

Slider

بلوجر

منوعات

بالصوت وصورة

تكنلوجيا

أقسام المدونة

حصريات

الاخبار

أعلان

Blogroll 2

أعلان

أعلان

صور فلكر

Link List

تابعونا على

Video

تقارير

منوعات

الاثنين، 14 يوليو 2014

الدرس الرابع : أنواع البيانات .

مشاركة و تعليق كدعم كبي لنا أحبائي الكريم
السلام عليكم و رحمة الله و بركاته ،
الدرس الرابع : أنواع البيانات .


يمكنك استعمال أنواع البيانات لحفظ البيانات والمعلومات سواء المدخلة من المستخدم أو قيم افتراضية أو القيم الداخلة في المعالجة والحسابات , كما أنه لا تقتصر أنواع البيانات على الأرقام والحروف , وإنما تشمل أيضا الكائنات وغيرها الكثير.
عندما تقوم بتعريف نوع بيانات جديد , فإن البرنامج يحجز مساحة معينة (تختلف باختلاف نوع البيانات) من ذاكرة الجهاز , وهذه المساحة لها عنوان في الذاكرة , لكن انت يمكنك الوصول الى المساحة من خلال كتابة الاسم الذي عينته لنوع البيانات .
هذا الدرس طويل قليلاً , لكنه مهم جدا , وقد حاولت جمع أكبر قدر ممكن من المعلومات المتعلقة بأنواع البيانات فيه .
الثوابت : قيم ثابتة تعطي قيمة معينة , بحيث لا يمكنك تغييرها وقت تنفيذ البرنامج , ولكن يمكنك استدعاؤها في أي مكان من البرنامج , والشكل الثابت لتعريف ثابت ! هو :

Const X = Val

حيث :
Const : كلمة محجوزة توضح اننا نعرف ثابتاً.
X : اسم الثابت , ويراعى انه لا يكون به رموز غير الشرطة السفلية (_) ويكون من مكون من احرف وارقام انجليزية , ولا يحتوي على مسافات ولا يكون كلمة محجوزة , مثل اني اعرف ثابت اسمه IF ! أو For , Const , Do , IS ... إلخ.
وحتى تعرف هل الكلمة محجوزة أم لا , ستتحول معك إلى اللون الأزرق .
Val : قيمة الثابت.
فمثلاً لتعريف ثابت نصي فيه جملة ما , نكتب :

Const S = "hi , my name is alaa adel , and I am a member in arab team 2000 forum . and here are some VB lessons"

نفرض اني أريد عمل بعض العمليات على الجملة السابقة في عدة مواضع من البرنامج , فبدلاً من كتابة الجملة أكثر من مرة في البرنامج , يكفي ان نكتب S .
ملحوظة أخيرة : كلمة Private تستخدم لتعريف ثابت خاص , أي انه لا يمكنك الوصول إليه من خارج الإجراء أو من خارج النافذة التي عرف فيها.
القسم General : هو قسم من الكود , ليس إجراء ولا طبقة ولا دالة , وإنما تعرف فيه المتغيرات والدوال والثوابت التي تكون خاصة للوصول إليها على مستوى البرنامج ككل , أو تكون Private للوصول إليها من خلال النافذة الحالية فقط .
للوصول إلى هذا القسم , كل ما عليك هو اختيار كلمة (General) من القائمة المنسدلة التي في أعلى يسار محرر الكود .
المتغيرات : قيم يمكنك تغييرها أثناء زمن تنفيذ البرنامج .
أي أنك يمكنك تغييرها أثناء التنفيذ , إما لغرض معالجة إدخال من المستخدم , أو حفظ قيمة دوارة (مثل X في دوارات For و Do في الدرس السابق) , وغيره الكثير من الأمثلة.
والشكل العام لتعريف متغير هو :

(Public , Private , Dim , Static) X As {New} Type

حيث :
Public و Private و Static و Dim هي كلمات محجوزة يجب كتابة واحدة منها , وشرحها كالتالي :
Dim : تعريف متغير داخل الدالة أو الإجراء الحالي فقط , وهذا يقلل من المساحة المستخدمة من قبل البرنامج حيث لن يتم حجز مساحة المتغير إلا عند استدعاء الدالة أو الإجراء الذي فيه هذا المتغير , كما أنك لن تستطيع التعامل معه من خارج هذه الدالة أو الإجراء.
Private : تعريف متغير خاص , وغالبا توضع المتغيرات من نوع Private في القسم General ليتم الوصول إليها من جميع الإجراءات والدوال في النافذة الحالية.
Public : تعريف متغير عام يمكن الوصول إليه من خلال جميع أجزاء البرنامج , وغالبا يوضع في القسم General أو في Module (سنتطرق لها لاحقاً بإذن الله تعالى).
Static : وهي تستخدم إن كنت ستستخدم المتغير كعداد , أو إن كنت تريد أن تبقى قيمته كما هي عند الخروج من الإجراء ومن ثم العودة إليه.
فمثلاً , لو وضعت متغير X من النوع Integer معرف كـDim في إجراء Timer , وجعلت قيمته تزيد بمقدار ما عند كل مرة يستدعى فيها الإجراء.
فستلاحظ أن قيمته لا تزيد , لأنه كلما تم استدعاء الإجراء فستعود قيمة المتغير إلى البداية.
لكن مع تعريف المتغير كـStatic فإن قيمته ستزيد.
جرب الأمر التالي في حدث Timer لأداة مؤقت :

Dim X As Integer
X = X + 1

Me.Caption = X


جرب مرة مع Dim وأخرى مع Static ولاحظ الناتج.
X : اسم المتغير , ويخضع للشروط السابق ذكرها في اسم الثوابت.
As : كلمة محجوزة لربط الاسم بالنوع.
New : كلمة محجوزة تستخدم فقط إن كنت تريد تعريف كائن جديد , مثل تعريف نافذة جديدة أو غيره.
Type : نوع المتغير.
لتعريف متغير رقمي مثلاً نكتب :

Dim Num_Var As Integer

أنواع البيانات الأساسية :
String : متغير نصي.
Integer : متغير رقمي.
Byte : متغير رقمي , أقصى قيمة له هي 255.
Double : متغير بفاصلة عشرية.
Currency : عملة (فلوس).
Date : تاريخ.
Boolean : قيمة منطقية (صح True أو خطأ False).
Long , Single متغيرات رقمية أيضاً.
Variant : متغير "متلون" أي أنه يستعمل للتعامل مع أي نوع بيانات سواء كان رقمي أم نصي ... إلخ.
ملحوظة : قد تجد عدة أنواع رقمية مثلاً , لكنها تختلف في المدى (أي أقصى قيمة تتقبلها , مثلاً Byte مداه من 0 إلى 255) وأيضاً في الحجم الذي تستخدمه من ذاكرة الجهاز.
حجم المتغيرات :
كل متغير كما ذكرت يحجز جزءاً من الذاكرة , وحجم هذا الجزء يختلف من متغير إلى آخر , فمثلاً 
- Integer يحجز 2 بايت.
- Long يحجز 4 بايت.
- Byte يحجز بايت واحد.
- Single يحجز 4 بايت.
- Double يحجز 8 بايت.
- Variant يحجز 16 بايت.
ملحوظة صغيرة , يمكنك تعيين أقصى حد لأحد المتغيرات من خلال إشارة ( * ) , فمثلاً يمكنك كتابة :

Dim S As String * 20

وهكذا فإن المتغير S سيكون أقصى طول له هو 20 حرف
الكائنات :
يمكنك تعريف متغير يأخذ صفات كائن ما وخصائصه ووظائفه من خلال أمر New السابق وأمر Set , ويكون الشكل كالتالي :

(Public , Dim , Private) Name As New Object


   Set Name = Object


حيث :
Name : اسم المتغير.
New : كلمة محجوزة , وتعني انه كائن جديد.
Object : اسم الكائن , وعليك الاختيار من القائمة الظاهرة لك , وهذا شرح لأبرز ما فيها :
Project : وهو اسم المشروع , وهو كائن المشروع الحالي.
Collection : مجموعة كائنات.
Form : وهو اسم النموذج الحالي , وهو كائن النافذة الحالية.
Set : كلمة محجوزة لربط الكائن بالمتغير.
فمثلاً , لتعريف متغير من نوع النافذة الحالية , نكتب :

Dim F As New Form1


   Set F = Form1


وهكذا يمكنك التعامل مع F على انه النافذة الحالية
أنواع البيانات المخصصة :
هذه الجزئية مهمة , وهي توفر لك إمكانية إنشاء نوع بيانات خاص بك (مثل String و Integer) خاص بك . ويكون ذلك بالشكل التالي :

(Public , Private) Type Name

   Value1 As Type

   Value2 As Type

   Value… As Type


   End Type


حيث :
Type الأولى : هي كلمة محجوزة لنخبر البرنامج أننا نعرف نوعا خاصاً جديداً.
Name : اسم النوع ويخضع للشروط السابقة الخاصة بأسماء المتغيرات والثوابت.
Value As Type : كأنك تعرف متغير مثل X As Integer.
مثلاً , لتعريف نوع جديد خاص بطلبة مدرسة ما , يكون كالتالي :

Private Type Student

   Name As String

   Mark As Byte


   End Type


الآن تعال في أي إجراء (مثلاً Form1_Load) واكتب :

Dim Alaa As Student

   Alaa.Name = "Alaa !"


   Alaa.Mark = 255


أولاً : تلاحظ أنك عندما كنت تكتب نوع المتغير , ظهر في القائمة الخاصة بالأنواع النوع الجديد الخاص بنا (Student).
ثانياً : بعد كتابتك للنقطة في السطر الثاني والثالث , تظهر قائمة فيها Mark و Name.
الآن أضف الكود التالي بعد نهاية الكود السابق , ومن ثم شغل البرنامج :

Msgbox Alaa.Name


   Msgbox Alaa.Mark


تلاحظ ظهور رسالتين فيهما القيم التي عيناها سابقاً.

أرجو أن يكون الدرس مفيدا , وأن ينال إعجابكم.
والسلام عليكم و رحمة الله و بركاته.
القسم:

صممت بواسطة :

مدونتنآ تسعى إلى تحقيق آلدعم للمبرمجين العرب لتشجيعهم وتوصيل اعمالهم للعالم .

0 التعليقات:

إرسال تعليق

Find Us On Facebook

تابعنا على فيس بوك
اضغط على اعجبني - like ليصلك كل ما هو جديد

 
كل الحقوق محفوظة © محترفين البرمجة

تعريب وتطوير S i R - D o O o M