ماج ــ باب ةع ـــ

advertisement
‫جامــعة بابـــل‬
‫كميـــة الهندســــة‬
‫البرمجة بمغة‬
‫إعداد‬
‫المبرمج‪/‬حسين محمد سلمان‬
‫‪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‬‬
‫‪4‬‬‫‪upwarddiogonal‬‬
‫تعا ‪ .‬اخطوط ما م‪ .‬صاعدة‬
‫‪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‬‬
Download