جامــعة بابـــل كميـــة الهندســــة البرمجة بمغة إعداد المبرمج/حسين محمد سلمان 2007 بسم اهلل الرحمن الرحيم الرحمن ,عمم القران ,خمق اإلنسان ,عممه البيان صذق هللا انؼهي انؼظيم الرحمن ()4-1 2 فهشس انمحتىيــــبت Contents المحتويات 3 االهداء 6 شكر وتقدير 7 مقدمة 8 الفصل االول/بيئة التطوير Visual Basic 17-10 1-1مقدمة 10 2-1الدخول الى المغة 10 3-1فتح مشروع جديد 11 4-1فتح مشروع قديم 11 5-1اضافة نموذج جديد 11 6-1شريط القوائم 13 7-1الشريط القياسي 15 الفصل الثاني/نوافذ االدوات والخصائص 23-18 1-2نافذة تصميم النموذج 18 2-2مربع االدوات 18 3-2نافذة الخصائص 21 36-24 الفصل الثالث/بناء مشروع جديد 1-3مراحل تصميم المشروع 24 2-3مثال توضيحي 33 3-3تسمية الكيانات 34 50-37 الفصل الرابع/المتغيرات والبيانات 1-4الثوابت والمتغيرات 37 2-4تعريف الثوابت والمتغيرات 37 3-4اشكال تصريح البيانات 37 4-4انواع البيانات 39 3 5-4ادخال واخراج البيانات 41 6-4مثال توضيحي 1 41 7-4مثال توضيحي 2 44 8-4دالة االدخال InputBox 46 9-4اخراج البيانات 47 10-4دالة االخراج MsgBox 48 69-51 الفصل الخامس/اتخاذ القرار وعبارات التكرار 1-5مقدمة 51 2-5عوامل المقارنة 51 3-5العوامل المنطقية 52 4-5عبارة IFالشرطية 52 5-5مثال توضيحي 55 6-5الجممة الشرطية Select Case 56 7-5مثال توضيحي 57 8-5عبارة التكرار Do 59 9-5مثال توضيحي 60 10-5عبارة Forالتكرارية 62 11-5امثمة توضيحية اضافية 63 91-70 الفصل السادس/المصفوفات 1-6مقدمة 70 2-6مصفوفات المتغيرات 70 3-6انشاء المصفوفة 70 4-6الصيغة العامة لممصفوفة 70 5-6التعامل مع المصفوفة بداخل شفرة البرنامج 72 6-6امثمة توضيحية حول المصفوفات 72 7-6العمميات الحسابية والمصفوفات 81 4 88 8-6ضرب المصفوفات الثنائية 97-92 الفصل السابع/الدوال والبرامج الفرعية 1-7مقدمة 92 2-7الدوال 92 3-7دوال التعامل مع النصوص 95 4-7البرامج الفرعية 96 108-98 الفصل الثامن/الممفات وقواعد البيانات 1-8الممفات 98 2-8الممفات المتتابعة 98 3-8الدوال المستخدمة مع الممفات 101 4-8الممفات ذات الدخول العشوائي 101 5-8قواعد البيانات 105 6-8طرق التعامل مع قواعد البيانات 106 7-8االداة Data 108 109 المصادر 5 إه ـ ـداء إلى ينبوع الحنان: أبي وأمي...... إلى سندي في الحياة: إخوتي وأخواتي...... إلى عطر حياتي: زوجتي...... إلى فـلذات كبدي: زهراء ،فـاطمة ......، حسين 6 شكر وتقدير أقدـ خالص شكري وتقديري إلى كؿ مف ساعدني وشجعني في اعػداد ىػذا الكتػاب واخػص االػذكر مػػنيـ شػػقيقي وسػػندي فػػي ال يػػاة د جاسػػـبااوم مد وأخػػي وزميمػػي العزيزالماػػرمف فػراس الطري ػػي وكػػذلؾ زمي ػػي فػػي الكميػػ .مػػنيـ د سػػعد سػػتاح والسػػيدة انتظػػار جػػاار أقػػدـ شػػكري وامتنػػاني إلػػى كاف .الزميء في قسـ تدريب ال اساات سااقا في كمي .اليندس. كذلؾ ان ني إجيال لألستاذ التاضؿ الدكتور المينػدس ستارادرسػدخاف مػدير قسػـ الشػؤوف العمميػ. والعيقات الثقافي .في ر اس .جامع .اااؿ وذلؾ لتشجيعو اليم دود لي في إعداد ىذا الكتاب 7 المقدمـــة اف التطػػور اليا ػػؿ فػػي اسػػتخداـ ال اسػػاات فػػي كافػػ .مجػػاالت ال يػػاة يػػدعو الػػى اف يواكػػب الجميػ ىذا التطور ،ولما كأنت لغات الارمج .ىي الشئ الممموس في استخداـ ىذا الجياز العمػيؽ فػي معناه والصغير في جمو يث اف ىذه المغات ىي الواجيو ايف المارمجيف مف جي .وايف جيػاز ال اساو مف جي .اخرى الذي دفعني الى اعداد ىذا الكتيػب ىػو ال اجػو المم ػ .الػى مصػدر مختصػر ومتيػد لممسػاعده فػي تعمػـ الارمجػػو امغػػ .الارمجػػ .كالايسػػؾ المر ػػي Visual Basicك يػػث اف ىػػذه المغػػو مػػف المغػػات الت ػػي يمك ػػف اس ػػتخداميا ف ػػي كاف ػػ .المج ػػاالت العممي ػػ .واليندس ػػي .ك ػػذلؾ ف ػػاف ال ػػنقص اليا ػػؿ ف ػػي مصػػادر ىػػذه المغػػو العرايػػ .والعراقيػػ .االػػذات و اجػػ .الطماػػ .الييػػا كػػؿ ىػػذا دفعنػػي الػػى اعػػداد ىػػذا الكتيب اننػػي قمػػت اتػػدريس وتػػدريب الطماػػ .ىػػذه المغػػ .الكثػػر مػػف ثػػيث سػػنوات متواصػػم .لطماػػ .المر مػػ. الثاني .في قسـ اليندس .المدني/.كمي .اليندس .منذ عاـ 2002وذلؾ م أكؼء االساتذة فػي القسػـ يتػػالؼ الكتيػب مػػف ثمانيػػ .فصػػوؿ التصػػؿ االوؿ يتضػػمف شػػرح متصػػؿ لاي ػػ .ىػػذه المغػػ .واشػػرطتيا الموجودة في الواجيو الر يسي. التصؿ الثاني تناوؿ نافذة االدوات ونافذة الخصا ص يث تعد ىاتيف النافذتيف مف اىـ نوافذ ىذه المغو ويجب عمى جمي مستخدمي ىذه المغو تعمـ واستخداـ ىاتيف النافذتيف التصػػؿ الثالػػث تضػػمف كيتيػػ .انػػاء مشػػروع جديػػد وكيتيػػ .التعامػػؿ معػػو مػػف خػػيؿ م ار مػػو الػػثيث مر م .اعداد الواجيو ومر م .اعداد الخصا ص ومر م .الارمج. التصػػؿ ال اراػ تػػـ التعػػرؼ اشػػكؿ متصػػؿ عمػػى انػواع المتغيػرات والايانػػات وكيتيػػ .تعريتيػػا والتعامػػؿ معيا التصؿ الخامس تـ شرح العاارات الشرطي .وعاارات التكرار وكيتي .استخداميا والتعامؿ معيا التصؿ السادس تناوؿ اشكؿ متصؿ المصتوفات انوعييا ا ادي .االاعاد ومتعددة االاعاد 8 التصؿ الساا تناوؿ كيتي .تعريؼ وتصػري الػدواؿ والاػرامف الترعيػ .وكيتيػ .التعامػؿ معيػا واشػكؿ متصؿ التصؿ الثامف تناوؿ الممتات اشكؿ متصؿ كذلؾ تناوؿ كيتيػ .التعامػؿ مػ قواعػد الايانػات واشػكؿ متصؿ اف جمي ماتناولتػو ىػذه التصػوؿ مػدعـ ااالمثمػ .التوضػي ي .وفػي جميػ ال ػاالت المطروقػ ، .امػا عػػف االخطػػاء فانػػا فػػي اعتقػػادي اليوجػػد شػػيء مػػف كتػػاب او ممزمػػ .او أي ما ػػث ىػػو خػػاؿ مػػف االخطػػاء وكامػػؿ الف العمػػـ فػػي جميػ المجػػاالت يتطػػور ويتقػػدـ ويتغيػػر يػػوـ اعػػد االخػػر كػػذلؾ فػػاف كؿ كتاب او ا ث اليخمو مف االخطاء واليتوات الطااعي .ا يانا والعممي .ا ياف اخرى 9 انفصم االول/بيئة انتطىيش Visual Basic -1-1مقدمـة إف لغ .الارمج .امغ Visual Basic .وتق أر اػ ب فيجواؿ ايسؾ ي ػػث إف Visual تعن ػػي المر ػػي و ومعناىا الايسؾ المر ػي BASICتعن ػػي لغ ػػ .ايس ػػؾ االعتياديػ ػ.ب Basic ، Applications System for Interchange Codesتكػاد تكػوف ىػذه المغػ .أىػـ لغػات الارمجػ ػػ .فػ ػػي نظػ ػػاـ التشػ ػػغيؿ Windowsوىػ ػػي مػ ػػف المغػ ػػات التػ ػػي تعتمػ ػػد عمػ ػػى ماػ ػػدأ ارمجػ ػػ. اليدؼ Object Oriented Programmingومختصرىا ىوب OOPوتسمى أيضا االارمج. الكياني. إف أىمي .ىذه المغ .تأتي مف سيول .االسػتخداـ وسػيول .كتااػ .الارنػامف فييػا وكػذلؾ متانػ .ىػذه المغ ػػ .وتعاممي ػػا مػ ػ تطايق ػػات أخ ػػرى مني ػػا تطايق ػػات قواع ػػد الايان ػػات وتطايق ػػات الرس ػػـ اال اس ػػا. وتطايقات االرتااط اشاكات االتصاالت -2-1الدخول إلى المغة Visual Basic يتـ الدخوؿ إلى ىذه المغ .مف خيؿ الممؼ Microsoft Visual Basicوىذا الممؼ أما أف يكوف موجود ضمف األمر Start )Programs (all programs Microsoft visual studio Microsoft Visual Basic أو عف طريؽ ايكون .موجودة عمى سط المكتب Desktopت ت عنواف Microsoft Visual Basic عند الػدخوؿ لاي ػ .ىػذه المغػ .سػوؼ تظيػر نافػذة فييػا مجموعػ .مػف الرمػوز التػي تاػيف كػؿ األنػواع المتا .لعمؿ المشروع الذي تريد عممو ،إف أىـ ىذه األنواع ىو النػوع standard.exeوىػو النػوع القياسي كما موض في الشكؿ رقـ ب1 01 ت توي النافذه الماين .في الشكؿ رقـ ب 1عمى ثيث صت ات ىي -: -1صػػت و 1واسػػميا : Newيػػث تظيػػر فييػػا كػػؿ أنػواع المشػػاري المتا ػػ .فػػي لغػػVisual . ,Basicنقػػوـ ااختيػػار النػػوع األوؿ فييػػا وىػػو قياسػػي standard exeونضػػغط عمػػى openب األن ػواع األخػػرى تخػػص اسػػتخدامات خاصػػ .يمكػػف أف تعمػػؿ فػػي اي ػػ Visual Basic .سػػوؼ تظير لنا إطار المشروع ب أومػا يسػمى امسػتوعب المشػروع المشػروع الػذي تػـ فت ػ .ت ػت اسػـ project1واداخم ػػو نم ػػوذج اس ػػمو ، form1ى ػػذه األس ػػماء ى ػػذه يض ػػيتيا مع ػػالف المغ ػػ .اش ػػكؿ تمقػػا ي فػػفذا فت نػػا مشػػروع أخػػر فانػػو سػػوؼ ي مػػؿ اسػػـ ىػػو project2واداخمػػو نمػػوذج اسػػمو form1 صفحو 1 صفحو 2 صفحو 3 مجموعة أنواع المشاريع المتاحة ضمن لغة Visual Basic شكل رقم ( )1يوضح أنواع املشاريع املتاحة ضمن بيئة لغة Visual Basic 00 -2صت و 2واسميا : Existingيث ت وي عمػى أسػماء المشػاري الموجػودة والتػي تػـ عمميػا في وقت سااؽ -3صت و 3واسميا : Recentيث ت وي ىذه النافذة عمى آخر مجموعو مػف المشػاري التػي تـ فت يا او عمميا او تـ التعامؿ معيا ،نضغط عمى المتتاح openلمموافق .عمى فت مشروع جديد ت تػػوى اي ػػ .الارمجػػ .فاج ػواؿ ايسػػؾ عمػػى أدوات ارمجػػ .لمسػػاعدتؾ عمػػى انػػاء ا ػرامف Basicكما موض .واالتتصيؿ في الشكؿ رقـب2 02 Visual الشريط القياسي شريط القوائم نافذة مستكشف البرنامج النموذج نافذة الخصائص نافذة عرض النموذج شكل رقم ( )2يوضح بيئة لغة الربجمة Visual Basic 03 مربع األدوات إطار المشروع -3-1فتح مشروع جديد يمكف فت مشروع جديد : -1مف النافذة الموض .في الشكؿ رقـب 2واختيار File New New project أو -2ااختيار أوؿ رمز مف اليسػار فػي الشػريط القياسػي بالػذي يػاتي شػر و االتتصػيؿ ال قػا عنػد اختيار أي مف االختياريف سوؼ تظير لنا النافذة الموض و في الشكؿ ب1 -4-1فتح مشروع قديم يمكػػف فػػت مشػػروع قػػديـ تػػـ عممػػو ب تص ػ ي و اػػا سػػتخداـ لغػػ Visual Basic .ويمكػػف فت ػػو ااستخداـ طريقتيف ىما-: -1مف قا م. File Open -2ااسػػتخداـ الش ػريط القياسػػي وذلػػؾ االضػػغط عمػػى األيقونػػ .التػػي ت مػػؿ شػػكؿ مجمػػد بfolder متتوح سوؼ تظير نافذة فييا جمي المشػاري المخزونػ .فػي ال اسػا .والتػي اامتػدادب VBPوالموضػ و في الشكؿ رقـب 1الصت و الثاني Existing .ب جمي المشاري التي تصمـ ااستخداـ ب VB6 يكػ ػػوف امتػ ػػدادىا ب VBP يعػ ػػد فػ ػػت ت ديػ ػػد المشػ ػػروع الم ػ ػراد إظيارىػ ػػا والضػ ػػغط عمػ ػػى األمػ ػػر OPEN. -5-1إضافة نموذج جديد: 00 كؿ مشروع يتـ فت و فانو ي توي عمى نموذج اداخمو بكما في الشكؿ رقـ 2وىذا شػكؿ تمقا ي واليمكف إف يكوف ىنالؾ مشروع ال ي توي عمى نموذج ويمكف أف ي توي كؿ مشروع عمػى أكثر مف نموذج وا د يمكػػف إضػػاف .نمػػوذج جديػػد إلػػى المشػػروع ال ػػالي ب الموجػػود الي ػاً عمػػى الشاشػػ .وذلػػؾ اواسػػط. طريقتيف ىما-: -1مف قا م. Project add form -2ااستخداـ الشريط القياسي وذلؾ االضغط عمى األيقون .الثاني .مف اليسار في الشريط القياسي فػػي كػػي مػػف الط ػريقتيف سػػوؼ تظيػػر لنػػا نافػػذة فييػػا جمي ػ النمػػاذج المتا ػػ .فػػي لغػػVisual . Basicكما في الشكؿ رقـب3 مجموعة أنواع النماذج المتاحة ضمن لغة Visual Basic شكل رقم ( )3يوضح انواع النماذج المتاحو في لغة Visual Basic 02 يتضػػمف الشػػكؿ اعػػيه صػػت تيف االولػػى واسػػميا Newوالتػػي ت تػػوي عمػػى انػواع النمػػاذج المتا ػػو في لغ، Visual Basic .وصت و اخرى اسميا Existingوالتي ت توي عمى النماذج التي تػـ انشاؤىا في وقت سااؽ نقوـ اتاشير النوع األوؿ باوالنوع المراد إنشاؤه ثـ ونضغط OPEN -6-1شريط القوائم-: يزود شريط القػوا ـ وصػوال إلػى معظػـ األوامػر التػي تػت كـ ااي ػ .الماػرمف فيجػواؿ ايسػؾ يػث تعمػػؿ االوامػػر والق ػوا ـ مثممػػا تعمػػؿ فػػي كػػؿ الا ػرامف المتوافقػػ .م ػ نظػػاـ التشػػغيؿ windows و يمكف الوصوؿ إلييا اواسط .التأرة أو لو .المتاتي عن ػػد ف ػػت مش ػػروع جديػ ػد فس ػػوؼ تظي ػػر ناف ػػذة ت ت ػػوى اطياع ػػ .ال ػػاؿ عم ػػى مجموع ػػ .ف ػػي النواف ػػذ واألشػػرط .قد تظيػػر الواجيػػ .وال ت تػػوى عمػػى أي نافػػذة أو ش ػريط إال ش ػريط الق ػوا ـ الػػذي يظيػػر اشػػكؿ تمقػػا ي م ػ أي تطايػػؽ ضػػمف نضػػاـ التشػػغيؿ ،WINDOWSيمكػػف إظيػػار أي نافػػذة أو شػريط مػػف خػػيؿ قا مػػ ،VIEW .وفيمػا يمػػي شػػرح لم تويػػات شػريط القػوا ـ كػػؿ أمػػر فػػي شػريط القوا ـ ىو عاارة عف قا م .أوامر وايعازات-: -1-6-1القائمة :FILE ت توي ىذه القا م .عمى مجموع .مف األوامر الخاص .االتعامؿ م المشػاري مثػؿ NEW إلنشػػاء مشػػروع جديػػد و OPENلتػػت مشػػروع سػػااؽ ،و تػػظ المشػػاري عػػف طريػػؽ SAVEأو SAVE AS,و ػػذؼ المشػػروع REMOVEوخمػػؽ نسػػخ .تنتيذيػػ .مػػف التطايػػؽ MAKE PROJECT.EXEااإلضاف .إلى أمر الطااع PRINT .والخروج Exit -2-6-1القائمة :EDIT ت تػػوي ىػػذه القا مػػ .عمػػى أوامػػر متشػػااي .لمػػا ت تويػػو قا مػػEDIT . فػػي مختمػػؼ التطايقات ،فيي ت توي أوامر القص والنسخ والمصؽ وال ذؼ لمنصوص ولعناصر الت كـ وأوامػر الا ث findواالستاداؿ . replace -3-6-1القائمة : VIEW تيتـ أوامر ىذه القا م .االت كـ اظيور مختمؼ نوافذ VB,إذ يمكف مف خيؿ ىذه القا مػ. إختاء واظيار عدة نوافذ مف اي VB . -4-6-1القائمة : project 03 ت توي ىذه القا م .مجموع .مف األوامر اإلضافي .مكونات جديدة إلى المشروع مثؿ نماذج جديدة وو دات نمطي .ب MODULEوممتات أخرى -5-6-1القائمة : FORMAT تسػػتخدـ ىػػذه القا مػػ .لت ديػػد ىي ػػ .و جػػـ عناصػػر الػػت كـ الموجػػودة عمػػى النمػػوذج والتااعػػد فيما اينيا -6-6-1القائمة : DEBUG ت وي ىذه القا م .عمى مجموع .أوامر خاص .ااختاار التطايؽ ،وتقوـ افظيار النتا ف ضمف نوافذ مخصص .في اي VB .كما يمكػف مػف خػيؿ ىػذه القا مػ .تنتيػذ التعميمػات الارمجػ .خطػوه خطوه ،وايذا يمكف مراقا .أداء المشروع -7-6-1القائمة :RUN مػػف خػػيؿ ىػػذه القا مػػ .يمكػػف تنتيػػذ التطايػػؽ ضػػمف اي ػػ ، VB .يػػتـ اػػدء التنتيػػذ ااسػػتخداـ األمػر STARTأو F 5ويسػتخدـ األمػر breakإليقػاؼ التطايػؽ توقتػاً مؤقتػاً فػي المر مػ. ال اليػػ .ب مػػف خػػيؿ التنتيػػذ ،واألمػػر RESTARTإلعػػادة التنتيػػذ مػػف الادايػػ .إمػػا األمػػر CONTINUEفيسػتخدـ السػت ناؼ التنتيػذ مػف النقطػ .التػي تػـ فييػا التوقػؼ ،األمػر END ىو إلنياء التنتيذ -8-6-1القائمة : QUERY تكػػوف األوامػػر مػػف ىػػذه القا مػػ .متا ػػ .فقػػط عنػػدما نقػػوـ افنشػػاء اسػػتعيـ مػػف خػػيؿ األداة MICROSOFT QUERY BUILDER -9-6-1القائمة DIAGRAM: تك ػ ػوف أوامػ ػػر القا مػ ػػ .متا ػ ػػ .عنػ ػػدما يتتاعػ ػػؿ التطايػ ػػؽ م ػ ػ SERVER SQLأو ORACALEإلنشاء أو لتعديؿ مخطط قاعدة الايانات -10-6-1القائمة : TOOLS ت تػػوي ىػػذه القا مػػ .عمػػى أدوات مختمتػػ .ومتنوعػػ .مثػػؿ األمػػر OPTIONالػػذي يتػػت نافػػذة واريو لتعديؿ خصا ص اي .التطوير -11-6-1القائمة :ADD-In 04 ت ت ػػوي عم ػ ػاوامر متعمقػ ػ .اتقني ػػات وكا ن ػػات خارجي ػػ .ي ػػتـ دمجي ػػا مػ ػ اي ػػ .التط ػػوير كم ػػا ت ت ػػوي األمػػر Visual Data Managerالػػذي يػػتـ مػػف خػػيؿ الوصػػوؿ إلػػى ارنػػامف مػػدير الايانػػات Visdata -12-6-1القائمة : WINDOW يتـ مف خيؿ ىذه القا م .إدارة نوافذ اي .التطوير VB -13-6-1القائمة :HELP ي ػػتـ م ػػف خ ػػيؿ ى ػػذا األم ػػر اس ػػتدعاء نظ ػػاـ المس ػػاعدة الت ػػوري لمغ ػػVisual Basic . وىو) MSDN -7-1الشريط القياسي لمغة :VB ىذا الشريط إذ لـ يكف موجودا فيمكف اضػياره مػف خػيؿ القا مػ View/toolbars .ىػذا الشػريط ي توى عمى جمي االيعازات الميم .فى لغ VB .يث يمكف التعرؼ عمى أسماء ىذه االيكونات مف خيؿ نص المساعدة السري الذي يظير عند وضػ مؤشػر التػأره عمػى الرمػز واػدوف الضػغط عميو وىى كما يمي ادا مف اليسار-:ب ىذه األوامر عاارة عف رموز ب ICONS -1-7-1مشروع جديد :استخداـ ىذه االيقون .يؤدى الى خمؽ مشروع جديد ااالضاف .لممشروع ال الي -2-7-1إضافة نموذج :تؤدى ىذه االيقون .الى اضاف .نموذج جديد الى المشروع ال الى -3-7-1تحرير قائمـة -:menuىػي أداة رسػومي .تػدير الاػرامف فػى القػوا ـ .تتػي ىػذه االيقونػ. لممستخدـ اضاف .قوا ـ جديدة وتعػديؿ القػوا ـ الموجػودة واعػادة ترتيايػا و ػذؼ القػوا ـ القديمػ .كمػا يتػ ػػي لػ ػػؾ اضػ ػػاف .مػ ػػؤثرات خاصػ ػػ .عمػ ػػى الق ػ ػوا ـ ،كمتػ ػػاتي الوصػ ػػوؿ وعيمػ ػػات االختيػ ػػار واختصارات لو .المتاتي -4-7-1فتح مشروع موجود فى ال اساو ومصمـ فى وقت سااؽ - 5-7-1خزن المشروع والنموذج -6-7-1قطـــع -:ي ػػتـ ت دي ػػد ج ػػزء م ػػف ش ػػترة المش ػػروع او أي كي ػػاف وقطع ػػو ( أي إزالت ػػو م ػػف النموذج 05 – 7-7-1نسخ -:يتـ ت ديد أي كياف ونسخو ب ىنا الكياف المستنسخ ي تتظ اشػيء خصػا ص الكياف االصمى -8-7-1لصق -:يتـ لصؽ الجزء او الكياف الذى تـ نسخو او قطعو -9-7-1بحث -:الا ث عف كياف او كممو -10-7-1التراجع -:التراج عف خطوه معينو الى الخطوه السااقو ليا -11-7-1التقدم -:يستخدـ ىنا االمر اعد استخداـ التراج ،أي التقدـ الى الخطوه التاليو اعد اف تراجعنا عنيا -12-7-1التنفيـذ -:ػت خػاالت ىػذا االمػر يمكػف تنتيػذ المشػروع او اعػادة تنتيػذ RESTART -13-7-1التوقف -: Breakتستخدـ ىػذه االيقونػو اليقػاؼ التنتيػذ ولكػف لػيس التوقػؼ اشػكؿ نيا ى أي انو يمكف است ناؼ التنتيذ مف النقط .التى تـ التوقؼ فييا -14-7-1االنتهـــاء -: ENDىن ػػا يػػتـ إني ػػاء التنتيػػذ اش ػػكؿ قطعػػي أي إذا أردن ػػا التنتيػػذ مػػرة أخرى فانو سوؼ يتـ التنتيذ مف الاداي .وليس مف النقطو التي تـ االنتياء عندىا -15-7-1مستكشــف المشــروع -:PROJECT EXPLORERعنػػد الضػػغط عمػػى ىػػذه االيقونو فانو سوؼ تظير نافذة صغيره عمى يميف الشاشػ .ت تػوى عمػى المشػاري ال اليػ .التػي تػـ انا يػػا فػػي المغػػ .وك ػذلؾ النمػػاذج الموجػػودة فػػي كػػؿ مشػػروع يػػث يمكػػف إظيػػار أي نمػػوذج وذلػػؾ االضغط عميو مرتيف امتتاح التارة األيسر -16-7-1نافذة الخصائص -: Properties windowىذه االيقونو تستخدـ إلظيار نافذة خصا ص تظير عادة في يميف الشاش .ت توى عمى خصػا ص الكيػاف ال ػالي وسػوؼ نػاتى عمػى شرح ىذه النافذة اشكؿ متصؿ ال قا -17-7-1نافــذة توضــع النمــاذج -:FORM LOYOUT WINDOWىػػذه األيقونػػ. سوؼ تظير نافذة في أستؿ يميف الشاش. يث يمكف ااستخداـ ىذه النافذه ت ديد موض ظيػور النماذج عمى شاش .مستخدـ عند تشغيؿ التطايؽ -18-7-1مسـتعرض الكيانــات -: OBJECT BROWERتقػوـ ىػػذه االيقونػ .ااظيػػار نافذه مستعرض الكيانات ب الكا نػات ،يػث مػف خػيؿ ىػذه النافػذه يمكػف لمماػرمف اف يسػتعرض 06 جميػ الكيانػػات التػػى يسػػتخدميا فػػي عمميػػ .التطػػوير فيتعػػرؼ عمػػى خصػػا ص وطػػرؽ وا ػػداث كػػؿ كا ف -19-7-1أدوات التحكم -:control toolsاالنقر عمى ىذه االيقونو سوؼ تظير نافذة عمى يسار الشاش .يطمؽ عمييا انافذة االدوات ب او مرا االدوات ت توى عمى عناصر ت كـ أساسي. بintrinsic controls التي يمكػف وضػعيا عمػى النمػوذج فػى مر مػ .التصػميـ ىػذه االدوات سوؼ ناتى عمى شر يا االتتصيؿ ال قا 07 انفصم انثبني/نىافز االدوات وانخصبئص -1-2نافذة تصميم النموذج ني ػػظ أف النمػػوذج موجػػود عمػػى إطػػاره الخػػارجي مقػػااض وىػػي أشػػاو امراعػػات صػػغيره ذات لػػوف مميز موجودة ىذه المقااض في الزاويا األرا وفي أواسط األضيع أي أف عددىا ثمانيػ .مقػااض وىذا يعني أف الكياف التعاؿ الياً ىو النموذج ا يث أف مرا الخصا ص ي توي عمى خصا ص الكياف التعاؿ الياً وىو النموذج وفا دتيا في تصغير وتكاير الشاش. -2-2مربع األدوات: كمافي شكؿ رقـب4 طورة Picture مؤشر pointer مربع نض Text Box عنوان (حسميه) Label زر امر Command button اطار Frame مربع خيار Option مربع اخخيار Check مربع قائمه List Box مربع قائمه منسدله ComboBox شريط انسالق عمودي VScrollBar شريط انسالق افقي HScrollBar موقج (ساعت حوقيج) Timer مربع مشغالث األقراص DriveListBox مربع قائمت المجلداث FolderListBox مربع قائمت الملفاث FileListBox شكل Shape خط Line طورة Image بياناث Data مربع االرحباط بالبرامجياث االخرى OLE شكل رقم ( )4يوضح صندوق االدوات 08 شكل األداة اسمها مؤشر Pointer معناها واستخدامها التعتاػ ػ ػ ػ ػ ػ ػ ػػر ىػ ػ ػ ػ ػ ػ ػ ػػذه اداة مػ ػ ػ ػ ػ ػ ػ ػػف ادوات الػ ػ ػ ػ ػ ػ ػ ػػت كـ التػ ػ ػ ػ ػ ػ ػ ػػي توضػ ػ ػ ػ ػ ػ ػ ػ ػ ػ عمػػ ػ ػ ػ ػ ػ ػ ػ ػػى النم ػ ػ ػ ػ ػ ػ ػ ػ ػػوذج ولكنيػػ ػ ػ ػ ػ ػ ػ ػ ػػا تسػ ػ ػ ػ ػ ػ ػ ػ ػ ػػتخدـ لمتأشير عمى الكيانات الموجودة في النموذج مربع صورة تسػ ػ ػ ػ ػ ػ ػ ػ ػ ػػتخدـ ىػ ػ ػ ػ ػ ػ ػ ػ ػ ػػذه االداة لرسػ ػ ػ ػ ػ ػ ػ ػ ػ ػػـ مرا ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ صػ ػ ػ ػ ػ ػ ػ ػ ػ ػػورة Picture عمى النمػوذج يمكػف اف نضػ فيػو أي تشػكيم .مػف صػورة او مجموع .صور او صػورة مػ شػكؿ ىندسػي أي انيػا تسػم لنا اتشكيؿ صوره عنوان (تسمية) Label سب رغاتنا. يس ػ ػػتخدـ لوضػ ػ ػ عنػ ػ ػواف labelعم ػ ػػى نم ػ ػػوذج يمك ػ ػػف مف خيلو توضي عنواف الكياف يكوف اجاناو مثيً. زر أمــــــــــــــــــــــــــــر تس ػ ػػتخدـ ى ػ ػػذه االداة لوضػ ػ ػ مت ػ ػػاتي عم ػ ػػى النم ػ ػػوذج عن ػ ػػد Command Button ضغطيا سوؼ يتـ تنتيذ اجراء معيف اطارframe تسػ ػ ػ ػ ػ ػ ػ ػػتخدـ ىػ ػ ػ ػ ػ ػ ػ ػػذه االداة لوض ػ ػ ػ ػ ػ ػ ػ ػ اطػ ػ ػ ػ ػ ػ ػ ػػار ممكػ ػ ػ ػ ػ ػ ػ ػػف اف يجم اداخمو عدة كيانات وادوات اخرى مربـع نـص textيسػ ػ ػػتخدـ الدخػ ػ ػػاؿ واخ ػ ػ ػراج نػ ػ ػػص معػ ػ ػػيف ويعتاػ ػ ػػر افضػ ػ ػػؿ box اداة لمتعامؿ م النصوص . مفتـــــــــــــــــــــــــــــــاح خ ػ ػ ػ ػػيؿ ى ػ ػ ػ ػػذه االداة يمك ػ ػ ػ ػػف وضػ ػ ػ ػ ػ خي ػ ػ ػ ػػار وا ػ ػ ػ ػػد عم ػ ػ ػ ػػى خيـــار optionالنمػ ػ ػ ػ ػػوذج واكػ ػ ػ ػ ػػر مػ ػ ػ ػ ػػف خيػ ػ ػ ػ ػػار وذلػ ػ ػ ػ ػػؾ كاسػ ػ ػ ػ ػػموب لتنتيػ ػ ػ ػ ػػذ button مربــع تــدقيق Check Box خيار وا د مف مجموع .خيارات . تستخدـ لوض مرا اختيػار وا ػد او اكثػر عمػى نمػوذج والذي يمكف مف خيلو تصعيد مرا اختيار وا د اكثر. 09 مربـــــــــع قائمـــــــــة List box مربـــــــع القائمـــــــة يمكننػػا ىػػذا الكيػػاف مػػف التعامػػؿ م ػ الق ػوا ـ يػػث انػػو يػػتـ ادخاؿ واسترجاع أي عنصر مف والى تمؾ القا م. . ىػػذه االداة شػػايو الػػى ػػد كايػػر االداة التػػي تسػػاقيا ب مراػ المنسدله قا م ػػ .س ػػوى ف ػػرؽ قمي ػػؿ ى ػػو اف ى ػػذه االداة التظي ػػر اش ػػكؿ Combobox مسػػتطيؿ وفيػػو قا مػػ .عناصػػر ولكػػف تظيػػر اشػػكؿ مسػػتطيؿ صغير ي توي عم عنصر وا ػد ب اخػر عنصػر تػـ اسػتخدامو امػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػا اذا اردنػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػا اسػػػتخداـ عنصػ ػػر غي ػ ػره ىنالػ ػػؾ خي ػػاريف ىػ ػػو امػ ػػا اف نكتػ ػػب العنص ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػر المرغوب او او نضغط السيـ الموجود في اليميف فتضػير قا مػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػ. مستدل .ليستؿ ونختار العنصر المراد منيا شـــــــريط انـــــــزالق ىذه االداة تستخدـ لوض شػريط انػزالؽ عمػودي الي كيػاف عمـــــــــــــــــــــــــــود نريد وض الشريط لو Vscrollbar شـــــــريط انـــــــزالق نتس االداة السااق .لكف يكوف شكميا افقي افقـــــــــــــــــــــــــــــــــــي Hscrollbar مربـــــــــع قائمـــــــــة تسػػتخد ىػػذه االداة لوض ػ مرا ػ قا مػػ .منسػػدل .ي تػػوي عمػػى مشغالت Drive اس ػػماء مشػػػغيت االق ػ ػراص ي ػػث ان ػػو س ػػوؼ ياخ ػػذ اسػػػماء list box مشغيت االقراص المتا .في ال اسا. المؤقت Timerتس ػػتخدـ ى ػػذه االداة لوضػ ػ مؤق ػػت عم ػػى النم ػػوذج يس ػػتخدـ لتوقيػػت العديػػد مػػف العمميػػات واال ػػداث الممكػػف اجراؤىػػا فػػي المشروع مربع قائمة ممف يستخدـ لوض مرا قا م .ي توى عمى قا م .ااسماء ممتات 21 File list box ايانيػػو اامتػػداد معػػيف وموجػػوده فػػي مجمػػد تػػـ اختيػػاره اواسػػط. االداة بمرا قا م .مجمدات مربـــــــــع قائمـــــــــة يس ػػتخدـ لوضػ ػ مراػ ػ قا م ػػ .ي ت ػػوى عم ػػى قا م ػػ .ااس ػػماء مجمـــدات ب االدلػ ػ ػػو Dirالمجمػ ػ ػػدات list box اقراص معيف خط Line يستخدـ لرسـ خط عمى النموذج فػ ػ ػػى مشػ ػ ػػغؿ شكل shapeيستخدـ لرسـ شكؿ ىندسي عمى النموذج بيانات data تسػػتخدـ ىػػذه االداة ليرتاػػاط اقواعػػد الايانػػات والتعامػػؿ مػ ػ ايانات ي ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػا كعرض الايانات او ت ديثيا او إضاف .ايانات جديدة صورة Image تستخدـ ىػذه االداة لوضػ صػورة معينػ .عمػى النمػوذج وىػذه الصورة يتـ س ايا مف ممؼ في ال اسا. OLEىػ ػػذه االداة تسػ ػػتخدـ ليرتاػ ػػاط اانظمػ ػػ .التطايقػ ػػات االخػ ػػرى (Object Linkingالموج ػ ػػودة ف ػ ػػي ال اس ػ ػػا .والت ػ ػػي تعم ػ ػػؿ ض ػ ػػمف اي ػ ػػ .نظ ػ ػػاـ ) Embeddingالتشغيؿ Windows -3-2نافذة الخصائص-: ت توي ىذه النافذة عمى مجموع .مػف الخصػا ص التػى ت ػدد مواصػتات عنصػر الت كـ ت ػدد كػؿ خاصي .ميزة معينو لمعنصػر كػالطوؿ والعػرض ولػوف الخمتيػ .يػث تعػرض ىػذه النافػذة خصػا ص الكيػػاف الم ػػدد اليػػا وعنػػد انتقػػاؿ الت ديػػد الػػى عنصػػر اخػػر بعنػػد اختيػػار عنصػ ار خػر ،أي جعمػػو اداخؿ مقااض وذلؾ االضغط عميو امتتاح التارة االيسر مرة وا دة ،كما في شكؿ رقـب5 20 سػػتظير تمقا يػػا خصػػا ص ىػػذا العنصػػر فػػى القا م .خصػػا ص كػػؿ كيػػاف تختمػػؼ عػػف خصػػا ص الكيانات االخرى ولو اف اعض الكيانات تتشااو فى اعض الخصا ص في نافذة الخصا ص يكوف عمى اليسار اسػـ الخاصػي .وعمػى اليمػيف اعػداد تمػؾ الخاصػي .يػث إف جميػ الخصػا ص لجميػ الكيانات يكوف اعدادىا تمقا يا وذلؾ اواسط .معالف المغ، .ويمكف تغييػر إعػداد أي خاصػي .سػب رغا .المارمف و سب الخيارات المتا و لتمؾ الخاصي .ويكوف التغيير في مر مػ .تصػميـ المشػروع ت تػػوى نافػػذة الخصػػا ص صػػندوؽ قا مػػ .ي ػػوى قا مػػ .ااسػػماء الكيانػػات الموجػػودة فػػي المشػػروع بكػ ػػؿ أداة ت كػ ػػـ موجػ ػػودة عمػ ػػى النمػ ػػوذج تعتاػ ػػر كيػ ػػاف يمكػ ػػف اختيػ ػػار أي عنصػ ػػر السػ ػػتعراض خصا صو مااشػرة إمػا فػي أسػتؿ النافػذة فيوجػد اطػار DESCRIPTIONأي الوصػؼ ،ي تػوي عمػ ػ ػ ػ ػػى معمومػ ػ ػ ػ ػػات توضػ ػ ػ ػ ػػي ي .عػ ػ ػ ػ ػػف وظيتػ ػ ػ ػ ػػ .الخاصػ ػ ػ ػ ػػي .الم ػ ػ ػ ػ ػػددة يمكف اختػ ػ ػ ػ ػػاء او اظيػ ػ ػ ػ ػػار DESCRIPTIONاػػالنقر الػػزر األيمػػف لمتػػارة عمػػى نافػػذة الخصػػا ص وت ديػػد او الغػػاء القا مػػ. DESCRIPTION DESCRIPTIONيمكػ ػػف اسػ ػػتعراض الخصػ ػػا ص امػ ػػا وفػ ػػؽ الترتيػ ػػب االاجػ ػػدي لمخصػ ػػا ص مػ ػػف قا مػ ػػ AIPHABETIC .او وف ػ ػؽ ف ػ ػػات الخصػ ػػا ص مػ ػػف القا م ػ ػػ. ، CATEGORIZEDيث تقسـ الخصا ص الى عدة ف ات ىي -: APPEARANCE-1الظيور -:ت توى ىذه الت .مجموع. الخصا ص المتعمق .اطرؼ االظيار والشكؿ العاـ BEHAVIOR -2السموؾ -:تصنؼ قا م .الخصا ص الموجوده ضمف ىذه الت .طريق .عمؿ الكياف االنسا .لااقي العناصر في التطايؽ DDE -3أوب -: DYNAMIC DATA EXCHANGE ويقصد ايا التاادؿ الديناميكي وىو الوسيم .االتصاؿ ايف النماذج في التطايؽ ،ىذه الت .خاص .االنماذج فقط ،إذ ال تمتمؾ ااقي كيانات التطايؽ الخصا ص الموجودة في ىذه المغ. FONTالخط -:ت توى ىذه الت .عمى الخصا ص المتعمق .انمط الخط الذي سيظير في الكياف مثؿ النوع وال جـ والتأثيرات المتعمق. االخط شكل رقم ( )5يوضح نافذة اخلصائص 22 MISCمتترقات - :ويقصد ايا مواصتات مختمت ،.إذ ت توي ىذه الت .عمى مجموع .مف الخصا ص ذات تأثيرات متنوع ،.اغمب الخصا ص الموجودة في ىذه الت .كثيرة االستخداـ أثناء تطوير التطايقات POSITIONالموضػ - :تقػػوـ الخصػػا ص الػواردة فػػي ىػػذه الت ػػ .ات ديػػد جػػـ الكػػا ف مػػف ارتتاع وعرض إ داثيات عمى النموذج SCALEالمقيػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػاس - :ت ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػدد ىػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػذه الخصػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػا ص مقيػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػاس اإل ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػداثيات المستخدم .في النموذج 23 انفصم انثبنث/بنبء مششوع جذيذ -1-3مراحل تصميم المشروع-: أي مشروع في لغ VB .ال يكتمؿ اال اثيث م ار ؿ مترااط .م اعضيا الاعض وىي-: أوال :مرحمة التصـميم -:فػى ىػذه المر مػ .يػتـ تصػميـ المشػروع اشػكؿ مظيػرى أي انػو فػى ىػذه المر م ػػ .ي ػػتـ وضػ ػ االدوات المػ ػراد وض ػػعيا ف ػػى النم ػػوذج ،وذل ػػؾ ااالس ػػتعان .اص ػػندوؽ االدواتب TOOL BOX كيفية وضع األدوات عمى النموذج -: نضغط عمى االدوات المراد وضعيا عمى النموذج امتتاح التارة االيسر مرة وا ده فقط ننقؿ مؤشر التارة الى النموذج فتي ظ اف مؤشر التارة قد تغير شكمو ،عادة يتغير شكؿ مؤشر التارة الى + نضػػغط عمػػى متتػػاح التػػارة االيسػػر وتس ػ ب التػػارة ااتجػػاه قطػػري ب عنػػد الس ػ ب ناقػػى ضػػاغطيف عمى متتاح التارة االيسر ا يث يكوف شكؿ االداة مرا او مستطيؿ مالحظـــة -:اعػػد اضػػاف .أي عنصػػر الػػى النمػػوذج يمكػػف ت ريكػػو وتغييػػر موقعػػو و جمػػو وذلػػؾ االضػػغط عميػػو امتتػػاح التػػارة االيسػػر يػػث يصػػا اػػداخؿ مقػػايض عنػػد وضػ المؤشػػر عمػى ا ػػد المقػػايض سػػوؼ يتغيػػر شػػكؿ مؤشػػر التػػارة الػػى سػػيـ ذو أرسػػيف فػػاذا اردنػػا تغييػػر جػػـ مراػ االداة ااتجاه معيف نضغط عمى المقاض الذى اذلؾ االتجاه ثـ نس ب اذلؾ االتجاه ،وىو امااتجاه افقي او عمودى او اتجاه قطرى ثانيــا :مرحمــة إعــداد خصــائص كــل كيــان -:امػػا اف كػػؿ كيػاف لػػو مجموعػػ .خصػػا ص تػػـ اعػػدادىا اشػػكؿ تمقػػا ي مػػف قاػػؿ مصػػممى المغػػ ،.اعػػض الخصػػا ص نرغػػب اشػػكؿ ضػػرورى جػػدا تغييرىا الى ما يي ـ رغااتنا و سب الخيارات والمجاالت المتا و ،ني ظ اف جمي الخصػا ص لجمي الكيانػات المتا ػو ىػى مرتاػو اشػكؿ ااجػدى ب سػب ااجديػ .ال ػروؼ االنكميزيػو ،عػدا الخاصيو nameيث اف ىذه الخاصيو ت دد اسـ الكياف ولػيس عنوانػو والتػرؽ اػيف االثنػيف ىػو اف اسـ الكياف ىو االسـ الذي يػتـ التعامػؿ معػو فػى الشػترات وىػذا االسػـ ال يظيػر عمػى الكيػاف فى مر متى التصميـ والتنتيذ ،اما العنواف فانو مجرد نص ب او نص وصتى يظيػر فػوؽ االداة في مر م .التصميـ ومر م .التنتيذ ويمكف تغييره الى أي نص اخر مف خيؿ الخاصيcaption . 24 لمكيانػات commandوlabel ني ػظ اف ىنػاؾ ثػيث اشػكاؿ العػدادات الخصػا ص القسـم االول منيػػا يمتػػد الضػػغط عميػػو ببعمػػى الخاصػػيو فػػاف شػػكؿ مؤشػػر التػػارة يت ػػوؿ الػػى مؤشػػر نصوص وىو خػط مسػتقيـ عمػودي عمػى سػايؿ المثػاؿ خاصػي caption .وخاصػي next .وغيرىػا مف الخصا ص القسم الثاني مف الخصا ص عند الضغط عميو فانو يظيرفى يمينػو راس سػيـ متجػػو الػػى االسػػتؿ عنػػد الضػػغط عميػػو سػػوؼ تنسػػدؿ قا مػػ .فييػػا مجموعػػ .خيػػارات وىػػذا يعنػػى اف اعداد ىذه الخاصي .ين صر فػى تمػؾ القا مػ .أي يجػب اف نختػار ا ػد خيػارات تمػؾ القا مػ ،.عمػى سػايؿ المثػاؿ خاصػي .الرؤيػ visible .فػاف فييػا أعػداديف ىمػا false ، trueالقسػـ الثالػث مػف الخصػػا ص عنػػد الضػػغط عمييػػا سػػوؼ يضػػير فػػى يمينيػػا مراػ صػػغير ي تػػوى عمػػى ثػػيث نقػػاط ب وى ػػذا يعن ػػى ان ػػو عن ػػد النق ػػر عم ػػى ب س ػػوؼ تتػ ػت لن ػػا ناف ػػذة خاص ػػي font .ف ػػاف فيي ػػا خصػػا ص أخػػرى يػػتـ ت ديػػدىا وىػػى نػػوع الخػػط وىي ػػ .الخػػط ،وك ػذلؾ خاصػػيpicture .فانػػو يػػتـ ت ديدا امتداد الممػؼ الػذي ي ػوى عمػى صػوره ىػذا مػا يخػص إعػداد الخصػا ص فػي مر مػ .إعػداد الخصػػا ص ،ىنالػػؾ إعػػداد لمخصػػا ص فػػي مر مػػ .الارمجػػ .ب مر مػػ .كتااػػ .الشػػترات ،ي ػث اف ىنالؾ صيغ .عام .ألعداد الخصا ص-: Object. Property=value فيما يمي جداوؿ يايف اعض الخصا ص واعداداتيا المتا .ووصؼ لكؿ إعداد ىذه الخصا ص ى ػػي الخص ػػا ص الت ػػي يك ػػوف إع ػػدادىا ي ػػوي عم ػػى قا م ػػ .م ػػف الخي ػػارات اغ ػػض النظ ػػر ع ػػف ن ػػوع الكياف-: الخاصي. اإلعداد الوصؼ 0-flat يظي ػ ػ ػػر ى ػ ػ ػػذا اإلع ػ ػ ػػداد النم ػ ػ ػػوذج اش ػ ػ ػػكؿمسط Appearance -يظير النموذج ثيثي الاعد 1-3d -اي دود تظير فييا النافػذة اػدوف شػريط 0-none Border style عنواف أو دود جاناي. 25 ػػد متػػرد ثااػػت تظيػػر فييػػا النافػػذة ا ػػدمترد وال يمكف لممستخدـ اف يغير مف إاعػاد 1-fixedsingle الناف ػػذة اع ػػد التنتي ػػذ ويظيرف ػػي ى ػػذا اإلع ػػداد شريط العنواف وزري التكاير والتصغير قاا ػ ػػؿ لمتغيي ػ ػػر وى ػ ػػى ال ال ػ ػػ .االفت ارضػػ ػػي.الع ػ ػ ػػدادات النم ػ ػ ػػاذج يظي ػ ػ ػػر فيي ػ ػ ػػا شػ ػ ػ ػريط 2-sizeable العنواف وأزرار الت كـ وصػندوؽ الػت كـ فػي شػ ػريط العن ػ ػواف ويمك ػػف لممسػػػتخدـ اف يقػػػوـ اتغيير ااعاد النافذه خيؿ مر م .التنتيذ صندوؽ وارثاات اسمؾ النموذج فػي ىػذااالعداد سموؾ صناديؽ ال وار أي ال يمكف تتغيي ػػر جـ النم ػػوذج وال ي ت ػػوي عمػ ػػى زري 3-ixeddialog التكاير والتصػغير وال عمػى صػندوؽ الػت كـ وىػ ػػذا الخيارمتي ػ ػػد الجػ ػػؿ تص ػ ػػميـ ص ػ ػػناديؽ وار نموذجي. االغػ ػ ػػيؽ فقػ ػ ػػط اواسػ ػ ػػط .ب× ويكػ ػ ػػوف ىػ ػ ػػذا النم ػػوذج ثاا ػػت والتظيرايقون ػػ .النم ػػوذج ف ػػي 4-fixd tool window ش ػ ػريط الميػ ػػاـ وىػ ػػذا الخيػ ػػار متي ػػد لتصػ ػػميـ نوافذ ادوات الت كـ -نافػػذة ادوات متغي ػرة :يسػػمؾ النمػػوذج فػػي 5-sizedble tool window ىذا الخيار نتس سموؾ الخيار السػااؽ غيػر انو متغير ال جـ متعم ػ ػ ػ ػ ػػ -: .ي ػ ػ ػ ػ ػػتـ اظي ػ ػ ػ ػ ػػار ازرار ال ػ ػ ػ ػ ػػت كـ True وصندوؽ الت كـ فػي شػريط عنػواف النمػوذج Controlbox وىذا االعداد ىو ال ال .االفتراضي. 26 معطم ػ ػ ػػ: .اخت ػ ػ ػػاء ازرار ال ػ ػ ػػت كـ وص ػ ػ ػػندوؽ الػػت كـ فػػي ش ػريط عن ػواف النمػػوذج واالتػػالي False عدـ قػدرة المسػتخدـ عمػى تصػغير او تكايػر النموذج الى ال د االدنى او االقصى متعم : .يتـ تتعيؿ زر التكاير وظيوره عمػى True شػ ػريط العنػ ػواف وى ػػذا االع ػػداد ى ػػو االع ػػداد االفتراضي Maxbutton معطم ػ ػػ : .يا ػ ػػدو زر التكاي ػ ػػر عم ػ ػػى ش ػ ػ ػريط العن ػواف ااىتػػا ويسػػتطي المسػػتخدـ تصػػغير False النموذج الى ده االدنى متعم:.ال ال ػػ .االفت ارض ػػي .ي ػػث ي ػػتـ تتعي ػػؿ True زر التصغير في شريط العنواف Minbutton معطم ػ ػػ :.يظي ػ ػػر زر التصػ ػ ػػغير ااىتػ ػ ػاً فػ ػ ػػي False شػ ػ ػ ػ ػ ػريط العنػ ػ ػ ػ ػ ػواف ويس ػ ػ ػ ػ ػػتطي المس ػ ػ ػ ػ ػػتخدـ تكايرالنموذج الى ده االدنى متعم :.عند ىذا االعداد يكوف اسػـ النمػوذج True في الجيو اليمنى مف شػريط العنػواف وكػذلؾ الق ػوا ـ المس ػػتدل .يك ػػوف اتجاىي ػػا م ػػف ال ػػيمف RightToLeft الػػى اليسػػار والطااعػػ .النموذجيػػ .تكػػوف مػػف اليمف الى اليسار معطم :.عكس العممي .السااق،.وىذا االعػداد False ىو االعداد االفتراضي متعم :.يكوف الكا ف عنػد ىػذا االعػداد مر يػاً True Visible وىذا ىو االعداد االفتراضي 27 معطم ػ ػػ :.يك ػ ػػوف الك ػ ػػا ف غي ػ ػػر مر ػ ػػي عن ػ ػػد False التنتيذ يػػدوي يػػتـ فييػػا ت ديػػد كيتػػ .ظيػػور النمػػوذج 0-manual فػػي نافػػذة توضػ النمػػاذج بيػػدوياً ب from loyout windowاو مػػف الخاصػػتاف ب topو left مركز الارنامف الذي ينتمي النوذج اليػو عنػد ىػػػذه القيم ػػ .يظيػ ػػر النم ػػوذج ف ػػي منتصػ ػػؼ 1-centrowner المس ػ ػػا .الم ج ػ ػػوزة عم ػ ػػى الشاش ػ ػػ .الناف ػ ػػذة Startuppostion الر يس .لمارنامف مركػ ػػز الشاشػ ػػ : .يػ ػػتـ وض ػ ػ النمػ ػػوذج فػ ػػى 2-centerscreen منتصؼ الشاش .اغض النظر عف المسا . الم جوزة لمارنامف نافػ ػ ػػذة افت ارضػ ػ ػػي : .يظيػ ػ ػػر فييػ ػ ػػا النمػ ػ ػػوذج 3-windows default ااالعػ ػػدادات االفت ارضػ ػػي .مػ ػػف قاػ ػػؿ ارنػ ػػامف VB6 الػػ ػ ػػ .النافػ ػ ػ ػػذة الطايعي ػ ػ ػػ : .وىػ ػ ػ ػػى ال الػ ػ ػ ػػ. 0 -Normal االفت ارض ػ ػػي .تظي ػ ػػر فيي ػ ػػا ناف ػ ػػذة النم ػ ػػوذج اشػ ػػكميا الطايعػ ػػي موضػ ػػوع .عمػ ػػى الشاشػ ػػ. Windows sates سب االاعاد الم ددة لمنموذج ال ػ ػػ .ال ػ ػػد األدن ػ ػػى :تظي ػ ػػر الناف ػ ػػذة اع ػ ػػد 1-Minimized تشػ ػػغيؿ الارنػ ػػامف فػ ػػى الػ ػػ .ب التكايػ ػػر لتمي كؿ الشاش. م ػػاذاة الػػى اليسػػار يظيػػر الػػنص فػػي يسػػار 0-Left justify Alignment صندوؽ النصوص 28 توسيط:إلى اليميف ،يظير النص في يمػيف 1-Right justify صندوؽ النصوص توسػػيط :يظيػػر الػػنص فػػى وسػػط صػػندوؽ 2-Center النصوص متعم : .وىى قيم .افتراضي ، .يث تشارؾ True األداة في الارنامف اخصا صيا واالجراءت معطم ػ ػ ػػ : .تك ػ ػ ػػوف األداة غي ػ ػ ػػر فعال ػ ػ ػػ .ف ػ ػ ػػي Enabled False الارنامف ويتـ إيقاؼ تػأثير كافػ .خصا صػيا األخرى في عممي .الارمج. قياسي :ىذه القيم .ىي ال الي .االفت ارضػي. 0-standard يػ ػػث تظيػ ػػر خانػ ػػ .االختيػ ػػار عمػ ػػى شػ ػػكؿ Style check ت قؽ رسػػومي :تجعػػؿ ىػػذه القيمػػ .خانػػ .االختيػػار 1- graphical عمى شكؿ زر امر تظي ػ ػػر خان ػ ػػ .االختي ػ ػػار فارغ ػ ػػ .م ػ ػػف إش ػ ػػارة 0-unchecked الت قؽ Value تكػ ػػوف خانػ ػػ .الخيػ ػػار م تويػ ػػ .عمػ ػػى إش ػ ػػارة 1- checked الت قؽ اموف غامؽ ت تػػوي خانػػ .االختيػػار عمػػى إشػػارة الت قػػؽ 2- grayed اموف ااىت ادوف ان ياز وىي ال ال .االفتراضي. 0-none ان ياز لألعمى :يظير صندوؽ الصػور فػي Align أعمى النموذج وتسػتخدـ ىػذه القيمػ .عنػد 1-align top ال اج ػ ػػ .إلنش ػ ػػاء شػ ػ ػريط أدوات ااالس ػ ػػتعان. اأداة صندوؽ الصور 29 ان ياز لألستؿ :يظير صػندوؽ الصػور فػي 2-align bottom أس ػػتؿ النم ػػوذج وتس ػػتخدـ ى ػػذه القيم ػػ .عن ػػد ال اج .إلنشاء شريط ال. ان ي ػػاز لميس ػػار :يظي ػػر ف ػػي أقص ػػى يس ػػار 3-align left النموذج ان يػ ػػاز لميمػ ػػيف :يظيػ ػػر فػ ػػي أقصػ ػػى يمػ ػػيف 4-align right النموذج خمتيػ ػػ .ش ػ ػتاف :.ا يػ ػػث ال يظي ػ ػر عنػ ػػد ىػ ػػذا 0-transparent اإلعداد لوف الخمتي .ليذه األداة Back style خمتيػػ .كامػػده :يظيػػر عنػػد ىػػذه القيمػػ .لػػوف 1-opaque الخمتي .أو األرضي .لألداة شػػتاؼ :واالتػػالي تظيػػر األداة اشػػكؿ اػػدوف 0-transparent إطار Border style خ ػػالص :يظي ػػر اإلط ػػار ف ػػي األداة متص ػػؿ 1-solid ادوف انقطاع 2-dash شرطات 3-dot نقاط شرط .ونقط. 4-dash-dot شرط .ونقطتيف 5-dash-dot-dot خالص داخمي :تكوف عند ىذه القيم .ثخان. 6-inside solid اإلطار مف الداخمو تعا .خالص :.عند ىذه القيمػ .تمتمػئ األداة 0-solid Fill style اموف التعا fill color . 31 تعا ػػ .شػػتاف :.عنػػد ىػػذه القيمػػ .يظيػػر فقػػط 1-transparent لوف اإلطار لألداة 2-horizontal line تعا ػػ .اخط ػػوط أفقي ػػ :.تك ػػوف التعا ػػ .عا ػػارة عف خطوط أفقي .ي دد لونيا اموف التعا . تعا .اخطوط عمودي. 3-verticalline 4upwarddiogonal تعا .اخطوط ما م .صاعدة 5-downward diagonal تعا .اخطوط ما م .صاعدة تعا .اخطوط متقطع. 6-cross تعا .اخطوط متقاطع .ما م. 7-diagonalcross مستطيؿ 0-rectangle مرا 1-square ايضوي 2-oval Shape دا ري 3-circle مستطيؿ مدور ال واؼ 4-rounded rectangle 5-rounded squareمرا مدور ال واؼ ع ػػدـ السػ ػ ب :أي اف ى ػػذا الكي ػػاف اليمك ػػف 0- Manual س او امؤشر التارة Drag mode ممكف الس ب :أي انو يمكف س او 1- Automatic 30 ثالثا //مرحمة البرمجة -: تشكؿ ىذه المر م .اىـ مر م .في م ار ؿ اناء المشروع يػث اػدوف ىػذه المر مػ .فػاف المشػروع ال يمكف اف ينتذ ،في ىذه المر م.يتـ انػاء وكتااػ .شػترات المشػروع والتػي عمػى اساسػيا يػتـ تنتيػذ او توجيو معالف المغ .اكيتي .التنتيذ المشروع ىذه المر م .يتـ فييا كتاا .شترات المشروع مف خػيؿ نافػذة CODE WINDOWوالتػي يمكػف الوصوؿ الييا اعػدة طػرؽ ىػي امػا االضػغط مػرتيف امتتػاح التػارة االيسػر عمػى الكيػاف المػراد كتااػ. شترتو و مف خيؿ قا م. Code Window View كما موض االشكؿ رقـب6 قائمة الكيانات الموجوده على النموذج قائمة االحداث المتاحة الي كيان شكل رقم( )6يوضح نافذة الشفرات(نافذة الربنامج) 32 ت تػػوي نافػػذة الشػػترات فػػى اعيىػػا عمػػى صػػندوقي قا مػػ .الػػذي عمػػى اليسػػار ي تػػوى عمػػى قا مػػ. ااسماء الكيانات التى تـ وضعيا فى المشروع اضمنيا الكياف formوكذلؾ generalأي الجزء الخاص االشترات العام،. يػػث يػػتـ اختاػػار اسػػـ الكيػػاف وكتاا ػ .شػػترتو ،امػػا صػػندوؽ القا مػػ .الػػذى فػػى يمػػيف النافػػذة فانػػو ي تػػوي عمػػى مجموعػػ .ا ػػداث ،والمقصػػود اال ػػدث Eventىػػو االج ػراء الػػذي يػػتـ اتخػػاذه لتنتيػػذ شترة الكياف الم دد وعمى االكثر يكوف ال دث ىو clickأي يتـ تنتيذ ىذا االجراءب او شترة ىػذا الكيػاف وذلػػؾ االضػػغط عمػػى متتػػاح التػػارة االيسػػر اشػػكؿ عػػاـ فػػاف الجميػ مػػا سػػوؼ نػػاتى عمػػى شر و ىو ضمف ىذه المر م .وىى مر م .الاناء الارمجى لممشروع عندما نختار أي كياف لكتاا .شترتو فاف نافذة الارمجو تظير االشكؿ التالي -: ) ( _clickاسـ الكياف Private sub مؤشر ألكتااو | END SUB ىذا التصري يظير اشكؿ تمقا ي م أي كياف -2-3مثال توضيحي-: المثػػاؿ التػػالي نوض ػ فيػػو م ار ػػؿ تصػػميـ المشػػروع،في ىػػذا المثػػاؿ سػػنقوـ اتصػػميـ مشػػروع فيػػو متتػػا ي امػػر االوؿ لعػػرض جممػػ .التر يػػب والثػػاني لمخػػروج ورسػػال .التر يػػب سػػتعرض ااسػػتخداـ كياف تسميو بLabel اوال:مر م .التصميـ: 33 ثانيا:مر م .اعداد الخصا ص الخاصيو االعداد الكياف Caption الارنامف االوؿ RightToLeft True Command1 Caption تر يب Command2 Caption خروج Form1 Caption Label1 1-fixd single BorderStyle ثالثا:مرحمة البرمجة تعػػد ىػػذه المر مػػ .مػػف اىػػـ م ار ػػؿ تصػػميـ المشػػروع يػػث مػػف خيليػػا يػػتـ كيتيػػ .توجيػػو عمػػؿ معالف المغو عند التنتيذ-سياتي شرح ىذه المر مو االتتصيؿ -فػي ىػذا المشػروع ن تػاج فقػط كتااػ. شػػترات لمكيػػانييفب command1و ، command2عنػػدما نريػػد كتااػػ .شػػترات كيػػاف معػػيف ننقػػر عمى ذلؾ الكياف االنقر المزدوج فتظير لنا نافذة كتاا .الشترات والتي تـ مناقشتيا سمتا ،في االمػر الذي اسمو كخروجك سنكتب End وىذا يعني اننا عند التنتيذ عنػدما ننقػر عمػى ىػذا المتتػاح سػوؼ يػتـ انيػاء التنتيػذ ،امػا فػي االمػر الذي اسمو كتر يبك سنكتب العااره التاليو كمر اا اكـ في لغ Visual Basic .ك=Label1.caption عند التنتيذ ستظير ىذه العاارة في مرا التسميLabel1 . -3-3تسمية الكيانات-: كمػػا تعمػػـ ويجػػب اف نعمػػـ اف جمي ػ الكيانػػات فػػي Visual Basicتمتمػػؾ خاصػػيو فريػػده ىػػى خاصػ ػػي .االس ػ ػػـ NAMEوى ػ ػػى اوؿ خاص ػ ػػي .ف ػ ػػي مراػ ػ ػ الخص ػ ػػا ص PROPERTIES ، WINDIOWىػػذه الخاصػػيو بخاصػػي .االسػػـ ال تظيػػر فػػى واجيػػ .النمػػوذج ولكنيػػا تظيػػر فػػى الشترات ويمكف التعامؿ م الكياف ادالل .ىذه الخاصي .اغمب اذ لـ يكف جميػ مارمجػوا Visual Basicمتتقػػوف عمػػى اسػػتعماؿ ثيثػػ .ا ػػرؼ ااد ػػو فػػى اسػػماء الكيانػػات ،الف ذلػػؾ يسػػاعد عمػػى 34 معرف .اي .اداة ت كـ انشاءت الكياف يمكف استعماؿ اسموب التسػميو ىػذا لمكيانػات التػى تنشػ يا لتجعؿ شترة الارنامف اكثر وضو ا ولتسيؿ فيميا عمى اآلخريف مف مطوري VB ااالض ػػاف .لػ ػذلؾ ت ػػؤدى مص ػػطم ات التس ػػمي .ال ػػى س ػػرد الكيان ػػات اترتي ػػب ااج ػػدى ف ػػى مراػ ػ س ػػرد الكيانات فى نافذة الشترات ياػػػيف الجػ ػػدوؿ التػ ػػالى مصػ ػػطم ات تسػ ػػمي .الكيانػ ػػات ويتضػ ػػمف اسػ ػػـ الكيػ ػػاف االعرايػ ػػ .واالنكميزيػ ػػ. ومصطم التسمي .باال رؼ الااد .ومثاؿ عف كيتي .استعماؿ كؿ كياف -: اسم الكيان بالعربية اسم الكيان باإلنكميزية األحرف البادئة مثال مرا كتاا .وسرد ComboBox cbo CboEnglish مرا قا م .تدقيؽ CheckListBox chk ChkReadOnly متتاح ب زر امر CommandButton cmd CmdCancel ايانات Data dat DatBiblio مرا سرد الدال ؿ DirectoryBox dir DirSource مرا سرد م ركات DriveHistBox drv DrvTargst مرا سرد الممتات FileListBox fil FilSource إطار Frame fra FraLanguage نموذج Form frm FrmPrintForm شريط انزالؽ افقي HorizontalScrollBar hsb HsbVolume صوره Image img ImgEmptyBarrel Label lbl LblInstructions خط Line lin LinUnderLine مرا سرد قوا ـ ListBox lst LstPeripherals االقراص تسمي .ب عنواف 35 .قا م MnuFileOpen mnv Menu OleObject ole OLE OptFrench opt OptionButton زر خيار PicSmokeCloud pic PictureBox مرا رسـ ShpWireScreen shp Shape شكؿ TxtGetName txt TextBox مرا نص TmrAlarm tmr Timer عدادبموقت VsbTemperature vsb VerticalScrollbar شريط انزالؽ عمودى 36 كياف ارتااط اتطايقات أخرى انفصم انشابغ/انمتغيشات وانبيبنبت -1-4الثوابت والمتغيرات -: اف اوؿ شػػي يجػػب الخػػوض فيػػو-ضػػمف المجػػاؿ الارمجػػي-ىػػو مايسػػمى اػػالمتغيرات ،يػػث اف اغمب لغات الارمج -.اذا لـ يكف جميعيا-تمتمؾ القاامي .عمى خزف المعمومات اشكؿ وقتى ،ىذه المعمومات ىى الايانات التى ن تاجيا عند تنتيذ ارامجنا فى أي تطايؽ لغ VB .تظير متغيػرات او ثواات كتقني .لخزف تمؾ المعمومات إف المتغيػػر ىػػو ااسػػاط .خ ػزيف ،او موق ػ م ػػدد فػػى الػػذاكرة يػػث نسػػتطي الوصػػوؿ الػػى ذلػػؾ الموق التخزيني وتخزف او تسترج المعمومات فى أي وقت و كيتما نريد -2-4تعريف الثوابت والمتغيرات -: اشكؿ عاـ ىنالؾ نوعيف مف تصري الثواات والمتغيػرات االوؿ يكػوف عػاـ أي اننػا نقػوـ اتصػري الثوااػػت والمتغي ػرات اشػػكؿ عػاـ أي فػػي الجػػزء GENERALبقسػػـ التص ػري ات العػػاـ وخػػارج شػترة أي كيػاف ،وتكػوف صػيغ .ىػذا التصػري ىػى ااسػتخداـ العاػارة OPTION EXPLICIT ثـ فى السطر التالى او االسػطر التاليػ .نصػرح االثوااػت والمتغيرات،ىػذا النػوع يتيػدنا عنػدما يكػوف لػػدينا ثوااػػت ومتغي ػرات ن تاجيػػا فػػي عػػدد كايػػر مػػف الكيانات امػػا النػػوع الثػػانى فيػػدعى االتص ػري الضمنى أي نقوـ اتصري متغيرات كؿ كياف اداخؿ شترتو بارنامجو فقط -3-4أشكال تصريح البيانات: -1الشكؿ االوؿ يكوف ااستخداـ العاارة DIMوىى اختصار ؿ DEMENSIONوتعنى اعد فى الذاكرة ب جـ ويستخدـ ىذا الشكؿ فى التصري العاـ والتصري الضمنى وىذا الشكؿ ىو ا دى ال التيف -: اسـ المتغير DIM النوع الاياني ASاسـ المتغيير DIM -2الش ػػكؿ الث ػػاني ى ػػو ااس ػػتخداـ العا ػػارة BUPLIC تستخدماف فى التصري العاـ لمايانات : 37 او GLOBALوى ػػاتيف العا ػػارتيف اسـ المتغير BUPLIC النوع الاياني ASاسـ المتغير BUPLIC النوع الاياني ASاسـ المتغير GLOBAL اسـ المتغير GLOBAL -3الشكؿ الثالث ىو اااستخداـ العاارات PRIVATE او LOCALوىاتيف العاارتيف تستخدماف في التصري الضمنى لمايانات وشكميما ىو -: اسـ المتغير PRIVATE النوع الاياني AS اسـ المتغير PRIVATE اسـ المتغير LOCAl النوع الاياني ASاسـ المتغير LOCAL ىذه إشكاؿ التصري ات أعيه ىي ألنػواع الايانػات القاامػ .لمت ػوؿ ونعنػى ايػا إف المتغيػر يكػوف ذات قيم .ادا ي.ب ااتدا ي/.أولي .غير ثااتػ .أي انػو عنػد تنتيػذ الارنػامف يأخػذ المتغيػر قيمػ .معينػ. ويػػتـ عمييػػا األجػراء المي ػػـ وعنػػد االنتيػػاء مػػف الارنػػامف وتنتيػػذه مػرة أخػػرى فانػػو سػػوؼ يأخػػذ قيمػػ. ااتدا ي .جديدة كأف تكوف 0أو 1أو أي قيم .أخرى يتـ إعطا يا لو في الارنامف في يف إف ىنالؾ صيغ .أخرى مف التصػري ات وىػى صػيغ .التصػري ات المسػتقرة STATIC وىى يمكف اف تستخدـ في كي نوعي التصري ات ب العاـ والضمني ،وىذه الصيغ .ىي-: 38 اسـ المتغير النوع الاياني AS اسـ المتغير STATIC STATIC في ىذه الصيغ .مف التصري ات ب أي STATICيكػوف المتغيػر ثااػت أي انػو ي ػتتظ اقيمػ. أخر تنتيذ سااؽ لو كقيم .أولي .إذا أصا ت قيمتػو مػثي ىػي ب 1وتػـ تنتيػذ الارنػامف مػرة اخػرئ فاف قيم .المت غير االاتدا ي في ىذا التنتيذ سوؼ تكوف ب( 1عممػا اف قيمتػو االاتدا يػ .فػي التنتيػذ األوؿ لمارنامف ىي ليست ىذه القيم ، .قد تكوف مثي ب 0اوب 2او أي قيم .اخرى غيرب1 التصريح بالثوابت-: الثوااػػت -:ىػػي المتغيػرات التػػي ليػػا قيمػػ .ثااتػػ .قاػػؿ دخوليػػا لمارنػػامف واسػػتقداميا فػػي عاا ارتػػو وىػػذه القيم .تعطى لممتغير عند التصري او ،أما عف شكؿ التصري او ىو قيم = .النوع الاياني ASاسـ الثاات DIM CONST ) القيم .ىنا ىي سب النوع الاياني ( -4-4انواع البيانات-: فيما يمػي جػدوؿ ياػيف أنػواع الايانػات المعرفػ .فػي لغػ Visual Basic .و جػـ الػذاكرة المتػاح لكػؿ متغيػر يأخػذ ذلػؾ النػوع وياػػيف الجػدوؿ كػذلؾ مػدى العناصػر التػي يمكػف التعامػؿ معيػا ضػمف ىػػذا النوع -: نوع الايانات ال جـ المدى INTEGER 2BYTE مف – 32768 بعدد ص ي مثاؿ عف االستعماؿ إلى 32767 DIM BIRD % BIRD %= 37 او Dim bird as integer BIRD = 37 39 LONGب عػ ػ ػ ػػدد 4 BYTEمف – 2147483648 إل ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػى ص ي طويؿ 7 او 214748364 SINGLE 8 BYTE بنقط ػ ػ ػ ػ ػػ .عا م ػ ػ ػ ػ ػػ. مػ ػػف 3.402823e38 ب 8 BYTEم ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػف نقطػ ػ ػ ػ ػ ػ ػػ .عا مػ ػ ػ ػ ػ ػ ػػ. 1.797693134862D308 او DIM PRICE AS SINGLE PRICE = 899.9 DIM PI# PI# = 3-141592 او DIM PI AS DOUBLE DIM PI =3.141592 @ DIM DINAR DINAR @ =15 1.797693134862D308 8BYTE بعممو م ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػف - 922337203685477.5808 او الػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػى DIM DINAR AS 922337203685477.5808 CURRENCY DINAR =15 STRINGاايػ ػ ػػت لكػ ػ ػػؿ مف 0الى 65535رفا بسسم .رمزيو رؼ BOOLEAN DIM PRICE PRICE ! = 899. 9 الػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػ ػػى مزدوج .الدق. CURRENCY DIM LON AS LONG LON =30000 -3.402823e38الػ ػػى فردي .الدق. DOUBLE &DIM LON LON & = 30000 DIM ST $ "ST$ =”DOLAR او DIM ST AS STRING ”ST = “ DOLAR DIM FLAG AS 2BYTE 41 بمنطقي DATEتاريخ 8BYTE variantمتنوع 16BYTEكؿ مجاالت انواع الايانات ليرقاـ ، BOOLEAN FLAG = TRUE DIM D AS DATE D = # 3-1-63 # DIM TOTAL TOTAL = 29.31 22BYTE 1BYTE+ لكؿ رؼ ب لمسيسؿ -5-4ادخــال واخ ـراج البيانــات -:مػػف الضػػروري جػػدا فيػػـ عمميػػات ادخػػاؿ واخ ػراج الايانػػات مػػف والى معالف المغ، .فتى جمي لغات الارمج .يوجد جمػؿ ادخػاؿ الايانػات واخػراج النتػا ف ىنػا فػي لغ Visual Basic .ىنالؾ عدة طرؽ الدخاؿ واخراج الايانات وكما يمي -: يمكف ادخاؿ الايانات الى معالف المغ .اما عند تنتيذ المشروع او عند كتاا .شترة الارنامف ،فعنػد كتااػػ .يػػتـ ااعطػػاء المتغي ػرات المسػػتخدم .فػػى الشػػترة قػػيـ ثااتػػو وىػػذه القػػيـ ال تتغيػػر اال اذا قمنػػا اتغييرىا في الشترة ، إمػ ػػا عػػػف إخ ػ ػراج ىػ ػػذه القػػػيـ فيػػػتـ ااسػ ػػتخداـ الخاصػػػي CAPTION .او TEXTالتااعػ ػػ .لكيػ ػػاف االخراج، -6-4مثال توصيحي-:1 فػػي المثػػاؿ التػػالي يوضػ كيتيػػ .التعامػػؿ مػ ايانػػات تػػـ ادخاليػػا فػػى شػػترة الارنػػامف وكيتيػػ .إظيػػار النتا ف 40 -:مرحمة إعداد واجهة النموذج -:مرحمة اعداد الخصائص -: إعداد خصا ص الكيانات الموجودة عمى النموذج.مر م SHOW CAPTION 16 وا جـBOLD , ARIAL FONT QUIT CAPTION 16 وا جـBOLD , ARIAL FONT 1 FIXED SINGLE CAPTION BORDER STYLE 2 -CENTER ALIGNMENT 42 COMMAND 1 COMMAND 2 LABEL1 LABEL2 LABEL3 FONT BOLD , TIMES NEW \ROMANا جـ14 IMAGE1 "C:\program files\microsoft PICTRURE visual studio\common\graphics\metafil "e\ business\coins.wmf TRUE STRETCH VISIBLE FALSE مرحمة كتابة شفرة البرنامج -:إف المشروع ال يمكف تنتيذه ما لـ نكتب لو شترة معينو مف خيليػا يسػػتطي معػػالف المغػػ .معاممػػ .كيانػػات المشػػروع لكتاا .شػػترة أي كيػػاف نضػػغط عميػػو امتتػػاح التػػارة األيس ػ ػ ػ ػ ػ ػػر مػػ ػ ػ ػ ػ ػرتيف اش ػ ػ ػ ػ ػ ػػكؿ متت ػ ػ ػ ػ ػ ػػالي نض ػ ػ ػ ػ ػ ػػغط عم ػ ػ ػ ػ ػ ػػى متت ػ ػ ػ ػ ػ ػػاح األم ػ ػ ػ ػ ػ ػػرCOMMAND2 والػذي أسػميناه ا ػ :QUITونكتػب فػػي شػترتو الجممػ END .وىػػذه تعنػى االنسػػا .لمعػالف المغػػ. افنياء التنتيذ ثـ نضغط عمى متتاح األمر COMMAND1والذي أسميناه اػ SHOW ونكتب فيو الشترة التالي-:. )Label1.caption=int(rnd*10 )Label2.caption=int(rnd*10 )Label3.caption=int(rnd*10 If (label1.cption=5) or (label2.caption=5) or (label3.caption=5) then Image1.visible=true Endif ني ظ اف في ىذه الشترة تـ ادخاؿ ايانات إلى الارنامف مف خيؿ خاصػيCAPTION .التااعػ. لمكيػ ػػاف نسػ ػػميو LABEL1وفػ ػػى شػ ػػترة الارنػ ػػامف ،يػ ػػث اف ىػ ػػذه األرقػ ػػاـ ىػ ػػي إعػ ػػداد ص ػ ػ ي . وعشوا ي .االنسا .لمشترة اعيه، ف ػػي الس ػػطر األوؿ نق ػػوـ افع ػػداد الخاص ػػي. FALSEأي VISIBLEب خاص ػػي .االظيارواالخت ػػاء ااألع ػػداد اخت ػػاء الص ػػورة الموج ػػودة ف ػػي الكي ػػاف ، IMAGE1ف ػػي األس ػػطر الث ػػاني والثال ػػث وال اراػ ػ نق ػػوـ افس ػػناد قيم ػػ .عشػ ػوا ي .نس ػػتنتجيا م ػػف الدال ػػ. 43 RNDوى ػػى اختص ػػار ل ػ ػ ب RANDOMIZEأي عش ػ ػ ػ ػوا ي ، .ىػػ ػ ػػذه القيمػػ ػ ػػ .العش ػ ػ ػ ػوا ي .نأخ ػ ػ ػػذ فقػ ػ ػ ػػط الق ػ ػ ػػيـ الص ػ ػ ػ ػ ي . INTEGERاواسط .الدال INT .التي تسػتخمص القػيـ الصػ ي .فقػط ىػذه القيمػ .الصػ ي . العشوا ي .نقوـ افسنادىا بب اواسط .عامؿ اإلسناد = الكيانػات Label3 , Label2 , Label1 إلى الخاصي CAPTION .التااع .إلػى يػث انػو فػي كػؿ مػرة نضػغط عمػى امػر الكيػاف SHOWب في التنتيذ فانو يتـ وضػ ثػيث قػيـ صػ ي .عشػوا ي .جديػدة إلػى الكيانػات أعػيه فػي السػطر ال اراػ مػف الشػترة السػااقو تػأتي عاػارة خاصػي. IF ىنػا قمنػا امقارنػ .مػا موجػود فػي CAPTIONلمكيانػات Label1مػ الػرقـ ب 5ااسػتخداـ المعامػؿ المنطقػي OR يث انو ااستخداـ ىذا العامؿ فانو يكتي عمى األقؿ قيم .وا دة مساوي .لػ ب 5فانو سوؼ يقوـ اتنتيػذ العاػارة التػي تمػي كممػ THEN .وىػى عمميػ .جعػؿ قااميػ .رؤيػ .الصػورة فػي كيػاف الصػور IMAGE1ىو ممكف رؤيتيا -7-4مثال توضيحي -:2 المثال اعيه وض لنا كيتي .اف قيـ الايانات تػـ ادخاليػا خػيؿ شػترة الارنػامف كػذلؾ يمكػف ادخػاؿ الايانات في تنتيذ الارامف اواسط .مرا النص ) ( Textbox.او دال .االدخػاؿ ) inputbox ، المثاؿ التالى يوض كيتي .ادخاؿ الايانات واخراج النتا ف مف خيؿ مرا نص المثاؿ يوض كيتي .اجراء عممي .سااي .معينػ .اػيف عػدديف ووضػ النتيجػ .فػي مراػ نػص ثالػث -: 44 إعداد خصائص الكيانات- : الكياف الخاصي. COMAND1 COMAND2 االعداد CAPTION CAPTION TEXT TEXT1و TEXT2 ADD EXIT و TEXT 3 كتابة شفرة الكيانات-: نكتػب شػترة األمػر COMAND2والػذي اسػمو : EXITنكتػب فػي شػترتو الجممػ END .ثػـ نكتب شترة األمر COMAND1والذي اسمو ADDوالشترة ىي -: Dim a as integer ,b as integer )A=val(text1.text )B=val(text2.text Text3.text=a+b في السطر االوؿ تـ تعريؼ ب تصري متغيريف ىمػا A , Bعمػى انيمػا عػدديف صػ ي يف INTEGERذات النقط .الثاات .ويمكف تعريتاىما عمى انيمػا عػدديف قيقػيف ذات نقطػ .عا مػ. االتصري SINGLE فػي السػطريف الثػاني والثالػث فػي الشػترة تػـ اسػتخداـ الدالػval .وىػى valueيػث اف ىػذه الدالػ. تقػػوـ امعاممػػ .مػػا موجػػود فػػي مراػ الػػنص عمػػى انػػو قيمػػ .عػػدد ، numerical valueأي يػػتـ ت ويػػؿ مػػا موجػػود فػػي مرا ػ نػػص مػػف قيمػػ .النصػػي. VALAU textual valueالػػى قيمتػػو العدديػػ. NUMERICALويػػتـ إسػػناد ىػػذه القػػيـ الػػى متغيػريف Aو Bفػػي السػػطر األخير تتـ عممي .الجم ايف العدديف Aو Bنض النتا ف في مرا النص ، TEXT 3وىذه أيضا تعتار طريق .إخراج الايانات 45 تنفيذ المشروع -:عند تنتيذ المشروع نض مؤشر التارة في مرا النص االوؿ وندخؿ رقـ معيف ثػػـ نضػ مؤشػػر التػػارة فػػي مراػ الػػنص الثػػاني ونػػدخؿ رقػػـ معػػيف ثػػـ نضػػغط متتػػاح األمػػر ADD فيتـ إخراج الناتف في مرا النص الثالث كػػذلؾ يمكػػف اسػػتخداـ دالػػ .االدخػػاؿ INPUT BOXإلدخػػاؿ الايانػػات يػػث إنيػػا تسػػيؿ العمػػؿ االنسا .لواجي .المشروع أيضا وذلؾ ا ذؼ مرا النص TEXT3ومرا الػنص TEXT2إمػا االنسػػا .لشػػترة الكيػػاف متتػػاح األمػػر COMMAND1والػػذي اسػػمو addنقػػوـ اتغيػػر السػػطريف الثاني والثالث الى الشترة التالي-:. ) " A=INPUTBOX ( " INTER FIRST NUNBER )" B = IN PUT BOX ( " INTER SECOND NUMBER -8-4دالة االدخال - : INPUT BOXوىى عاارة عف مرا وار يتـ مف خيلو الت اور م المستخدـ userالدخاؿ اياناتو إما صيغ .ىذه التالي .ىي -: )]InputBox(Prompt,[Title],[Defualt],[Xpos],[Ypos],[HelpFile],[context as string يث اف -: PROMPT -1ب إجاػاري -:ب معنػاه توجيػو وىػى الرسػال .المطمػوب عرضػيا ويجػب اف ال تزيػد عمػى ب 124رمػز وتوضػ اػيف عيمتػػي اقتاػاس ك ك ويمكػف وضػعيا ضػمف متغير رفػػي وتعويض ىذا المتغير مكأف الجزء PROMPTفى الدال .اعيه -2ب TITLEب اختياري -:عنواف صندوؽ ال وار ويجب وضعو ايف عيمتي اقتااس ك ك -3ب DEFUALTب اختي ػػاري - :القيمػ ػػ .التػ ػػى ت ت ػػؿ المتتػ ػػاح الم ػ ػراد ظي ػػوره وىػػػى عمػػػى االكثر متتا ي CANCELاو OKتظير اشكؿ تمقا ى -4ب XPOSباختيػػاري -:وىػػو عاػػارة عػػف رقػػـ يمثػؿ اال ػػداثي السػػيني لموقػ مراػ ال ػوار ليذه الدال .عمى الشاش .بويمثؿ ا داثي النقط .االولى مف اعمى اليسارمف مرا ال وار 46 -5ب YPOSباختياري -:يمثؿ ا داثي الصادى لموق مرا ال وار -6بHELP FILE باختياري -:اسػـ الممػؼ المسػاعدة لمارنػامف ويوضػ فػى نتػس مجمػد الارنامف -7ب CONTEXTب اختيػػاري -:ومعنػػاه سػػياؽ ،ويمثػػؿ سػػياؽ رقػػـ الصػػت .التػػى ت تػػوي عمى معمومات عف صندوؽ ال وار ال الى فى ممؼ المساعدة فػي مراػ ال ػوار الخػاص ايػذه الدالػ .يظيػر مراػ ب او مسػتطيؿ يشػاو مراػ الػنص textbox موجػػود فػػي ىػػذا المراػ مؤشػػر ويشػػاو مؤشػػر الكتااػػ .فػػي نظػػاـ wordفنقػػوـ افدخػػاؿ الايانػػات ثػػـ نضػػغط المتتػػاح enterفػػي لو ػػ .المتػػاتي ،اف الايانػػات التػػي نقػػوـ افدخاليػػا ىػػي سػػب النػػوع الاياني لممتغير الذي تسند إليو ىذه الدال. إما شكل الدالة هو : العنوان TITLE cancel التوجيو Prompt ok مربع ادخال البيانات -9-4إخراج البيانات : ىنالؾ عدة طرؽ إلخػراج الايانػات منيػا ااسػتخداـ مراػ تسػمي label .او ااسػتخداـ مراػ نػص textboxاو ااستخداـ الدال msgbox .وىي ااختصار ل ػ massage boxأي مراػ الرسػا ؿ ومف خيلو يتـ عرض رسا ؿ خطأ او عرض رسا ؿ توجيو وارشاد مالحظة : نقصد ىنا افخراج الايانات ب المعمومات وىي تمؾ المعمومات والنتا ف التي تكوف نوعيا الاياني ىو عددي او رمزي والتي تعرؼ امتغيرات إما االنسا .لعرض الكيانات او إختا يػا ب يػث إنيػا 47 تعتاػػر مخرجػػات اػرامف معينػػ .فػذلؾ يػػتـ مػػف خػػيؿ الػػت كـ اتنصػػيب خاصػػي .الرؤيػػvisible . لذلؾ الكياف الذي نريد رؤيتو او عدـ رؤيتو -: Visible =true اسـ الكياف ب إلظيار الكياف Visible =false اسـ الكياف ب إلختاء الكياف -10-4دالة االخراج : MsgBox وىي مختصر بمرا الرسا ؿ Message Box تعرض الدالو MsgBoxالرسا ؿ في صناديؽ وار ،وصيغ .ىذه الدال-: . )]Msgbox(Prompt,[Buttons],[Title],[helpfile],[context يث اف-: Prompt -1باجاػػاري :الرسػػال .المطمػػوب عرضػػيا ،ويجػػب االيزيػػد عػػدد ا ػػرؼ ىػػذه الرسػػالو عمى 256رمز ،وتوض ايف عيمتي اقتاػاس ك ك ويمكػف وضػعيا ضػمف متغيػر رفػي وتعػويض ىذا المتغير مكأف الجزء prompt : [Buttons] -2ىذا الجزء مسؤوؿ عف االزرار التي ستعرض في صندوؽ ال وار ،كذلؾ ت ديد االيقونػػات المػراد عرضػػيا فػػي مراػ ال ػوار ،ايضػػا ممكػػف اختيػػار شػػكؿ ونمػػط مراػ ال وار ،يػػث الختيار نوع االزرار المراد عرضيا وااليقونات وشكؿ الصندوؽ معػا نضػ عيمػ .الجمػ +اينيػا ،وممكف استخداـ قيـ او ثواات رفي .مكاف .اوكيىما ،كما سياتي في الجدوؿ التالي : [Title] -3عنواف صندوؽ ال وارويجب وضعو ايف عيمتي اقتااس ك ك : [HelpFile]-4اسـ ممؼ المساعده-اف وجد-لمارنامف ويوض في نتس مجمد الارنامف : [Context]-5امتػػداد الصػػت و التػػي ت تػػوي عمػػى معمومػػات عػػف صػػندوؽ ال ػوار ال ػػالي فػػي ممؼ المساعده الجػػدوؿ التػػالي ياػػيف قػػيـ االزرار ب Buttonsوااليقونػػات واالنمػػاط والثوااػػت ال رفيػػو المكاف ػػو ليػػا وىي نتسيايمكف استخداميا في الجزء Buttonsفي الدالMsgBox . القيم. الثواات ال رفيو المكاف . 0 Vbokonly 1 Vbokcancel الوصؼ يعرض زر Ok يعرض زري Okو Cancel 48 يعرض االزراربإجياض،اعادة 2 Vbabortretryignore 3 Vbyesnocnacel 4 Vbyesno 5 Vbretrycancel 16 Vbcritical يعرض ايقون .الرسال .ال رج. 32 Vbquestion يعرض ايقون .عيم .السؤاؿ 48 Vbexclamation يعرض ايقون .عيم .التعجب 64 Vbinformation يعرض ايقون .عيم .المعمومات 0 Vbdefaultbutton1 256 Vbdefaultbutton2 يجعؿ الزر الثاني في الصندوؽ افتراضيا 512 vbdefaultbutton3 يجعؿ الزر الثالث في الصندوؽ افتراضيا 768 Vbdefaultbutton4 يجعؿ الزر الراا في الصندوؽ افتراضيا 0 Vbapplicationmode يجعؿ نمط الصندوؽ تطايقي 4096 Vbsystemmode يجعؿ نمط الصندوؽ نظامي الم اول،.تجاىؿ Abort ,Retry ,Ignore يعرض االزراربنعـ،ال،الغاء االمر Yes ,No ,Cancel يعرض زري نعـ وال Yes ,No يعرض زري اعادة الم اولو والغاء االمر Retry ,Cancel يجعؿ الزر االوؿ في صندوؽ ال وار افتراضيا 16384 vbmsgboxhelpbuttonيظير زر المساعده في الصندوؽ 65536 Vbmsgboxsetforegroيجعؿ الصندوؽ فوؽ كاف .النوافذ und Vbmsgboxright يجعؿ عنواف الصندوؽ في يميف شريط 524288 العنواف 1048576 vbmsgboxrtlreading يجعؿ اتجاه الصندوؽ مف اليميف لميسار ا يث تظير ازرار االوامر وااليقونات متوافقو م صناديؽ ال وار العرايو 49 ااإلضػػاف .الػػى الدالػػ MSGBOX .فػػاف ىنالػػؾ طريقػػ .أخػػرى إلخ ػراج الايانػػات وىػػي ااسػػتخداـ عاػارة الطااعػ PRINT .وصػيغتيا ب تعايػر معػيف PRINT يػث اف العاػارة PRINT تطاػ المخرجػػات عمػػى سػط النمػػوذج الجػػدوؿ التػالي ياػػيف القػػيـ التػي ترجعيػػا الدالػػو MsgBox عند الضغط عمى أي زر فييا وىذه القيـ تتيدنا في امكأني .اتخاذ أي اجراء نريده الوصؼ بالزر الذي يتـ ضغطو القيم .المرجع. 1 OK 2 CANCEL 3 ABORT 4 RETRY 5 IGNORE 6 YES 7 NO آما شكؿ الدال .ب MSGBOXىو عمى شكؿ مرا وار وىو االشكؿ التالي -: العنوان TITLE التوجيو PROMPT األيقونة التي المفاتيح ( األزرار ) BUTTON 51 تظهر انفصم انخبمس/اتخبر انقشاس وػببسات انتكشاس -1-5مقدمــة -: اف جميػ ػ لغ ػػات الارمج ػػ .ب أال م ػػا ن ػػدر مني ػػا تتعام ػػؿ مػ ػ الش ػػترات ب جم ػػؿ الارمج ػػ .تع ػػاميً تسمسػػمياً أي إنيػػا تقػػوـ اتنتيػػذ عااراتيػػا الارمجيػػ .اشػػكؿ تسمسػػمي ، sequentialوىػػذا الشػػي سػػيؿ جػػداً فػػي الارمجػػ .أمػػا إذا كػػأف لػػدينا عاػػارتيف ونريػػد عػػرض ا ػػدىما ااالعتمػػاد عمػػى قيمػػ. معين .ىنا يجب فقػط ااسػتخداـ العاػارات ب الجمػؿ الشػرطي .يػث اف ألتكػره األساسػي .لانػاء ىػذه العاارات ىػو إنيػا تقػوـ ااختيػار قيمػ .معينػ .او مجموعػ .قػيـ أخػرى وعمػى أسػاس ىػذا االختيػار نقػػوـ اتنتيػػذ عاػػارة معينػػ .او مجموعػػ .عاػػارات ،او عػػدـ تنتيػػذ تمػػؾ العاػػارات الجمػػؿ الشػػرطي. المتا ػ .فػي لغػVB . اعضػيا شػرطي .فقػط مثػؿ عاػارتي IF واعضػيا شػرطي .تك ارريػ .مثػؿ عاػارات و SELECT CASE DO- ، DO-WHILE ، WHILE –DO LOOPواعضيا تك ارري .فقط ب ولو إنيا ال تعتار عاارة شرطي .أ يانا مثاؿ عاارة FOR -2-5عوامل المقارنة-: قاؿ الخوض في العاارات الشرطي .يجب اف نعرؼ ماىي .أشكاؿ وأنواع أدوات وعوامػؿ المقارنػ. الت ػػي تس ػػتخدـ الختي ػػار قيمت ػػيف او متغيػ ػريف والج ػػدوؿ الت ػػالي يا ػػيف عوام ػػؿ المقارن ػػ .الت ػػي يمك ػػف استعماليا في التعااير الشرطي .والتي يتي يا معالف Visual Basic مثاؿ عامؿ المقارن. معناه = يساوي a=b >< ال يساوي a<>b > اكار مف a>b < اصغر مف a<b => اكار مف او يساوي a>=b 50 =< اصغر مف او يساوي a<=b -3-5العوامل المنطقية-: في اعػض األ يػاف ن تػاج الختيػار أكثػر مػف تعايػر شػرطي وا ػد فػي القسػميف IF…THENو ELSEIFفػفذا أردنػا شػمؿ أكثػر مػف تعايػر شػرطي فػي عاػارة شػرطي .وا ػدة ب وخاصػ .عاػارة ، IFنستخدـ ا د العوامؿ المنطقي .لػراط الشػروط اإلضػافي .سػوي .والجػدوؿ التػالي ياػيف العوامػؿ المنطقي .المتا .في لغ VB .ومعنى كؿ أداة -: األداة بالعامؿ المنطقي معناه AND إذا كأف التعايػراف شػرطياف كيىمػا صػ ب أي كيىمػا مت قػؽ تكػػوف نتيجػػ .التعايػػر العػػاـ صػ ممػػا يػػؤدي الػػى تنتيػػذ العاػػارات التي تمي الكممTHEN . OR إذا كأف ا د التعايريف الشرطييف ص ،تكوف النتيج .ص NOT إذا ك ػػأف التعاي ػػر الش ػػرطي خط ػػأ ،تك ػػوف النتيج ػػ .صػ ػ واذا كأف التعاير الشرطي ص تكوف النتيج .خطػأ ب أي تقػوـ اقمػب نتيج .التعاير ،وىذه األداة تستخدـ م تعاير شرطي وا د XOR إذا كػػأف كػػي التعاي ػراف نتيجتيمػػا متوافقػػ .ب أي إذا كػػأف كيىمػػا خطأ أو كيىـ ص تكوف نتيج .التعاير الشرطي العاـ خطػأ ،واذا اختمتػػت نتيجػػ .التعاي ػريف الشػػرطييف تكػػوف نتيجػػ .التعايػػر العاـ ص -4-5عبارة IFالشرطية-: تعتاػػر عاػػارة IFأىػػـ عاػػارة شػػرطي .فاػػالرغـ مػػف إمكأنيػػ .اسػػتخداـ غيرىػػا مػػف الجمػػؿ الشػػرطي. والتك ارري .األخرى ولكف اليمكف اف نستغني عنيا اشكؿ نيا ي مف يث انو يمكف االسػتغناء عػف الجمؿ األخرى ىنالؾ عدة أشكاؿ وىي ات عام .ىي-: …IF …THEN …IF…THEN…ELSE 52 …IF …THEN…ELSEIF …ELSE )IIF (expression , truepart , falsepart يمكف كتاا .ىذه العاارة عمى سطر وا د: IF Condition THEN Statement يث اف Statementىي عاارة مف عاارات لغ VB .او يمكف كتااتيا االشكؿ -: IF Condition THEN Statement1: Statement2: Statement3 إما في ال .الكتاا .عمى أكثر مف سطر ،يجب إضاف-: ENFIF . IF condition THEN statement1 statement2 ………. ………. ENDIF يكوف الشرط conditionعادة عاارة عف تعاير منطقي ب مقارن .مثيً يرج إمػا صػ true او خطأ Falseيمكف أيضا اف يكػوف الشػرط أي تعايػر رقمػي ،سػيعتار معػالف VBاف الشػرط م قػؽ TRUEإذا كأنػت نتيجػ .التعايػػر قيمػ .ال تسػػاوي الصػتر وأال فانػػو سػيعتار الشػػرط غيػػر م قؽ FALSEسيقوـ VBفي اؿ ت قؽ الشرط اتنتيذ التعميمات الموافق .لمشرط ال ظ اف الشترتيف التاليتيف متكاف تيف -: IF X>Y THEN X=Y: Y=Z IF X<Y THEN X=Y Y=Z ENDIF الشكؿ التالي لعاارة IFىو -: IF ….THEN… ELSE…. فػػي ىػػذه ال الػػ .لػػدينا شػػرط معػػيف إذا ت قػػؽ نريػػد اف ننتػػذ تعميمػػات معينػػ .واال بأي إذا لػػـ يت قػػؽ الشرط ننتذ تعميمات أخرى يمكف اف نكتب العاارة عمى سطر وا د فقط-: IF condition THEN statement ELSE statement IF condition THEN statement1:statement2 ELSE statement 1:statement2 53 كما يمكف اف نكتب العاارة عمى عدة اسطر -: IF condition THEN Statement –if – true ELSE statements-if –false End if الشكؿ : )IIF (expression, truepart,falsepart تقػوـ ىػذه الدالػ .ااختيػار التعايػر ، expressionفػفذا وجدتػو TRUEفأنيػا تقػوـ افرجػاع الجػزء true partإمػا إذا وجدتػو FALSEفأنيػا سػوؼ تقػوـ افرجػاع الجػزء false trueفػي المثػاؿ التػػالي ،يمكػػف كتااػػ .شػػترتو فػػي الكيػػاف formب كيػػاف النمػػوذج يػػث انػػو يعتاػػر إذا كأن ػت قيمػػ. المتغيػر NUMBERاكاػر مػف 1000فػاف الدالػ IFF .سػتعيد السمسػم .الرمزيػLARGE . إمػػا إذا كأن ػت قيمػػ. NUMBERاصػػغر او يسػػاوي 1000فأنيػػا سػػوؼ تعيػػد السمسػػم .ألرمزيػػو SMALLوالشترة ىي -: DIM NUMBER AS INTEGER DIM CHECKL AS STRING )'NUMBER = INPUTBOX ('INTER THE NUMBER ب"CHECK=IIF(NUMBER>1000,"LARGE","SMALL PRINT CHECK الشكؿ : …IF … THEN … ELSEIF …ELSE يستخدـ ىذا الشكؿ في اؿ وجود عدة كتؿ مف الايانات ،كتمو وا دة فقط مف اينيا سوؼ تنتذ وصيغتيا -: IF condition THEN ][statement block-1 [else if condition2 then ]]statement block-2 ………. ………. 54 ……… [else ]][statement block-n end if يقوـ معالف VBااختيار أوؿ شرط CONDITION 1ففذا وجده غيػر م قػؽ ب FALSE فانػػو ينتقػػؿ الختيػػار الشػػرط الثػػاني ، CONDITION 2وىكػػذا دواليػػؾ إذا كأنػت ىنالػػؾ شػػروط أخػػرى تػػى يجػػد شػػرطاً م قق ػاً ،عنػػدىا سػػيتنتذ كتمػػ .العاػػارات الموافقػػ .ليػػذا الشػػرط ثػػـ ينتقؿ لمتعميمات التػي تمػي end ifب أي انػو ال يت ػص أي شػرط مػف الشػروط التاليػ .لمشػرط الذي ت قؽ واالتالي فاف كتم .عاارات وا دة عمى األكثر فقط ستنتذ يمكػػف اف ت ػػوي التعميمػػ .الشػػرطي .عمػػى ، ELSEعنػػدىا وفػػي ػػاؿ عػػدـ ت قػػؽ أي شػػرط مػػف الشروط الموضوع ، .سيقوـ VBاتنتيذ كتم .العاارات الموافق .لػ ELSE -5-5مثال توضيحي-: المشػػروع التػػالي ىػػو مثػػاؿ جيػػد ليوض ػ اسػػتخداـ الشػػكؿ األخيػػر مػػف إشػػكاؿ عاػػارة IFالشػػرطي. وكذلؾ استخداـ الدالتيف INPUTBOXو MSGBOXواستخداـ ا د العوامػؿ المنطقيػ .وىػو ANDالمشػػروع عاػػارة عػػف ادخػػاؿ اسػػـ المسػػتخدـ وكممػػ .ا لمػػرور الخاصػػ .اػػو فػػفذا كان ػت AHMADاو ALIاألسػ ػػماء وكمم ػ ػػات مػ ػػرور الخاصػ ػػ .اػ ػػو ىػ ػػي SCIENCEو ENGINEERINGعمػى التػوالي فانػو فػي الػ AHMAD .سػوؼ يعػرض صػورة معينػ .ب صورة اسا .ورسال .معين .إما في ال ALI .فانو سػوؼ يعػرض صػورة أخػرى ورسػال .أخػرى إمػا إذ لػـ يكػف االسػـ AHMADوال ALIفانػو سػوؼ يعػرض رسػال .خطػا معينػ .المشػروع يتكوف مف نموذج وفيو متتاح امر وا د -: واجي .النموذج -: SHOW 55 مفتاح امر COMMAND1 اسمو SHOW إعداد خصائص الكيانات االعداد .الخاصي SHOW CAPTION BOLD,ARIAL FONT الكياف COMMAND1 16 ا جـ كتابة شفرة المشروع -: SHOW فقط والذي اسموCOMMAND1 شترة الكياف.نقوـ اكتاا USERNAME =INPUTBOX ("ENTER YOUR FIRST NAME ") PASSWORD =INPUTBOX ("ENTER YOUR PASSWORD") IF (USERNAME ="AHMADكAND (PASSWORD="SCIENCE")THEN MSGBOX ("WELLCOME AHMAD !READY TO START") FORM1.PICTURE=LOADPICTURE(""C:\program files\microsoft visual studio\common\graphics\metafile\ computer\computer.wmf") ELSEI (USERNAME ="ALI")AND (PASSWORD=" ENGINEERING") MSGBOX (WELLCOME ALI !READY TO DISPLAY") FORM1.PICTURE=LOADPICTURE(""C:\program files\microsoft visual studio\common\graphics\metafile\ office\book1.wmf" ") ELSE MSGBOX ("SORRY,IDONT KNOW YOU") END ENDIF -: SELECT CASE الجممة الشرطية-6-5 كخيػار أخػر عوضػاً عػف العاػارةSELECT CASE عاػارةVisual Basic .تقػدـ لنػا لغػ . عاػػارات مػػف اػػيف مجموعػػ. اختيػػار كتمػػ. لمقيػػاـ اعمميػػIF…THEN…ELSEIF…ELSE… 56 مػ ػ ػ ػػف الكتػ ػ ػ ػػؿ تعطػ ػ ػ ػػي العاػ ػ ػ ػػارة SELECTإمكأنيػ ػ ػ ػػات مشػ ػ ػ ػػااي .لعاػ ػ ػ ػػارة CASE … IF…THEN…ELSEIF…ELSEاالاني ػ ػػا تجع ػ ػػؿ التعميم ػ ػػات الارمجي ػ ػػ .أكث ػ ػػر وض ػ ػػو اً وأسرع في التنتيذ تقوـ ىذه العاارة ات ص تعاير وا د Test Expresionفي اداي .الجمم .ومف ثـ مقارن .نتيجػ. التعايػػر م ػػف مجموع ػػ .تع ػػااير ب ك ػػؿ تعاي ػػر مػ ػرتاط مػ ػ TEXTEXPRETIONمػ ا ػػد التعػػااير المرتاط .م CASEوعن ػػد تط ػػااؽ قيم ػػ .التعاي ػػر Expresion Listفأنيػػا سػػتنتذ كتمػػ .العاػػارات CASEالمتوافق. كما في الصيغ .العام .التالي .لعاارة -: SELECT CASE SELECT CASE test expression [case expression1 ]][statementblock-1 [case expression list2 ]][statementblock-2 [case else ]][statement block-n END SELECT تأخذ expression listا د اإلشكاؿ التالي-:. قيم .وا دة expr عدة قيـ ……expr1,exp2, مدى معيف بمجاؿ مف القيـ expr to expr مقارن > is comp expr .المتغير < ب يث compىو معامؿ مقارن<>،<=،>=،=، > ، <: . كؿ Statementblockب كتم .عاارات عاارة عف جمم .وا دة او أكثر-7-5مثال توضيحي-: في المشػروع التػالي ني ػظ مثػاؿ جيػد السػتخداـ عاػارة select caseيػث سػوؼ يتعػرؼ عمػى عمر شخص معيف واذا كأف ضمف مدى معيف فسوؼ يخرج رسال .معين-:. 57 -: إعداد الواجهة عنواف label1 command1 مفتاح امر show امسه Show إعداد خصائص الكيانات االعداد " SHOW" .الخاصي Caption Caption الكياف Command1 Label1 -: COMMAND1 كتابة شفرات AGE = INPUT BOX (" ENTER YOUR AGE") SELECT CASE AGE CASE IS < 13 LABEL 1 .CAPTION ="YOUR CHILD" CASE 13 TO 19 LABEL 1.CAPTION ="YOU SECONDORY STDENT" CASE 21 LABEL 1.CAPTION ="YOU IN THE UNIVERSITY" CASE IS >100 LABEL 1.CAPTION ="LOOKING GOOD" CASE ELSE LABEL 1.CAPTION ="THAT ANINC AGE TOBE " END SELECT 58 -8-5عبارة التكرار -: Do عاػػارات التكرارىػػي عاػػارة وا ػػدة وىػػي عاػػارة DO…LOOPوالتػػي تقػ فػػي أراعػػ .إشػػكاؿ ،فػػي جمي ىذه اإلشكاؿ يكوف ىنالؾ شرط معيف ي دد استمرار التكرار او عدـ استمرار التكرار TRUEاو FALSEاو تعايػر كما في عاارة IFفػأف الشػرط ىػو إمػا تعايػر منطقػي يرجػ يرجػ قيمػػ .رقميػػ .ب تعتاػػر قيمػ .التعايػػر التػػي ال تسػػاوي صػتر ىػػي ،TRUEواذا كأنػت تسػػاوي صتر فأنيا FALSE واالف نأتي لدراس .إشكاؿ ىذه العاارة عمماً إننا سنتناوؿ م كؿ شكؿ مف ىذه اإلشكاؿ أمثم .وىذه األمثم .مكتوا .في شترة كياف النموذج-: -1فػي الشػكؿ التػالي ل ػ DO… LOOPفػاف تكػرار تنتيػذ كتمػ .العاػارات STATEMENT سيستمر طالما كأف الشرط CONDITIONغير مت قؽ-: DO UNTIL condition ][STATEMENT ][EXIT DO ][STATEMENT LOOP عندما يصؿ معالف المغ .الى ىذه العاػارة فانػو سػيادأ اوأل ااختيػار CONDITIONفػفذا وجػده مت ققاً TRUEفأنو سوؼ يقتػز فػو اًر لمػا اعػد سػطر LOOPب أي انػو سػوؼ لػف ينتػذ عاػارات ال مقػػ ، .إمػػا إذا وجػػده FALSEفأنػػو سػػتنتذ العاػػارات STATEMENTثػػـ يعػػود لمسػطر DO UNTILليختار ثاني .السطر ويعاد التنتيذ إذا كأف الشرط FALSEاو يخرج مف العاارة إذا كأف الشرط TRUEوىكذا… واالتالي فػاف عاػارات ال مقػ .سػتنتذ عػدداً مػف المػرات طالمػا اقػي الشػرط FALSEولػف تنتػذ وال مرة إذا كأف الشرط منذ الادايTRUE . العاارة EXIT DOتؤدي الى الخػروج التػوري مػف عاػارة التكػرار ب أي عنػد تنتيػذ ىػذه العاػارة ال ينتػذ معػالف لغػ VB .عاػارات ال مقػ .التػي تمييػا وال يعػاود الػدورات اػؿ يقتػز مااشػرة خػارج عاػارة ألدواره بأي الػى الجممػ .التػي تمػي كممػLOOP . اف تظير أكثر مف مرة في ال مق. 59 يمكػف ليػذه العاػارة ب عاػارة EXIT DO -9-5مثال توضيحي -: لنترض إننا نريد ساب مجموع االعداد مف 1الى -:10 DIM X AS INTEGER ,I AS INTEGER I=1 X=0 DO UNTIL I>10 X=X+I I-I+1 LOOP ال مق DO UNTIL .السااق .ستنتذ 10مرات ،في كؿ مػرة تػزداد قيمػ .المتغيػر Iا ػ 1 فػي ال مق .األولى ستزيد Xاػ ، 1وفي ال مق .الثاني .ستزيد Xاػ 2وىكذا في أخر تنتيذ الدوارة ب ال مق .تكوف قيم I .مساوي .لػ 10فتزيد Xاػ 10ثـ تصا Iمساوي .لػ 11فيت قؽ الشرط UNTILونخرج مف الدوارة -2الشػكؿ الثػاني لم مقػ .التك ارريػ .الشػرطي DO … LOOP .ينتػذ العاػارات فػي أوؿ دورة ثػـ يختار الشرط ،أي اف العاارات ستنتذ عمى األقؿ مرة وا دة ،يتوقػؼ التكػرار ػيف يصػا الشػرط مت ققاً -: ]DO [STATEMENTS ][EXIT LOOP ][STATEMENTS LOOP UNTIL condition المثاؿ التالي ىو مثاؿ جيد لتوضي عاارة DO UNITوه يقوـ اقراءة درج .ال اررة االتيرنيايت وي وليا الى السيميزي - : " PROMPT = " ENTER A FAHRENHEIT TEMPERATURE DO )"FTEMP =IN PUT BOX ( prompt, " Fahrenheit to Celsius IF F TEMP <> " " THEN )Celsius = INT ((F TEMP +40 ) * 5/9 -40 "MSGBOX (Celsius) ,"TEMPERATURE TO Celsius 61 ENDIF " "= LOOP UNTIL FTEMP END -3الشػكؿ الثالػث وىػو DO WHILEفػي ىػذا الشػكؿ مػف الػدورات الشػرطي .التك ارريػ ، .تنتػذ العاػ ػػارات فقػ ػػط إذا كػ ػػأف الشػ ػػرط مت قق ػ ػاً ويتوقػ ػػؼ التك ػ ػرار عنػ ػػدما يصػ ػػا الشػ ػػرط غيػ ػػر مت ق ػ ػػؽ -: FALSE DO WHILE condition ])[STATEMENT(S ][EXIT DO ])[STATEMENT(S LOOP يمكف كتاا .مثاؿ جم االعداد مف 1الى 10ااستخداـ ىذا الشكؿ DIM X AS INTEGER , I AS INTEGER I=1 X=0 DO WHILE I<= 10 X=X+1 I=I+1 LOOP -4الشػػكؿ ال ارا ػ واألخيػػر مػػف أشػػكاؿ الػػدوارة DO –LOOPىػػي الػػدوارة DO-LOOP WHILEفػػي ىػػذا الشػكؿ تنتػػذ العاػػارات مػرة وا ػػدة عمػػى األقػػؿ ويتوقػؼ التكػرار عنػػدما يصػػا الشرط غير مت قؽ -: DO ])[STATEMENT(S ][EXIT DO ])[STATEMENT(S )LOOP WHILE condition(s يمكف اخذ مثاؿ درجات ال رار كمثاؿ جيد لتيـ ىذا الشكؿ-: DO )" F=INPUTBOX ("ENTER AFAHRENHEIT TEMPRATURE IF F <>" " THEN )a=INT (( F+40)*5/9-40 " MSGBOX (a),t," TEMPRATURE TO CELSUS ENDIF 60 " "><LOOP WHILE F END -10-5عبارة التكرار -: FOR ىػػذه الجمم ػ .تسػػتخدـ فقػػط لتك ػرار تنتيػػذ مجموعػػ .مػػف العاػػارات ب كتمػػ .مػػف العاػػارات لعػػدد مػػف الم ػرات ،يػػث عنػػد الوصػػوؿ الػػى ال ػػد األعمػػى لمتك ػرار سػػوؼ يخػػرج مػػف الػػدوارة وفيمػػا عػػداه ال يخػرج ،وال يعتمػد الخػروج عمػى شػرط منطقػي او عمميػ .سػااي .معينػ .لغػ VB .تمتمػؾ عاػارة وا دة فقط ىي عاارة تكرار وىي عاارة -: FOR – NEXT تستخدـ عاارة DOالسااق .عادة عندما ال نعرؼ مساقاً عدد مرات تكرار تنتيذ عاارات ال مق. إمػػا إذا كنػػا نع ػػرؼ مسػػاقاً ع ػػدد م ػرات تكػ ػرار تنتيػػذ مجموعػػو م ػػف العاػػارات فأن ػػو مػػف األفض ػػؿ اف نستخدـ عاارة FORالتك ارري ، .يػث انػو عمػى خػيؼ DOفػأف عاػارة FORتسػتخدـ متغيػر يسػػمى عػػداد الػػدوارة ب ال مقػػ .يػػزداد او يػػنقص ف ػي كػػؿ دورة مػػف دورات تك ػرار ال مقػػ .الصػػيغ. العام .لعاارة FOR -: ]FOR counter =start (initial value ) TO end [step ])[STATEMENT(S ][EXIT FOR ])[STATEMENT(S ]NEXT [COUNTER يث اف -: COUNTER ىػو متغيػر نوعػو INTEGERوال ن تػاج لتعريتػو ب عػداد ال مقػو القيم .الادا ي .إلعداد ال مق. )START(initial value END STEP القيم .النيا ي .لعداد ال مق. مقػدار الزيػادة او النقصػاف قػيـ عػداد ال مقػ .اعػد كػؿ تنتيػذ لعاػارات ال مق. جمي ىذه الخيارات ىي قيـ رقمي. 62 مالحظه -: يمكف اف تكوف STEPموجا .او سالاو إذا كأنت STEPموجاو فأف STARTيجب اف تكوف اصغر او تسػاوي قيمػ END .كػي تنتػذ عاػارات ال مقػ .إمػا إذا كأنػت قيمػ STEP .سػالاو فػأف STARTيجػب اف تكػوف اكاػر او تسػاوي قيمػ END .إذا لػـ ت ػدد الخطػوة STEPفػأف معالف المغو يعتارىا اشكؿ تمقا ي زيادة امقدار1 يقوـ معالف لغ VB .االخطوات التالي .لتنتيذ عاارة -: FOR -1يسند القيم START .الى عداد ال مقCOUNTER . -2يت ػص فيمػا إذا كأنػت قيمػ .العػداد اكاػر مػف ENDفػي ػاؿ كػوف STEPموجػب ،فػفذا كأنت اكار فأنو سيقتز فيما اعد NEXTب أي ال ينتذ عاارات ال مق. ب في الػ .اف STEP سالا .فأنو يت ص فيما إذا كأنت قيم .العداد اصغر مف END -3وأال فأنو سينتذ تعميمات ال مق. -4اعػػدىا سػػيزيد مقػػدار العػػداد اػ ػ 1إذا لػػـ تكػػف STEPم ػػددة واال فأنػػو سػػيزيدهباو ينقصػػو امقدار STEP -5سيعود تكرار الخطوات مف 2الى 4 مثال عن استخدام عبارة : FOR مثاؿ جم االعداد مف 1الى 10ااستخداـ FOR DIM X AS INTEGER FOR I= 1 TO 10 X=X+I NEXT I -11-5أمثمة توضيحية إضافية : -1-11-5مثال 1 63 في ىذا المثاؿ سوؼ نستخدـ متتاح امر ومرا نص ودال .ادخاؿ input boxسوؼ نقارف اسـ نقوـ افدخالو مف خيؿ دال .االدخاؿ ففذا كػأف مطػااؽ السػـ معػيف ولػيكف مػثيً ك ALIك فأنػو سوؼ يطا العاارة كOK YOUR NAME IS ALIك واالسوؼ يطا االسـ فقط -: إعداد الواجهة مربع نص text1 مفتاح امرcommand2 مفتاح امرcommand1 إعداد الخصائص الكيان االعداد الخاصية Caption Caption Command1 Command2 Input Exit كتابة الشفرات -: شترة األمر command 1ىي: DIM NAME AS STRING )"Name = INPUTBOX (" INTER YOUR NAME ", "NAMEBOX IF NAME ="ALI" THEN " TEXT1.TEXT="OK,YOUR NAME IS ALI ELSE TEXT1.TEXT=NAME ENDIF شترة األمر COMMAND 2وىي -: 64 END -2-11-5مثال 2 في ىذا المثاؿ سوؼ نستخدـ واجي .إليجاد جدوؿ ضرب أي عدد وطااع .النتا ف في مرا قا م. واسػتخداـ عػدة أسػاليب ب او عاػارات وىػي عاػارة FORوعاػارة DO UNITوعاػارة DO WHILEس ػػوؼ نس ػػتخدـ ع ػػدة مت ػػاتي ونس ػػتخدـ مراػ ػ قا م ػػ .وا ػػد ونس ػػتخدـ مراػ ػ تس ػػمي. LABELوكما يمي -: إعداد واجهة -: COMMAND1 COMMAND2 INPUT مربع قائمة LIST1 CLEAN COMMAND3 FOR.. COMMAND4 DO WHILE COMMAND5 DO UNTIL COMMAND6 QUIT LABEL1 65 إعداد خصائص كيانات الواجهة-: الكيان االعداد الخاصية COMMAND1 CAPTION ك INPUTك COMMAND2 CAPTION كCLEANك COMMAND3 CAPTION ك …FORك COMMAND4 CAPTION كDO WHILE..ك COMMAND5 CAPTION كDO UNTILك COMMAND6 CAPTION كQUITك LABEL1 CAPTION كX-MULTIك كتابة شفرة المشروع -: أوال وقاؿ كؿ شئ نقوـ االتصري امتغير ما وليكف Xفي الجزء GENERALوكـ يمي : OPTION EXPLICIT DIM X AS INTEGER ثـ نقوـ اكتاا .شترات متاتي األوامر األمر COMMAND1ب عند استخداـ ىذا األمر نقوـ افدخاؿ العدد المراد جدوؿ الضرب لو )"X=INPUT BOX ("ENTER ANY NUMBER","MULTI-TABLE األمر : COMMAND2وىو يستخدـ لتنظيؼ مرا القا م LIST1 .مف اي شػيء موجػود فػي داخمو-: LIST1.CLEAR األمػػر : COMMAND3ىػػذا األمػػر يسػػتخدـ إليجػػاد جػػدوؿ الضػػرب لمعػػدد Xالػػذي تػػـ إدخالػػو اواسط .متتاح األمر INPUTوذلؾ ااستخداـ عاارة FORويتـ طااعػ .النػاتف جػدوؿ الضػرب في القا م-: LIST1 . DIM I AS INTEGER 66 LIST 1 .CLEAR FOR I=1 TO 10 LIST1.ADDITEM I*X NEXT I شػترة األمػر : COMMAND5وىػو يسػتخدـ إليجػاد جػدوؿ الضػرب لمعػدد Xااسػتخداـ عاػارة -: DO WHILE –LOOP DIM I AS INTEGER LIST1.CLEAR I=1 )Do while (I<=10 LIST1.ADDITEM I*X I=I+1 LOOP شػػترة األمػػر :COMMAND6وىػػو يسػػتخدـ إليجػػاد جػػدوؿ الضػػرب لمعػػدد Xااسػػتخداـ عاػػارة -:DO UNTIL –LOOP DIM I AS INTEGER LIST1.CLEAR I=1 )DO UNTIL (I>10 LIST1.ADDITEM I *X I=I+1 LOOP -3-11-5مثال 3 يوض ىذا المثاؿ كيتي .التعامؿ م مراعات القوا ـ وكيتيػ .التعامػؿ مػ عناصػر تمػؾ القػوا ـ فػي ىػػذا المثػػاؿ سػػوؼ نسػػتخدـ مرا ػ قا مػػ .نض ػ فيػػو مجموعػػ .مػػف االعػػداد ب عنػػد التنتيػػذ ومرا ػ القا م .أخر نس ب مجموع .مف االعداد التي تقاؿ القسم .عمى 3اػدوف اػاقي مػف مراػ القا مػ. االوؿ ونضػػعيا فػػي مراػ القا مػػ .الثػػاني وذلػػؾ مػػف خػػيؿ متتػػاح امػػر معػػيف وتسػػتخدـ مراػ قا مػػ. ثالثػػ .نض ػ فيػػو االعػػداد الترديػػ .مػػف خػػيؿ متتػػاح أخػػر معػػيف يػػتـ س ػ ب ىػػذه االعػػداد مػػف مرا ػ القا م .االوؿ وكما يمي -: 67 إعداد واجهة المشروع مربع قائمة LIST3 ODDS COMMAND 3 مربع قائمة LIST2 مربع قائمة LIST1 3-No. INSERT COMMAND 2 COMMAND 1 إعداد خصائص الكيانات- : الكياف اإلعداد الخاصي. COMAND1 CAPTION ك INSERTك COMAND2 CAPTION ك 3 – NO .ك COMAND3 CAPTION ك ODDSك كتابة شفرات المشروع - : -1الكياف -: COMMAND1 68 DIM I AS INTEGER LIST1.CLEAR FOR I = 1 TO 50 LIST1.ADDITEM I NEXT I - : COMMAND2 شترة الكياف-2 DIM I AS INTEGER LIST2.CLEAR FOR I = 1 TO 50 IF VAL( LIST1.LIST (( I ))) MOD 3=0 THEN LIST2.ADDITEM LIST1.LIST(I) END IF NEXT I -: COMMAND3 DIM I AS INTEGER LIST3.CLEAR FOR I = 1 TO 50 IF VAL ( LIST1.LIST(( I ))) MOD 2=1 THEN LIST2.ADDITEM LIST1.LIST ( I ) END IF NEXT I 69 شترة الكياف-3 انفصم انسبدس/انمصفىفبت -1-6مقدمــة-: ما هي المصفوفة :المصػتوف .ب ومعناىػا MATRIXأو ARRAYأو CLASSىػي عاػػارة عػػف ىيكػػؿ ايػػاني موجػػود فػػي جميػ لغػػات الارمجػػ .ويػػتـ تمثيمػػو فػػي ال اسػػا .امجموعػػ .مػػف مواق الذاكرة المتجاورة ب يجػب إف تكػوف متجػاورة ويكػوف لجميػ عناصػر المصػتوف .نتػس النػوع الاياني لكف قيميا تختمؼ مف عنصر إلى أخر تقسـ المصتوفات مف يث تعامميا م الذاكرة إلى -: مصتوفات المتغيرات مصتوفات أدوات الت كـ المصتوفات الديناميكي. إما مف يث إاعاد المصتوف .فأنيا تقسـ إلى -: المصتوفات المتجي .ب أو المصتوفات األ ادي. المصتوفات متعددة األاعاد ب ثنا ي ، .ثيثي …… ، .الخ -2-6مصفوفات المتغيرات -: إف مصػػتوفات المتغيػرات متيػػدة ألنيػػا تسػػاعد عمػػى تعقػػب كميػػات كايػرة مػػف الايانػػات اطػػرؽ كأنػت لتكوف غير ممكن .لو استعممت المتغيرات التقميدي .كذلؾ تتي مصتوفات المتغيرات عمى استخداـ مجموعػػ .كاممػػ .مػػف القػػيـ ااسػػتعماؿ اسػػـ وا ػػد ثػػـ معالجػػ .القػػيـ اشػػكؿ فػػردى أو جمػػاعي عاػػر استعماؿ مق FOR – NEXT .أو أ دى عاارات …do -3-6إنشاء المصفوفة يتـ إنشاء تصري المصتوفات قي الارنامف مثمما يتـ تصػري المتغيػ ارت لكػف المكػأف الػذي تصػرح فيو المصتوف .ي دد مكأف استعماليا أو ما يسمىب مجاليا DOMAINفي الارنامف اذا تـ تصري المصتوف .م مياً ،يمكف اسػتعماليا فػي األجػراء الػذي صػر تو فيػو فقػط إمػا إذا تػـ تصري يا عمومياً في و ده نمطي .قياسي .فيمكف استعماليا في أي مكأف في الارنامف -4-6الصيغة العامة لممصفوفة-: إف التركيب الن وي األساسي لتصري المصتوف .ثاات .ال جـ ىو-: 71 PUBLIC arrayname ( DIM1elements,DIM2elements,……)AS datatype يث إف : : PUBLIC ىي الكمم .الدليمي .التي تنش ي مصتوف .عام .ويمكف إف تكوف STATIC إذا كأف تصري المصتوف .خاص. :arrayname ىو اسـ المصتوف ، .وىو اسـ متغير يمكف إف يكوف أي اسـ ويتضػؿ إف يكوف ذا معنا يو ي إلى صم .معين .االمصتوف. : DIM1elements ىو عدد عناصر في الاعد األوؿ في المصتوف. :DIM2elements ىو عدد العناصر في الاعد الثاني في المصتوف.بيمكف إنشػاء إاعػاد إضػػافي .فػػي المصػػتوف .فالمصػػتوف .التػػي ت تػػوي عمػػى اعػػد وا ػػد فأنيػػا تسػػمى مصػػتوف. أ ادي .واذا كأنت ت توي عمػى اعػديف فأنيػا تسػمى مصػتوف .ثنا يػ .وىكػذا إمػا عػف عػدد عناصػػر المصػػتوف .فأنػػو اصػػؿ ضػػرب عػػدد العناصػػر إاعػػاد المصػػتوف ،.فػاذا كػػأف الاعػػد األوؿ ى ػػو 5والاع ػػد الث ػػاني ى ػػو 3ف ػػأف ع ػػدد عناص ػػر المص ػػتوف .ب 15=5*3إم ػػا إذا كأن ػت المصػػتوف .ثيثيػػ .وااعادىػػا ىػػي ب 5، 3 ،2فػػأف عػػدد عناصػػر المصػػتوف .ىػػو ب 30=5*3*2 مالحظة أ يانا وفي ال .المصتوفات األ ادي .ال يتـ ت ديد عدد عناصر المصتوف .وىػذا مػا يدعى االمصتوف .الديناميكي. : datatypeىػي الكممػ .الدليميػو التػي ت ػدد نػوع الايانػات التػي سػتخزف فػي المصػتوف. أي انػػو إذا كػػأف نػػوع الايانػػات INTEGERفػػأف جميػ الايانػػات يجػػب إف تكػػوف إعػػداد ص ي .واذا كأف STRINGفأنيا يجب إف تكوف جميعيا سيسؿ رمزيػ .إال فػي الػ. النوع الاياني variantفأنو يقاؿ أي نوع اياني مالحظة اخصػوص فيرسػػ .عناصػػر المصػػتوف .فأنػػو ياػػدأ اشػػكؿ تمقػػا ي مػػف الصػػتر إي انػػو إذا كػػأف عػػدد عناصر المصتوف .ىو 10فأنو سوؼ يتـ فيرس .العناصر مف 0إلى 9وىي عشرة عناصر إما إذا أردنا إف تاػدأ التيرسػ .مػف 1فأننػا يجػب إف نصػرح فػي الادايػ .ايػذا األسػاس وذلػؾ اوضػ العاارة OptionBase1في الجزء generalفي نافذة اؿ codeاالضاط كما عممنا م العاارة option explicit 70 -5-6التعامل مع المصفوفات بداخل شفرة البرنامج امػػا إف المصػػتوف .ىػػي مجموعػػ .مػػف الايانػػات مػػف نتػػس النػػوع ل ػذلؾ مػػف الضػػروري جػػداً عنػػدما نتعامػػػؿ معيػ ػػا إف نسػ ػػتخدـ أ ػ ػػدى دورات التك ػ ػرار ب العاػػػارات التك ارري ػػ .واف أفضػ ػػؿ العاػػػارات التك ارري .المي م .لمتعامؿ م المصتوفات ىي عاارة for…next يث إنيا عاػارة تك ارريػ .غيػر مشروط .كذلؾ فأف فييا عداد قيم .األولي .والنيا ي .معمومتػاف وىػذا ىػو ػاؿ المصػتوف .يػث إف القيمػػ .األوليػػ .لمعػػداد تمثػػؿ ادايػػ .التيرسػػ .لممصػػتوف .ب ال ػػد األدنػػى لممصػػتوف .والقيمػػ .النيا يػػ. لمعداد تمثؿ نياي .التيرس .لممصتوف .بال د األخير ليا وسوؼ يتض فيما يأتي ماتـ شػر و اخصػوص المصػتوفات اال اديػو والثنا يػ .وذلػؾ فػي كػؿ مػف المشاري االتي-: . -6-6امثمة توضيحية حول المصفوفات: -1-6-6المشروع األول في ىذا المشروع سوؼ يتـ التعامؿ م مصتوف .أ اديو ت توي عمى مجموعػ .قػيـ تمثػؿ مجموعػ. مف الدرجات وسوؼ يتـ اختاار أي مف ىذه الدرجات ىي العميا وأي منيا ىي األقؿ-: -1تصميم واجهة المشروع Test Quit COMMAND1 COMMAND2 72 إعداد خصائص الكيان اإلعداد Test Quit الخاصية Caption Caption الكيان Command1 Command2 إعداد وكتابة شفرات المشروع : ىيQuit الذي اسموcommand2 شترة الكياف-1 end : Test الذي اسموcommand1 شترة الكياف-2 Dim i as integer ,x as integer ,y as integer Dim title as string Static degree(5) as integer For i=0 to 4 title=”degree”&i degree(i) =inputbox (“enter the degree “,title) Next i X=degree(0) For i=1 to 4 If x>=degree(i) then Msgbox (“ the higest degree is “& x) Else Y=x X=degree(0) degree(i)=y End if Next i For i= 1 to 4 If x<degree(i) then Msgbox(“the lowest degree is “& x) Else 73 Y=x )X=degree(i degree(i)=y End if Next i -2-6-6المشروع الثاني سنتعمـ في ىذا المشروع طريقو أخرى لقراءة وطااع .عناصر المصػتوف .يػث سنسػتخدـ مراعػات نػص اقػدر عػدد عناصػر المصػتوف .وىػي فػي ال قيقػ .مراػ نػص وا ػد ولكػف نقػوـ اتكػ ارره اطريقػػ. النسخ والمصؽ ،وىذه الطريق .بالنسخ والمصؽ متيدة فػي الػ .م مصػتوفات عناصػر الػت كـ مػثي في ال .مصتوف .مف الصور imageاو مصتوف .مف اإلشكاؿ shape في مثالنا ىذا سنقوـ اقراءة بادخاؿ مصتوف .ا ادي .مكون .مف 10اعداد ويتـ ترتيايا مره تنازليا ومره تصاعديا ويتـ قراءة المصتوف .وطااعتيا مف خيؿ نتس مراعات النص اعداد واجهة المشروع-: واجهة املشروع عند تنفيذ الرتتيب التصاعدي 74 خيؿ اعداد واجي .المشروع وخاص .عندما نريد انشاء مصػتوف .عناصػر الػت كـ بفػي ىػذا المثػاؿ مصتوف .مراعات النص عمينا مراعاة االمور التالي-:. ننشئ مرا نص عمى النموذج ونسميو مثي mtxtونضاط خصا صو ساما نريد نضغط clickايمف عمى مرا النص ونختار االمر نسخ copyثـ نضغط clickايمف عمى مكأف فارغ عمى سط النموذج ونختػار االمػر لصػؽ pasteثػـ نختػار yesني ػظ تـ انشاء مرا نص جديد ي مؿ نتس اسـ مرا النص االوؿ خيؿ الخطوة السااق .عندما اخترنا االمر لصؽ ظير لنا مرا وار ي وي متتا يف ىمػا yesو Noوي توي عمى الرسال .االتي:. ب you already have a control named 'mtxt' .Do you want to create a ?control array الرسال .اعيه تعنيبانؾ تممؾ عنصر ت كـ ىؿ تريد انشاء مصػتوف. عناصر ت كـ 1اذا اخترنا Noسينشئ مرا نص العيق .لو امرا النص االوؿ 2اذا اخترن ػػا Yesسينش ػػئ مراػ ػ ن ػػص جدي ػػد اس ػػمو mtxtوالخاص ػػي index .ل ػػو مساوي .لػ 1 ني ػػظ اف الخاصػػي index .لمراػ الػػنص االوؿ قاػػؿ عمميػػ .النسػػخ والمصػػؽ كأنػت فارغػػ. ولكف اصا ت 0اعد العممي .وىذا يعتار امثاا .عداد لمراعات الػنص بلمصػتوف .عناصػر الت كـ اعداد خصائص كيانات المشروع-: الكيان اإلعداد الخاصية Command1 Captionترتيب تصاعدي Command2 Captionترتيب تنازلي Command3 Captionخروج كتابة شفرات الكيانات-: 1شترة الكياف كخروجك End : 2شترة الكياف كترتيب تصاعديك : Dim a(10) As Integer 75 Dim i As Integer, j As Integer Dim x As Single For i = 0 To 9 a(i) = Val(mtxt(i)) Next i For i = 0 To 9 For j = i + 1 To 9 If a(j) < a(i) Then x = a(j) a(j) = a(i) a(i) = x End If Next j Next i For i = 0 To 9 mtxt(i) = a(i) Next i : شترة الكياف كترتيب تنازليك3 Dim a(10) As Integer Dim i As Integer, j As Integer Dim x As Single For i = 0 To 9 a(i) = Val(mtxt(i)) Next i For i = 0 To 9 For j = i + 1 To 9 If a(j) > a(i) Then x = a(j) a(j) = a(i) a(i) = x End If Next j Next i For i = 0 To 9 mtxt(i) = a(i) Next i المشروع الثالث-3-6-6 76 فػػي ىػػذا المشػػروع سػػنتعمـ كيتيػػ .ق ػراءة عناصػػر المصػػتوف .با اديػػ .او ثنا يػػ .مػػف خػػيؿ االداة inputboxوكيتي ػػ .طااع ػػ .عناص ػػر المص ػػتوف .عم ػػى النم ػػوذج ااس ػػتخداـ العا ػػارة Print في ىذا المشروع سنقوـ اقراءة مصتوف .مراع.ب 3x3ثـ ااداؿ عناصر الصػؼ االوؿ مػ عناصر الصؼ االخير وطااع .المصتوف .عمى النموذج قاؿ واعد عممي .االاداؿ اعداد واجهة المشروع-: واجهة املشروع عند التنفيذ اعداد خصائص الكيانات-: الكيان اإلعداد الخاصية Caption Caption Command1 Command2 كتابة شفرات المشروع-: 77 Read/replace exit شترة االمر end : exit شترة االمر read/replace Dim a(3, 3) As Integer Dim i As Integer, j As Integer Dim x As Single For i = 0 To 2 For j = 0 To 2 )"a(i, j) = InputBox("inter any number Next j Next i For i = 0 To 2 For j = 0 To 2 ;" " & )Print a(i, j Next j Print Next i For j = 0 To 2 )x = a(0, j )a(0, j) = a(2, j a(2, j) = x Next j Print: Print For i = 0 To 2 For j = 0 To 2 ;" " & )Print a(i, j Next j Print Next i في المشروع األتي سنستخدـ طريق .تعتاربمف وجي .نظر المارمف مف افضؿ الطرؽ لمتعامؿ م المصػػتوفات فػػي اي ػػ VB .يػػث انػػو فػػي المشػػروع االوؿ تػػـ اسػػتخداـ الدالػػ Msgbox .الظيػػار النتػػا ف وىػػذا اليسػػم لنػػا امعاينػػ .جمي ػ عناصػػر المصػػتوف .فػػي آف وا ػػد ،فػػي المشػػروع الثػػاني 78 استخدمنا مراعات نص وىذه ال ال .غير ايجااي .يث اليمكف استخداميا في ال .كػوف عناصػر المصتوف .ذات عددكاير جدا بمثي مصتوف .تتكوف مػف 100عنصػر ،وىػذا يتطمػب منػا انشػاء مراعػػات ن ػػص كثي ػرة ج ػػدا ،ك ػػذلؾ غيػػر فعال ػػ .ف ػػي الػػ .ت دي ػػد عناص ػػر المصػػتوف .خ ػػيؿ تنتي ػػذ الارنامف ،اما في المشروع الثالث فقد تـ استخداـ سط النموذج لطااع .عناصػر المصػتوف .وىػذه ال الػػ .غيػػر فعالػػ .ايضػػا يػػث انيػػا سػػوؼ تشػػغؿ مسػػا .غيػػر معروفػػ .مسػػاقا مػػف سػػط النمػػوذج وىذا ما يؤثر سماا عمى الكيانات االخرى -4-6-6المشروع الرابع-: في ىذا المشروع سنتعمـ كيتي .التعامؿ مف خيؿ األداة Inputboxلقراءة عناصرىا واستخداـ مرا نص وا د فقط إلظيار نتا ف المعالج .كطااع .جمي عناصر المصتوف .او جزء منيا ،سنقوـ في ىذا المشروع اقراءة مصتوف .مراعوب 3x3ااستخداـ االداة inputboxثـ نقوـ اااداؿ عناصر العمود االوؿ م عناصر العمود االخير مف المصتوف .ثـ نقوـ اطااع .المصتوف .اعد عممي .التاديؿ في مرا النص اعداد واجهة المشروع-: واجهة المشروع عند التنفيذ اعداد خصائص الكيانات-: الكيان اإلعداد الخاصية 79 Read/replace Exit txt1 True Caption Caption Name Multiline Command1 Command2 Text1 -:كتابة شفرات المشروع end : exit شترة االمر read/replace شترة االمر Dim a(3, 3) As Integer Dim i As Integer, j As Integer Dim x As Single For i = 0 To 2 For j = 0 To 2 a(i, j) = InputBox("inter any number") Next j Next i For i = 0 To 2 For j = 0 To 2 txt1.Text = txt1.Text & a(i, j) & Space(2) Next j txt1.Text = txt1.Text & vbNewLine Next i For i = 0 To 2 x = a(i, 0) a(i, 0) = a(i, 2) a(i, 2) = x Next i txt1.Text = txt1.Text & vbNewLine For i = 0 To 2 For j = 0 To 2 txt1.Text = txt1.Text & a(i, j) & Space(2) Next j txt1.Text = txt1.Text & vbNewLine Next i 81 -7-6العمميات الحسابية والمصفوفات-: سنتناوؿ ىنا كيتي .اجراء العمميات ال سااي.بجم ،طرح،ضرب،قسم .ايف عنصر ومصتوف .وايف مصتوف .ومصتوف .أخرى -1-7-6العمميات الحسابية بين عنصر ومصفوفة-: إف إج ػراء أي عمميػػ .سػػااي .بجم ػ ،طػػرح ،ضػػرب ،قسػػم .اػػيف أي عنصػػر ومصػػتوف .تػػتـ اكػػؿ سػػيول .بفػػي كػػي ػػالتي المصػػتوفات اال اديػػ .والثنا يػػ. يػػث يػػتـ اج ػراء تمػػؾ العمميػػ .اػػيف ذلػػؾ العنصػػر واػػيف جمي ػ عناصػػر المصػػتوف .ا يػػث تنػػتف لنػػا مصػػتوف .ااعادىػػا نتػػس ااعػػاد عناصػػر المصتوف ،.وكما موض في االمثم .التالي:. مثال:1ناخذ ىنا مثاؿ وؿ ضرب عنصر وليكف Xفي مصتوف .ا ادي .ولتكف Aوكما يمي: اعداد واجهة المشروع-: واجهة المشروع عند التنفيذ اعداد خصائص الكيانات-: الكيان اإلعداد الخاصية 80 Read/Multiple Exit txt1 True Caption Caption Name Multiline Command1 Command2 Text1 -:كتابة شفرات المشروع end : exit شترة االمر read/multiple شترة االمر Dim a(3) As Integer Dim i As Integer Dim x As Single x = InputBox("enter any single number") For i = 0 To 2 a(i) = InputBox("inter any number") Next i txt1.Text = x & vbNewLine For i = 0 To 2 txt1.Text = txt1.Text & a(i) & Space(4) Next i txt1.Text = txt1.Text & vbNewLine For i = 0 To 2 txt1.Text = txt1.Text & (a(i) * x) & Space(4) Next i : قمنا ااالتيRead/Multiple خيؿ شترة االمر اعػدىا قمنػا اقػراءةa ب. ا اديػ. ثػـ تعريػؼ مصػتوف،. المػراد ضػراو االمصػتوفX تعريؼ العنصر اعػدىا تػـInputbox . الدالػ. وكي القػراءتيف تمػت اطريقػFor اعاارة.العنصر ثـ قراءة المصتوف فػػي سػػطر جديػػد فػػي مرا ػ الػػنص وذلػػؾ. العنصػػر فػػي مرا ػ الػػنص ثػػـ طاعنػػا المصػػتوف.طااعػػ space(4) . امػا الدالػ، وتعنػي ت ريػؾ المؤشػر الػى سػطر جديػدvbnewline .ااستخداـ الطريقػ 82 فػػتـ اسػػتخداميا ل جػػز ف ارغػػات اقػػدر ارا ػ خانػػات ويمكػػف زيػػادة او تقميػػؿ ىػػذا العػػدد مػػف الت ارغػػات سب الرغا ، .لكي تظير فراغات ايف عناصر المصتوف. اع ػػدىا قمن ػػا ا ػػاجراء عممي ػػ .الض ػػرب ا ػػيف العنص ػػر وجميػ ػ عناص ػػر المص ػػتوف .وطااع ػػ .عناص ػػر المصتوف .الناتج .في سطر جديد اداخؿ مرا النص مثــال -:2فػػي ىػػذا المثالسػػوؼ نقػػوـ اػػاجراء عمميػػ .الضػػرب اػػيف عنصػػر ومصػػتوف .مراعػػو ،وكمػػا موض ادناه: اعداد واجهة المشروع-: واجهة المشروع عند التنفيذ 83 -:اعداد خصائص الكيانات اإلعداد Read/Multiple Exit txt1 True الخاصية Caption Caption Name Multiline الكيان Command1 Command2 Text1 -:كتابة شفرات المشروع end : exit شترة االمر read/multiple شترة االمر Dim a(3, 3) As Integer Dim i As Integer, j As Integer Dim x As Single x = InputBox("enter any single number") For i = 0 To 2 For j = 0 To 2 a(i, j) = InputBox("inter any number") Next j Next i txt1.Text = x & vbNewLine For i = 0 To 2 For j = 0 To 2 txt1.Text = txt1.Text & a(i, j) & Space(4) Next j txt1.Text = txt1.Text & vbNewLine Next i For i = 0 To 2 For j = 0 To 2 txt1.Text = txt1.Text & (a(i, j) * x) & Space(4) Next j txt1.Text = txt1.Text & vbNewLine 84 Next i -2-7-6العمميات الحسابية بين مصفوفة ومصفوفة-: عند اجراء أي عممي .سااي .مف العمميا االساسي .االرا ايف أي مصتوفتيف فانو يجب اف تكوف كػػي المصػػتوفتاف متسػػاويتاف فػػي االاعػػاد ماعػػدا عمميػػ .ضػػرب المصػػتوفات الثنا يػػ .وكمػػا سػػياتي شر و ال قا في موضوع ال ؽ مثال -:1باجراء عممي .الجم ايف مصتوفتيف ا اديتيف سػػوؼ نقػػوـ اتعريػػؼ كػػي المصػػتوفتيف aو bوذات اعػػد وا ػػد ومصػػتوف .ثالثػػ. cبتمثػػؿ المصػػتوف .الناتجػػ .اػػنتس الاعػػد ثػػـ نقػػو ـ اطااعػػ .المصػػتوفتيف قاػػؿ الجم ػ وطااعػػ .المصػػتوف. الناتج. اخذنا في ىذا المثاؿ اجراء عممي .الجم ويمكف اخذ أي عممي .سااي .اخرى اعداد واجهة المشروع-: واجهة المشروع عند التنفيذ اعداد خصائص الكيانات-: 85 اإلعداد Read/add Exit txtadd True الخاصية Caption Caption Name Multiline الكيان Command1 Command2 Text1 -:كتابة شفرات المشروع end : exit شترة االمر Read/add شترة االمر Dim a(3) As Integer, b(3) As Integer, c(3) As Integer Dim i As Integer For i = 0 To 2 a(i) = InputBox("inter any number", "array A") txtadd.Text = txtadd.Text & a(i) & Space(4) Next i txtadd.Text = txtadd.Text & vbNewLine For i = 0 To 2 b(i) = InputBox("inter any number", "array B") txtadd.Text = txtadd.Text & b(i) & Space(4) Next i txtadd.Text = txtadd.Text & vbNewLine For i = 0 To 2 txtadd.Text = txtadd.Text & (a(i) + b(i)) & Space(4) Next i الطرح ايف مصتوفتيف مراعتيف. باجراء عممي-:2مثال -:اعداد واجهة المشروع 86 واجو المشروع عند التنفيذ -:اعداد خصائص الكيانات اإلعداد Read/sub Exit txtsub True الخاصية Caption Caption Name Multiline الكيان Command1 Command2 Text1 -:كتابة شفرات المشروع end : exit شترة االمر read/sub شترة االمر Dim a(3, 3) As Integer, b(3, 3) As Integer 87 Dim i As Integer, j As Integer For i = 0 To 2 For j = 0 To 2 )"a(i, j) = InputBox("inter any number", "array A )txtsub.Text = txtsub.Text & a(i, j) & Space(4 Next j txtsub.Text = txtsub.Text & vbNewLine Next i txtsub.Text = txtsub.Text & vbNewLine For i = 0 To 2 For j = 0 To 2 )"b(i, j) = InputBox("inter any number", "array B )txtsub.Text = txtsub.Text & b(i, j) & Space(4 Next j txtsub.Text = txtsub.Text & vbNewLine Next i txtsub.Text = txtsub.Text & vbNewLine For i = 0 To 2 For j = 0 To 2 )txtsub.Text = txtsub.Text & (a(i, j) - b(i, j)) & Space(4 Next j txtsub.Text = txtsub.Text & vbNewLine Next i -8-6ضرب المصفوفات الثنائية اف جمي ػ ػ العمميػ ػػات ال سػ ػػااي .االساسػ ػػي .االرا ػ ػ يمكػ ػػف إجراؤىػ ػػا اسػ ػػيول .ماعػ ػػدا عمميػ ػػ .ضػ ػػرب المصػػتوفات فانػػو يشػػترط اف يكػػوف عػػدد اعمػػدة المصػػتوف .االولػػى مسػػاو لعػػدد صػػتوؼ المصػػتوف. الثاني .يكوف ااعاد المصتوف .الناتجػ .ىػي عػدد الصػتوؼ مسػاو لعػدد صػتوؼ المصػتوف .االولػى وعدد االعمدة ىو مساو لعدد اعمدة المصتوف .الثاني. فػػاذا كانػػت ) a(3,2و ) b(2,2فػػاف المصػػتوف .الناتجػػ .ىػػي ) c(3,2امػػا عمميػػ .الضػػرب فتػػتـ سب المعادل .الرياضي .التالي=: . 88 ) c(i, j ) a(i, k ) * b(k , j اي انو كؿ عنصر مف عناصر المصتوف .الناتج .ىو اصؿ مجمػوع ضػرب عناصػر صػؼ ىػذا العنص ػػر االمص ػػتوف .االول ػػى مػ ػ عناص ػػر العم ػػود المقاا ػػؿ ل ػػو ف ػػي المص ػػتوف .الثاني ػػ .ف ػػاذا اخ ػػذنا عناصر المصتوفتيف a,bالسااقتيف فاف عناصر المصتوف c .الناتج .تكوف االشكؿ التالي-: با يث يادأ المصتوفات اػب0،0 ])c(0,0)=[a(0,0)*b(0,0)]+[a(0,1)*b(1,0 ])c(0,1)=[a(0,0)*b(0,1)]+[a(0,1)*b(1,1 ])c(1,0)=[a(1,0)*b(0,0)]+[a(1,1)*b(1,0 ])c(1,1)=[a(1,0)*b(0,1)]+[a(1,1)*b(1,1 ])c(2,0)=[a(2,0)*b(0,0)]+[a(2,1)*b(0,1 ])c(2,1)=[a(2,1)*b(1,0)]+[a(2,1)*b(1,1 المثال التالي ىو وؿ ضرب مصتوفتيف مراعتيف: اعداد واجهة المشروع-: واجهة المشروع عند التنفيذ اعداد خصائص الكيانات-: 89 اإلعداد Read/multiple Exit txtmult True الخاصية Caption Caption Name Multiline الكيان Command1 Command2 Text1 -:كتابة شفرات المشروع end : exit شترة االمر read/multiple شترة االمر Dim a(3, 2) As Integer, b(2, 2) As Integer Dim c(3, 2) As Integer Dim i As Integer, j As Integer, k As Integer For i = 0 To 2 For j = 0 To 1 a(i, j) = InputBox("inter any number", "array A") txtmult.Text = txtmult.Text & a(i, j) & Space(4) Next j txtmult.Text = txtmult.Text & vbNewLine Next i txtmult.Text = txtmult.Text & vbNewLine For i = 0 To 1 For j = 0 To 1 b(i, j) = InputBox("inter any number", "array B") txtmult.Text = txtmult.Text & b(i, j) & Space(4) Next j txtmult.Text = txtmult.Text & vbNewLine Next i txtmult.Text = txtmult.Text & vbNewLine For i = 0 To 2 For j = 0 To 1 For k = 0 To 1 c(i, j) = c(i, j) + (a(i, k) * b(k, j)) 91 Next k txtmult.Text = txtmult.Text & c(i, j) & Space(4) Next j txtmult.Text = txtmult.Text & vbNewLine Next i 90 انفصم انسببغ/انذوال وانبشامج انفشػية Functions & Procedures -1-7مقدمــة: اشكؿ عاـ ،الدواؿ والا ارمف الترعي .عاػارة عػف اػرامف-او اجػزاء اػرامف-ثانويػ .يػتـ اسػتخداميا الداء غرض معيف ومف فوا دىا: تقميؿ وتيفي التكرار في اناء الارامف مرة اخرىتقميؿ الوقت المطموب لاناء الارامف والمشارعالتقميؿ مف الذاكرة المطموا .لشترات وايانات المشروعىنالؾ نوعيف مف الارامف الترعي .مف يث مكأف الاناء والتصري ىما: الو ػػدات النمطيػػ Module .وىػػي تمثػػؿ ا ػػد الكيانػػات االساسػػي .التػػي تقػػدميا لغػػVB . لممارمجيف يث يتـ إنشاؤىا مف خيؿ قا م project\add new module .بكمػا تػـ شػر و فػي التصؿ االوؿ ضمف شرح شريط القوا ـ في ىػذه الو ػدة النمطيػ .يػتـ تعريػؼ المتغيػرات والكيانػات التي يتـ استخداميا فقط ويتـ كتاا .الارامف المراد اجراءىا كامم. الارامف الترعي .الخاص .االمشروع المراد عممو وىي تشتمؿ عمى الدواؿ والاػرامف الترعيػ،. ويتـ تعريتيا في الجزء Generalالموجود في كؿ نموذجبفي نافػذة الشػترات Code Window الترؽ ايف ىذيف النوعيف ىو اف الو دات النمطي Module .يمكػف اسػتخداميا فػي أي كيػاف اػاي نموذج موجود ضمف المشروع اما النػوع االخػر فانػ .يمكػف اسػتخدامو فقػط ضػمف الكيانػات التااعػ. لنموذج وا د فقط -2-7الدالة -: Function الشكؿ العاـ لتعريؼ أي دال .ىو-: [public| private] function name [(argument list)] :data type ])[statement(s ])[statement(s End Function يث اف: 92 ][public| private :تعنػي اف ىػذه الدالػ .ىػي ذات تصػري خػاص او عػاـ فػاذا كأن ػت ذا تص ػري خػػاص نكتػػب فقػػط privateواذا كأن ػت ذا تص ػري عػػاـ نكتػػب ،publicوىػػي عااره اختياري .يمكف عدـ استخداميا : function nameاسـ الدال .وىو جزء يجب استخدامو ]): [(argument listتعني قا م .المعاميت الخاصػ .االدالػ .ويػتـ وضػعيا اػيف اقػواس وىي اختياري .يث في ال .عدـ وجود معاميت اليتـ كتاا .ىذا الجزء : Data typeتعني النوع الاياني الخاص االدال .ص ار ويمكف استخداـ الصيغو اعػيه فػي و ػدة نمطيػ .مسػتقم .او فػي نتػس نافػذة الشػترات التااعػو لػنتس النموذج وذلؾ في الجزء General عنػػد اسػػتدعاء أي دالػػو يػػتـ كتااػػ .اسػػميا ثػػـ اق ػواس اذا كأن ػت ت تػػوي عمػػى معػػاميت فيػػتـ وض ػ اسماء المعاميت ايف االقواس واذا كأنت الت توي عمى معاميت اليتـ وض اقواس التػػرؽ اػػيف الدالػػ .والارنػػامف الترعػػي ىػػو اف الدال ػػ .تقػػوـ اارجػػاع قيمػػ .ذات نػػوع ايػػاني وا ػػد ام ػػا الارنامف الترعي فاف يقوـ اارجاع قيم .وا دة او عدة قيـ مف انواع اياني .مختمت. مثاؿ وؿ استخداـ الدوؿ -: Function نقوـ اوال اتت و دة نمطي Module .ونكتب فييا الشترة التالي: . Function numberic(n as integer) as string Select case n ”Case 1:numberic=”first ”Case 2:numberic=”second ”Case 3:numberic=”third ”Case 4:numberic=”fourth ”Case 5:numberic=”fifth End select End function 93 يتضح ىنا كيفية فتح وحدة نمطية جديده شكل يوضح كيفية فتح وحدة نمطية جديده ثـ نض عمى النموذج متتاح امر ومراعي نص ونكتب في متتاح االمر الشترة التالي. Dim a as integer )A=val(text1.text )Text2.text=numberic(a 94 شكل المشروع عند التنفيذ فػػي ىػػذا المشػػروع نقػػوـ اوال اكتااػػ .رقػـ بمػػف 1إلػػى 5فػػي مراػ الػػنص االوؿ ثػػـ نضػػغط click ايسر عمى متتاح االمر يث سوؼ يقوـ الارنامف اطااع .ىذا الرقـ كتاا .في مرا الػنص الثػاني -3-7دوال التعامل مع النصوص -: في لغ VB .ىنالؾ مجموع .مف الدواؿ الجاىزة التي تسيؿ العمػؿ والتعامػؿ مػ النصػوص وىػذه الدواؿ ىي : الدال. )Len(s )Left (S,N استخداميا تتيد طوؿ السمسم. مثاؿ )” Len(“aliفأنيا تعيد 3 S ) Left(“ali”,2فأنيا تعيد ali تعيد nرموز السمسم. 95 Sادأ مف يسارالسمسمو s ) Right (S,nتعيد nمف رموز السمسمs . ) Right (“ali”,1فأنيا تعيد كIك ادا مف يميف السمسمs . ) Mid (s,n,mتعيػػد mمػػف رمػػوز السمسػػم(“mahamed”,3,5) . تعيد ك ”hmed s ادء مف الرمز n )Ltrim(s Midفأني ػػا تمسػ ػ ػ الت ارغ ػ ػػات م ػ ػػف يس ػ ػػار بك aliك ltrimفأنيا تعيد ali السمسػ ػ ػػم S .إذا كػ ػ ػػأف ىنالػ ػ ػػؾ فراغات )Rtrim(s تمسػ ػ ػ الت ارغ ػ ػػات م ػ ػػف يم ػ ػػيف بك aliك rtrimفأنيا تعيد ali السمسمs . )Trim(s تمس ػ ػ الت ارغػ ػػات مػ ػػف يمػ ػػيف بك aliك trimفأنيا تعيد ali ويسار السمسمs . )Ucase(s ت وؿ أ ػرؼ السمسػم s .إلػى بك aliك Ucaseفأنيا تعيد ALI أ رؼ كايرة )Lcase (s ت وؿ أ ػرؼ السمسػم s .إلػى بك aliك Lcaseفأنيا تعيد ali أ رؼ صغيرة )ASC(S تعيػػد رقػػـ ال ػػرؼ Sالموجػػود بك aliك ASCفأنيا تعيد 65 في جدوؿ رموز ASCII )CHR(N تعي ػػد ال ػػرؼ ال ػػذي رقم ػػو CHR(65) Nفأنيا تعيد كAك في جدوؿ رموز ASCII -4-7البرامج الفرعية -: Procedures الصيغو العام .لتعريؼ الامرامف الترعي .ىي-: ])[public| private] sub name [(argument list ])[statement(s 96 ])[statement(s End sub ويػػتـ اسػػتدعاء الارنػػامف الترعػػي امػػا اكتااػػ .اسػػمو فقػػط اذا كػػأف الي تػػوي عمػػى عمػػى معػػاميت او اكتااػػ .الدالػػ call .ثػػـ اسػػـ الارنػػامف الترعػػي ووضػ قوسػػيف ىيليػػيف اعػػد اسػػـ الارنػػامف اواكتااػػ. اسػػـ الارنػػامف الترعػػي فقػػط ثػػـ وضػ المعػػاميت اػػيف اقػواس ويمكػػف اسػػتخداـ الصػػيغو اعػػيه فػػي و دة نمطي .مستقم .او في نتس نافذة الشترات التااعو لنتس النموذج وذلؾ فػي الجػزء General 97 انفصم انثبمن/انمهفبت وقىاػذ انبيبنبت Files and DataBase -1-8الممفات -:Files الممؼ:ىػػو عاػػارة عػػف سمسػػم .مػػف ال ػػروؼ واالرقػػاـ المتتااعػػو ذات جػػـ معػػيف ويػػتـ تخزينػػو عمػػى و دة تخزيف خارجيSecondary Memory . تستطي لغ Visual Basic .التعامؿ م ثيث انواع مف الممتات ىي : 1الممتات المتتااعSequential Files . 2الممتات العشوا يRandom Access Files . 3الممتات الثنا يBinary Files . وفيما يمي شرح متصؿ لكيتي .التعامؿ م ىذه األنواع الثيث: -2-8الممفات المتتابعة -: Sequential Files يتكوف ىذا الممؼ مف سمسم .مف ال روؼ واالرقاـ مقسم .كالسطور وسميت االمتتااعو الف عممي. قراءتيػا والا ػث فييػػا عػف أي رمػػز او ػرؼ او جممػػ .او كممػو او فقػرة تكػوف االتتػػاا فمػثي عنػػدنا نريد اف نق ار الرمز السادس الموجود في السطر الخامس فاف المعالف يمر عمى جمي الرموز التي تساؽ ىذا الرمز وىكذا ،مما يؤدي الى ضياع وقت في عممي .الا ث وتتميز ىذه الممتات اانيػا يمكف قراءة م توياتيا ااستخداـ أي معالف لمنصوص العمميات التي يمكف إج ار يا عمى الممتات المتتااعو: 1انشاء ممؼ جديد 2فت ممؼ موجود مساقا 3القراءة مف ممؼ 4الكتاا .في ممؼ جديد 5االضاف .الى ممؼ موجود مساقا 6غمؽ ممؼ وفيما يمي شرح موجز ليذه العمميات: .1انشاء ممف جديد: 98 اليوجد امػر خػاص اانشػاء ممػؼ جديػد ولكػف يمكػف اعتاػار عمميػ .فػت أي ممػؼ لمقػراءة منو اولمكتاا .في .ىي امثاا .انشاء ممؼ جديد 2فتح ممف: الصيغو العام .المر فت الممؼ في لغ VB .ىي: طوؿ السجؿ= lenرقـ اختياري لمممؼ for input as#اسـ الممؼ Open يث اف: اسـ الممؼ:ىػو االسػـ المسػموح فيػو داخػؿ نظػاـ الػػب DOSو/او امتػداده أي يتكوف مف ثماني .ا رؼ ك د اقصى ثـ يتاػ اػػب ثـ امتػداد ذلػؾ الممػؼ وىػو اما يكوف datاو txt :For input ويقصد ايا اف ىذا الممؼ متتوح لغرض القػراءة منػو فقػط ولكػي يتػػت لمكتااػػ .فيػػو نسػػتادؿ ىػػذه الجممػػ .اػ ػ for outputولكػػي نتػػت الممػػؼ ليضاف .اليو نستادليا اػ for append رقـ اختيػاري لمممؼ:وىػو رقػـ ينسػب ليػذا الممػؼ ويػتـ التعامػؿ ايػذا الػرقـ مػ الممؼ ادال مف اسمو ال قيقي طوؿ السجؿ:ويقصد او االخزيف الوقتي ، Bufferوالمقصود او ىنا ىو عدد الرموز القصوى التي يمكف التعامؿ ايا م الممؼ فػي العمميػ .الوا ػدة-قػراءة اوكتاا-.فمو ددنا ىذا المتغير اػ– 80عمى سايؿ المثػاؿ-فاننػا سػنتعامؿ مػ الممؼ او دات طوليا 80رمز في المرة الوا دة مي ظ:. -1اما أف اسـ الممؼ ىو نص إذا يجب وضعو ايف عيمتي تنصيص مزدوجوبعيمتي اقتااس ك ك -2اذا كػأف الممػؼ المػراد التعامػؿ معػػو موجػود ضػمف المجمػػد ال ػالي الػػذي نعمػؿ اداخمػػو بالمجمػػد الػػذي ي ػػوي المشػػروع المنشػػأ ،فاننػػا فقػػط نكتػػب اسػػـ الممػػؼ وىي تػػو ،امػػا اذا كػػأف الممػػؼ الم ػراد التعامػػؿ معػػو خػػارج المجمػػد الموجػػود فيػػو المشػػروع فاننػػا يجػػب اف نكتب امتداده االتماـ مثي : ""C:\My Document\a1.txt 99 -3 القراءة من الممف: الصيغ .العم .المر القراءة مف الممؼ ىي: متغيرالقراءة ,رقـ الممؼ االختياريLine input# يث اف :رقـ الممؼ االختياري:تـ شر و سمتا متغير القراءة:ويقصد او متغير مػف النػوع stringيػث يقػوـ معػالف المغػو اقػراءة سػطر كامؿ مف الممؼ ويضعو اداخؿ ىذا المتغير مثػ ػػاؿ:في ىػ ػػذا المثػ ػػاؿ نقػ ػػوـ اق ػ ػراءة متغيػ ػػر رمػ ػػزي اسػ ػػمو lineneadثػ ػػـ نقػ ػػوـ اتت ممػ ػػؼ اسػ ػػمو myworkوىو موجود انتس المجمد نتت و لمقراءة ونسػميو اػػب 1ون ػدد طػوؿ ال ػ bufferاصػتر ث ػػـ نقػ ػراء المم ػػؼ س ػػطر اع ػػد اخ ػػر ااس ػػتخداـ ال ػػدوارة Do…loopوي ػػتـ ع ػػرض م توي ػػات المم ػػؼ ااستخداـ الدال msgbox .التي تعرض سطر كؿ مرة : Dim linenead as string Open "mywork" for input as #1 len=0 )Do until eof(1 Line input #1,linenead Msgbox linenead Loop Close #1 -4الكتابة في الممف-: الصيغ .العام .المر الكتاا .في الممؼ ىي : متغير الكتاا ,.رقـ الممؼ االختياريPrint# يث اف :رقـ الممؼ االختياري:وىو ما تـ التصري او عند فت الممؼ لمطااع. متغير الكتاا:.وىو اسـ المتغير المراد كتاا .م توياتو داخؿ الممؼ المثاؿ التالي يوض عممي .الكتاا .في الممؼ: Dim firstname as string Dim secondname as string Open "mywork" for output as #1 len=100 "Print #1 "this is my first time to write a file 011 "Firstname="Ahmed "Secondname="Mohammed Print #1, firstname, secondname Close #1 مي ػظػػات عنػػد فػػت الممػػؼ لمكتااػػ .فػػاف معػػالف لغػػ VB .يقػػوـ امس ػ جمي ػ م تويػػات ذلػػؾ الممػػؼ وتيي تو لمكتاا .فيو إذا أردن ػػا الكتاا ػػ .ف ػػي المم ػػؼ ا ػػدوف فق ػػداف ف ػػي م تويات ػػو الس ػػااقو فيج ػػب اف نت ػػت المم ػػؼ ليضاف. ال يمكف إجراء عمميتيف عمى الممؼ في وقت وا د ،فالممؼ المتتػوح لمكتااػ .او ليضػاف. اليمكف القراءة منو اال اذا تـ غمق .ثـ فت .مرة اخرى لمقراءة ،والعكس االعكس -5غمق الممف-: عند فت أي ممؼ الجراء أي عممي .عميو فيجب غمقو قاؿ انياء اليرنامف ،الصيغو العام .المػر غمؽ الممؼ ىي: رقـ الممؼ االختياريClose# -3-8الدوال المستخدمه مع الممفات: EOF 1بوىي اختصار لػ End Of Fileوتستخدـ الختاار وصوؿ المؤشر الػى نيايػ. الممؼ او ال وتستخدـ االصيغو التالي:. ) thenرقـ الممؼ االختياري(If EOF "Msgbox "End Of File End if : Filelen() 2وىي دال .تعيد جـ الممؼ ااال رؼ وتستخدـ االصيغ:. ) رقـ الممؼ االختياري(An=filelen يث اف Anمتغير رقمي -4-8الممفات ذات الدخول العشوائي -: Random Access Files ويقصػػد ايػػا تمػػؾ الممتػػات التػػي يػػتـ ترتيػػب م توياتيػػا اشػػكؿ عش ػوا ي ولػػيس تسمسػػمي ا يػػث عنػػد ال اجػػ .لق ػراءة مجموعػػو مػػف الايانػػات منيػػا ففننػػا ال نضػػطر لممػػرور عمػػى جمي ػ الايانػػات السػػااق. لمايانات المطموا .وانما نصؿ الييا مف خيؿ رمز يشير لمخمي .التي ت وي تمؾ الايانات 010 العمميات التي يمكف القياـ ايا عمى الممتات ذات الدخوؿ العشوا ي -: 1تعريؼ تركيب السجؿ 2فت الممؼ 3القراءة مف الممؼ 4تعديؿ سجؿ داخؿ الممؼ 5االضاف .لمممؼ 6غمؽ الممؼ -1تعريف تركيب السجل: السجؿ:وىو ىيكؿ ايػاني يتضػمف عػدة انػواع مػف الايانػات ولمعرفػ .فكػرة السػجؿ اشػكؿ أدؽ ناخػذ مثي ايانات ىوي .الطالب ،فيوي .الطالب تتضمف رقـ الطالػببتعريؼ الطالػب IDواسػـ الطالػب وعنوانو وتاريخ مييده ني ػػظ اف تعريػػؼ الطالػػب ىػػو نػػوع رقمػػي integerواسػػـ الطالػػب وعنوانػػو ىػػي سيسػػؿ رمزيػػ. stringوتاريخ مييده ىو مف نوع التاريخ الذي ىو سجؿ فرعي اخر الصيغ .العامو لتعريؼ تركيب السجؿ ىي: اسـ نوع السجؿ Type نوعو as اسـ ال قؿ االوؿ نوعو as اسـ ال قؿ الثاني . . نوعو asاسـ ال قؿ االخير End type المثاؿ التػالي يوضػ كيتيػ .تعريػؼ نػوع سػجؿ ي تػوي عمػى ايانػات طالػب وىػي رقموبتعريتػو ID واسمو وعنوانو وتارخ مييده بتاريخ المييد ىو سػجؿ اخػر يػتـ تعريتػو قاػؿ تعريػؼ سػجؿ الايانػات الر يسي ويتضمف قوؿ اليوـ والشير والسن .كػذلؾ سػنتعمـ كيتيػ .تعريػؼ متغيػر كنػوع سػجؿ او مصتوف .مف السجيت array of recordوكيتي .قراءة ىذه المصتوفو والمثاؿ ىو: Type dat 012 Day as integer Month as integer Year as integer End type Type student Id as integer Name as string*30 Address as string*50 Brithdat as dat End type Dim my_student as student Dim class_student(10) as student Dim I as integer For i=0 to 9 Class_student(i).id=inputbox("inter the ID of the student") Class_student(i).name=inputbox("inter the name of the student") Class_student(i).address=inputbox("inter the address of the student") Class_student(i).brithdat.day=inputbox("inter the number of day of the student") Class_student(i).brithdat.month=inputbox("inter the number of month of the student") Class_student(i).brithdat.year=inputbox("inter the number of yearbrithday of the student") Next i :فتح الممف-2 : المر فت الممؼ ىي.الصيغو العام Open اسػـ الممػؼ الخػارجيfor random as# رقػـ الممػؼ االختيػاريlen= طػوؿ السجؿ : يث اف ىو امتداد واسـ الممؼ المراد التعامؿ معو:اسـ الممؼ الخارجي الممؼ او ليتـ التعامؿ م الممؼ مف خػيؿ ىػذا.أي رقـ يتـ تسمي:رقـ الممؼ االختياري االسـبالرقـ len() .ىو طوؿ السجؿ ويمكف سااو ااستخداـ الدال:طوؿ السجؿ 013 Example )A=len(student Open "C:\DAD\aa" for random as 2 len=a -3القراءة من الممف: الصيغ .العام .المر القراءة مف الممؼ ىي: متغير القراءة ,رقـ السجؿ ,رقـ الممؼ االختياري Get يث اف: رقـ الممؼ االختياري :ىو الرقـ االختياري الذي تـ افتراضو عند فت الممؼ رقـ السجؿ:ىو رقـ السجؿبتسمسؿ السجؿ الذي نرغب اقراءة م توياتو متغير القراءة:اسـ المتغير الذي نريد قراءة السجؿ اداخمػو وىػو الػذي قمنػا اتعريتػو مسػاقا اػنتس نوع السجؿ Example: Dim stud as student Get #1,11,stud -4تعديل محتويات سجل: لتعديؿ م تويات أي سجؿ يجب اوال اف نقراء السجؿ ثـ نعدؿ م توياتو او م تػوى أي قػؿ مػف قولو ثـ نعيد كتااتو ونستخدـ في الكتااو االمر : put متغير الكتاا , .رقـ السجؿ ,رقـ الممؼ االختياري Put يث اف: رقـ الممؼ االختياري :ىو الرقـ االختياري الذي تـ افتراضو عند فت الممؼ رق ػػـ الس ػػجؿ:ىو رق ػػـ السجؿبتسمس ػػؿ الس ػػجؿ ال ػػذي نرغ ػػب اتع ػػديؿ م تويات ػػو او م ت ػػوى ا ػػد قولو متغير الكتاا:.اسـ المتغير الذي نكتب م توياتو داخؿ السجؿ Example: Dim stud as student Stud.id=13862 "Stud.name="ali 014 Put #1,11,stud -5اإلضافة لمممف: المقصود او اضاف .سجؿ جديد الى نياي .الممؼ وىنا نستخدـ االمر putونعطي لمسجؿ الجديد رقـ يساوي عدد السجيت الموجودة 1+واذلؾ فانو يضيؼ السجؿ الجديدفي اخر الممؼ ن تاج ىنا لمعرف .عدد السجيت الموجودة في الممؼ يث نستخدـ القانوف التالي: عدد السجيت في الممؼ =طوؿ الممؼ/طوؿ السجؿ يػث اف :طػوؿ الممػػؼ ن صػؿ عميػو ااسػػتخداـ الدالػ filelen() .وطػوؿ السػػجؿ ااسػتخداـ الدالػػ. )(len مثاؿ :الضاف .سػجؿ جديػد لمممػؼ الػذي رقمػو االختيػاري 1بعمػى افتػراض اف الممػؼ متتػوح ناػدأ اوض الم تويات داخؿ المتغير studثـ ن سب عدد السجيت ثـ نضيؼ ىػذا السػجؿ فػي اخػر الممؼ: Dim recordlen as integer Dim stud as student Stud.id=98501 "Stud.name="mohammed "Stud.address="Babylon city ,Hilla Stud.brithdat.day=4 Stud.brithdat.month=11 Stud.brithdat.year=1976 )Recordlen=filelen(1)/len(student Put #1,recordlen+1,stud -6غمق الممف: عند فت أي ممؼ فيجب غمقو قاؿ انياء الارنامف ،الصيغ .العامو المر غمؽ الممؼ ىي: رقـ الممؼ االختياريClose# -5-8قواعد البيانات -: DataBases اعد اف نكوف قد فيمنا واشكؿ جيد ماذا تعني قواعػد الايانػات ومػاذا تعنػي الايانػات ومػاذاتعني كػؿ مػػف السػػجيت والجػػداوؿ وال قػػوؿ اعػػد فيمنػػا ليػػذا كمػػو ،فػػاف معػػالف لغػػ VB .يقػػدـ لنػػا عػػدة طػػرؽ لمتعامؿ ن قواعد الايانات ىي: oاالداة OLE 015 oاالداة – Dataاالداة الميم .في التعامؿ م قواعد الايانات oاالداة – FixdGridا دى ادوات الػActiveX oالقا مو : Diagramيث اف جمي اوامر ىػذه القا مػ .تتتعػؿ عنػدمؿ يتتاعػؿ التطايػؽ مػ SQL Serverاو م النظاـ Oracleالنشاء اوتعديؿ مخطط قاعدة الايانات oالقا م : Add-In .يث اف اوامر ىذه القا م .متعمقػ .اتقنيػات وكا نػات خارجيػ .يػتـ دمجيػا م اي .التطوير كما ت توي عمى االمر Visual Data Managerالذي يتـ مػف خيلػو الوصوؿ الى مدير الايانات Visdata -6-8طرق التعامل مع قواعد البيانات-: ىنا سوؼ نيتـ االتعامؿ م قاعدة الايانات اطريقتيف وكيىما في االخير يمتقيػاف ااسػتخداـ االداة Dataبنتعامؿ ىنا فقط م قواعد الايانات Access الطريق .االولى: نقوـ االدخوؿ الػى نظػاـ ادارة قواعػد الايانػات Microsoft Accessوانشػاء قاعػدة ايانػات جديػدة ،انشػػاء عمػػى االقػػؿ جػػدوؿ وا ػػد فػػي ىػػذه القاعػػدة بيػػتـ ت ديػػد عػػدد الجػػداوؿ سػػب قاعػػدة الايانػػات التي نريد إنشاؤىا عند اناء الجدوؿ يتـ ت ديد اسماء ال قوؿ واالنواع الاياني .لكؿ قؿ ثـ عنػد اكماؿ اسماء ال قوؿ وانواعيا الاياني .نقوـ اتسمي .الجدوؿ واغيقو واغيؽ قاعدة الايانات الطريق .الثاني:. انشاء قاعدة ايانات مػف داخػؿ اي ػ .التطػوير VB6وذلػؾ مػف خػيؿ القا مػ Add-In .ثػـ اختيػار االمػػر Vsual Data Managerسػػوؼ تتػػت لنػػا نافػػذة فػػي مجموعػػ .قػوا ـ ،نختػػار newمػػف القا مػػ file .ثػػـ نختػػار Accessسػػوؼ تتػػت لنػػا نافػػذة اخػػرى عنوانيػػا Database Window نضغط امتتاح التأرة االيمف اداخميا فتظير لنا افظ .مف اوامرىا new tableأي اضاف .جدوؿ جديػػد ،عنػػد اختيػػار ىػػذا االمػػر سػػوؼ تتػػت لنػػا نافػػذة يػػتـ مػػف خيليػػا ادخػػاؿ اسػػـ لمجػػدوؿ وكػػذلؾ ت توي عمى امر Add Fieldوالمراد منو اضاف .قوؿ لمجدوؿ الػذي ادخػؿ اسػمو ،عنػد الضػغط عمى ىذا المتتاح سوؼ تتت لنا نافػذة ت تػوي عمػى عػدة قػوؿ ييمنػا منيػا ىػو اسػـ ال قػؿ ونوعػو الايػاني ثػـ نضػغط Okواذا اردنػػا اضػاف .قػوؿ اخػرى لمجػػدوؿ نضػغط عمػى Add Fieldمػرة اخػػرى وىكػػذا االنسػػا .لجميػ ال قػػوؿ المػراد اضػػافتيا لمجػػدوؿ ،ثػػـ اعػػد اكمػػاؿ اعػػداد جميػ قػػوؿ الجدوؿ نضغط عمى المتتاح Build The Tableيث اف ىذا المتتاح سػوؼ يقػوـ اانػاء قاعػدة 016 الايان ػػات والج ػػدوؿ ف ػػي مم ػػؼ قواع ػػد الايان ػػات Accessواذا اردن ػػا اض ػػاف .ج ػػداوؿ اخ ػػرى نض ػػغط امتتػػاح التػػارة االيمػػف اػػداخؿ نافػػذة قاعػػدة الايانػػات ونختػػار االمػػر new tableوىكػػذا االنسػػا. الضاف .جداوؿ اخرى لقاعدة الايانات يمكػػف ادخػػاؿ ايانػػات الي جػػدوؿ فػػي قاعػػدة الايانػػات وذلػػؾ اػػالنقر امتتػػاح التػػارة االيمػػف عمػػى اسػػـ الجػػدوؿ ثػػـ نضػػغط عمػػى المتتػػاح Addفتظيػػر لنػػا نافػػذة ذلػػؾ الجػػدوؿ ت تػػوي عمػػى اسػػماء قػػوؿ الج ػػدوؿ ،واع ػػد ادخ ػػاؿ الايان ػػات نض ػػغط المتت ػػاح Updateالض ػػاف .ى ػػذه الايان ػػات ال ػػى قاع ػػدة الايانػات ثػػـ نغمػؽ جميػ النوافػذ واػػذلؾ انتيينػػا مػف الطريقػػ .الثانيػ-.اكػػؿ تاكيػد اف الطريقػػ .االولػػى اسيؿ اكثير مف الطريق .الثاني. الػى ىنػا ،تػـ اعػداد قاعػدة ايانػات لكػف لػػـ يػتـ التعامػؿ معيػا مػف خػيؿ اي ػ .التطػوير VBمااشػرة نقو ىنا ااعداد واجي .المشروع واعداد خصا ص الكيانات االشكؿ التالي: نقوـ اوض االداة Dataعمى النمػوذج ونقػوـ ااعػداد خصا صػيا اوال ويجػب اف يكػوف اوال اعػداد الخاصػي Connect .يػث مػػف خػيؿ ىػػذه الخاصػي .يػػتـ ت ديػد نوعيػػ .قاعػدة الايانػػات التػي سػػيتـ االرتاػػاط ايػػا والتعامػػؿ معيا،عنػػد الضػػغط عمػػى ىػػذه الخاصػػي .يظيػػر لنػػا نوعيػػ .قواعػػد الايانػػات المتا و لنػا ،نختػار Microsoft Accessثػـ نقػوـ ااعػداد الخاصػي DatabaseName .لت ديػد اسػػـ وامتػػداد قاعػػدة الايانػػات التػػي تػػـ انشػػاؤىا مسػػاقا ثػػـ نقػػوـ ااعػػداد الخاصػػيRecordSource . وىنػ ػػا تظيػ ػػر لنػ ػػا الجػ ػػداوؿ الموجػ ػػودة فػ ػػي قاعػ ػػدة الايانػ ػػات التػ ػػي تػ ػػـ ت ديػ ػػدىا ضػ ػػمف الخاصػ ػػي. DatabaseName الػػى ىنػػا تػػـ اىػػـ خصػػا ص االداة Dataوىػػذا يعنػػي انػػو تػػـ االرتاػػاط اقاعػػدة ايانػػات باف كػػؿ اداة Dataوا ػػدة يمكػػف مػػف خيليػػا التعامػػؿ مػ جػػدوؿ وا ػػد فقػػط ن تػػاج ايضػػا الػػى مراعػػات نػػص اقدرعدد الجػدوؿ الػذي تػـ ت ديػدة ضػمف الخاصػي RecordSource .واػذلؾ يكػوف لكػؿ تػؿ فػي الجدوؿ مرا نص يتـ مف خيلو ادخاؿ ايانات ذلؾ ال قؿ وكذلؾ عرض م تويات ذلؾ ال قؿ االنسا .لمراعات النص فالخاصي text .تاقى فارغ .والخاصي DataSource .يػتـ اعػدادىا ااسػـ اداة الايانػػات Dataثػػـ يػػتـ اعػػداد الخاصػػي DataField .يػػث سػػوؼ تظيػػر قا مػػ .ت تػػوي عمػػى اسماء قػوؿ الجػدوؿ الػذي تػـ ت ديػده ضػمف الخاصػي RecordSource .فػي االداة ، Dataثػـ نختار اسـ قؿ معيف يث سيكوف مرا ىذا خاص اذلؾ ال قؿ 017 -7-8االداة -: Data يتم التعامل مع االداة Dataمن خالل الطرق التالية: الطريقة معناها اضاف .سجؿ جديد Recordset.addnew تظ السجؿ عمى اخر ادخاؿ Updaterecord ذؼ السجؿ ال الي Recordset.delete االنتقاؿ الوؿ سجؿبجدوؿ في قاعدة الايانات Recordset.movefirst االنتقاؿ الخر سجؿبجدوؿ في قاعدة الايانات Recordset.movelast االنتقاؿ لمسجؿبجدوؿ السااؽ في قاعدة الايانات Recordset.moveprevious االنتقاؿ لمسجؿبجدوؿ الي ؽ في قاعدة الايانات Recordset.movenext اختاار الوصوؿ الى اداي .السجيت Recordset.bof اختاار الوصوؿ الى اخر السجيت Recordset.eof الا ػ ػ ػػث ع ػ ػ ػػف اوؿ س ػ ػ ػػجؿ ي ق ػ ػ ػػؽ الش ػ ػ ػػرط الم ػ ػ ػػدد Recordset.findfirst-critiria criteria الا ػث عػػف السػػجؿ التػػالي الػػذي ي قػػؽ الشػػرط ال ػػدد Recordset.findnext-critiria criteria الوقوؼ عمى اخر تعديؿ لمسجؿ Recordset.lastmodified 018 المصـــــــــــــادر References مايكــل هالفرســون Visual Basic 6.0 , 1999,خطــوة خطــوة ,الطبعــه العربيــة االولى ,ترجمة :مركز التعريب والترجمة الدار العربية لمعموم,بيروت,لبنان. د.باســل الخطيــب ,2001,تعمــم فيج ـوال بيســك عــن طريــق االمثمــة,دار الرضــا لمنشــر ,سوريا,دمشق ,الطبعة االولى. م.عبد المطيف عمرو –م.هاني درويـش ,1996 ,طريـق المبـرمج العربـي الـى احتـراف البيسك المرئي,خوارزم لمنشر والتوزيع,مصر,االسكندرية. د.عبــد المطمــب اب ـراهيم احمــد ,Visual Basic ,2004 ,الجامعــه التكنولوجيــة , بغداد. ايفــان كاالهــان ,2002 ,كيــف تنش ـ تطبيقــات قواعــد البيانــات فــي Microsoft Access 2002 Visual Basicخطوة خطوة ,الطبعه العربية االولى ,ترجمـة:مركز التعريب والترجمة ,الدار العربية لمعموم ,بيروت ,لبنان. 019