visual basic 6 - khaled almuhammad · visual basic 6.0. ﻚﺴﻴﺑ ﻝﻮﺠﻴﻓ ﺔﺌﻴﺑ...

47
ﺍﻟﺴﺎﺩﺱ ﺍﻹﺻﺪﺍﺭ ﺑﻴﺴﻚ ﻓﻴﺠﻮﻝ ﻟﻐﺔVisual Basic 6.0 ﺍﻟﺘﺸﻐﻴﻞ ﻧﻈﺎﻡ ﻭﺇﺗﻘﺎﻥ ﳑﺎﺭﺳﺔ. Windows ﺍﳊﺎﺳﺐ ﻭﻣﻜﻮﻧﺎﺕ ﺑﺄﺳﺎﺳﻴﺎﺕ ﺟﻴﺪﺓ ﻣﻌﺮﻓﺔ. 1 Haider Mohammed Ali Dakhil

Upload: others

Post on 21-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

  • لغة فيجول بيسك اإلصدار السادسVisual Basic 6.0

    Windows.ممارسة وإتقان نظام التشغيل • .معرفة جيدة بأساسيات ومكونات احلاسب •

    1

    Haider Mohammed Ali Dakhil

    ÈÛÏÇÏSticky Note

  • !+ املتكاملة التطويرية بيئة

    Integrated Development Environment

    geWhat Visual Basic Langua؟ ما هي لغة فجول بيسك 1.1هي وبيئة تصميم وتطوير قوية تستخدم يف هندسة وتصميم وتطوير الربامج املختلفة تعمل حتت منصـة النظـام و

    Windows تسمى الربامج املصممة بواجهة املستخدم الرسوميةGraphical User Interface.تعتمـد وـزءاً مـن املسرية باألحداثبالربجمة هذه اللغة يف تنفيذ أوامرها ووظائفها على األحداث ، فتسمى ايضا ج ، مبعـىن أن

    خامالً حىت يتم إطالق حدث معني ، وإذا مت إطالق احلدث يتم تنفيذ الربجمة املرتبطة به فقط ومـن أمثلـة الربنامج يبقى .على عنصر معني MouseMoveأو املزدوج اوحتريك مؤشر الفأرة Clickاألحداث النقر املفرد

    al Basic DevelopmentVisu كبيس فيجول تطور 1.2

    :اشتقت من احلروف االوىل للعبارة Basicكلمة بيسك Beginner All Purpose Symbolic Instruction Code

    Thomas Kurtzنتيجة مثرة جهود االستاذين لغة التعليمات الرمزية لكافة األغراض للمبتدئنيواليت تعين Johan Demmuy& يف كلية وبعض الطلبةDartmouth وقد تبناهـا معهـد املقـاييس 1963عام

    GWBASIC , Turboوظهرت منها عدة إصدارات بإمكانيات خمتلفة مثل 1978عام ANSIاألمريكي BASIC , Quick Basic .

    وكانت هذه اللغات ضعيفة من حيث الواجهات اليت تنشئها وكتابة اآلالف األسطر لتنفيذ أي امـر ممـا دفـع األولاإلصدار ظهرلتكون نواة لفيجول بيسك بإصداراا املختلفة ف Quick Basic طويرلت Microsoftشركةثورياً يف جمال ف 1991عام حدثاً ربجمة حيث يستغرق إنشاء الربنامج به فترة ال ميكن أن نقارا مبا حيتاجـه مـن الكان

    خاصة وأا اعتمدت Visual Basicعوامل جناح أولكانت السهولة . Visual Cاللغات األخرى املتاحة مثل .على لغة ذات ماضي وشعبية واسعة

    فتحت الباب أمام اجلميع ليطور بيئة الربجمـة اخلاصـة بــ Microsoftالذي ال يقل أمهية أن الثاينالعامل Visual Basic بان يستطيع إنشاء أدوات حتكم خاصةCustom Control وتضاف بسهولة إىل برناجمـه .

    . ++C و Cكانت تكتب أساسا بلغة واليت VBXلق عليها واليت أط Advantage of Visual Basic بعض مزايا فجول بيسك 1.3 C بدون االستعانة بلغـة . معا Interpreterواملفسر Compilerتوفر اللغة كال من املترجم •

    . اليت كانت مستخدمة . الجتاه حنو الرسوم واألحداث وليس الكائناتلغة تعمل مع الكائنات على الشاشة لكنها تعترب لغة ا •

    2

  • جداً من الكائنات • .القابل للتحديث واالضافة Objectsتتضمن جمموعة كبرية .Keyboardولوحة املفاتيح Mouseتدعم مجيع أحداث ووظائف الفأرة • .Printerوالطابعة Clipboardتدعم استعمال احلافظة •زة واألوامر والوظائف الرياضية واملنطقية والرسومية وكـذلك تتضمن جمموعة كبرية من الدوال اجلاه •

    .التعامل مع انواع احلروف و الرمزية .تسلسلية او عشوائيةتتعامل مع امللفات بأنواعها املختلفة وبشىت طرق الوصول إىل البيانات من ملفات • .لديها إمكانيات هائلة يف ميدان اكتشاف وتصحيح األخطاء تلقائيا • .Data Baseوعة قوية من أدوات التعامل مع قواعد البيانات جمم متتلك • .ActiveX Controlsتدعم التعامل مع العناصر الربجمية املستوردة • .وتصميم صفحات االنترنت Internetتدعم أدوات كثرية تتعامل مع الشبكة احمللية و الدولية • .بت 32املبنية بتقنية Windows تعمل حتت نظام التشغيل • .يف التحكم بالوسائل املتعددة ادواابعض دعم • .للبيانات إمكانية أستخدم اللغة العربية يف عملية اإلدخال و اإلخراج •بكفاءة عاليـة Setup Packageتدعم طريقة جيدة يف حزم الربامج وإنشاء برامج التنصيب •

    .يقوحزم مجيع امللفات املرافقة دون احلاجة لبيئة فيجول بيسك بعد إكمال التطب

    Runs of Visual Basic فيجول بيسك تشغيل 1.4 يف سجالت النظام، فعند النقر على vbp ،frm ،basعند تنصيب اللغة على اجلهاز يتم تسجيل اإلمتدادات

    : Startوميكن أيضا فتح بيئة اللغة من قائمة ابدأ . يتم تشغيل اللغة وفتح امللف vbp.*إحدى هذه امللف من نوع Start >> Programs >> Microsoft Visual Basic 6.0 >> Microsoft Visual Basic 6.0.

    أشكال أيقونات ملفات مشاريع بيئة فيجول بيسك: )1(الشكل

    يسألك عن نوع املشروع الذي تريد Dialogue Boxوار احلظهر مربع يعند تشغيل اللغة ألول مرة

    :هي Tabsثالثة ألسنة تبويب وحيتوي على . كما بالصورة برجمته وتصميمه• New :يتيح اختيار نوع املشروع اجلديد الذي تريد تصميمه. • Existing :يتيح فتح مشروع مت تصميمه من قبل. • Recent :يتيح فتح آخر املشاريع اليت فتحت مسبقا.

    vbp frm bas

    3

  • نهج سنتحدث يعرض عدة أنواع من املشاريع يف مربع حوار اخر ، ويف هذا امل Newبعد اختيار اللسان األول خنتار هذا النوع بالنقر املزدوج عليه أو الضغط على . فقط Standard exeوهو ) االفتراضي(عن النوع األول .للبدء يف تصميم الربنامج Enterمفتاح اإلدخال

    جمدداً عند بدء تشغيل اللغة انقر فوق اخليار Don’t show thisويف حالة الرغبة يف عدم ظهور هذا املربع dialog in the future جمدداً من القائمة يف Optionsمث األمـر Toolsأسفل املربع ، وإذا أردت عرضه

    .Prompt for projectمث اخليار Environmentلسان التبويب

    Environment of Visual Basic.بيئة فجول بيسكالتعرف على 1.5 وشريط القـوائم Title barتكون من شريط العنوان نوافذ بيئة فجول بيسك وت الصورة التالية توضح معظم

    Menu bar وأشرطة األدواتTool Bars حيتوي شريط عنوان النافذة الرئيسية على اسم املشروعProject حالياً ،بينما حيتوي شريط القوائم على جمموعة من القوائم اليت من خالهلا يتم التعامـل Formاحلايل والنافذة املعروضة

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

    4

  • Tool Boxصندوق األدوات ) 1.5.1(اداة حتكم اساسية االكثر استخدام يف أي تطبيق مصمم بلغـة 19وهي نافذة حتتوي على

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

    Form Designer Windows نافذة مصمم النموذج ) 1.5.2(

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

    نافذة ظهور

    مصمم النموذج مستكشف املشروع

    اخلصائص

    خمطط النموذج

    الشفرةحمرر

    نافذة الفورية

    صندوق األدوات

    شريط األدوات

    5

  • Code Editorنافذة حمرر الشفرة ) 1.5.3(غالباً ما يكون ضمن إجراءات أحداث ويـتم Event Proceduresومن خالهلا يتم كتابة الشفرة الذي

    ال مع النموذج هذا احلدث ، ويكون اإلجراء احلدثي مرتبطاً بطبيعة احل) أو استثارة أو تفجري(تنفيذ كل إجراء عند إطالق لـزر األوامـر Clickولكي نقوم بكتابة الربجمة اخلاصة حبدث النقـر املفـرد . أو أحد العناصر الربجمية املرسومة عليه

    Commandbutton مثالً نقوم بالنقر عليه نقرتني سريعتني أثناء وقت التصميمDesign Time فيـتم فـتححرف لكـل 1023تاليان وميكن كتابة األسطر الربجمية ولكن ال يزيد عن نافذة حترير الشفرة وا السطران الربجميان ال

    :سطر

    Events

    Objects & Producers

    F7 اظهارها

    Control Box

    Project Name Form Name

    Shift + F7 الظهارها

    6

  • Project Explorer Windowاملشروع نافذة مستكشف ) 1.5.4(، تعرض كل جمموعة Modulesووحدات منطية Formsتعرض قائمة جبميع مكونات املشروع من مناذج

    وميكن من خالل هذه النافذة التبديل . ذج وآخر للوحدات النمطيةمتجانسة يف جملد مستقل فيكون هناك جملد خاص بنما Code editorبني نافذة منوذج وبني نافذة حمرر الشفرة

    Properties Windowنافذة اخلصائص ) 1.5.5( اخلاصـية :املثـال ،فعلى سبيل Control) عنصر حتكم(هذه النافذة تعرض مجيع خصائص الكائن املختار

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

    .عند النقر عليه تنسدل قائمة ا كافة القيم احملتملة للخاصية متجه ألسفل على ميني اخلاصية ،تعرض هذه اخلصائص بترتيب أجبدي عـدا

    فإا تأيت يف بداية قائمة اخلصائص، Nameاخلاصية وعند اختيار خاصية معينة يتم عرض وصـفها أسـفل

    .نافذة اخلصائصيف حالة اختيار أكثر من أداة يتم فقط عرض

    إذا مل تكـن نافـذة . كة فيما بينـها اخلصائص املشترأو الضغط علـى F4اخلصائص ظاهرة اضغط املفتاح

    Viewمن قائمة Propertiesأمر Window Form Layoutنافذة ختطيط النموذج )1.5.6(

    اليت يتضمنها املشروع احلـايل ، ومـن Formsج اذيظهر هذا املربع على شكل شاشة حاسوب وبه صور للنمملربع نستطيع التحكم يف مكان وكيفية ظهور النوافذ عند تشغيل الربنامج ، فقط قم بسحب الرسم الذي ميثل خالل هذا ا

    اسم النموذج الربجمي

    سم املشروعا اسم ملف النموذج

    اسم الوحدة النمطية

    ة جملداتئعرض امللفات ي F7إظهار نافذة النموذج

    Shift+F7إظهار نافذة الشفرة

    Ctrl+R الظهارها

    وصف اخلاصية

    عنصر

    7

  • مـن Screen Resolutionكما ميكنك التعرف من خالله على دقة الشاشـة . نافذة معينة إىل املكان املناسب، وبالتايل نعرف كيـف سـتظهر Resolution Guideخالل النقر بالزر األمين للفأرة على املربع واختيار األمر

    .النوافذ فيما لو قام مستخدم الربنامج بتغيري الدقة إىل قيمة أخرى غري اليت مت فيها تصميم الربنامج

    Menu بيئة القوائم ) 1.5.9(

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

    حتتوي على أوامر التحرير القياسية كالقص والنسخ واللصق ، ونستخدمها بشكل خاص عنـد : Editالقائمة . 2 .التعامل مع نافذة حمرر الشفرة

    لعرض خمتلف النوافذ املكونة للواجهة مثل نافذة مربـع األدوات ونافـذة حتتوي على أوامر : Viewالقائمة . 3 .اخلصائص وعرض األشرطة وغريها

    معظم أوامر خاصة مبحتويات املشروع ، فهي متكنك من إضافة عنصر أو جمموعة عناصر : Projectالقائمة . 4 Classesوالفئـات Modules ملفات الربجمـة والوحدات النمطية Formsمن عناصر املشروع كالنماذج

    .وغريهاباإلضافة . تستخدم بتنسيق األدوات اليت نضعها على النافذة من ناحية موقعها على النافذة: Formatالقائمة . 5

    .إىل تغيري ترتيب األدوات وغري ذلك وحتتوي على معظم أوامر التنقيح ، والتصحيح من هذه األوامر اختيـار طريقـة تنفيـذ : Debugالقائمة . 6

    أو التنفيذ Step Out، أمر سابق Step Over، إجراء كامل Step Intoالربنامج ، كتنفيذ سطر واحد منه Run To Cursorحىت السطر الذي يوجد فيه مؤشر الكتابة

    Breakومنها نستطيع تنفيذ الربنامج ومتكننا من اختيار األوامر األخرى كاإليقاف املؤقت : Runالقائمة . 7 .Endتنفيذ الربنامج أو إاء

    حتتوي على أوامر خمتلـف التصـانيف كمحـرر القـوائم ، ومعـاجل إضـافة إجـراء : Toolsالقائمة . 8Procedure وغريها.

    ومن خالهلا يتم تشغيل برامج خارج اللغة وظيفتها خلق تكامل مع اللغة مثل برنـامج : Add Insالقائمة . 9Visual Data Manager وغريها.

    .ومن خالهلا يتم وضع النوافذ بالشكل املطلوب ، وكذلك لعرض النافذة املطلوبة: Windowsة القائم. 10

    8

  • ومن خالهلا يتم استدعاء ملف التعليمات اخلـاص باللغـة، وكـذلك التعريـف باللغـة : Helpالقائمة . 11 .والترخيص

    ToolBarsأشرطة األدوات )1.5.10( Viewتوجد أربعة أشرطة حتتوي على اوامر القوائم املنسدلة ومصنفة حسب الوظيفة وميكن إظهارها من قائمة

    :واالشرطه هي كما يليعلى املساحة العلوية من البيئة Right-Clickاو من خالل

    :Standerd Barالشريط االوامر القياسية •

    Form Editor Barشريط تنسيق النماذج •

    Debug Barريط معاجلة األخطاء ش •

    Edit Code Barشريط حترير الشفرة •

    لفتح مشروع جديد

    الضافة منوذج جديد

    قص لصق نسخ

    حفظ املشروع

    عرض صندوق األدوات

    إيقاف تنفيذ املشروع

    عرض نافذة فيذ املشروعتن مستكشف املشروع

    أبعاد الكائنات Twipبوحدات

    عرض نافذة اخلصائصموقع الكائن على النموذج

    رص الكائنات على عمود قفل التصميم للنموذج

    رص الكائنات بوسط النموذج ترتيب الكائنات حبجم واحد

    9

  • Steps of Applicationsخطوات تنفيذ التطبيقات ) 1.6(واختيار نوع املشروع نكون جاهزين لبدء افهم مكونا بعدبعد تشغيل بيئة التطوير املتكاملة إلنشاء التطبيقات و

    :ل من اإلنشاء وهيكل تطبيق مير بسبعة مراح وانالتصميم 1. Create the User Interface: انشاء واجهة االستخدام

    To create the interface for your application, first place controls and objects on a form by drawing or painting them in the Form Designer. For information about interface design, see The Windows Interface Guidelines for Software Design.

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

    Ctrl+Vألخذ نسخة منه ، بعد ذلك اضغط املفتاحني Ctrl+Cاألول ، مث انقر عليه نقرة واحدة أو اضغط املفتاحني ويف هذه احلالة سيظهر مربع رسائل يسأل هل وضع العنصر ضمن . للصقه

    فينسخ العنصر يف الركن ) No(مصفوفة من نفس النوع أم ال ، اختر .األيسر العلوي للنافذة

    مناسباً تستطيع حتريكه : ريك العناصرحت إذا مل يكن مكان العنصر فوق العنصر بدون رفع اإلصبع بالنقر:باستخدام الفارة إىل املكان املناسب

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

    .ر زر الفأرةيدون حتر معنييف اجتاه . رك حنمؤشر الفأرة على أحد هذه املربعات و مع أحد مفاتيح األسهمCtrlاو Shiftاستخدم املفتاح .انقر فوق األداة نقرة واحدة: لوحة املفاتيح باستخدام

    .لتغري شكل ومكان الكائن

    2. Set the Properties of Interface Objects: ضبط خصائص الكائنات Once you have added objects to a form, you can set their

    properties at design time, or you can use code statements to set properties at run time.

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

    3. Write codes for events of Objects: كتابة الشفرة الحداث الكائنات

    Shift+ Ctrl +

    لتغري حجم الكائن على سطح النموذج لتحريك الكائن من امكانه

    10

  • You can add code that runs in response to events. Events occur when different actions are performed on a control or object. For example, a command button's Click event occurs when the user clicks it with the mouse.

    أوالً ، بعد ذلك يتم تنفيذ الربجمة املرتبطـة ـذا احلـدث جيب حتديد أي حدث سيتم تنفيذ الربجمة عند حدوثه .يف نافذة حترير الشفرة Procedureواملوجودة يف إجراء حدثي

    4. Save The Project: حفظ املشروع Next, save the project, giving it a unique and descriptive name. You

    should save the project frequently as you add code to it. Saving a project also saves its forms and code modules.

    جيب حفظ املشروع والنماذج واملوديالت على القرص الصلب 5. Test and Debug the application: اختبار وفحص املشروع وازالة الشوائب As you add code to the project, you can run the application and

    view its behavior. Visual Basic also offers numerous tools for debugging your application.

    6. Makes an executable file: حتويل املشروع اىل ملف تنفيذي Upon completion of the project, you'll create an executable file.

    This compiles the various files making up the program into a stand-alone executable file.

    .جيب حتول املشروع اىل تطبيق يعمل دون احلاجة اىل لغة فيجول بيسك7. Create a setup application: حزم وجتميع ملفات التطبيق In order to run your application, the user usually needs other files,

    such as any DLL files or custom control .OCX files you used to create your application. Visual Basic provides the Package & Deployment Wizard, which automates the creation of the setup program and ensures the user has all of the necessary files.

    .احدةوه امللفات يف حزمه جيب جتميع هذ DLLاو ملف مكتبة ocxيف حالة استخدام ملف نوع

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

    :ا موضح يف الشكلنافذة الشفرة و والكائنات اليت توضع على واجهة النماذج وكذلك الوحدات النمطية اليت كم

    11

  • :إلضافة منوذج جديدة للمشروع نتبع اخلطوات التالية

    .Add Formمث اختر األمر Projectافتح قائمة .1 :اما باقي النماذج هي Formاختر نوع النموذج Add Formيظهر مربع حوار بعنوان .2• Form : االفترهي منوذج. • About Dialog :كون نبذة عن للربنامجيمنوذج خمصصة ل. • Web Browser : كائنات خاصة مبتصفح اإلنترنت حيتوي علىمنوذج. • Dialog :منوذج علي شكل صندوق حوار. • Log In Dialog :منوذج خمصصة لتسجيل الدخول للربنامج. • Splash Screen لترحيب ببدء الربنامجلمنوذج. • Tip of the Day : منوذج خمصص للتعريف بالتطبيق. • Option Dialog : اجزاء من لسان التبويب 4منوذج مقسم ايل .Openمث انقر فوق .3

    Project Name .VBP)

    Object 1

    Object 2

    Object 3

    Object 1

    Object 2

    Object 3

    Variables Constant Procedure

    12

  • :نتبع اخلطوات التاليةإلزالة منوذج من املشروع .يف نافذة مستكشف املشروع ، انقر على اسم النافذة بالزر األمين للفأرة .1نمـوذج هو اسم ال FormNameو Remove FormNameتظهر قائمة منبثقة اختر منها األمر .2

    .الربجمي .أجب أيها أجبت وسيزال النموذج من املشروع. قد يسألك الفجول هل تريد حفظ التغيريات عليه أم ال .3

    Note

    عند إزالة النموذج من املشروع ال حيذف ملف النموذج بل يبقى امللف حمفوظ يف القرص الصلب لكن ال ينتمي ملكونات املشروع

    موعة من اإلجراءات العامة ، وجمل األوامر واإلعـالن عـن املـتغريات جم: Modules الوحدات النمطية

    ويـتم أضـافته الوحـدة . Code Moduleوالثوابت لتستدعى من أي مكان يف املشروع وهي نافذة شفرة فقط . Moduleفيظهر مربع حوار التايل فنختار امللف Add Moduleمث Projectالنمطية من خالل قائمة

    :Setting Startup Formمنوذج بدء التشغيل حتديد 1.8

    :تستخدم فيجول بيسك النافذة األوىل كنافذة بدء التشغيل تلقائياً وإذا رغبنا يف تغيريها اتبع اخلطوات التالية .Project Properties فيظهر مربع حوار بعنوان .Propertiesاختر األمر Projectمن قائمة .1املوضـحة بالصـورة Startup Objectي من القائمة املنسدلة املسـماة اختر منها اسم النموذج الربجم .2

    .Okمث انقر فوق الزر . ،لتكون هي نافذة بدء التشغيل

    13

  • scomponent &Save as Project’حفظ املشروع ومكوناته 1.9 باختيار األمر القرص الصلب وذلك يف جملد واحد على يفضل حفظ املشروع مبا حيتويه من مناذج ووحدات منطية

    Save Project من القائمةFile فيظهر مربع حوار لتحديد مسار حفظ ملـف املشـروع وملفـات النمـاذج :والوحدات النمطية كما هو موضح بالصورة

    Last Stepأخر خطوة 1.01 يعمل Executable fileملف تنفيذي إىل ميكن حتويلة وخايل من االخطاء عندما يصبح الربنامج جاهزا

    : Fileمن القائمة Make Project1.exeبدون بيئة التطوير املتكاملة من خالل االمر

    مكان احلفظ

    اسم امللف

    نوع امللف

    14

  • :فيظهر مربع احلوار التايل

    ليتم Okمث الضغط على األمر .scr و ليس exeوضع االمتداد يكتب اسم امللف املرغوب مع التأكد من ه يف اي وقت وحيمل رمز األيقونة لواجهة النموذجتشفريه وحفظه و استخدام

    مكان حفظ التطبيق

    اسم التطبيق

    15

  • Terminologyمصطلحات مهمة 1.11

    Term Definition

    Design time Any time an application is being developed in the Visual Basic environment.

    Run time Any time an application is running. At run time, the programmer interacts with the application as the user would.

    Forms Windows that can be customized to serve as the interface for an application or as dialog boxes used to gather information from the user.

    Objects A general term used to describe all the forms and controls that make up a program.

    Properties The characteristics of an object such as size, caption, or color.

    Methods The actions that an object can perform or that can be performed on the object.

    Events Actions recognized by a form or control. Events occur as the user, operating system, or application interacts with the objects of a program.

    16

  • @+ األحداث و ظائفوالاخلصائص و

    Properties, Methods & Events Property’s& Objects الكائنات وخصائصها .21

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

    Propertiesفقط من خالل نافذة اخلصائص Design Timeهناك خصائص يتم حتديدها وقت التصميم

    Window وهناك خصائص أخرى حتدد وقت التشغيل فقط ،Run Time من خالل تغـري الشـفرة، وهنـاكيف نافـذة وعاً بنقطـة متبصحيحا نكتب اسم الكائن يف نافذة الشفرةوللضبط .خصائص أخرى ميكن ضبطها يف الوقتني

    ، فتظهر قائمة باخلصائص والوظائف اليت تتبع هذا الشفرة الكائن ، وعند كتابة احلرف األول للخاصية ينتقل املؤشر إليها ، وعند كتابة احلرف الثاين يتم االنتقال للخاصية أو

    مث . الوظيفة اليت يتكون امسها من هذين احلرفني وهكـذا اخلاصـية الختيـار Space Tabنستخدم املسطرة

    املطلوبة

    :والصيغة العامة لتعديل خاصية اي كائن يف نافذة الشفرة هيSyntax Object.Property = New Value

    :والسناد قيمة خاصية أي كائن اىل متغري فالصيغة العامة هيSyntax Variable = Object.Property

    Run Time تضبط برجميا

    Design Time تضبط من نافذة اخلصائص

    ضبط اخلصائص الكائن

    17

  • Examples: Text1.FontItalic = True Form1.Enabled = True Label1.ForeColor = vbBlack Text1.BorderStyle = 0 Label1.Alignment = 2 Option4.Height = 500 Check1.Caption = اظهار" " Command6.Visible = True strUserName = txtName.Text

    :بعض اخلصائص املشتركة للكائناتواجلدول التايل يبني شرح لExplain Property

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

    يف نفس النموذج كائنأكثر من Name

    Alginment )ليساريف اليمني اوالوسط او ا(لتنسيق النص ورصفه وتاخذ ثالث قيم Flat. Appearanceأو بالشكل املسطح 3Dتظهر العنصر ثالثية األبعاد

    Backcolor اخللفية للعنصر للتحديد لون BorderStyle )عادي–بارز(حيدد نوع حافة الكائن

    Caption اسم النص الظاهر على العنصر Enabled االداة او تعطيلها لتمكني

    Font .الكتابةحتدد نوع وحجم خط ForeColor .لتحديد لون الكتابة أو الرسومات

    Height ارتفاع العنصر Locked لقفل الكائن من التغري يف وقت التنفيذ

    Left اليسرى للنموذج موقع االداة من احلافة Picture لتحميل صورة او ايقونة اىل الكائن

    RightToLeft )من اليسار اىل اليمني او بالعكس(جلعل منط واجتاه الكتابة عربياً أو التينياً Tab TabIndexاألدوات عند الضغط على مفتاح ترتيب التنقل بني

    Tab Tabstopتوقيف التنقل باملفتاح Tooltiptext علية ملدة قصرية التعليق الذي يظهر فوق األداة عند إبقاء الفارة

    Top موقع العنصر من الركن العلوي من األداة False. Visibleأو عدم ظهورها Trueحتديد ظهور العنصر

    Width عرض العنصر

    18

  • يعترب النموذج منصة العمل وخلفية أي تطبيق واهم خصائصه: Formالنموذج – 1Explain Property

    ControlBox )..إغالق- تصغري –تكبري واستعادة(إلظهار وإخفاء أدوات التحكم يف ميني شريط العنوان Icon عنوانشريط اللوضع رمز جبانب

    MaxButom ربع التكبري يف شريط العنوانوتنشيط ملتعطيل Mdichild متعددة النوافذتستخدم يف الربامج

    Minbutton ربع التصغري يف شريط العنوانوتنشيطلتعطيل Moveable داخل الشاشة.جلعل النافذة قابلة للتحريك أو جامدة

    واخليارات األخرىTwipالقياس املستخدمة يف املشروع واالفتراضية هي لتحديد وحدة)User, Character, Inch , Centimeter , Millimeter, Pixel, Point ( Scalmode

    StartUpPosition حتديد موقعها عند بدء التشغيل وتوجد اربعة خيارات WindowState ).شريط املهام مصغرة إىل–عادية–مكربة(حتديد حالتها عند التشغيل

    لقيـاس Twipوتستخدم الوحـدة اخرى إىل أي وحدة قياس ScaleModeو ميكنك تغيري من اخلاصية

    :حيث.كقيمة افتراضية لصغرها أبعاد العناصرTwip Pixel=15 . وInch =1440 Pixel .

    وهـم . و إهناء عملية معينةويستخدم لبدء أو مقاطعة أ: CommandButtonأداة األوامر - 2 :خصائص زر األوامر

    ♦ Cancel : بإعطاء قيمةTrue تنفيذ احلدثclick هلذا العنصر عند ضغط على مفتاح اهلروبEsc ♦ Default : عند إسنادTrue وتقوم بتنفيذ برجمة احلدثclick التابع هلذا العنصر عند ضـغط مفتـاح

    افذةوتعطى لزر واحد يف الن. Enterاإلدخال

    ويستخدم لعرض النصوص اليت ال ميكن للمستخدم تعديلها بصور مباشـرة، : Labelأداة التسمية - 3وكذلك يستعمل كعنوان يوضح الغرض من عنصر آخر يكون جبانبه ، أو يستخدم إلظهار نتيجة عمليـة مـا

    :وأهم خصائصه♦ AutoSize : إذا كانتTrue ، مطابقاً للكتابة فيجعـل Falseأما إذا كـان يتم جعل حجم العنصر

    متاماً .حجم العنصر كما حدده املستخدم

    موقع الكائن على النموذج حجم الكائن

    19

  • نصوص قابلة للتعـديل الخراج، وكذلك البياناتويستخدم إلدخال : TextBoxصندوق النص - 4 :خصائص صندوق النصوص ومن.بصورة مباشرة

    ♦ Text : الذي يظهر يف الكائننص. ♦ MaxLength : اليت يستوعبها العنصرومن خالهلا يتم حتديد عدد احلروف. ♦ Multiline :وحتدد ما إذا كان العنصر يدخل سالسل متعدد األسطر أم بسطر واحد.

    ♦ PasswordChar :كلمات املرورادخال يف *وعادتا تستخدم النجمة من احلروفبدالً ما رمز لعرض. ♦ ScrollBars :حتدد هل ستظهر أشرطة التمرير أم ال. ♦ DataFormat : تنسيق نوع النص املدخل مثل قيم رقمية او حروف او تاريخمن خالهلا يتم.

    خاصية أهم و.ويسمح للمستخدم باختيار بني حالتني نعم أو ال :CheckBoxاألداة مربع االختيار - 5 :لالداة

    ♦ Value : وإذا كانت مسـاوية ) صح(إذا كانت مساوية للصفر تعين عدم ظهور العالمة (ومتثل حالة األداة ، .فتظهر املربع بلون باهت 2، وإذا كانت مساوية ) صح(تعين ظهور العالمة للواحد

    ومتكن املستخدم من انتقاء خيار واحد فقـط مـن جمموعـة : Option Boxاألداة االختيار - 6

    :وأهم خصائص مربع االختيار.اختيارات♦ Value : وحتدد ما إذا كانت األداة خمتارةSelected )هناك . أم ال) ء على األداةأي ظهور النقطة السودا

    .أداة اختيار واحدة فقط ميكن أن تظهر النقطة عليها♦ Style : لتغري شكل األداة بني)Standard – Graphic (

    منطقيـاً أو : Frameاإلطارأداة - 7 تستخدم هذه األداة لتزيني الواجهة، وكذلك لضم العناصر املرتبطة

    ما ينطبق على اإلطار ينطبق بالنتيجة على . Containerاألداة باحلاوية تعرف هذه . وظيفياً يف جمموعة واحدةمثالً باستخدام اخلاصية . يتم إخفاء العناصر اليت حيتويها Visible = Falseالعناصر اليت يضمها ، فإن أخفينا اإلطار

    Notes

    رمساً على اإلطار ♦ وليس ( يتم وضع العنصر بالنقر عليه يف شريط األدوات مث نرمسه ).بالنقر املزدوج على األداة لوضعها

    عند وضع جمموعة من أداة االختيار يف إطار ،وجمموعة أخرى يف إطار آخر، فانـه ♦تعمل كل جمموعة لوحدها ،أي ميكن اختيار أحد االدوات يف اإلطار األول واختيار آخـر

    . من اإلطار الثاين

    20

  • تعرض قائمة باالختيارات حبيث ميكن ListBoxاألداة : ComboBoxو ListBox تنياألدا -8للمستخدم من انتقاء اختيار واحد أو أكثر ، إذا كان عدد االختيارات أكرب من ارتفاع األداة ختتفـي بعـض

    فتعرض اختياراً ComboBox، أما األداة . االختيارات ويظهر شريط مترير للوصول إىل باقي االختيارات :وأهم خصائص األداتني.تابة فيها مباشرةواحداً فقط ، وبإمكانية الك

    ♦ List :ومن خالهلا يتم كتابة االختيارات اليت تظهر عليها. ♦ ListCount :وتعطي عدد االختيارات اليت تضمها. ♦ ListIndex :وتعطي رقم ترتيب االختيار يف األداة. ♦ Multiselect :وحتدد هل ميكن للمستخدم من انتقاء أكثر من خيار أم ال. ♦ Sorted : هل سيتم ترتيب العناصر حسب جدولASCII أم تبقى كما حددها املستخدم. ♦ Style :وحتدد شكل ظهور األداة وهل ميكن الكتابة فيها أم ال. ♦ Text :ومتثل اخليار املختار ويتم عرضه أعلى األداة. مستقيماً على النافذة Line اخلط أداة - 9 خطاً :أهم خصائص األداة.هذه األداة ترسم

    • BorderColor :وحتدد لون اخلط. • BorderStyle :وحتدد نوع اخلط هل هو متصل أم متقطع أم غري ذلك. • BorderWidth :وحتدد مسك اخلط.

    مربعاً أو دائرة أو مستطيالً: Shapeأداة الشكل اهلندسي - 10 :وأهم خصائص األداة.هذه األداة ترسم ♦ BackStyle : شفافة أم مصمتةوحتدد ما إذا كانت خلفية األداة.

    ♦ BorderColor :وحتدد لون حواف األداة. ♦ BorderStyle :وحتدد شكل حواف األداة هل هي منقطة أم متصلة أم غري ذلك. ♦ BorderWidth :وحتدد مسك حواف األداة. ♦ FillColor :وحتدد لون التعبئة. ♦ FillStyle :وحتدد طريقة التلوين. ♦ Shape :ستطيل أم بيضويلتحديد الشكل مربع أم دائرة أم م.

    : Vertical and Horizontal Scroll Bar أشرطة التمرير األفقية والرأسية - 11عندما ختتفي بعض املعلومـات يف النافـذة . windowsتستعمل أشرطة التمرير بكثرة يف نظام النوافذ

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

    21

  • ♦ LargeChange : وتغري قيمة اخلاصيةvalue مبقدار معني عندما ينقر املستخدم علىBar Area. ♦ Max : وحتدد أقصى قيمة عددية صحيحة ميكن أن تصل إليها اخلاصيةvalue. ♦ Min : ا اخلاصية وحتدد أقل قيمة عددية صحيحة اليت تبدأValue. ♦ SmallChange :اخلاصية وتغري قيمةValue مبقدار معني عندما ينقر املستخدم على أسـهم شـريط

    .التمرير♦ Value : وهي قيمة موقع زر التمريرScroll Box على الشريط وجيب ان تقع بني قـيميت اخلاصـيتني

    Max وMin وال تتعداها.

    داة املفضـل تسمح هذه األداة بعرض الصور عليها ، وهي اال: PictureBoxأداة عرض الصور - 12وهي تشبه حبد كبري منوذج النافذة يف الكثري من اخلصائص ، وتعتـرب . Animationلعرض الصور املتحركة واليت وحتدد هل سـيكون حجـم أداة : AutoSizeوأهم خاصية يف أداة الصور . حاوية لغريها من العناصر األخرى

    مطابقاً حلجم الصورة املعروضة أم أن حجم الصورة امل .عروضة مطابق حلجم األداةالصور :أهم وظائف أداة الصور

    ♦ Cls :ملسح حمتويات األداة. ♦ Print :لطباعة املعلومات على األداة.

    : LoadPictureنستخدم الدالة برجميا الصورة على أداة الصور حتميلولكي Picture1.Picture = LoadPicture( " c:\Mydocument \ Photo1.Bmp")

    لصورةمسار ونوع ملف ا .Bmp ،Ico ،Wmf ،Jpeg ،Jpgاليت تنتمي لألنواع التالية فقط الصور وميكن حتميل ملفات

    وهي أداة تشبه األداة السابقة يف أهنا تعرض صورة على النافـذة ، لكنـها ال : Imageأداة الصور - 13هـم و. صر الربجميـة األخـرى تتعامل مع الصور املتحركة ، وكذلك ال تصلح ألن تكون حاوية لغريها من العنا

    :خصائص األداة♦ Stretch :مطابقاً حلجم الصورة مطابقاً حلجم األداة أم أن حجم األداة سيكون .وحتدد هل سيكون حجم الصورة

    تتيح للمستخدم اختيار إحدى سواقات األقراص املوجودة جبهاز Driver االقراصأداة مستعرض -14، وال حاجـة Box Comboاة تعرض احلرف الذي ميثل السـواقات يف هذه األد. احلاسوب وقت التنفيذ

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

    هذه األداة تعرض الدات بصورة هرمية منظمة ، وتتـيح : DirListBoxأداة مستعرض الدات - 15ولكي حتدد الدات اليت ستظهر على األداة حنتاج لبعض الربجمـة الـيت .أحد الدات أو الدات الفرعيةاختيار

    :وأهم خصائص مستعرض الدات.تربط هذه األداة باألداة السابقة ، أي عرض الدات اليت تتبع السواقة املختارة♦ Path :لد املختارومتثل مسار ا.

    22

  • وتعرض امللفات بشكل هرمي منظم ، ولكـي نعـرض : FileListBoxلفاتأداة مستعرض امل - 16أهم خصـائص مسـتعرض . امللفات ال بد من ربط هذه األداة مبستعرض الدات املربوط مبستعرض السواقات

    :امللفات♦ FileName :متثل اسم امللف املختار. ♦ MultiSelect :وحتدد هل ميكن اختيار أكثر من ملف أم ال. ♦ Path :ثل مسار امللف احلايلومت. ♦ Pattern : وهي سلسلة حتدد أنواع امللفات املطلوب عرضها يف هذه األداة ، فعلى سبيل املثال لو كتبنا

    *.Dat سيتم عرض أمساء امللفات اليت امتدادهاDat فقط. و تستخدم بدال من DirListBoxو FileListBoxو DriveListBox األدوات استخدام كل من

    فتح او احلفظ اليت تفتح عن طريقشاشة الو لربط CommonDialog األداة الشفرات مع بعضها نقوم بكتابة األدوات

    :التالية بعد تصميم النموذج احلايل

    Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub

    Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub

    Private Sub File1_Click() SelectedFile = File1.Path & "\" & File1.FileName Image1.Picture = LoadPicture(SelectedFile) End Sub

    عليك تغيريها حسب نوع امللف *.* و مكتوب جبانبها Patternخاصية باسم توجد File1يف خصائص

    .لعدم املشاكل txt.*تغريها ايل txtو اذا كانت bmp.*ها ايل كانت صورة تغري فإذاالذي يفتح

    :واهم خصائصها.يتيح تنفيذ اوامر معينة بعد مرور وقت معني أي بتكرار Timerمؤقت - 17Interval : أي (تعين ملـي ثانيـة 1ومتثل عدد مرات التكرار لألجراء هلذا الكائن لكل فترة زمنية والقيمة

    ).ملي ثانية 1000الثانية تعطي

    23

  • .تربط بني قاعدة بيانات والربنامج Data Controlأداة ربط بيانات - 18

    بيئة فيجول بيسك عن طريق األخرىتستخدم هذه االداه يف العمل مع الربامج OLE أداة ربط وتضمني - 19 :الصندوق احلوارييفتح هذا ، مبجرد وضع االداه علي النموذج .PaintBrushالرسام برنامج فتح مثل ،

    الربنامج أيقونةان تظهر اريدو اذا ، يف هذا املثال Bitmap Imageاختر الربنامج الذي تريد التعامل معه و سيكون .سيتم فتح برنامج الرسام OKضغط مث ال .Display As Iconمع االداه اضغط علي

    Default Property Of Objects اخلصائص التلقائية للعناصر .21.1ن فجول بيسك يدرك خصائص معينة للعناصر الربجميـة ألواجلدول التايل يبني اخلصائص التلقائية لبعض األدوات

    فمثالً آلياً إذا مل تذكر خاصية أخرى بعد اسم الكائن ، على أهنا افتراضية فتدرج Text1.Text =”Ahmed” Text1 =”Ahmed” Label1.Caption = 7500 Label1 = 7500

    Object Default Property CheckBox Value ComboBox Text DirListBox Path DriveListBox Drive FileListBox FileNmae HscrollBar Value Image Picture Label Caption Option Button Value Picture Box Picture TextBox Text VscrollBar Value

    نفس املفهوم الربجميتعطي

    نفس املفهوم الربجميتعطي

    24

  • :Objects Method’s الكائناتف وظائ 2.2تؤثر يف قيم و عبارة عن اوامر ترسلها للعنصر اما حتركه او تنقل له التركيز و تصدر فقط يف وقت التنفذ الوظائف

    وكذلك ميكن حتريك الكائنات من خالل Left & Topاخلصائص مثال ميكن حتريك كائن من خالل اخلصائص :ظائفوالصيغة العامة للو. Moveالوظيفة

    Syntax Object.Method [arg1, arg2, ..]

    Variable = Object.Method ([arg1, arg2, ..])

    الوظائف املشتركة للكائنات اجلدول التايل يبنيMethodExplain Example

    Move تدعم هذه الوظيفة خصائص املوقع واحلجم

    .وحترك الكائن من مكانه وتغريحجمة

    Text1.Left = 100 Text1.Top = 200 Text1.Height = 300 Text1.Width = 400

    ميكن االستبدال ب Text1.Move 100,200,300,400

    Clear ملسح مجيع عناصر الكائن وخصوصا يف

    ListBoxو TextBoxالعناصر ListBox1.Clear Text1.Clear

    AddItem وTextBoxجديد لألداةعنصرإلضافة

    ListBox Combo1.AddItem “Yes” Combo1.AddItem “No”

    DeleteItemاخليار احملدد برقم فهرسه، ويبدأ الفهرسسحم اليت متثل اخليار األول يف األداة صفرالقيمة ب

    حلذف اخليار الثاينCombo1.DeleteItem 1

    SetFocusلتوجيه التركيزاىل الكائن. Text1.SetFocus

    ZOrder العناصر ترتيب العنصر فوق او خلف كل

    Command1.Zorder 0 االداة فوق مجيع االدوات ‘

    Command1.ZOrder 1 االداة حتت مجيع االدوات‘

    Refreshالكائنإعادة تنشيط(العادة رسم الكائن(. Form1. Refresh الوظائف اليت تدعم النموذج

    Load حتميل النافذة إىل الذاكرة دون إظهاره Load Form1

    Unload نافذة من الذاكرةإهناء حتميل ال Unload Form1

    Show إظهار النافذة احململة بالذاكرة اىل الشاشة Form1.Show

    Hide إخفاء النافذة من الشاشة وإبقاءها يف الذاكرة Form1.Hide

    PrintFormالطابعةإىلالنافذة وما حتتويه من عناصر وأدواتاخراج. Form1.PrintForm

    . Unload meمثال . بدال من اسم النموذج احلاليةmeميكن استخدام العبارة

    25

  • :Objects Events أحداث الكائنات 2.3إن احلدث مبفهومه العام كمصطلح يف علم احلاسوب هو أي فعل يقوم به املستخدم كاستعمال لوحـة املفـاتيح

    حدثاً للكتابة يف عنصر معني ـدثاُ إذا مل يرفع إصبعه KeyDown فضغط املفاتيح يعترب ح من فوق املفتاح يعترب ذلك KeyPress خيتلف عن احلدث الذي ينطلق عندما يرفع إصبعه من عليهKeyUp وكذلك استعمال الفأرة يتولـد

    واالحداث عبارة عن اجرائات تتبع الصيغة التاليـة .ثالفأرة يطلق حدبعنه عدة أحداث ، فحركة الفأرة حدث ، والنقر :يف نافذة حمرر الشيفرة

    Object Name_event() Example: Command1_click() Text1_Change()

    فمثالً األحداث اليت تترتب عن املوقت تقع مـرة Timerوقد ال يكون املستخدم هو املسبب املباشر للحدث ، كمـا اتيحالفارة ولوحة املف النموذج و اليت تنقسم اىل احداث للكائناتحداث األوفيما يلي بعض . كل فترة زمنية معينة :موضح باجلدول التايل :حسب تسلسل احلدوث كمايلي النموذج أحداثوميكن ترتيب

    Initialize > Load > Resize > Activate > Paint > Deactivate > QueryUnload > Unload > Terminate.

    :هي الفارة تسلسل انطالق احداثوMouseDown > MouseUp > Click > MouseMove > DblClick >

    MouseUp > MouseMove

    Form Eventsاحداث النموذج Events Explain

    Initialize يقع مرة واحدة فقط لكل منوذج حىت إذا مت إفراغ الذاكرة منه مث إعادة حتميله ألنه يقع عند

    تسجيل بيانات النافذة كصنف جديد من النوافذ

    Load ذة يف الذاكرة وظهورها للمستخدم ، يسـتفاد يتم إطالق هذا احلدث عند بدء حتميل الناف

    من هذا احلدث يف عملية تعريف املتغريات وجتهيز العناصر

    Resize يقع عند تغيري حجم إطار النافذة من ارتفاع وعرض Activate يتم إطالق هذا احلدث عندما حتمل من الذاكرة اىل الشاشة Deactivate حيدث عند تنشيط منوذج آخر من نفس املشروع وهو عكس احلدث Activate Unload حيدث قبل افراغ الذاكرة من النافذة وهو عكس احلدثLoad Terminate يقع عند اهناء فرد من أفراد هذا الصنف

    Mouse Events احداث الفارةMouseDownحترير زر الفأرةينطلق عند النقر على العنصر بالفارة دون. MouseUp ينطلق عند حترير زر الفأرة بعد النقر على العنصر.

    Click وقد يطلق ) أو عنصر حتكم منوذج(يطلق احلدث عند النقر بزر الفأرة على الكائن،

    26

  • متاماً كما لو نقر عليها بالزر األيسر Clickللحدث بدون النقر الفعلي لبعض الكائنات Optionboxو Checkboxللعنصرين Valueخلاصية للفأرة كتغيري قيمة ا

    .Combo boxو List boxللعنصرين ListIndexأيضا تغري اخلاصية و،DblClick على الكائن االيسر يطلق احلدث عند النقر املزدوج السريع بزر الفأرة. MouseMoveينطلق عند مرور مؤشر الفأرة فوق العنصر.

    Keyboard Events احداث لوحة املفاتيح KeyDown طلق احلدث عندما يضغط املستخدم على أي مفتاح يف لوحة املفاتيحني

    KeyPress ، فلتحديد هذا لوحة املفاتيحللمفتاح املضغوط من قبل ASCIIشفرةاحلدثميرر

    برجمياً بدالً من شفرة جياملفتاح .ASCIIب حتويله إىل سلسلة رموز KeyUp ما يرفع املستخدم إصبعه عن املفتاحطلق احلدث عندني.

    Others Events احداث اخرىGotFocus ينطلق اذا انتقل التركيز اىل الكائن LostFocus التركيز الكائنغادرينطلق اذا Timer ينطلق احلدث كل فترة زمنية حمددة يف الكائن املؤقتTimer

    Change TextBox لكائنات ل TextاوCaption ينطلق اذا تغري قيمة اخلاصية

    .Labelعلى التوايل

    :هي معامالتثالثة هلا أحداث الفارةمجيع .األمين اواأليسر Button نوع الزر املستخدم يف الفارة • .هل مت ضغطها أثناء النقر أم ال) Alt – Ctrl – Shift(حالة املفاتيح •،وتكون الزاويـة العـليا للشاشة وليسمتثـل موقع مؤشر الفأرة بالنسبة للعنصر Yو Xقيـم ال •

    ، وعند حتريك مؤشر الفأرة خارج العنصر أو النافذة 0.0اليسرى للعنصر أو النافذة هي نقطة األصل .من جهة اليسار أو األعلى ستكون القيم سالبة

    Example: Private Sub Form_MouseDown(Button As Integer, Shift As

    Integer, X As Single, Y As Single) ... End Sub

    Escapeأو Enterأو Space Barأو Ctrl+Xضغط أحد املفاتيح عند لوحة املفاتيحيف احداث أما يف حالة باقي املفاتيح مبا فيها مفاتيح األسهم . KeyPressفاتيح يتم إطالق احلدث لوحة املأو أي مفتاح من

    اللذان ميرران معاملني. KeyUpو KeyDownحلدثني فيتم إطالق ا Alt + Xومفاتيح الوظائف واملفتاحني –Alt–Ctrl(حيدد ما إذا كان أحد األزرار الثالثة Shift يشري إىل املفتاح املضغوط والثاين KeyCode االول

    Shift (ًأيضا .قد مت ضغطه

    27

  • اتطبيقالتتوصيات لتصميم 2.4مقبوالً جيداً :لدى املستخدم ومراعاة مايلي ال بد للمربمج أن ينتبه إىل ان يكون برناجمه

    ـكاالً هندسـية ميكـن ♦ أش جيب أن يتوفر يف الربنامج الواجهات الرسومية املتناسقة والفعالة حيث أن اللغة توفر واستخدام الرسومات والصور واأليقونات كرموز للعمليات املختلفة ، فالصورة بألف كلمة ،فيجب ان ال .االستفادة منها

    :مثال.ن عملية مما يسبب ارتباكاً لدى املستخدمنستعمل الرمز ألكثر م

    منطقيـاً يف عملـها موضـوعة يف ♦ كما جيب االنتباه عند ترتيب العناصر على النافذة أن يكون العناصر املرتبطة

    .Frameجمموعة واحدة أو على جهة واحدة داخل إطار بتغيري اخلاصية يف الواجهات العربية) ن اليمني إىل اليسارم(وأن يكون منط واجتاه الكتابة عربيا ♦

    RightToLeft = True. قـدر زوينـدو ترتيب عناصر القوائم بصورة منطقية بناء على طريقة عملها وأن تكون القوائم شبيهة بقـوائم ♦ وهكذا ) ملف حترير عرض أدوات تعليمات (مثال .اإلمكانتشويشاً يفضل ترك األلوان واخلطوط كما ح ♦ ددا شركة مايكروسوفت ألن هذه األلوان مرحية للعني وال تسبب

    وخلفية صندوق ولونه اسود ولون اخللفية رصاصية 8مثال حجم اخلط Windows 95للمستخدم وتسمى تنسيق .النص بيضاء قت ؤتماد على املوجتنب االعوالصور ذات احلجم الكبري جيب عدم اإلكثار من وضع العناصر واألدوات الربجمية ♦Timer بكثرة ، مما يسبب بطئ حتميل النافذة أو إظهار نتائج غري متوقعة نتيجة تتابع األحداث.

    240 احلساب الصيانة الصوت احلفظ لبحثا i

    28

  • #+ الثوابت و املتغريات والدوال

    Constants, Variables & Functions

    Introductionمقدمة 3.1يف املستشفى أوال مث يرسل يف اليوم التايل اىل فيدخل اذا مرض أي شخص واستحق أجراء عملية جراحيه ملعاجلته

    قبل و حسب نوع العمليةقبل وقت Operation wordيف صالة العمليات غرفة العمليات وجيب ان حيجز له مكان أجراء العملية يبقى يف صالة االنتظار على السرير ألخذ دوره وخالل أجراء العملية البد من وجود أدوات جراحية طبية

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

    ليات احلساب واملنطق وصالة العم ةوعملية معاجلة البيانات مشاه متاما ملعاجلة املريض فالطبيب هو السيطرة ووحدواملريض هي البيانات قبل Functions الدوالوأدوات الطبيب هي RAM الذاكرةوصالة االنتظار هي CPUهي

    وطريقة حجز للمريض يف الصالة املتغريات والثوابتالعالج واملعلومات بعد العالج والسرير الذي يرقد عليه املريض هو .هي نفسها حجز املتغريات والثوابت

    Constants & Variables والثوابتاملتغريات 3.2إلرساهلا اىل الدوال او أجراء العمليات الربنامجخالل تنفيذ إن البيانات ختزن اما على شكل ثوابت او متغريات ىف

    :احلسابية او إخراج املعلومات او غري ذلك وتنقسم هذه البيانات اىل نوعني حسب قابلية التغري هي

    عبارة عن قيمة ثابتة من بيانات ال تتغري قيمتها خالل تنفيذ الربنـامج وهو :Constant الثابت 3.2.1عن الثابـت والحتمل يف الذاكرة اال حني استدعائها ويتم اإلعالنيكون الثابت قيمة نصية او رقمية او منطقية أنوميكن :صغة العامة لالعالن هييف الوحدة النمطية وال Public Const فرة والعبارةشيف حمرر ال Constالعبارة بواسطة

    Syntax Const Constant Name = Value ‘ in Editor Code

    Public Const Constant Name = Value ‘ in Module Example: Const Pi = 3.14 Const Av = ”Average” Public Const Value = False

    وهو عبارة عن اسم موقع يف الذاكرة يتم ختزين قيمة املتغري قبل تنفيذ الربنامج :leVariab املتغري 3.2.2 :هي ستخدام املتغرياتوتوصيات الشروط ويوجد عدة .واليت هلا القابلية على تغيري قيمتها

    . حرفا 255أن ال يزيد اسم املتغري على .1

    29

  • .أن يبدأ املتغري حبرف أي انه ال يبدأ بأرقام او رمز .2 (Print, For Next , Inputbox) أوامر لغة بيسك مثل تخدام الكلمات احملجوزة أو أحدالتس .3 @، { ) : رموز خاصة مثل أوفراغ جيب أن ال حيتوي اسم املتغري على فواصل أو .4 .يفضل ان يدلل اسم املتغري على وظيفته او وصفه وان يبدا امسه حبرف صغري يدل على نوعه .5

    Declaration Of Variables غرياتاإلعالن عن املت.33.2

    إذا مت اإلعالن عن املتغري يف داخل االجراء ف.هي الفترة اليت يبقى املتغري حمتفظ بقيمته: Lifetime عمر املتغريواذا كان يف منطقة اإلعالنات العامـة أي خـارج االجـراءات االجراء الذي وقع فيه التصريح سيكون عمره مؤقت يف

    ىت هناية الربنامجحسيكون عمره ابدي متثل قدرة الربنامج على الوصول اىل املتغري واستخدامه فاملتغري الـذي الميكـن : Visibilityقابلية الرؤية

    يتم اإلعالن عن املتغري . Publicسمى عام يواليت ميكن الوصول هلا Privateالوصول أليه خارج األجراء يسمى .وتوجد ثالثة انواع من املتغريات ونوعه Visibility وقابلية الرؤيا Lifetimeحسب عمرها

    هي متغريات تولد مع السطر الذي تعلن Dynamic Local Variables الديناميكي ملتغري احمللىا -1فيه داخل االجراء ومتوت مع هناية االجراء وحترر مساحتها يف الذاكرة وامكانية الرؤيا يف داخل األجراء فقـط

    مع كتابة امسه ونوعه Dimالعبارة احملجوزة واسطة ويتم اإلعالن عنه بSyntax

    Dim Variable Name as Variable Type نفس قابلية الرؤيا للمتغريات احمللية الديناميكية أي الميكن Local Variables Staticملتغري الساكن ا -2

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

    ونستطيع جعل كل املـتغريات التابعـة Staticويتم اإلعالن عنه بواسطة . عندما تستخدم املتغريات كعداد Privateبدال من العبارة Staticلالجراء استاتيكي

    Syntax Static Variable Name as Variable Type

    Static Sub Dim Presure as Double … End sub

    ميكن اإلعالن عن املتغري للوصول اليه يف مجيع احناء نافذة النموذج Global Variables تغري العموميامل -3 اوPravite ويتم اإلعالن عنه بواسطة العبـارة Code Editerة أعلى نافذة الشفرويكون دائما يف

    Dim . يف الشفرة النمطيـة فيعلن عنه ) مجيع النماذج (او اذا اريد الوصول اىل املتغري يف مجيع اجزاء املشروعCode Module احملجوزة بواسطة العبارة Public أوGlobal

    Syntax Public Variable Name as Variable Type

    30

  • املوجود يف منطقة اإلعالنات العامة فعمره ابدي X، أما متغري Privateعمره مؤقت وقابلية ظهوره Yفاملتغري

    .يبقى حمتفظ بأخر قيمة له حىت هناية الربنامج iCounterواملتغري االستاتيكي . Publicوقابلية رؤيته

    إلعطـاء العامة يف نافذة الشـفرة عالناتاإلتكتب يف قسم Option Explicit العبارة رسالة خطا يف حالة استخدام متغري غري معلن عنه لتسهيل متابعة املتغريان الغري معلن عنها منع منو

    !! )البق الحقنا حىت يف الربجمة( Bugالشوائب وهي برجمة غري مرتبطة بكـائن، :General Declaration قسم االعالنات العامة

    .اؤها من أي أجراء برجمي داخل نافذة حمرر الشفرةويتم استدع

    Public Z=True

    Module/Form Y=100

    Local X="Hello"

    العامة اإلعالنات مقسGeneral Declaration

    االول املتغري

    الثاين املتغري

    الثالث املتغري

    31

  • عبارة عن جمموعة من البيانات او املتغريات او الكائنات من نوع واحد مثال طالب لديـه Array املصفوفة :ت حسب أبعادهامن املصفوفا نوعنيويوجد . امساء لطالب بنفس املرحلةاو جمموعة .سبعة درجات حتمل نفس االسم

    الطالبدرجة من درجات خلمسني مثال ذات بعد واحد لإلعالن عن مصفوفة : وفة ذات البعد الواحداملصفDim iDeg (49) As Integer

    مرات يف اليوم وملدة ألربعةلدرجات احلرارة املسجلة ذات بعدين لإلعالن عن مصفوفة :البعديناملصفوفة ذات أعمدة 7صفوف و 4من املصفوفة تتكون أسبوع بذلك

    Dim lTemp (3,6) As Long يف الفيجول بيسك يبدا من الصفر ادالعدان

    مـع Dimباسـتخدام Dynamic Arrayاذا مل يعرف حجم املصفوفة فاننا نعلن عن مصفوفة ديناميكية فيما بعد لتحديد حجم املصفوفة ReDimقوسني فارغني مث نستخدم العبارة احملجوزة

    Dim sName() Statement … ReDim sName(19)

    Type of Variablesاملتغريات أنواع 3.4اجلـدول يف بطئ النظام املقترح نتيجة استهالك الذاكرة باختيار نوع املتغريات حسب نوعها حىت ال تتسبيفضل

    .يبني أنواع املتغريات وحجم ونطاق كل نوع التايل

    Example Range Memory Size Def. Symbol Type

    Dim Birds as byte Birds =37 0 To 255 One Byte عدد صحيح Byte

    Dim birds% Birds% =3587 -32,768 To 32,767 2 Byte عدد صحيح % Integer

    Dim Loan& Loan& = 350,000

    -2,147,483,648 To 2,147,483,647 4 Byte

    عدد صحيح Long & طويل

    Dim Price! Price! = 899.9

    -3.402823 E38 To 3.402823 E38 4 Byte عدد حقيقي ! Single

    Dim Pi# Pi# =3.14159265

    -1.79769313486232 E308 To

    1.79769313486232 E3088 Byte عدد حقيقي # Double

    Dim Dog$ Dog$ ="Pointer" 65,535 حرف

    Byte eachCharacter

    String $ نص

    Dim Flag as Boolean Flag =True

    True 1ة تأخذ القيم Boolean منطقي Byte 2 0تأخذ القيمة False أو

    Dim Birthday as date Birthday = #3-1-1981# ا 1/100/ 1 To 31/12/9999 8 Byte تاريخ Date

    Dim Total Total =289.13 تشمل آل أنواع المتغيرات

    بايت 16 لألرقام + بايت 22

    بايت واحد لكل حرف

    Variant متنوع

    32

  • ميكن استخدام الرمز بدال من تعريف النوع للمتغري الذي هو إبطا األنواع Variantإذا مل حيدد نوع املتغري فانه سوف يأخذ النوع "" هو الشيء Stringأن القيمة االبتدائية للمتغري الرقمي هو الصفر والنصي

    Arithmetic Expressionsالعمليات احلسابية 3.5 )^(األس )-(الطرح (/)القسمة )*(الضرب ، (+)املستخدمة يف لغة فيجول بيسك هي اجلمعالرموز احلسابية

    :وترتيب تنفيذ هذه العمليات حسب أولوية التنفيذ.

    العوامل أالولويه حبسب التنفيذ مثــالJ = ( A +B ) / 2 يتم حساب ما بني األقواس أوال ودائما () J = A^B ومن مث يأيت األس ^ J = -2 +B+C مث تأيت عالمة السالب - J = A*B , A/B ومن مث الضرب والقسمة / * J = A\B مث القسمة بدون باقي عشري \ J = MOD(A) مث متبقي القسمة Mod J = A+B , A-B اجلمع والطرح أخريا + -

    Internal Functionالدوال الداخلية اجلاهزة 3.6

    مة من الدوال اجلاهزة تستخدم يف تنفيذ األوامر ميكن استدعائها بدون كتابة توجد بلغة فيجول بيسك مكتبة ضخ :أي برامج فرعية الهنا مت جتهيزها من قبل النظام وميكن تقسيم الدوال اىل عدة جمموعات هي

    الدوال الرياضية .1Example Description Function

    Label1 = Abs (text1) ةتعطي الدالة القيمة املطلقة للقيم Abs Label1 = Atn(123) ‘1.5626 دالة معكوس للظلTan-1الزاوية القطرية Atn

    Label1 = Cos(60 * 3.1416/180) Deg

    Radiansدالة جيب متام الزاوية القطريـة ونقسم Piولتحويل الزاوية بالدرجات نضرب يف

    180على Cos

    Label1 = Exp (0.04) 1.0408107 Exp اللوغاريتم الطبيعيدالةLabel1 = Log (100) ‘4.6051 Label1 = Log(100)/ 2.30258509 ‘2 دالة اللوغاريتم الطبيعي ويف لغة الربجمة يقصد بهln Log

    Label1 = Tan(60 * 3.1416/180) Deg دالة ظل الزاوية القطريةRadians Tan Label1 = Sin(60 * 3.1416/180) Deg دالة جيب الزاوية القطريةRadians Sin

    33

  • :الدوال اخلاصة بالقيم الرقمية .2Example Description Function

    Label1 = Fix(-1.3) ‘-1 يقتطع الرقم الصحيح للعدد بدون تقريب Fix Format ( القيمة، " طريقة التنسيق (" Format(1234.567, "#,###.00")' 1, 234.57 Format(0.234, "#.#%") ' 23.4% Format(20, "00#.00") ' 020.0

    Format دالة تنسيق القيمة الرقمية

    Label1= Int (1.7) ‘2 دالة تدور الرقم اىل عدد صحيح Int If IsNumeric(Text1)= False Then Exit Sub يعيدTrue إذا كانت القيمة رقمية IsNumeric

    Label1= Rnd (33) ‘7.8 يعيد رقم عشوائي بني الصفر والواحد Rnd Label1= Round (64.66) ‘65 لتقريب عدد معني Round Label1 = Sqr (64) ‘ 8 دالة اجلذر التربيعي Sqr Label1 = Val (145 by sort) ‘ 145 Val قميةاقتطاع األرقام من سلسلة نصية ور

    :الدوال اخلاصة بالوقت .3Example Description Function

    Label1 = Date ‘ : 07/07/2003Label1 = Date$ ‘: 07-07-2003 Date حلساب التاريخ

    Label1 = Now : 07/07/2003 04:37:21العطاء الوقت والتاريخ احلايل

    Now للنظام

    Label1 = Second (Day) زء من الوقت أو التاريخ عرض ج

    دقيقة ،ساعة ،يوم ،شهر ،سنة ( )ثانية،

    Second (Now) Second (Minute) Second (Day) Second (Month) Second (Year)

    Label1 = Time : 04:38:30 Label1 = Time$ : 16:38:46 ملعرفة الوقت احلايل Time

    دوال ملعاجلة النصوص والرموز .4

    Example Description Function If IsNull(Text1)= False Then Exit Sub

    Trun IsNull يعييد اذا كان التعبري فارغا

    Text1 = len (text2) Len تعطي عدد احلروفText1 = Trim (Text1) تأخذ نص بدون فراغات من اليمني واليسار Trim

    الدوال اخلاصة بامللفات .5

    Example Description Function

    M= Dir " ( C :\ Data.mdb ") دالة تعطي قيمة منطقيةTrueإذا كان امللف موجود يف Dir والعكس بالعكساملسار احملدد

    Text1=Filelen "( C :\ Str.mdb") دالة تعطي حجم امللف بالبايت Filelen

    34

  • $+ األوامر البرمجية للغة فيجول بيسك

    Statements of Visual Basic

    Introdaction: مقدمة .41 :عند فتح نافذة شفرة لكائن األمر مثال نجد مكتوب األسطر التالية

    Private Sub Command1_Click () End Sub

    ط Privateالعبارة الي سيعمل من خالل النموذج فق ي أن الجزء الت اذج األخرى تعن ن يعمل من خالل النم ول Publicب .Privateولكي تجعل اإلجراء يعمل من خالل أي جزء في استبدل الكلمة

    وهو االسم Command1تعني أن المقطع التالي هو إجراء خاص بالكائن الذي إسمه Command1العبارة للعنصر . Nameالبرمجي في الخاصية

    ذه في الحدث تعني أن هذا ا Clickالعبارة ين Clickإلجراء سيتم تنفي Command1_Clickومجموع الكلمت .Command1فوق زر األمر Clickتعني أن هذا اإلجراء يعمل من خالل الحدث

    .تعني أن الجزء المحصور بينهما عبارة عن مقطع برمجي متكامل وال يتجزأ End Subو Subالعبارتان

    :يوتقسم االوامر البرمجية الى مايل اوامر االدخال .1 اوامر االنهاء والخروج .2 اوامر االخراج .3 االوامر الشرطية .4 اوامر التكرار .5 امر االنتقال .6

    InputBox Functionدالة اإلدخال .42

    Input boxes are an easy way for you to ask the user for input that can't be answered simply by clicking a button. The InputBox function generates a dialog box that allows the user to enter text. To use the InputBox function, use the following syntax:

    Variable = InputBox( prompt, [title] ,[default] ,[xPos] ,[yPos] ,helpFile, [context]) Example 1 Dim sName as String sName = InputBox(" ..ادخل اسمك من فضلك ("االسم هنا" ,"االسم" ," Label1.Caption = sName The following illustration shows the input box that is generated by this code.

    لتوضيح األوامر البرمجية اوشرح حول طريقة عمل البرنامج والينفذ السطر Remتستخدم العبارة .منهابدال ‘الذي في بدايته هذه العبارة ويمكن استعمال عالمة التنصيص المفردة

    35

  • ات sNameالمتغير النصي ر محتوي يتم تغيي ة في صندوق اإلدخال وس ة المدخل ه القيم ند الي ى Label1تس ال .االسم الذي تم إدخاله المستخدم

    atements Output Stأوامر اإلخراج 4.3

    الخراج المعلومات على Printإلظهار المعلومات على الشاشة وآذلك نستخدم األمر دائما Labelنستخدم الكائن :سطح النموذج بالصيغة التالية

    Syntax Print Information Example 2: Print X , Y ; Z

    . لمسح واجهة النموذج Clsتستخدم العبارة راغ و الفاصلة ;وطة تستعمل الفاصلة المنق دون ف ة ب يم المتتالي ع الق ين ,لتطب راغ ب ع ف لتطب على سطح النموذج المتغيرينارة تخدم العب ائل Beepتس ثال رس ك م ب ذل ي يتطل اآن الت ي األم ه ف راج صوت تنبي الخ الخاطئةالقيم المدخلة في التحذير

    Example 3: Creating an Application with Calculate rectangle Area? Rem برنامج حساب مساحة المستطيل Dim dWidth As Double Dim dHeight As Double dWidth = InputBox(" الطول"، "ادخل الطول للمستطيل ") dHeight = InputBox(" العرض"، "ادخل العرض للمستطيل ") Area = dWidth * dHeight Print Area Example 4: Creating an Application with convert length from miles to

    kilometer and the reversal? Dim sMiles as Single sMiles = Inputbox " ادخل الطول باالميال" Km = 1.6093 * sMiles Label1.caption = Km

    Prompt Title

    Default

    36

  • Exit & End Statement أمر اإلنهاء والخروج 4.4The End statement terminates execution of your application and unloads all

    forms from memory. If the user unloads the last open form, the application terminates. This can be

    undesirable if the user hasn't entered all required information, or any required finish-up code hasn't been executed. To ensure that everything is unloaded, you should place the End statement in the Unload event of the main form, after a procedure for the Unload event that runs any “cleanup” code, as shown in the following example code:

    Sub Form_Unload() Final code statements End

    End Sub The Exit statement allows you to exit directly from a For loop, Do loop, Sub

    procedure, or Function procedure. The syntax for the Exit statement is simple: Exit For can appear as many times as needed inside a For loop Exit Do can appear as many times as needed inside a Do loop. Exit For and Exit Do are useful because sometimes it's appropriate to quit a

    loop immediately, without performing any further iterations or statements within the loop.

    Statement Conditionsالعبارة الشرطية 4.5 Conditional structures allow applications written in Visual Basic to respond to

    different situations depending upon the result of a test condition. The condition can be a comparison or any expression that evaluates to a numeric value.

    Statement If Thenالعبارة الشرطية .41.5

    In general, you use an If...Then statement when your program must make an 'either/or' decision. When your program must select from more than one alternative, use an If...Then...Else statement, an If...Then...ElseIf statement, or a Select Case statement.

    You choose the structure that is most efficient for your needs. These other statements are covered in subsequent topics

    If...Then statements evaluate whether a condition is true or false and direct the program’s flow accordingly. If...Then statements can use either single-line or block form syntax.

    Syntax 1 If Condition Then Statements If...Then...Else statements are an elaboration on the If...Then concept. An

    If...Then...Else block allows you to define two blocks of code and have your program execute one based upon the result of a condition. If more than one of the conditions in a conditional structure is true, only the code statements enclosed by the first true condition are executed.

    Syntax 2 If Condition Then Statements1 Else Statements2

    37

  • :وصيغتها آالتالي If..then آاختصار للعبارة: IIFيمكن استخدام الدالة IIF (Condition, Statements1, Statements2) An If...Then...Else statement includes a condition that evaluates to True or

    False, one or more statements that execute depending on the result of the test condition, and an End If statement in the case of a block If...Then...Else statement.

    Syntax 3 If Condition Then

    Statements… End If Syntax 4 If Condition Then Statements… ElseIf Condition n Then Statements… Else Statements… End If

    .متغيرات والثوابتالبيانات وال ومقارنة تستخدم لمعالجة :Comparison Operators عامل المقارنة

    Operators Explain Example = Equal to A = 4 , B = 4 ( A = B) Not equal to A = 4 , B = 5 (AB) > Greater than A = 4 , B = 5 (B>A) < Less than A = 4 , B = 3 (B= Greater than or equal to A = 4 , B = 4 ,5 (B>=A)

  • ة مرور ين من الشفرة انه و آما يتب ة آلم د آتاب ة تظهر Form1 النموذج صحيحة تظهر عن ا خاطئ د آتابته و عن . رسالة خطا

    Example 6: Dim X As Integer X = Text1 Label1 = IIf(X >= 60, "Good", "Very Bad")

    ارة و العكس Goodفستظهر عبارة 60اآبر من او يساوي Text1اذا آانت قيمة تظهر العبBad.

    Example 7: لقبوله او يرفض 45الى 25برنامج يدخل عمر المتقدم بحدود Dim sAge As String sAge = InputBox("Inter Age of Employee", "Age", "ادخل العمر هنا") If sAge > 24 And sAge

  • Example 8: Creating an Application with change of color according to select?

    Private Sub Form_Load() List1.AddItem "Green" List1.AddItem "Yallow" List1.AddItem "Blue" List1.AddItem "Red" List1.AddItem "White" List1.AddItem "Black" End Sub Private Sub List1_Click() Dim iColor As Integer Dim sBackground As String iColor = List1.ListIndex Select Case iColor Case 0 sBackground = vbGreen Case 1 sBackground = vbYellow Case 2 sBackground = vbBlue Case 3 sBackground = vbRed Case 4 sBackground = vbWhite Case 5 sBackground = vbBlack End Select Form1.BackColor = sBackground End Sub

    Example 8: اآتب برنامج يعرض تقدير الطالب بعد إدخال معدل التخرج باستخدام عبارة Dim iDeg As Integer iDeg = InputBox(" المعدل"، "رجادخل معدل التخ ") Select Case iDeg Case Is < 0 Label1 = " المعدل اقل من الصفر" Case 0 To 49 Label1 = " راسب"

    40

  • Case 50 To 59 Label1 = "مقبول" Case 60 To 69 Label1 = "متوسط" Case 70 To 69 Label1.Caption = "جيد" Case 80 To 89 Label1 = "جيد جدا" Case 90 To 100 Label1 = "ممتاز" Case Is > 100 Label1 = " 100المعدل اآبر من " End Select

    Looping Statement التكرارعبارة 56.

    Looping structures allow you to specify the conditions under which you would like your program to execute a set of instructions repetitively. Your program can continue to execute an instruction based on whether a condition evaluates to true or false. Visual Basic supports these looping structures: (Do. ..Loop) and (For.. .Next)

    Statement For Next عبارة التكرار 4.6.1

    Syntax For Counter = Start To End Step Step

    Statements 1… Exit For Statements…2

    Next ر ة Counterالمتغي دء بالقيم ذي يب داد ال ل الع دارها خطوة Endوينتهي Startيمث ادة مق م و Stepوبزي إذا ل

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

    الآمال تنفيذ األوامر Nextللخروج من عبارة التكرار واالنتقال الى ما بعد العبارة Exit For وقد تستخدم العبارة داخل . وال يشترط وجودها في حلقة التكرار رار مت ر من تك او Nested Loopsو يمكن أن تحتوي العبارات على اآث

    متتاليFor I = -10 To 5 For J = 3 To 27 Step 6 For K = 12 To 2 Step -2 Statements… Next Next Next

    Example10 : 10الى 1اآتب برنامج يطبع جدول الضرب من

    Cls For J = 1 To 10 For K = 1 To 10

    41

  • M = K* J Print M, Next Print Next

    Example . 11على النموذج؟ 49إلى 1اآتب برنامج لطباعة األعداد الفردية من

    Cls Dim iX as Integer For iX = 1 To 49 Step 2 Print iX; Next iX

    العبارات التالية خاطئة صححها؟Correct Statements Error Statements

    For I = 5 to 7 For I = 5 to -7 For K = -2 to 10 step 2 For K = -2 to 10 step 3 For I = 3 to 99 step 3 For I = 3 to 99 step 4 For k = 88 to -88 Step -2 For k = 88 to -88 Step 2 For J = 0.5 to 7.5 step 0.5 For J = 0.5 to 7.5 step 0.3

    Statement Do.. Loop التكرارعبارة 4.6.2

    ارة ذ العب ارة Doتنف رار و العب ارة التك دء عب ق الشرط Loopلب ى يتحق ا حت ارات بينهم رار العب ة وتك للنهايCondition باستخدم العبارتين حتى أربعة صيغتوجدUntil وطالما و Whileللتحقق من الشرط.

    Syntax 1 Do

    Statement… Loop Until Condition

    Syntax 2 Do Until Condition

    Statement… Loop

    Syntax 3 Do

    Statement… Loop While Condition

    Syntax 4 Do While Condition

    Statement… Loop

    42

  • رة وا األولى والثالثةفالصيغة رار م ذ التك رار والتي تنف تم تحقق الشرط فيخرج من التك ى ي حدة تنفذ العبارات حتارة الثانية والرابعةعلى ااألقل اما الصيغتين رار ويمكن استخدام العب ة التك دخول في حلق ل ال تم التحقق من الشرط قب في

    DoExit للخروج من حلقة التكرار

    Example 12:Code write to calculate summation of numbers until 100? Dim bScore as Byte bScore = Val(Text1) Do

    bScore = bScore + 1 Loop Until bScore = “100” Label1 = bScore

    امج باضافة وم البرن ر 1يق ى المتغي ق الشرط �