![]() |
|
الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (https://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم دورات VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=187) +--- الموضوع : الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة (/showthread.php?tid=99) |
الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة - Omar Mekkawy - 15-09-13 إقتباس : هذا الدرس منقول من المنتدى القديم طبقاً لموافقة صاحب الموضوع بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته عند فتح الفيجوال بيسك 2008 ستظهر لنا هذه النافذة هنا ويمكنك من خلالها تحديد اللغة التي ستبرمج بها والية العمل التي تريدها داخل البرنامج والصورة توضح :_ ![]() الدرس الثالث :_ الثوابت والمتغيرات . اولاً الثوابت :-
تنقسم الثوابت في لغة الفيجوال بسيك 2008 إلى ثلاثة اقسام رئيسية وهي نصية او رقمية ومنطقية ويمكننا تعريف ثابت في البرنامج من خلال الكلمة المحجوزة كود : constولاحظ هنا اخي الكريم في الفيجوال بيسك 2008 لا يمكنك تعريف ثابت إلا من خلال المبدأ التالي كود : Const name as type = valueكود : Const اسم الثابت as قيمته = نوعهولاحظ هنا عند كتابة الثابت لا يمكنك نسب قيمة له إلا في نفس السطر الذي قمت بكتابة الثابت فيه . ![]() اي انه لايمكنك ان تكتب الثابت في سطر وقيمة الثابت في سطر اخر وهذا من الاشياء التي تميز المتغير عن الثابت امثلة على تعريف ثوابت جديدة لاستخدامها في البرنامج :- اي انه لايمكنك ان تكتب الثابت في سطر وقيمة الثابت في سطر اخر وهذا من الاشياء التي تميز المتغير عن الثابت امثلة على تعريف ثوابت جديدة لاستخدامها في البرنامج :- كود : ' ثابت من نوع نصكود : ' ثابت من نوع عدد صحيحكود : ' ثابت من نوع قيمة منطقيةالطرق التي من خلالها تستطيع تعريف ثوابت لبرنامج :-
1 - الطريقة التقليدية تعريف ثابت ونسب قيمة له مثل كود : Const name As String = "ali"2 - كتابة الثابت بدون تحديد نوع له مثل :- كود : Const name = "lo2i" 3 - كتابة اكثر من ثابت مع تحديد القيمة لها في سطر واحد :- مثل كود : Const name As String = "mohammed", age As Integer = 224 - كتابة اكثر من ثابت بودن تحديد نوع الثابت مثل كود : Const name = "mohammed", age = 33, marry = Falseلاحظ هنا اننا لم نستخدم كلمة تعريف الثابت إلا في بداية الجملة فقط فوائد الثوابت في البرنامج :_ 1- تسهيل البرمجة عندما تريد التعويض بقيمة ثابتة لعدد غير معين من المتغيرات. فمثلاً اذا اردت ان ان تعٌرف ثابت لعمر اعضاء في المنتدى اسماؤهم كالتالي :_ أحمد و محمد و لؤي ونريد اعطاء عمر واحد لكل الاعضاء كود : Const age As Integer = 20ووظيفة الدالة VBCRLF هي كالتالي :- الدالة تعمل على اعطاء سطر جديد في الرسالة ويمكن ايضاً استخدامها في اكثر من مجال في التيكست وفي اللابيل وفي اكثر من اداة وضيغتها كالتالي :_ & VBCRLF & **************************** ![]() - انها تتعامل مع المصفوفات بكل يسر وسهولة ويمكنها الوصول إلى مصفوفة معينة ================================================== ========== الاخطاء المتوقعة حدوثها عند تعاملك مع الثوابت :- اولاً :- تغيير قيمة الثابت في البرنامج او اثناء التشغيل مثال لذلك :- كود : Const age As Integer = 20ثانياً:- تعريف الثابت في سطر ونسب القيمة له في سطر اخر كما قلنا سابقاً . مثال لذلك .. كود : Const age As Integer ملاحظة هامة جداً جداً :- عند تعاملنا مع الثوابت يجب علينا ادخال القيمة للثابت في نفس جملة تعريف الثابت . ولا حظ هنا انا الفرق بين النقطة الاولى والثانية هي ماسيوضحه هذا الشكل ![]() وهي ان الكود الاول اعطى قيمة للثابت في تعريف الثابت وفي الخطوة الثانية حاول تغيير القيمة وهنا هو الخطأ قما قلنا سابقاً الثابت لا يمكن تغييره في وقت تنفيذ البرنامج. ------------------------------------ الكود الثاني الخطأ فيه هنا انه لم يعطي قيمة للثابت في التعريف واقصد بالتعريف هنا اي تعريف الثابت باستخدام الكلمة المحجوزة واعطاه قيمة في سطر جديد . --------------------------------------------------------------------------------------------------- ملاحظة يمكنك عمل ثابت بالبرنامج بدون تحديد نوعه اي نصي او حرفي مثل كود : Const a = "lo2i"كود : Const s = 123 كود : Const x = true ولكن في هذه الحالة يمكنك اعطاء اي قيمة كانت له حرفية نصية منطقية(اي قيمة صحيحة او خاطئة)
================================== ثانياً المتغيرات :-
تعريفها :- موقع محدد في الذاكرةيمكن ان يحتوي بيانات من اي نوع فالمتغير لايعطي قيمة ثابتة بل يمكن تغييرها بعكس الثابت . الشروط اللازمة لكتابة اسماء المتغيرات في البرنامج: 1 - عدم استخدام الكلمات المحجوزة في البرنامج كود : (if dim while do ......)(من ملحوظات الأخ sooriaty03 )هذا الشرط تستطيع أن تتجاوزه باستخدام علامة الأقواس "[]" على سبيل المثال: كود : "Dim [Dim] As String = "Dim2 - عدم البدء برقم في اسم المتغير مثل لذلك :- كود : Dim 1a as string3 - يمنع استخدام الرموز في اسماء المتغيرات مثل كود : Dim ? as Integer 4 - يمنع استخدام النقطة او الفاصلة في اسم المتغير مثل :-
كود : Dim a.1 as stringطرق تعريف المتغيرات في البرنامج باستخدام الكلمة المحجوزة Dim 1 – الطريقة الافتراضية لتعريف المتغيرات كود : Dim name As String2 - طريقة تعريف متغير منفصل مع نسب القيمة له في نفس السطر كود : Dim name As String = "ali"3 - طريقة تعريف اكثر من متغير في سطر واحد ويكونوا لنفس النوع (اي كلاهما من نوع نصي او كلاهما من نوع رقمي) مثل لذلك كود : Dim f_name, l_name As Stringفي هذا المتغير عرفنا متغيريين من نوع نص اسم المتغير الاول والثاني L_name F_name 4 - تعريف متغيرات مختلفة في نفس السطر (اي مختلفة في النوع اي متغير نصي ومتغير رقمي ومتغير منطقي) مثل كود : Dim name As String, age As Integer, marry As Booleanلاحظ هنا اننا كتبنا المتغيرات جميعها بكلمة واحد فقط للتعريف وهي Dim 5 - تعريف متغيرات من غير نوع في سطر واحد ونسب القيم لها مثل كود : Dim name As String = "mr.mohammed", age As Integer = 12, marry As Boolean = True لاحظ اننا عرفنا 3 متغيرات من انواع مختلفة منها النصي ومنها الرقمي ومنها المنطقي.. 6 - تعريف متغير من دون ذكر الكلمة Dim مثل :- كود : Name="lo2i" (من ملحوظات الأخ sooriaty03 ): لكي تستطيع تعريف متغير بدون استعمال الكلمة Dim يجب أن تضع الكود التالي في أول سطر من الكود كود : Option Explicit Offأو أن تقوم بتعطيله من خيارات المشروع وعندها ستتمكن من تعريف المتغير بدون استعمال كلمة Dim وسيتم تعريف المتغير على أنه Object أما إذا لم يتم تعطيله فسوف ينتج خطأ طرق تعريف المتغيرات في البرنامج :_ باستخدام الكلمة المحجوزة static 1 - يمكنك استخدمها بهذه الطريقة كود : Static name As String وسيبقى البرنامج محتفظاً بها داخل البرنامج من لحظة تشغيله إلى لحظة ايقافه المعلومات المستخدمة لاضافة المتغيرات باستخدام الامر Dim لاتختلف عن طرق اضافة المتغيرات في الاستاتيك static الفرق بين الكلمتين Dim و static عندما تريد من المتغير ان يحتفظ باقيمة داخل اجراء خاص فقط تستخدم له هذه الكلمة Dim عندما تريد من المتغير ان يحتفظ بقيمة المتغير طيلة فترة عمر البرنامج يمكنك استخدام هذه Static الانواع من المتغيرات مع التنبيه ان الكلمة الاولى تكون اخف على الذاكرة من الكلمة الثانية لان الاولى تحتفظ بالقيمة داخل اجراء منفصل بها والثانية تحتفظ بها طيلة وقت البرنامج. انواع المتغيرات التي يمكن التعامل معها نوضح كل ذلك من خلال الجدول التالي ![]() ![]() ويمكننا القول هنا ان انواع المتغيرات تنقسم إلى ثلاث اقسام رئيسية وهي كالتالي :- 1 - متغيرات عددية . 2 - متغيرات نصية . 3 - متغيرات منطقية. 4 - متغير عام ويحمل كل هذه القيم . ******************************* سوف اعطي هنا امثلة بسيطة عن المتغيرات النصية كود : Dim NAME As Stringامثلة عن المتغيرات الرقيمة :_ كود : Dim num1 As Integerامثلة عن العمليات المنطقية في المتغيرات :- كود : Dim value As Booleanمثال على تعريف المتغير العام في البرنامج :- كود : كما قلنا سابقاً يمكننا الاستعان بهذا النوع من المتغيرات اذا كنا غير متأكدين من المدخلات التي يدخلها المستخدم . ************************************* المتغيرات والمساحات التخزينية التي تأخذها من الذاكرة توضحها الصورة التالية :- ![]() طبعاً اخواني لن نستطيع ان نحصر كل خصائص المتغيرات والثوابت في هذا الدرس لذلك تركت لكم اسلوب التنقيب بنفسكم عن الحل لان هذا من اهم اساسيات تعلم البرمجة واخيراً وليس اخراً اعتذر عن تأخر الدرس بسبب انقطاع الانترنت أبلغكم تحياتنا Lo2i و Mohammed Asaad انتظروا الدرس القادم ************* RE: الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة - sooriaty03 - 16-09-13 السلام عليكم ورحمة الله وبركاته جزاكم الله خيرا على الدرس الرائع وجعله في ميزان حسناتكم واسمحوا لي أن أضيف بعض التوضيحات وهي كالتالي (15-09-13, 07:36 PM)Omar Mekkawy كتب : هذا الشرط تستطيع أن تتجاوزه باستخدام علامة الأقواس "[]" على سبيل المثال: كود : Dim [Dim] As String = "Dim"وأيضا بالنسبة إلى تعريف المتغير: إقتباس : لكي تستطيع تعريف متغير بدون استعمال الكلمة Dim يجب أن تضع الكود التالي في أول سطر من الكود
كود : Option Explicit Offأو أن تقوم بتعطيله من خيارات المشروع وعندها ستتمكن من تعريف المتغير بدون استعمال كلمة Dim وسيتم تعريف المتغير على أنه Object أما إذا لم يتم تعطيله فسوف ينتج خطأ RE: الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة - Omar Mekkawy - 16-09-13 (16-09-13, 02:07 AM)sooriaty03 كتب : السلام عليكم ورحمة الله وبركاته يعطيك العافية على هذه الملحوظات القيمة
سيتم تعديلها ان شاء الله في أقرب وقت ممكن بعدما أنام لإني مو مركز
![]() جزاك الله كل خير
![]() RE: الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة - mohammed moh - 16-09-13 السلام عليكم و رحمة الله
شكرا على الموضوع الجميل و شرح وافي و كافي
بعض الأشياء كنت اجهلها و تعرفت عليها هنا
بارك الله فيك و ربي يجازيك
RE: الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة - Omar Mekkawy - 16-09-13 (16-09-13, 02:07 AM)sooriaty03 كتب : السلام عليكم ورحمة الله وبركاته تم نعديل الموضوع وتم وضع اسمك بجانب ملاحظاتك ![]() ولا تنسانا من ملاحظاتك يعطيك العافية ![]() (16-09-13, 04:08 AM)mohammed moh كتب : وعليكم السلام أخوي
![]() العفو ( لكن هذا الموضوع ليس ملكي ) بل هو ملك للأستاذ محمد أسعد والأخ لؤي لاتنساهما من صالح الدعاء ![]() ![]() RE: الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة - rapteur007 - 07-02-14 شكرا أخي [/size]
RE: الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة - walid1995 - 05-03-14 اتمني ان اتعلم هده اللغة
RE: الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة - Omar Mekkawy - 07-03-14 (05-03-14, 12:00 AM)walid1995 كتب : ولم لا فهي سهلة
![]() RE: الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة - Rooh warihaan - 17-09-14 نفع الله بكم ..فقد استفدت كثيرا من الشرح RE: الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة - otman_bel - 16-08-15 السلام عليكم ورحمة الله وبركاته
لك جزيل الشكر و بارك الله فيك على هذا الشرح الواضح و المفيد
|