eKtab
EN ع
فيجول بيسك 6
اقرأ عينة مجانية

فيجول بيسك 6

بقلم زليخا أمين كاتوت

صفحة 1

مقدمة

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

لقد قامت شركة مايكروسوفت بتصميم فيجول بيسك بناءً على لغة البرمجة بيسك . هذه اللغة (بيسك ) مصممة خصيصاً للمبتدئين في البرمجة نظراً لسهولتها على عكس اللغات التي كانت متوفرة حينذاك مثل الكوبول و فورتران ولغة التجميع Assembly .

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

مرت عملية تطوير لغة البيسك بعدة مراحل قبل أن تصل إلى لغة الفيجول بيسك الحالية فقد قامت شركة ميكروسوفت بتطوير لغة البيسك إلى إصدارات جديدة أسمتها MBasic -M ترمز لمايكروسوفت - ثم إلى GWBasic و لغة BasicA -A ترمز لـ Advanced أي متقدم - و لغة QuickBasic و لغة Qbasic .

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

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

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

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

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

صفحة 2

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

قبل الحديث عن ما هو الفيجول بيسك يجب ان نعرف ما هو الحاسب الآلي؟ وكيف نشئ وما هي لغة البرمجة التي كان يتعامل بها؟ وما حجم الحاسب الآلي؟

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

صفحة 3

لماذا يفضل النظام الثنائي أكثر من النظم الأخرى ؟

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

لماذا لم يستخدموا النظام العشري أو أي نظام آخر ولماذا اختاروا النظام الثنائي؟

من المتعارف عليه أن النظام الثنائي يتكون من رقمين (0 1 )،

أما العشري 0 1 2 3 4 5 6 7 8 9

أما الثماني 0 1 2 3 4 5 6 7

أما السادس عشر 0 1 2 3 4 5 6 7 8 9 a b c d e f

أي أن:

a = 10

b=11

c = 12

d = 13

e = 14

f = 15

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

001010000101110010001001000010000000001101111111100

إذا انحرفت الإشارة، فالإشارة التي تليها تصحح الانحراف لأن النظام يتكون من (1) أو (0) أي انحرف رقم من الأرقام، فلا يوجد شيء، ولذا فإن عملية المعاجلة تتم بمعاجلة الانحراف بسرعة لأن هذا النظام يتكون من رقمين فقط إما ( 0 ) أو ( 1 ) خلاف الأنظمة الأخرى.

تعد برمجية فيجول بيسك من اللغات البرمجية الهامة التي ظهرت في عالم البرمجة، وقبل الحديث عن تاريخ نشوء الفيجول بيسك سوف نتحدث عن أنواع اللغاتّ التي أدت إلى ، حيث يوجد لها نوعان:

وقد تم تقسيم اللغات إلى نوعين:

1) اللغات البرمجية منخفضة المستوى Low-Level Languages.

2) لغات البرمجة مرتفعة المستوى (High-Level Language) .

صفحة 4

أولاً: اللغات البرمجية منخفضة المستوى

لغة الآلة Machine Language :

أول لغة ظهرت من لغات البرمجة هي لغة الآلة Machine Language تعتبر لغة الآلة هي أول لغة تم توظيفها لكتابة البرامج، وهى اللغة الوحيدة التي يفهما الحاسب الآلي وتتكون من رمزين (1,0) وهذه اللغة تتطلب معرفة كبيرة بتصميم الحاسب الآلي وتصحيح الأخطاء في البرامج المكتوبة بهذه اللغة، فهي لغة صعبة للغاية، لذا طور العلماء هذه اللغة إلى لغة التجميع (Assembly Language).

لغة التجميع Assembly Language :

تعتبر هذه اللغة أسهل من لغة الآلة في كتابة البرامج وتستخدم فيها كلمات لها معنى لغوى على سبيل المثال (Add,Mov) بمعنى الإضافة والنقل وبعد كتابة البرنامج يتم تجميعه بالمجمع (Assembler) لتحويله إلى لغة الآلة التي يفهمها الحاسب وهى أيضاً تحتاج إلى معرفة كبير بتصميم الحاسب من حيث ( المعالجات،مسارات البيانات ....إلخ ) لذلك فهما من اللغات البرمجية منخفضة المستوى (Low-Level Language) .

ثانياً: اللغات البرمجية مرتفعة المستوى:

في هذه النوعية من اللغات البرمجية تكون الكلمات المستخدمة فيها ذات معنى لغوى مثل (write, kill, read....) ويتم تحويل البرنامج بعد كتابته إلى برنامج قابل للتنفيذ من خلال ما يسمى بالمجمع Compiler ويتم تجربة البرنامج بل تجميعه لمعرفة الأخطاء التي قد تحدث فيه عن طريق ما يعرف بالمفسر Interpreter .

ومن هذه اللغات مرتفعة المستوى:

1- C

2- BASIC

3- PASCAL

وهناك مئات من هذه اللغات التي تتميز بعضها على بعض بالقوة أو السهولة إلخ .
وكانت لغة Basic هي اللغة الأكثر سهولة وشعبية بين هذه اللغات البرمجية، واشتقت اسمها من العبارة Beginner All-Puepose Symbolic Instruction Code والتي تعنى لغة التعليمات الرمزية لكل الأغراض للمبتدأين .

ووضعت أساسيات هذه اللغة في الستينيات في كلية أمريكية وتم تطويرها من خلال عدة شركات وتبناها معهد المقاييس الأمريكية ANSI عام 1978م، وظهرت منها عدة إصدارات بإمكانيات مختلفة مثل :

1) QBASIC .

2) GW_BASIC.

3) TURBO_BASIC

وكانت اللغات البرمجية بكل أنواعها ضعيفة من حيث واجهات البرامج التي تنشئها ويتطلب إنشاء واجهة برنامج مقبولة كتابة آلاف السطور أثناء التصميم مما دفع شركات من بينها ميكروسوفت أن تطور اللغات البرمجية وخصوصاً بعد إصدار نظام التشغيل ويندوز والذي يدعم بيئة المستخدم الرسومية ( Graphic User Interface- GUI).

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

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

1) أصبح بإمكان المبرمج أن يصمم برامج ذات واجهات جميلة حيث توفر لغة فيجول بيسك للمبرمج (Objects) وأدوات تستخدم في نظام التشغيل نفسه كصناديق النصوص والصور إلخ ...

2) دعم شركة ميكروسوفت لهذه اللغة حيث أضافتها ضمن مجموعة برامج أوفيس من أجل تطوير قواعد البيانات التي ينشئها برنامج MS-Access على سبيل المثال.

3) تم تطوير عدد كبير من (OCX ACTIVEX) من خلال العديد من الشركات والمحترفين وطرحت في الأسواق لتستخدم فيما بعد في دعم برامج فيجول بيسك .

4) دعم جديد من ميكروسوفت للغة فيجول بيسك في الإصدار الخامس حيث أضافت في الإصدار الخامس من فيجول بيسك إمكانية بناء عناصر التحكم (OCX ACTIVEX) وبذلك أصبحت لغة فيجول بيسك تضاهى بقية اللغات القوية في إمكانياتها .

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

6) مع كل هذا التطور بقيت لغة فيجول بيسك حتى الإصدار الخامس لها ضعيفة في معالجة قواعد البيانات وفى إنشاء تطبيقات تدعم الإنترنت مما دفع شركات أخرى كشركة (Borland) إلى طرح عدة إصدارات من لغتها البرمجية (Delphi) دلفى والتي تتمتع بمحرك قواعد بيانات قوى ودخلت ميكروسوفت منافسة مع شركة بورلاند جعلت هذه المنافسة شركة ميكروسوفت تطور فيجول بيسك لتفوز في هذه المنافسة وأصدرت ميكروسوفت الإصدار السادس الذي يتميز عن سابقه بدعمه القوى لقواعد البيانات ولازالت المنافسة مستمرة فظهرت إصدارات أخرى من دلفي وإصدار جديد من الفيجول بيسك Visual Basic.net ..

وهذه المنافسة في صالح المبرمجين الآن فيجب أن يستفيدوا منها حيث تطرح هذه الشركات أحدث ما توصلوا إليه من علوم البرمجة وأحياناً بلا مقابل لتدعم كفتها في تلك المنافسة .

صفحة 5

تاريخ الفيجول بيسك

إن أصل كلمة بيسك مأخوذة من العبارة : Beginner’s All Purpose Symbolic Instructions Code وتعني ترميز التعليمات لأغراض المبتدئين كافة .

تمتاز لغة البيسك بأنها سهلة الاستخدام وسهلة التعلم . كما أن معظم نسخ لغة البيسك تخاطبية تسمح للمستخدم بالحوار مع الحاسوب بشكل مباشر ، وتستعمل البيسك في المجالات العلمية والتجارية ومجالات أخرى.

الفيجول بيسك هي لغة برمجة من أهم لغات الحاسب وكان اسمها أولا بيسك ، ثم طورت لتصبح فيجول بيسك و هي لغة مرئية سهلة التعلم و بسيطة كل البسط و قوية ومشهورة أيضا ولا تحتاج إلا إلى بعض التفكير المنطقي وإلى برنامج فيجول بيسك - (صدرت النسخة الأخيرة مع مجموعة من البرامج و اسم تلك البرامج فيجول ستيديو Microsoft Visual studio 6.0) - و لكن لا تحتاج من تلك المجموعة من البرامج إلا إلى برنامج فيجول بيسك , وإن كنت مبتدأ فتستطيع أن تجرب التطبيقات الأساسية في برامج الفيجول بيسك المرفق مع برامج مايكروسوفت أوفيس أو وورد لكنه جدا محدود، ولكن مع ذلك يمكنك أن تكوّن منه فكرة جيدة الآن على الأقل، أما ما هي لغة فيجول بيسك وماذا تعمل الفيجول بيسك فهذا ما سنقدمه لك إنشاء الله لتصبح مبرمجاً بلغة الفيجول بيسك أصل لغة فيجول بيسك، فهي لغة بيسك التي ظهرت في كلية دارتماوث Dartmaouth على يد جون كيمني John Kemeny و توماس كيرتز Thomas Kurtz عام 1963م.

وقد أصبحت بسرعة فائقة من أشهر و أسهل لغات البرمجة بل لم تقف عند هذا فحسب فقد أصبحت كلغة تعليمية تدرٌس في المعاهد والكليات والجامعات و بدأ انتشارها في السبعينات ثم أخذت هذه اللغة في التطور الدائم مع المحافظة على سهولة استخدامها وبساطتها وكان الإصدار الأول لهذه اللغة عام 1991 م ثم كان الإصدار الثاني منها عام 1992 م ثم كان الإصدار الثالث عام 1993 ومن ذلك الوقت تعاقبت إصدارات كثيرة منها ، و آخرها الإصدار السادس ( فجوال بيسك 6.0 ) (Visual Basic 6.0) وهو مجموعة من إصدارات شركة مايكروسوفت التي أسمته الآن (فجوال ستديو 6.0 ) (Visual Studio 6.0) وصدر الآن إصدار فيجول بيسك . نت وهو سبب عقدة نفسية لمبرمجي الفيجول.

صفحة 6

بنية الفيجول بيسك

تتكون لغة الفيجول بيسك من مجموعة من التعليمات مكتوبة في أسطر وتعليمة الفيجول بيسك تتكون من :

1- الكلمات المحجوزة للفيجول للبيسك والخاصة بتعليمة معينة : مثلاً End و If وFor

2- المحارف والمتحولات والثوابت:

أولا: المحارف تستخدم لغة البيسك ثلاثة أنواع من المحارف، هي:

أ - الأحرف الإنكليزية الصغيرة والكبيرة.

ب - الأرقام من 0 إلى 9 .

ج - محارف خاصة متعددة الأنواع : - إشارات العمليات الحسابية : مثل: ^ / - + * . حيث أن الإشارة * ترمز إلى الضرب و الإشارة / ترمز إلى القسمة و^ ترمز إلى رفع القيمة إلى س - معاملات الموازنة وهي : < = <= < = أصغر أو يساوي والإشارة < تدل على عدم المساواة - علامات الترقيم وهي الفاصلة والفاصلة المنقوطة والنقطة والنقطتان فوق بعضهما وإشارة الاستفهام وإشارة التعجب والفراغ والأقواس وعلامات التنصيص - رموز أخرى مثل $ وإشارة النسبة % وإشارة العطف ورمز الإعداد # والشحطة _ و@ والخط المائل \ ثانياً - الثوابت Constants الثابت قيمة تستخدم في البرنامج دون أن يطرأ عليه أي تغيير خلال تنفيذه وهي على نوعين :

1 - ثابت عددي وهذه القيمة تقسم إلى نوعين :

أ - ثابت عددي صحيح INTEGER .

ب - ثابت عددي حقيقي REAL : وله شكلان :

شكل عشري : مثل 15.25

شكل أسي : مثل E3 2.5 2

ج- ثابت محرفي STRING : وهو تابع لمحارف مكتوبة بين علامتي التنصيص (( لا يستخدم الثابت المحرفي في العمليات الحسابية وإنما يعامله الكمبيوتر كنص مثلاً لو أدخلنا التعليمة Print 2*3 فإنه سوف يظهر ناتج ضرب العددين أي 5 فإنه سوف يظهر الرقمان كما هما 3*2 Print '2*3' أما لو أدخلنا التعليمة ثالثاً - المتحولات VARIABLES المتحول هو رمز لمكان في الذاكرة الرئيسية تخزن فيه قيمة معينة ويجب أن يبدأ بحرف أبجدي ويمكن أن يتكون من عدد من المحارف يمكن أن يصل إلى 40 محرفاً يحوي أحرف وأرقام ونقطة عشرية ولا يجوز أن يحوي على فراغ ويمكن أن تتغير قيمته خلال عمل البرنامج وهو على نوعين هما:

1 - متحول عددي : تخزن فيه قيم عددية فقط

2 - متحول محرفي : وهو اسم محرفي يتبعه بالمحرف $.

أساسيات البرنامج في لغة vb:

يتكون البرنامج من مجموعه من الأسطر وتستطيع كتابة عدة أسطر متصلة يفصل بينها العلامة ':' ، مثال x=5 : y=6 : z=8

والسطر الواحد في البرنامج يسمح حتى 255 فراغ .. كل فراغ space عبارة عن ضغطة منفصلة واحدة على لوحة المفاتيح ولكن إذا زاد طول السطر عن 255 فإنه لا يمكن الاستكمال عليه ويكمل على السطر الذي يليه.

الأحرف characters:

كل لغة برمجه تحوى أحرف, في لغة vb ، يمكن تقسيم الأحرف إلى ثلاثة أنواع:

1- أحرف هجائية A-Z,a-z

2- أحرف عدديه 0-9

3- أحرف خاصة مثل + ,-,:,()...

البيانات

أنواع البيانات التي تتعامل معها لغة الفيجول (Data Type)تدعم لغة البيسك ثلاثة أنواع من البيانات:

1- بيانات عددية Numeric

2- بيانات حرفية/نصية (string/____)

3- بيانات متغيره النوع (variant)

أولاََ:- البيانات العددية (Numeric Data)

سأوضح أنواع البيانات العددية المختلفة وحجم الذاكرة المطلوبة لتخزين الوحدة فيها وكذلك مدى كل من هذه البيانات.

ثانياً: البيانات الحرفية/ النصية (String data/____) وهي نوعان:

- بيانات حرفية ثابتة الطول Fixed-length string.

- بيانات حرفية متغيرة الطول Variable -length string .

ويتم وضع هذه العلامات بين العلامتين ( "" )

ثالثاََ:البيانات متغيره النوع Variant Data:

من اسمها نستنتج أن نوع البيانات يتغير حسب محتواها، وهذا المتغير قد يحتوى على بيان عددي أو حرفي، فعلى سبيل المثال : "16" =IX

تعنى أن المتغير IX نوعه حرفي (نصي) وقيمته 16 وعند كتابه الأمر print IX-2
فإن المتغير IX يتغير نوعه ويصبح بيانات عددية بدلاً من كونه مجرد نص والسبب يرجع إلى دخوله في عملية طرح (بيئة حسابية)، وهذا السؤال سيوضح الأمر بالنسبة لك أكثر.

وهل هذا السطر صحيح أم لا؟

print "16" * 2

والإجابة أن السطر غير صحيح لأنه يعنى عملية ضرب بيانات عدد' 2 ' في بيانات نصية 16" والفرق بين السطرين أننا استخدمنا المتغير IX والذي حول من النوع النصي إلى النوع العددي عند دخوله عملية حسابية .

الاسم :تسميه عناصر Vb

أي عنصر من عناصر Vb له شخصية مستقلة identity وبالتالي يجب إعطاء اسم دال عليه , وهناك قواعد يجب إتباعها عند تسميه عنصر من عناصر vb:

- الاسم مجموعة من الأحرف الهجائية والعددية , غير مسموح باستخدام الحروف الخاصة، مثل ( +, -)

- يبدأ ألاسم بحرف هجائي .

- لا يكون الاسم من الكلمات المحجوزة تبع اللغة .

- طول ألاسم يصل إلى 200 حرف في معظم الأحوال : مع الثوابت، المتغيرات, الأسماء الروتينية، أما في حاله التحكم controlsوالأشكال forms و class وmodules فإن طول الاسم لا يزيد عن 40 حرف في جميع الأحوال ويفضل أن يكون الاسم دال على شيء.

الثوابت constants:

هي عبارة عن قيم ثابتة لا غير أثناء تشغيل البرنامج فمثلا نحن نعرف أن PI=22/7
فهي قيمة ثابتة ويمكن أخبار vb عن الثوابت باستخدامconst ويكون شكلها const Name=value
أو
const Name As data Type=value

أمثله:

const PI =3.141

public const Pi As Double =3.141925358979

"const paper As string ="hello world

private const X=30

المتغيرات:

المتغير هو ذلك الشيء الذي قد تتغير قيمته أثناء سير البرنامج, فالمتغير variable هو اسم يستخدم لحمل قيمة متغيرة، فمثلاً (إذا أردت أن تسأل المستخدم عن اسمه ، فاسم المستخدم قيمة متغيرة لأنك لا تعرف ما هو . فممكن أن يكون (علي) أو (أحمد) أو (محمد) أو أي اسم آخر . لذلك نستخدم له متغير ، وليكن UserName$ في هذه الحالة يمكنك كتابة الأمر :

UserName$ = InputBox$ ("أدخل اسمك من فضلك")

ملاحظة : يستخدم أمر Inputbox$ لطلب معلومة من المستخدم.

أن (فيجول بيسك) يتيح للمستخدم أن يدخل اسمه في الخانة الموجودة في أسفل البرنامج، وعندما ينتهي المستخدم من إدخال الاسم ، فإن (فيجول بيسك) يضع هذا الاسم في المتغير username$. ويبقى هذا المتغير يحمل هذه القيمة حتى تقوم بتغييرها.

ويمكنك استخدام القيمة التي يحملها المتغير كأن تضعها في متغير آخر ، مثل:

clientName$ = UserName$

فهنا سينسخ فيجول بيسك القيمة الموجودة في المتغير username$ ويضعها في المتغير cilentname$ ويمكن أن تضع هذه القيمة في أداة القائمة مثلاً:

list1.additem username$

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

"رفعت إسماعيل" username$=

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

("أدخل عمرك ، من فضلك") userage = inputbox$

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

صفحة 7

اختيار اسم المتغير

هناك شروط لاختيار اسم المتغير منها:

- يجب ألا يزيد اسم عن 40 حرفاً

- يجب أن يكون أول حرف منه حرفاً هجائياً

- يجب ألا تستخدم كلمة من الكلمات المحجوزة reserved words كاسم للمتغير من الكلمات المحجوزة print و end ولكن يمكن أن تكون جزء من اسم آخر مثل Print____ .

صفحة 8

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

- Integer - Long - Single

- Double - Currency - String

- Variant

صفحة 9

الإعلان عن المتغيرات

الإعلان عن المتغير أن تخبر (فيجول بيسك) عن اسم المتغير ونوعه ، مثل :

Dim UserName As String

فهنا الأمر Dim يعلم فيجول بيسك أننا نريد أن نعلن عن متغير ونجز له مكان بالذاكرة ، وكلمة UserName كمتغير يحمل سلسلة حروف، في هذه الحالة ، يقوم فيجول بيسك بحجز الذاكرة الضرورية لذلك المتغير وتهيئته، وإن الإعلان عن المتغير ليس إجباري.

الفائدة من الإعلان عن المتغيرات:

1) عدم الإعلان عن المتغير قد يؤدي أحياناً إلى أخطاء خفية في برنامجك .فمثلاً انظر السطرين التاليين :

username$ = inputbox$("أدخل اسمك")

print usename$

سيقوم السطر الأول بالتنفيذ ويطلب المستخدم بالاسم ولكن لن يطبع اسم المتغير لأن الكلمة خطا (ناقصة حرف r) ومع ذلك سوف يقوم فيجول بيسك بتنفيذ البرنامج بدون أي مشاكل، ولحل هذه المسألة ، يمكنك أن تعلم فيجول بيسك أن يعرض رسالة خطأ عند ورود أي متغيرات لم يسبق الإعلان عنها . وذلك عن طريق استخدام الأمر :

Option Explicit

ويتم الإعلان عن المتغيرات باستخدام أحد الأوامر التالية :

Dim , Global , Static

يجب الالتزام بنوع المتغير، فمثلا :

لا يجوز أن تعلن عن متغير عددي وتضع فيه قيمة حرفية، والعكس صحيح كذلك مدى المتغيرات وعمرها:

صفحة 10

المتغيرات العامة

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

Global UserName As String

بعد هذا الإعلان ستتمكن من استخدام المتغير UserName من أي مكان داخل البرنامج وستجد أنه يحتفظ بقيمته طوال فترة عمل البرنامج، وكما ذكنا أن له vb تدعم أنواع مختلفة من المتغيرات عددي Numeric, حرفي string و Booleanو Dataو object وVariant، وإذا وجد في برنامج متغير ما من هذه الأنواع يجب إبلاغ vb عن هذا المتغير ونوعه (declaration) والسبب في الإعلان عن المتغير هو مساعده مترجم اللغة (compiler) لتحديد العدد اللازم من البيانات في الذاكرة لهذا المتغير حيث أن كل من هذه المتغيرات قد يحتاج إلى بيانات تختلف باختلاف نوعه . وللإعلان عن المتغير كما ذكنا سابقا نستخدم مثلا Dim وتكون على الصورة:

Dim VariableName As Type

مع مراعاة قواعد التسمية، أمثلة:

Dim M As Integer

Dim M1 As Integer

Dim title As String

Dim M1 As Integer,N1 As Integer,X1 As iteger

ومن الواضح أن المغيرات السابقة X,N1,M1,title,M تم الإعلان عن نوعها مقدما .. ويسمى هذا الإعلان عن المتغيرات بالإعلان الصريح "Explicit Declaration" لكن هناك طريقه أخرى للإعلان عن نوع المتغير تسمى الإعلان الضمني "Implicit Declaration" وتكون على الصورة:

Dim VariableName

في هذه الحالة يتولى vb حديد نوع المتغير طبقا للقيمة التي سوف يأخذها هذا المتغير لكن لا ينصح باستخدامها نظرا لأنها تأخذ مساحه من الذاكرة على الفاضي .

Dim x

x=49.9

في هذه الحالة يحدد vb نوع المتغير على أنه عدد حقيقي، أما إذا كان "x="title فيحدد نوع المتغير x على أنه String أي نصي والشكل العام لهذا الإعلان الضمني هو :

Dim VarName1,VarName2

ويمكن الاستغناء عن العبارة Dim والاكتفاء بالإعلان عن نوع المتغير بإلحاق اسم المتغير بعلامة دل على نوعه:

A$ for string

A% for Integer

A for long

A! for single

A# for Double

وهذا المثال المستخدم في برنامج Barok لتحريك اسم الفورم بعد وقت معين هو خير مثال يمكن وضعه هنا كمثال على المتغيرات variables.