You are on page 1of 205

‫احلكمة‬

‫تقنية املعلومات‬
‫للصف الثالث ثانوي‬
‫علمي‬

‫(الطبعة الثالثة)‬

‫تأليف‬
‫م‪/‬إيهاب أبو العزم‬
‫© مجيع الـحقوق حمفوظة‬
‫ال جيوز إعادة نشر هذا الكتاب او جزء منه او إعادة طبعـه او اتتصـا ب صقصـ‬
‫الطباعة او اتتزان مادته العلمية دون موافقة تطية من الناشر مق ماً‪.‬‬
‫ملزي من املعلومات ميكن االتصال صاملؤلف على العنوان التالي‪-:‬‬
‫‪info@EhabBooks.com‬‬
‫‪www.facebook.com/ehab.books‬‬

‫الطبعة الثالثة‬

‫دار الحكمة للطباعة و النشر و التوزيع‬


‫اهلضبة اخلضراء – طراصلس – ليبيا‬
‫فاكس‪:‬‬ ‫هاتف‪:‬‬
‫تاسيلي لالستشارات و التدريب‬
‫السراج – طراصلس – ليبيا‬
‫فاكس‪:‬‬ ‫هاتف‪:‬‬
‫‪-‬‬ ‫قـــــم االيـــــــ اع ‪:‬‬
‫الرقم ال ولي ( دمك)‪ISBN 978-9959-808-64-6 :‬‬
‫الوكالة الليبية للرتقيم ال ولي املوح للكتاب‪.‬‬
‫دا الكتاب الوطين – صنغازي – ليبيا‬
‫تاسيلي‬
‫مؤسسة عربية بمعايير دولية‬
‫منذ إنشائها ‪ ,‬حرصنا يف تاسيلي على اتباع و تطبيق اعلى املعايري ال ولية‬
‫العلمية و العملية املعمول صها يف جماالت التعليم و التـ ي‪ ,,‬ختـذين علـى‬
‫عاتقنا سالة نشر العلم و املعرفة و الرقي مبستوى اإلنسان يف املنطقة‪.‬‬
‫ضمن هذا اإلطا ‪ ,‬نتشـر اليـوب صوضـع صـي يـ ي نصنائنـا طلبـة املراحـ‬
‫الثانويــة امللتلفـة هــذب املؤلفــات الـ نســأل ان نن تكــون إثــراءاً ملكتبــة كـ‬
‫طال‪ ,‬علم يف هذب املرحلة ال متث احلجر األساس للبنـاء العلمـي السـليم قبـ‬
‫اإللتحــاق صامامعــة و املراح ـ التعليميــة العليــا امللتلفــة و قيق ـاً ملبــاد‬
‫تاســيلي و معــايري الــتعلم احل ـ يث والتطبيــق العملــي الســلس كونــه الطريقــة‬
‫األصلح لالستفادة العلمية القصوى لك طال‪ ,‬صإذن ان‪.‬‬
‫نع كم كفريق عم تاسيلي صاحملافظة على اعلى معايري امـودة ‪ ,‬و تقـ يم‬
‫ك ما هو ج ي و مميز ‪ ,‬لـيس اوهلـا و لـن يكـون اترهـا صـإذن ان تعـا هـذب‬
‫السلسلة املميزة مـن املؤلفـات و الكتـ‪ ,‬املنهجيـة الـ نسـأل ان نن تكـون‬
‫ذترا و دعما لك طال‪ ,‬و طالبة يف مسرية التق ب و النجاح‪.‬‬
‫و ان املوفق‬
‫عن فريق عم تاسيلي‬
‫مه ي حاج حمفوظ‬
‫مؤسس تاسيلي لإلستشا ات و الت ي‪,‬‬
‫الـــحم ن ب العــاملي ‪ ,‬و الصــالة و الســالب علــى نشــر األنبيــاء و‬
‫املرسلي سي نا و نبينا حمم ‪ ,‬و على خله و صحبه الطيبي الطاهرين ‪.‬‬
‫نما صع ‪,‬‬
‫يقـ ب هــذا الكتــاب شــرح كام ـ و وايف ملواضــيع الكتــاب امل ســي ملــادة‬
‫تقنية املعلومات للسنة الثالثة مبرحلة التعلـيم الثـانوي ‪ ,‬و يعـرمل املـنه‬
‫صأسلوب صسيط و سه ‪ ,‬مع اإليضـاح صاألمثلـة و التمـا ين العمليـة لتسـاع‬
‫الطال‪ ,‬على فهم و استيعاب املقر ال اسي فهماً و استيعاص ًا كاملي‪.‬‬
‫كما يعـرمل يف نهايـة كـ صـاب اإلجاصـات النموذجيـة لتمـا ين الكتـاب‬
‫امل سي و قـ نتـذ صعـي االعتبـا ترتيـ‪ ,‬الـ وس و املواضـيع كمـا و دت يف‬
‫الكتاب امل سي ‪ ,‬و وعـي يف كتاصـة هـذا الكتـاب اسـتل اب نفـس التعريـ‪,‬‬
‫للمصطلحات و التسميات اإلجنليزية كما و دت يف نص الكتاب‪.‬‬
‫ألي اسـ ـ لة او استفســـا ات ميكـــنكم مراسـ ـل علـــى عنـــوان ال يـ ـ‬
‫االلكرتوني‪.info@EhabBooks.com -:‬‬
‫او على موقع التواص االجتماعي "الفايسبوك" على العنوان التالي‪-:‬‬
‫‪www.facebook.com/ehab.books‬‬
‫متنياتي للـجميع صالتوفيق‬
‫ب‪/‬إيهاب نصو العزب‬
‫طراصلس‬
‫الفصل االول‬

‫أمنية البيانات و املعلومات‬


‫امنية البيانات و املعلومات‬ ‫الفص االول‬

‫الفصل االول‬

‫أمنية البيانات و املعلومات‬


‫مللص الفص وفقاً للكتاب امل سي‬

‫جرائم احلاسوب‬
‫جرائم احلاسوب ‪-:‬‬
‫هي امرائم ال يكون احلاسوب وسيلة يف تنفيذها‪.‬‬
‫امثلة على جرائم احلاسوب ‪-:‬‬
‫‪ ‬نشر املعلومات املللة صاآلداب‪.‬‬
‫‪ ‬سرقة وقت احلاسوب‪.‬‬
‫‪ ‬التشهري اإللكرتوني‪.‬‬
‫‪ ‬االصطياد اإللكرتوني‪.‬‬
‫‪ ‬قرصنة املعلومات‪.‬‬

‫نشر املعلومات املللة صاآلداب‬


‫تتمث هذب امرمية يف نشر معلومات و صيانات نصية او مصو ة من شأنها إثا ة الغرائز و‬
‫الشهوات البشرية‪.‬‬

‫سرقة وقت احلاسوب‬


‫تتمث هذب امرمية يف قياب املوظف صاستل اب احلاسوب اخلاص صالعم يف مهاب غري املنصوص‬
‫عليها ضمن اتتصاصه الوظيفي‪.‬‬
‫الفص االول‬ ‫سلسلة احلكمة‬

‫الت شهري اإللكرتوني‬


‫تتمث هذب امرمية يف نشر معلومات مضللة او كاذصة عن املؤسسات او الشلصيات العامة‬
‫صقص التشهري اعتماداً على وسائ تقنية املعلومات‪.‬‬
‫و ميكن ان يتم التشهري اإللكرتوني صالطرق التالية‪-:‬‬
‫‪ ‬تصميم موقع تاص صالتشهري‪.‬‬
‫‪ ‬ا سال سائ صري الكرتوني ا االشلاص و اجملموعات ال ي ية‪.‬‬

‫االصطياد اإللكرتوني‬
‫تتمث هذب امرمية يف قياب اشلاص يطلق عليهم اسم "قراصنة املعلومات" صإنتحال شلصية‬
‫املؤسسات املالية ‪ -‬كاملصا ‪ -‬او اممعيات اخلريية و إست اج الضحية ليحصلوا منه على‬
‫معلومات حساسة (مث ن قاب احلساصات املصرفية و كلمة املرو ‪-‬او كلمة العبو او كلمة‬
‫السر‪ (Password) -‬اخلاصة صها ‪ ,‬و ا قاب صطاقات اإلعتماد) ليستغلوا هذب املعلومات للسطو على‬
‫احلساصات املصرفية او شراء سلع صالتحاي ‪.‬‬
‫ويعتم قراصنة املعلومات على ع ة طرق للتحاي على الضحية ‪,‬منها ‪-:‬‬
‫‪ ‬ا سال سالة ا الضحية خت ب ان هذب الرسالة من جهة تريية و تطل‪ ,‬منه‬
‫الت ع صاملال لصاحل هذب امهة‪.‬‬
‫‪ ‬ا سال سالة ا الضحية خت ب انه ق فاز جبائزة و مطلوب منه تنفيذ صعض‬
‫االجراءات للحصول على هذب امائزة‪,‬او انه سيحص على جائزة كبرية اذا قاب ص فع‬
‫مبلغ صسيط‪.‬‬
‫‪ ‬ا سالة سالة ا الضحية خت ب انه جي‪ ,‬عليه س اد نجر معاملة معينة‪.‬‬
‫و يف مجيع األحوال تطل‪ ,‬هذب الرسائ قم صطاقة اإلعتماد ‪-‬او اإلئتمان‪ -‬من الضحية‪ ,‬و عن ما‬
‫يستجي‪ ,‬الضحية صإ سال هذب البيانات يكون ق وقع يف الفخ‪.‬‬
‫و يستل ب قراصنة املعلومات ع ة اسالي‪ ,‬لالصطياد االلكرتوني منها ‪-:‬‬
‫‪ ‬سائ ال ي االلكرتوني‪.‬‬
‫‪ ‬الرسائ النصية القصرية )‪.(SMS‬‬
‫‪ ‬غر ال دشة‪.‬‬
‫امنية البيانات و املعلومات‬ ‫الفص االول‬

‫قرصنة املعلومات‬
‫تتمث هذب امرمية يف اترتاق البيانات اخلاصة صالشركات او املؤسسات و سرقتها او اتالفها او‬
‫استغالهلا ‪.‬‬

‫وسائ تأمي البيانات‬


‫هناك ع ة وسائ لتأمي البيانات‪ ,‬منها ‪-:‬‬
‫‪ ‬تشفري املعلومات ‪.‬‬
‫‪ ‬استل اب ام ا النا ي‪.‬‬

‫تشفري املعلومات‬
‫تشفري املعلومات ‪-:‬‬
‫هو وير (او تغيري شك او هي ة) املعلومات االصلية ليتم إ ساهلا ع‬
‫الشبكة يف شك او هي ة مشفرة غري مفهومة‪.‬‬
‫و عن ما تص هذب البيانات للشلص املطلوب ا ساهلا إليه ‪ ,‬يستقبلها و يقوب صإعادة البيانات‬
‫ا شكلها االصلي (او إلغاء تشفريها)‪.‬‬
‫و صهذب الطريقة اذا قاب اح امللرتقي صاترتاق الشبكة و االطالع على هذب البيانات املرسلة‬
‫سيج ان هذب البيانات مشفرة و غري مفهومة و صالتالي لن يستطيع استغالهلا او االستفادة منها‪.‬‬

‫استل اب ام ا النا ي‬
‫ام ا النا ي‪-:‬‬
‫هو مصطلح يطلق على صرجميات او اجهزة تعم كج ا افرتاضي حيمي جهاز‬
‫احلاسوب و شبكة احلاسوب من ني حماوالت اترتاق‪.‬‬

‫محاية ال جميات‬
‫محاية ال جميات او نمن ال جميات‪-:‬‬
‫هي ق ة ال جميات على ي االشلاص امللولي صاستل اب هذب‬
‫ال جميات و منع االشلاص غري امللولي‪.‬‬
‫الفص االول‬ ‫سلسلة احلكمة‬

‫يتم تطبيق احلماية االمنية لل جميات على مستويي‪-:‬‬


‫‪ .‬مستوى ي شلصية املستل ب‪.‬‬
‫‪ .‬مستوى ي صالحيات املستل ب‪.‬‬
‫مستوى ي شلصية املستل ب‬
‫يف هذا املستوى من محاية ال جميات يتم ي شلصية املستل ب ه هو خمول ‪-‬او مصرح‬
‫له‪ -‬صاستل اب هذب ال جميات اب ال‪.‬‬
‫االشلاص امللولون هم فقط من يستطيعون استل اب هذب ال جميات‪ ,‬و سيتم منع االشلاص‬
‫الغري خمولي من استل امها‪.‬‬
‫و ميكن ي شلصية املستل ب عن طريق‪-:‬‬
‫‪ ‬إدتال كلمة العبو ‪-‬او كلمة املرو او كلمة السر‪. (Password)-‬‬
‫‪ ‬االستعانة صالصفات الشلصية ‪ ,‬مث ‪-:‬‬
‫ي صصمة االصبع‪.‬‬ ‫‪‬‬
‫‪ ‬متييز الصوت‪.‬‬
‫‪ ‬متييز قزحية العي‪.‬‬
‫و تعت طريقة االستعانة صالصفات الشلصية لتح ي املستل ب طريقة اكثر دقيقة و ذلك‬
‫الستحالة تزويرها او تقلي ها مقا نة صكلمات العبو ال ميكن سرقتها او توقعها‪.‬‬
‫مستوى ي صالحيات املستل ب‬
‫يف هذا املستوى من احلماية يتم ي صالحيات املستل ب و االعمال ال يستطيع القياب صها‬
‫صاستل اب هذب ال جميات‪.‬‬

‫نمن قواع البيانات‬


‫قوع البيانات ‪-:‬‬
‫هي ملفات توي على جمموعة من البيانات املتنوعة ‪-‬كالنصوص و‬
‫اال قاب و الصو ‪ -‬موضوعة صشك يُـسه علينا تنظيمها و ترتيبها و البحث و‬
‫الوصول السريع إليها كلما ا دنا ذلك‪.‬‬
‫تستل ب الشركات و املؤسسات قواع صيانات ضلمة حلفظ صياناتها امللتلفة‪.‬‬
‫امنية البيانات و املعلومات‬ ‫الفص االول‬
‫نمن قواع البيانات‪-:‬‬
‫هي مجلة ‪-‬او جمموعة‪ -‬من القواع و اللوائح ال جتن‪- ,‬او متنع‪-‬‬
‫ال تول و االستغالل غري املصرح للبيانات‪ ,‬و كذلك محاية هذب البيانات‬
‫من التلف او الضياع إلي سب‪.,‬‬
‫و تتمث إجراءات محاية قواع البيانات يف النقاط التالية‪-:‬‬
‫‪ ‬توفري اقصى د جات السرية لبيانات ال تول ا قواع البيانات‪ ,‬و هذا يعين محاية‬
‫كلمات العبو ال يستل مها االشلاص امللولون لل تول ا ملفات قواع البيانات و‬
‫االطالع على البيانات املوجودها صها‪.‬‬
‫‪ ‬تأمي قواع البيانات ض نعمال التلري‪ ,‬الناجم عن الفريوسات و العبث‪.‬‬
‫‪ ‬ضمان إتاحة الوصول ا هذب البيانات من قب االشلاص امللولي صذلك يف ني وقت‪.‬‬
‫‪ ‬تأمي قواع البيانات ض حماوالت االترتاق‪.‬‬

‫فريوس احلاسوب‬
‫فريوسات احلاسوب ‪-:‬‬
‫هي عبا ة عن صرام تضر جبهاز احلاسوب‪ ,‬و تستطيع ان تتلف البيانات‬
‫املوجودب صه او ث اضرا معينة وفقاً للغرمل الذي صممت له‪.‬‬
‫عن انتقال الفريوس ا حاسوب يصي‪ ,‬هذا الفريوس ملف او صرنام ما ص ات هذا احلاسوب‪,‬‬
‫وق يظ الفريوس كامناً يف امللف او ال نام يف انتظا تا يخ او ح ث معي ‪ ,‬او تشغي هذا امللف‬
‫اوال نام املصاب‪ ,‬فينشط الفريوس و يقوب صالعم الذي صمم او صرم ألجله‪.‬‬
‫تقوب الفريوسات صاالنتشا صنسخ نفسها من ملف آلتر او من حاسوب ألتر و ذلك عن توفر‬
‫وسيلة اتصال ‪,‬سواء ع االقراص املتبادلة او ع شبكة االتصال‪.‬‬

‫تأثري الفريوسات‬
‫خيتلف تأثري الفريوسات عن صعضها البعض ‪ ,‬فهناك‪-:‬‬
‫‪ ‬فريوسات ته ا جمرد املشاكسة و لفت االنتباب‪.‬‬
‫‪ ‬فريوسات هلا اه ا ختريبية‪.‬‬
‫الفص االول‬ ‫سلسلة احلكمة‬

‫ق تأثر صعض انواع الفريوسات على سرعة و كفاءة جهاز احلاسوب و ذلك صإستهالك مساحات‬
‫ختزينية على القرص او على الذاكرة الرئيسية للحاسوب‪ ,‬صينما ق تتسب‪ ,‬انواع اترى يف إتال‬
‫البيانات او سرقة املعلومات الشلصية كمعلومات احلساب املصريف و صطاقات االئتمان ‪ ,‬و انواع‬
‫اترى من الفريوسات ق تصي‪ ,‬مع ات احلاسوب )‪ (Hardware‬و تتسب‪ ,‬يف تلفها ‪.‬‬

‫اعرامل االصاصة صالفريوسات‬


‫لإلصاصة صالفريوسات نعرامل خمتلفة منها‪-:‬‬
‫‪ ‬البطء املفاجئ يف نداء احلاسوب‪.‬‬
‫‪ ‬اخنفامل سعة الذاكرة الرئيسية صشك مفاجئ‪.‬‬
‫‪ ‬إخنفامل سعة القرص الصل‪ ,‬صشك واضح نتيجة لتناسخ الفريوسات‪.‬‬
‫‪ ‬تغيري شك صعض إيقونات امللفات‪.‬‬
‫‪ ‬تضلم حجم صعض امللفات و ذلك صسب‪ ,‬تضمي الفريوسات دتلها‪.‬‬
‫‪ ‬ظهو سائ تطأ غري اعتيادية‪.‬‬
‫‪ ‬توقف النظاب صال اسباب‪.‬‬
‫‪ ‬توقف صعض التطبيقات عن العم ‪.‬‬
‫‪ ‬إنشاء ملفات عشوائية ص ون ت ت من املستل ب‪.‬‬
‫‪ ‬تلف البيانات‪.‬‬

‫طرق الوقاية من الفريوسات‬


‫تقل من احتمال اإلصاصة صع وى‬ ‫جي‪ ,‬علينا نختاذ جمموعة من االحتياطات األمنية ال‬
‫الفريوسات ‪ ,‬من هذب االحتياطات‪-:‬‬
‫‪ ‬شراء ال جميات االصلية‪.‬‬
‫‪ ‬االحتفاظ صنسخ احتياطية من ال ام و البيانات ألستعادتها عن احلاجة‪.‬‬
‫‪ ‬االحتفاظ صسرية كلمة املرو ‪.‬‬
‫‪ ‬استل اب ال ام املضادة للفريوسات و يثها صشك مستمر‪.‬‬
‫‪ ‬فحص ال ام ام ي ة قب استل امها للتأك من تلوها من الفريوسات‪.‬‬
‫‪ ‬ت ي‪ ,‬املوظفي على كيفية الوقاية من الفريوسات ‪.‬‬
‫‪ ‬ع ب فتح ني ملف مرفق مع ني سالة صري الكرتوني ال نعر مص اقية مص ها‪.‬‬
‫امنية البيانات و املعلومات‬ ‫الفص االول‬
‫فحص ني صرنام يتم تنزيله ع االنرتنت صاستل اب صرنام مضاد للفريوسات‪.‬‬ ‫‪‬‬
‫عن استل اب حاسوب من تالل شبكة حواسي‪ ,‬جي‪ ,‬محاية الشبكة جب ا نا ي‪.‬‬ ‫‪‬‬
‫فحص و مراجعة اإلع ادات االمنية عن االتصال صشبكة االنرتنت‪.‬‬ ‫‪‬‬
‫الفص االول‬ ‫سلسلة احلكمة‬

‫متارين الكتاب املدرسي‬


‫اترت اإلجاصة الصحيحة من صي تيا ات اإلجاصة املرفقة صك سؤال‪-:‬‬
‫) توفر شبكات احلاسوب جماالً كبرياً لتبادل املعلومات صي امهات امللتلفة و ‪..........‬‬
‫ن‪ -‬ال ميكن فق ان البيانات املت فقة ع الشبكة سوى عن طريق األعطال الفنية‪.‬‬
‫ب‪ -‬ال ميكن فق ان البيانات املت فقة ع الشبكة سوى عن طريق الفريوسات و‬
‫القراصنة‪.‬‬
‫ت‪ -‬ال ميكن حبال من األحوال فق ان البيانات املت فقة ع ها او اترتاقها نظراً لتق ب‬
‫تقنيات املعلومات و االتصاالت‪.‬‬
‫ث‪ -‬هي متوفرة فقط يف صل ان العامل املتطو ‪.‬‬
‫جـ ‪ :‬وفقاً لكتاب "دلي املعلم" فإن اإلجاصة الصحيحة هي (ث)‪.‬‬
‫) جرائم احلاسوب هي عبا ة عن ‪..........‬‬
‫ن‪ -‬عمليات سرقة احلواسي‪ ,‬من املؤسسات و األفراد و صيعها يف االسواق غري‬
‫الشرعية‪.‬‬
‫ب‪ -‬عمليات سرقة البيانات امللزنة يف حواسي‪ ,‬االشلاص او املؤسسات‪.‬‬
‫ت‪ -‬ني عمليات سرقة يكون احلاسوب طرفاً فيها كوسيلة تنفيذ‪.‬‬
‫ث‪ -‬عمليات صيع احلواسي‪ ,‬صأسعا مضاعفة تفوق ق ات املشرتي العادي‪.‬‬
‫جـ ‪ :‬ت‬
‫) اح امرائم التالية ال عالقة هلا جبرائم احلاسوب‪-:‬‬
‫ن‪ -‬استل اب احلاسوب الشلصي يف نشر معلومات كاذصة حول الشلصيات العامة يف‬
‫البالد‪.‬‬
‫ب‪ -‬استغالل حاسوب العم إلجنز نعمال جتا ية تاصة صاملوظف ال عالقة هلا‬
‫صاملؤسسة‪.‬‬
‫ث سنويا يف البالد‪.‬‬ ‫ت‪ -‬استل اب احلاسوب يف كتاصة تقرير مع ل امرائم ال‬
‫امنية البيانات و املعلومات‬ ‫الفص االول‬
‫ث‪ -‬استل اب احلاسوب يف االتصال صاالنرتنت و نشر فريوس قاد على سرقة صيانات‬
‫شركة منافسة دون ختري‪ ,‬البيانات‪.‬‬
‫جـ ‪ :‬ت‬
‫) ‪ -:‬التشهري اإللكرتوني هو عبا ة عن‪..........‬‬
‫ن‪ -‬نشر معلومات ع االنرتنت تساهم يف زيادة شهرة نشلاص معيني كالناشطي‬
‫السياسيي او االدصاء‪.‬‬
‫ب‪ -‬نشر معلومات غري صحيحة صغرمل اإلساءة للمؤسسات او الشلصيات العامة‪.‬‬
‫ت‪ -‬استل اب الوسائ اإللكرتونية يف نشر نتبا الالعبي املشاهري‪.‬‬
‫ث‪ -‬نشر املعلومات الوطنية على االنرتنت‪.‬‬
‫جـ ‪ :‬ب‬
‫) االصطياد اإللكرتوني هو عبا ة عن‪..........‬‬
‫ن‪ -‬ت اع زوا صفحات اإلنرتنت و صرام ال ي اإللكرتوني و حثهم على كتاصة‬
‫معلوماتهم احلساسة الستغالهلا صصو ة غري شرعية‪.‬‬
‫ب‪ -‬وسيلة الصطياد الصفقات التجا ية املنشو ة على صفحات اإلنرتنت‪.‬‬
‫ت‪ -‬اصطياد قراصنة املعلومات و كشفهم و تعريضهم للمساءلة القانونية‪.‬‬
‫ث‪ -‬استل اب مع ات إلكرتونية يف نعمال صي احليوانات و األمساك‪.‬‬
‫جـ ‪ :‬ن‬
‫) عن ما تتسلم صري اً الكرتونياً يطل‪ ,‬منك تزوي املرس صبيانات حساصك املصريف ‪ ,‬عن ها تكون‬
‫ق تعرضت ا عملية ‪..........‬‬
‫ن‪ -‬نصطياد إلكرتوني‪.‬‬
‫ب‪ -‬تشهري إلكرتوني‪.‬‬
‫ت‪ -‬تشفري إلكرتوني‪.‬‬
‫ث‪ -‬ختري‪ ,‬إلكرتوني‪.‬‬
‫جـ ‪ :‬ن‬
‫) قراصنة االصطياد اإللكرتوني يتلفون ت نمساء جهات وهمية ت عناوين مث ‪.......‬‬
‫ن‪ -‬مجعيات عاية األيتاب‪.‬‬
‫ب‪ -‬مجعيات السلع التموينية‪.‬‬
‫الفص االول‬ ‫سلسلة احلكمة‬

‫ت‪ -‬هي ة السجون‪.‬‬


‫ث‪ -‬هي ة احلرب اإللكرتونية‪.‬‬
‫جـ ‪ :‬ن‬
‫) يتمث نمن الشبكات و االتصاالت يف ‪..........‬‬
‫ن‪ -‬القياب صصياغة جمموعة من اإلجراءات و القواني و التقنيات ال تسهم يف محاية‬
‫صيانات الشبكة من الضياع و االستغالل غري املشروع للبيانات املرسلة‪.‬‬
‫ب‪ -‬تأمي مباني املؤسسات لكي ال يتم سرقة ني من مكونات شبكة احلاسوب‪.‬‬
‫ت‪ -‬نوع من شبكات املعلومات تستل ب تصيصاً يف امهات األمنية صال ولة‪.‬‬
‫ث‪ -‬تأمي وصول صيانات الشبكة ا اماكن توجهها يف الوقت املالئم‪.‬‬
‫جـ ‪ :‬ن‬
‫) خماطر فق ان البيانات املرسلة ع الشبكات ع ي ة و هي تشم ما يلي فيما ع ا ‪.........‬‬
‫ن‪ -‬الكوا ث الطبيعية ال ته د املباني و األجهزة‪.‬‬
‫ب‪ -‬األعطال الفنية مبع ات الشبكة او تطوط االتصال‪.‬‬
‫ت‪ -‬التعليمات اخلاط ة حبذ امللفات دون عم ‪.‬‬
‫ث‪ -‬البكترييا‪.‬‬
‫ج‪ -‬الفريوسات‪.‬‬
‫جـ ‪ :‬ث‬
‫) من وسائ تأمي البيانات املرسلة ع الشبكات االستعانة ‪..........‬‬
‫ن‪ -‬تشفري البيانات املرسلة‪.‬‬
‫ب‪ -‬تعري‪ ,‬البيانات ‪.‬‬
‫ت‪ -‬استل اب الفريوسات‪.‬‬
‫ث‪ -‬اتذ نسخ احتياطية من البيانات املرسلة‪.‬‬
‫جـ ‪ :‬ن‬
‫) يتمث تشفري البيانات و املعلومات يف ‪..........‬‬
‫ن‪ -‬نقلها ع تطوط االتصال ا شبكات اترى يف اماكن صعي ة‪.‬‬
‫ب‪ -‬ويلها ا صيغة تستل مها فقط ال وائر االمنية يف إ سال صياناتها ع شبكات‬
‫االتصال‪.‬‬
‫امنية البيانات و املعلومات‬ ‫الفص االول‬
‫ت‪ -‬اتتزال البيانات و املعلومات و إ سال ما هو مفي فقط ع شبكات االتصال‪.‬‬
‫ث‪ -‬استل اب شفرة لتحوي البيانات املرسلة ا صيغة مشفرة ميكن ترمجتها صواسطة‬
‫املستلم‪.‬‬
‫جـ ‪ :‬ث‬
‫) ام ا النا ي هو عبا ة عن ‪..........‬‬
‫ن‪ -‬ج ا الكرتوني مسيك ال يسمح صعبو صيانات القراصنة للشبكة املسته فة‪.‬‬
‫رس شبكة املعلومات و ال تسمح‬ ‫ب‪ -‬جمموعة من ال جميات و األجهزة ال‬
‫صالتواص مع ني معلومات مرسلة ته د نمن معلومات الشبكة‪.‬‬
‫ت‪ -‬ج ان قوية تستل ب يف صناء حجرات توضع صها مكونات شبكة املعلومات حبيث‬
‫يصع‪ ,‬اقتحامها و سرقتها‪.‬‬
‫ث‪ -‬صناديق فوالذية توضع ص اتلها مع ات الشبكة املعلوماتية كاخلوادب و غريها‪.‬‬
‫جـ ‪ :‬ب‬
‫) تستل ب وسائ محاية ال جميات من نج ‪..........‬‬
‫ي األشلاص امللولي صاستل امها و منع غري امللولي من تشغيلها‪.‬‬ ‫ن‪-‬‬
‫ب‪ -‬محاية االقراص )‪ (CD‬ال توي على صرجميات املؤسسة املعنية من السرقة‪.‬‬
‫ت‪ -‬محاية حقوق ملكية ال جميات‪.‬‬
‫ث‪ -‬محاية املعاه و الكليات امللتصة يف ت ي‪ ,‬ال جميات‪.‬‬
‫جـ ‪ :‬ن‬
‫) عن تأمي محاية ال جميات ميكن التحقق من هوية املستل مي ع استل اب وسائ متع دة‬
‫ماع ا‪..........‬‬
‫ن‪ -‬كلمات العبو (السر) الشلصية‪.‬‬
‫ب‪ -‬صيانات قزحية العي‪.‬‬
‫ت‪ -‬متييز صوت املستل ب‪.‬‬
‫ث‪ -‬فصيلة ال ب‪.‬‬
‫جـ ‪ :‬ث‬
‫) ال تشتم إجراءات تأمي قواع البيانات ‪..........‬‬
‫ن‪ -‬جتن‪ ,‬ال تول و االستغالل غري املصرح لبيانات القاع ة من قب غري امللولي‪.‬‬
‫الفص االول‬ ‫سلسلة احلكمة‬

‫ب‪ -‬محاية مع ات قاع ة البيانات من التلف او الضياع ألي سب‪.,‬‬


‫ت‪ -‬توفري نقصى د جات السرية لبيانات الولوج للبيانات‪.‬‬
‫ث‪ -‬دفع نجو عالية للمسؤولي عن صيانة قاع ة البيانات‪.‬‬
‫جـ ‪ :‬ث‬

‫) فريوسات احلاسوب هي عبا ة عن ‪..........‬‬


‫ن‪ -‬فريوسات طبيعية مماثلة للفريوسات ال تصي‪ ,‬االنسان‪.‬‬
‫ب‪ -‬كائنات دقيقة تصي‪ ,‬احلواسي‪ ,‬فقط وال تصي‪ ,‬اإلنسان‪.‬‬
‫ث ضر اً كبريًا صها‪.‬‬ ‫ت‪ -‬صرجميات قاصلة لالستنساخ يف جهاز احلاسوب و ق‬
‫ث‪ -‬صرجميات تستلم يف تسريع عم احلواسي‪.,‬‬
‫جـ ‪ :‬ت‬
‫) نح األضرا التالية ال حي ثه فريوس احلاسوب ‪-:‬‬
‫ن‪ -‬صطء مفاجئ يف نداء احلاسوب‪.‬‬
‫ب‪ -‬شعو الشلص امالس اماب احلاسوب املصاب صالغثيان‪.‬‬
‫ت‪ -‬توقف النظاب صال سب‪.,‬‬
‫ث‪ -‬توقف صعض التطبيقات ال جمية عن العم ‪.‬‬
‫جـ ‪:‬ب‬
‫) اح االضرا التالية يعت من نعرامل اإلصاصة صفريوس احلاسوب‪-:‬‬
‫ن‪ -‬تنزي ملف صيانات من اإلنرتنت على حاسوصك الشلصي و مل يتمكن احلاسوب من‬
‫فتح امللف املعين‪.‬‬
‫ب‪. -‬ع ب الق ة على استل اب االحر العرصية ضمن نظاب التشغي وين وز املثبت على‬
‫احلاسوب‪.‬‬
‫ت‪ -‬تثبيت طاصعة ج ي ة صاحلاسوب و مل يتعم صصو ة صحيحة‪.‬‬
‫ث‪ -‬توقف صعض التطبيقات ال جمية املثبته ساصقاً عن العم ‪.‬‬
‫جـ ‪ :‬ث‬
‫) من حيث الوقاية من الفريوسات‪-:‬‬
‫‪.%‬‬ ‫ن‪ -‬صعض الشركات توفر مضادات فريوسات توفر احلماية صنسبة‬
‫امنية البيانات و املعلومات‬ ‫الفص االول‬
‫ب‪ -‬فهي ميكن جتنبها صالكام عن طريق ع ب استل اب اإلنرتنت‪.‬‬
‫ت‪ -‬ميكن جتنبها ع شراء حواسي‪ ,‬من شركات عاملية غري قاصلة لإلصاصة‬
‫صالفريوسات‪.‬‬
‫ث‪ -‬ميكن تعزيزها ع ت ي‪ ,‬املوظفي على كيفية الوقاية ض الفريوسات و التعام‬
‫معها عن العثو عليها و معامة خثا ها‪.‬‬
‫جـ ‪:‬ث‬
‫) الفريوسات ‪-:‬‬
‫ن‪ -‬ال تصي‪ ,‬سوى التطبيقات ال جمية دون املع ات )‪.(Hardware‬‬
‫ب‪ -‬ال تصي‪ ,‬سوى املع ات )‪ (Hardware‬فيتعط عم احلاسوب‪.‬‬
‫ت‪ -‬ميكن ان تصي‪ ,‬التطبيقات ال جمية و كذلك املع ات )‪.(Hardware‬‬
‫ث‪ -‬ال تصي‪ ,‬سوى احلواسي‪ ,‬املوصلة صالشبكات و اإلنرتنت‪.‬‬
‫جـ ‪ :‬ت‬
‫الفصل الثاني‬

‫احلكومة اإللكرتونية‬
‫احلكومة اإللكرتونية‬ ‫الفص الثاني‬

‫الفصل الثاني‬

‫احلكومة اإللكرتونية‬
‫مللص الفص وفقاً للكتاب امل سي‬

‫مفهوب احلكومة‬
‫احلكومة هي ‪-:‬‬
‫جمموعة من القواع ال تنظم العالقة صي مجاعة صشرية تشرتك يف‬
‫إستغالل موا د مشرتكة (شركة – صل – إقليم)‪..‬‬
‫دو احلكومة‪-:‬‬
‫هو االشرا على مصاحل الناس و تنظيم ننشطتهم امللتلفة‪.‬‬
‫ميكن مما سة احلكم على مستوى صغري مث حكومة إقليم او حكومة نادي ياضي او جامعة‬
‫او شركة او مؤسسة‪.‬‬
‫متا س احلكومة دو ها من تالل اإلدا ات امللتلفة التاصعة هلا مث ‪-:‬‬
‫‪ ‬الوزا ات‪.‬‬
‫‪ ‬اهلي ات‪.‬‬
‫‪ ‬اإلدا ات امللتلفة‪.‬‬
‫ال توفر ت مات للمواطني او املتعاملي األترين كالشركات و املؤسسات اخلا جية ‪,‬او‬
‫الزائرين كالسواح و العمالة األجنبية و غريها‪.‬‬
‫الفص الثاني‬ ‫سلسلة احلكمة‬

‫احلكومة اإللكرتونية ‪E-Government‬‬


‫احلكومة اإللكرتونية ‪-:‬‬
‫هي اسلوب يف احلكم و اإلدا ة يعتم على إستغالل تقنية املعلومات‬
‫يف إجناز اخل مات و االعمال احلكومية و التجا ية‪.‬‬
‫توفر احلكومة اإللكرتونية للمواطني و امهات االترى قنوات إلجناز اخل مات اإللكرتونية‬
‫امللتلفة ع تقنية املعلومات و االتصاالت مث االنرتنت و شبكات احلاسوب و اهلاتف النقال او‬
‫اموال و غريها‪.‬‬

‫قنوات التواص مع احلكومة اإللكرتونية‬


‫توفر انظمة احلكومة اإللكرتونية قنوات التواص التالية‪-:‬‬
‫‪ ‬االنرتنت‪.‬‬
‫‪ ‬اهلاتف النقال او اموال‪.‬‬
‫‪ ‬االكشاك اإللكرتونية للل مات الشاملة‪.‬‬
‫و االكشاك اإللكرتونية للل مات الشاملة هي مراكز ت مات ميكن من تالهلا احلصول على‬
‫اخل مات اإللكرتونية صأنواعها امللتلفة‪.‬‬

‫تتم يف احلكومة اإللكرتونية‬ ‫التفاعالت ال‬


‫ث صي‬ ‫تتع د التفاعالت ال تتم ضمن تعامالت احلكومة اإللكرتونية و هذب التفاعالت‬
‫ثالث عناصر متمثلة يف ‪-:‬‬
‫‪ ‬املواطن‪.‬‬
‫‪ ‬اإلدا ة احلكومية‪.‬‬
‫‪ ‬القطاع اخلاص‪.‬‬
‫و لق صنفت تفاعالت احلكومة اإللكرتونية على النحو التالي‪-:‬‬
‫‪ ‬من املواطن ا احلكومة‪:‬‬
‫ث صي املواطن و ني إدا ة حكومية من نج طل‪ ,‬ت مة‬ ‫هي التعامالت ال‬
‫معينة‪.‬‬
‫احلكومة اإللكرتونية‬ ‫الفص الثاني‬
‫مثال ‪ :‬إذا تق ب املواطن صطل‪ ,‬لتج ي تصة القيادة ا امهات احلكومية امللتصة ‪,‬‬
‫فإن هذا التفاع يسمى "تفاع من املواطن ا احلكومة"‪.‬‬
‫من القطاع اخلاص ا احلكومة‪:‬‬ ‫‪‬‬
‫هي التعامالت ال تطلبها مؤسسات القطاع اخلاص من احلكومة‪ ,‬مث التعامالت ال‬
‫تتم صي احلكومة و املصا االهلية او املستشفيات اخلاصة و االسواق‪.‬‬
‫مثال ‪ :‬إذا قامت م سة تاصة صتق يم طل‪ ,‬ا وزا ة التعليم للحصول على الكت‪,‬‬
‫ال اسية ‪ ,‬فإن هذا التفاع يسمى "تفاع من القطاع اخلاص ا احلكومة"‪.‬‬
‫من احلكومة ا احلكومة‪:‬‬ ‫‪‬‬
‫هي التعامالت اإللكرتونية ال تتم صي القطاعات احلكومية صعضها مع صعض‪ ,‬كاحلصول‬
‫على معلومات او اتذ موافقات او ني اجراء اتر حيكم العالقة صي امهات احلكومية‪.‬‬
‫مثال ‪ :‬إذا قامت وزا ة القوى العاملة صتق يم طل‪ ,‬ا واز ة التعليم للحصول على‬
‫قائمة صأمساء املعلمي املسجلي صالوزا ة ‪ ,‬فإن هذا التفاع يسمى "تفاع من احلكومة‬
‫ا احلكومة"‪.‬‬

‫اخل مات اإللكرتونية‬


‫اخل مات اإللكرتونية ‪-:‬‬
‫هي مجيع التعامالت املمكن إجنازها صواسطة استل اب تقنية‬
‫املعلومات‪.‬‬
‫من انواع اخل مات اإللكرتونية‪-:‬‬
‫‪ ‬معامالت دفع الفواتري‪.‬‬
‫‪ ‬استلراج و جت ي الرتص صأنواعه‪.‬‬
‫‪ ‬معامالت صطاقة اهلوية و جوازات السفر‪.‬‬
‫‪ ‬املعامالت املصرفية ‪.‬‬
‫يف ال ول ال ال تتيح ت مة احلكومة اإللكرتونية يقوب املواطنون صإجناز هذب االعمال ع احلضو‬
‫الشلصي لشباصيك التعام يف اإلدا ات املعنية‪.‬‬
‫مزايا اخل مات اإللكرتونية‬
‫من مازايا اخل مات اإللكرتونية‪-:‬‬
‫الفص الثاني‬ ‫سلسلة احلكمة‬

‫يف العادة يتم اجنازها عن صع ‪.‬‬ ‫‪‬‬


‫توفر امه و الوقت و التكلفة‪.‬‬ ‫‪‬‬
‫امكانية اجناز اخل مات على م ا الساعة‪.‬‬ ‫‪‬‬
‫إمكانية اجناز اخل مات من ني مكان تتاح فيه وسائ االتصاالت‪.‬‬ ‫‪‬‬
‫تسريع إجناز املعامالت و تفض الزحاب على شباصيك التعام يف اإلدا ات و املؤسسات ‪.‬‬ ‫‪‬‬
‫تفض تكاليف إجناز اخل مات مميع األطرا (احلكومة ‪ ,‬االفراد ‪ ,‬املؤسسات)‬ ‫‪‬‬
‫تفض مشكلة احلاجة الستغالل املواصالت للسفر و تنامي زمحة السيا ات‪.‬‬ ‫‪‬‬
‫تسهي اجناز االعمال و فع مع ل فاهية املواطني‪.‬‬ ‫‪‬‬
‫تفادي مشكلة ضياع مستن ات املعامالت و صعوصة حفظها و ختزينها ‪.‬‬ ‫‪‬‬

‫مناذج من ت مات و معامال ت احلكومة اإللكرتونية‬


‫معامالت احلكومة اإللكرتونية اجملاالت التالية ‪-:‬‬ ‫تشم‬
‫ت مات األحوال الشلصية اإللكرتونية‪.‬‬ ‫‪‬‬
‫االنتلاب اإللكرتوني‪.‬‬ ‫‪‬‬
‫التوظيف اإللكرتوني‪.‬‬ ‫‪‬‬
‫استص ا الرتص إلكرتونياً‪.‬‬ ‫‪‬‬
‫استص ا نذونات املزاولة إلكرتونياً‪.‬‬ ‫‪‬‬
‫التجا ة اإللكرتونية‪.‬‬ ‫‪‬‬
‫التعليم اإللكرتوني‪.‬‬ ‫‪‬‬
‫الرعاية الصحية اإللكرتونية‪.‬‬ ‫‪‬‬

‫اهمية احلكومة اإللكرتونية للبالد النامية‬


‫يف معظم البل ان النامية تنتشر مظاهر الفساد اإلدا ي املتمثلة يف ‪-:‬‬
‫‪ ‬غياب معايري الشفافية‪.‬‬
‫‪ ‬غياب فرص الرقاصة على نداء اإلدا ات احلكومية امللتلفة‪.‬‬
‫‪ ‬صعوصة إجناز معامالت املواطني و تعطيلها‪.‬‬
‫‪ ‬انتشا احملسوصية ‪.‬‬
‫احلكومة اإللكرتونية‬ ‫الفص الثاني‬
‫اهمية احلكومة االلكرتونية للبل ان النامية يف انها‪-:‬‬ ‫و تتمث‬
‫تفتح خفاق ًا واسعة لكشف الفساد اإلدا ي و تعطيله‬ ‫‪‬‬
‫ختفض احلاجة للذهاب ا شباصيك املعامالت و مقاصلة املسؤولي و اخلضوع لالصتزاز‪.‬‬ ‫‪‬‬
‫تفتح قناة للمشا كة الفعالة للمواطن يف عملية الرقاصة على نداء احلكومة‪.‬‬ ‫‪‬‬

‫ول احلكومة من تقلي ية ا إلكرتونية‬ ‫مراح‬


‫صرنام احلكومة اإللكرتونية من املشا يع الوطنية طويلة امل ى ‪,‬و هذا يعين انها ق تستغرق‬
‫ع ة سنوات من التلطيط و التنفيذ املت ج‪.‬‬
‫التحول ا احلكومة اإللكرتونية حيتاج ا إجراء تغيريات جوهرية يف هياك اإلدا ات و القطاعات‬
‫امللتلفة يف ال ولة‪.‬‬
‫تستلزب احلكومة االلكرتونية توفري صنية تية متق مة لتقنية املعلومات و االتصاالت‪.‬‬
‫كما جي‪ ,‬تهي ة الكواد العاملة يف احلكومة االلكرتونية و تهي ة املواطني و إقناعهم جب وى‬
‫استل اب ت مات احلكومة االلكرتونية ‪.‬‬
‫ح دت املنظمات ال ولية ذات العالقة ا صع مراح لإلنتقال ا منط احلكومة االلكرتونية ‪,‬و‬
‫هي كالتالي‪-:‬‬
‫‪ .‬مرحلة الظهو احلكومي‪.‬‬
‫‪ .‬مرحلة النشر ‪.‬‬
‫‪ .‬مرحلة التفاع ‪.‬‬
‫‪ .‬مرحلة تكام اخل مات‪.‬‬
‫مرحلة الظهو احلكومي‬
‫يف هذب املرحلة‪-:‬‬
‫‪ ‬يتم توفري املعلومات احلكومية من تالل املواقع اإللكرتونية إلدا ات احلكومة‬
‫امللتلفة ‪ ,‬كالوزا ات و اهلي ات العليا‪.‬‬
‫مرحلة النشر‬
‫يف هذب املرحلة ‪-:‬‬
‫‪ ‬يتم سي نسبة الوصول لإلنرتنت من قب املواطني‪.‬‬
‫‪ ‬ختفيض نسعا ت مة االنرتنت‪.‬‬
‫الفص الثاني‬ ‫سلسلة احلكمة‬

‫‪ ‬زيادة ع د املواقع احلكومية‪.‬‬


‫مرحلة التفاع‬
‫يف هذب املرحلة‪-:‬‬
‫‪ ‬يتمكن املواطن من إجراء صعض املعامالت عن طريق االنرتنت و ذلك ع التفاع مع‬
‫املواقع احلكومية‪.‬‬
‫مرحلة تكام اخل مات‬
‫يف هذب املرحلة‪-:‬‬
‫‪ ‬يتم صط اإلدا ات احلكومية امللتلفة و إجناز التعامالت صينها إلكرتونياً‪.‬‬
‫‪ ‬يتم استل اب التوقيع اإللكرتوني للتأك من هوية صاح‪ ,‬املعاملة‪.‬‬
‫‪ ‬يتم اجراء عمليات الس اد االلكرتوني اآلمن عن طريق صطاقات االعتماد‪.‬‬

‫يات تطبيق احلكومة اإللكرتونية‬


‫توج الع ي من التح يات لتطبيق احلكومة اإللكرتونية ال تواجه ال ول النامية مث ‪-:‬‬
‫يات فنية‪.‬‬ ‫‪‬‬
‫جناح مشا يع احلكومة اإللكرتونية يعتم على توفري البنية التحتية املالئمة من تقنيات‬
‫املعلومات و االتصاالت ‪ ,‬مث ‪-:‬‬
‫‪ o‬نسبة املواطني املالكي للحواسي‪.,‬‬
‫‪ o‬مع ل وصول االنرتنت للمنازل‪.‬‬
‫يات صشرية ‪.‬‬ ‫‪‬‬
‫وتتمث يف‪-:‬‬
‫‪ o‬مع ل امية احلاسوب ل ى املواطني‪.‬‬
‫‪ o‬استع اد املواطن للتعام و التعاطي اإلجياصي مع اخل مات االلكرتونية‪.‬‬
‫يات سياسية‪.‬‬ ‫‪‬‬
‫تتمث يف‪-:‬‬
‫‪ ‬مرونة النظاب السياسي و قبوله تنفيذ اإلجراءات الالزمة لتطبيق اخل امات اإللكرتونية‪.‬‬
‫احلكومة اإللكرتونية‬ ‫الفص الثاني‬

‫متارين الكتاب املدرسي‬


‫اترت اإلجاصة الصحيحة من صي تيا ات اإلجاصة املرفقة صك سؤال‪-:‬‬
‫) احلكومة تعين ‪..........‬‬
‫ن‪ -‬صل و علم و نشي ‪.‬‬
‫ب‪ -‬جمموعة من القواع ال تنظم العالقة صي مجاعة صشرية تشرتك يف إستغالل‬
‫موا د مشرتكة (شركة – صل – إقليم)‪.‬‬
‫ت‪ -‬حكومة ني صل دميقراطي‪.‬‬
‫ث‪ -‬دولة حيكمها ملك‪.‬‬
‫جـ ‪ :‬ب‬
‫) احلكومة اإللكرتونية تعين ‪..........‬‬
‫ن‪ -‬حكومة ال ولة يتم فيها استغالل تقنيات املعلومات و االتصاالت يف تنظيم‬
‫االنتلاصات‪.‬‬
‫ب‪ -‬هي نسلوب يف احلكم و اإلدا ة يعتم على استغالل تقنية املعلومات (مث‬
‫االنرتنت و شبكات احلاسوب و اهلاتف النقال او اموال) يف اجناز اخل مات و األعمال‬
‫احلكومية و التجا ية ‪.‬‬
‫ت‪ -‬اسلوب يتم صواسطته إدا ة القطاعات احلكومية املهتمة صصناعة تقنيات‬
‫املعلومات و اإللكرتونيات‪.‬‬
‫ث‪ -‬ال ولة ال تق ب ملواطينيها صري اً إلكرتونياً جمانياً‪.‬‬
‫جـ ‪ :‬ب‬
‫) ميكن التواص مع ت مات و معامالت احلكومة اإللكرتونية ع الع ي من الوسائ‬
‫صاستثناء‪..........‬‬
‫ن‪ -‬اإلنرتنت‪.‬‬
‫ب‪ -‬شبكات احلاسوب‪.‬‬
‫ت‪ -‬اهلاتف النقال او اموال‪.‬‬
‫ث‪ -‬وسائ ال ي الو قي‪.‬‬
‫الفص الثاني‬ ‫سلسلة احلكمة‬

‫األكشاك األلكرتونية للل مات الشاملة‪.‬‬ ‫ج‪-‬‬


‫جـ ‪ :‬ث‬
‫) تتمث اخل مات األلكرتونية يف ‪..........‬‬
‫ن‪ -‬مجيع ت مات و معامالت املواطني ال ميكن اجنازها ع تقنية املعلومات‪.‬‬
‫ب‪ -‬ت مات الضمان و صيانة املع ات اإللكرتونية صع الشراء‪.‬‬
‫ت‪ -‬اخل مات و العمليات اإلدا ية املتعلقة مبؤسسات إنتاج املع ات اإللكرتونية ‪.‬‬
‫جـ ‪ :‬ن‬
‫) اخل مات اإللكرتونية هلا مزايا ع ي ة صاستثناء ‪..........‬‬
‫ن‪ -‬توفر امه و الوقت و تكاليف إجناز املعامالت صالطريقة التقلي ية‪.‬‬
‫ب‪ -‬تيسري عيش املواطني دون مشقة و فع مع الت الرفاهية ل ى املواطني‪.‬‬
‫ت‪ -‬تفض تكاليف إجناز اخل مات مميع األطرا (احلكومة ‪ ,‬االفراد‪ ,‬املؤسسات)‪.‬‬
‫ث‪ -‬إمكانية إجناز اخل مات على م ا الساعة يف ني وقت ‪ ,‬و من ني مكان تتاح فيه‬
‫وسائ اإلتصاالت‪.‬‬
‫ج‪ -‬فع مع الت نمية احلاسوب ل ى مواطين ال ولة‪.‬‬
‫جـ ‪ :‬ج‬
‫) اح النماذج التالية ال يعت من ت مات و معامالت احلكومة اإللكرتونية‪..........‬‬
‫ن‪ -‬ت مات األحوال الشلصية اإللكرتونية (صالغات املوالي ‪ ,‬و الوفيات)‪.‬‬
‫ب‪ -‬ت مات االنتلاب اإللكرتوني و التوظيف األلكرتوني‪.‬‬
‫ت‪ -‬مكافحة اهلجرة غري الشرعية ‪.‬‬
‫ث‪ -‬ت مات اإللكرتونية الستص ا الرتص ‪ ,‬و نذونات مزاولة األعمال‪.‬‬
‫جـ ‪ :‬ت‬
‫) احلكومة اإللكرتونية توفر لل ول النامية فرصاً ع ي ة من الفرص املذكو ة ندناب‬
‫صاستثناء‪..........‬‬
‫ن‪ -‬تعزيز الشفافية تعرية الفساد اإلدا ي و القضاء على احملسوصية‪.‬‬
‫ب‪ -‬إنهاء عمليات اخلضوع لألصتزاز نثناء إجناز املعامالت الو قية‪.‬‬
‫ت‪ -‬فرمل الرقاصة على ندا ة اإلدا ات احلكومية امللتلفة و ترشي اإلنفاق الوطين‪.‬‬
‫ث‪ -‬منافسة صل ان العامل املتق ب يف الصناعات اإللكرتونية‪.‬‬
‫احلكومة اإللكرتونية‬ ‫الفص الثاني‬
‫دعم العملية ال ميقراطية و تكثيف التواص صي مكونات اجملتمع الرمسي و االهلي‪.‬‬ ‫ج‪-‬‬
‫جـ ‪ :‬ث‬
‫) ال ول ال تنلرط يف صرنام احلكومة اإللكرتونية ح يثاً جي‪ ,‬ان تركز اوال على اجناز مرحلة‬
‫‪ ..........‬كلطوة او ‪.‬‬
‫ن‪ -‬مرحلة النشر‪.‬‬
‫ب‪ -‬مرحلة تكام اخل مات‪.‬‬
‫ت‪ -‬مرحلة الظهو احلكومي‪.‬‬
‫ث‪ -‬مرحلة التفاع ‪.‬‬
‫جـ ‪ :‬ت‬
‫) عن الت ج يف مراح إجناز احلكومة اإللكرتونية يتميز االنتهاء من مرحلة الظهو احلكومي‬
‫صـ‪..........‬‬
‫ن‪ -‬ظهو مجيع التشريعات املتعلقة صالتعامالت اإللكرتونية للحكومة اإللكرتونية‪.‬‬
‫ب‪ -‬توفري كم هائ من املعلومات احلكومية االساسية من تالل املواقع اإللكرتونية‬
‫لإلدا ات احلكومية كالوزا ات و اهلي ات العليا‪.‬‬
‫ت‪ -‬توفري ع د ال صأس صه من املعامالت احلكومية ال ميكن للمواطني اجنازها كاملة‬
‫ع تقنيات املعلومات و االتصاالت‪.‬‬
‫ث‪ -‬صروز صناعة ال جميات و احلواسي‪ ,‬احمللية‪.‬‬
‫جـ ‪ :‬ب‬
‫) تتسم مرحلة النشر اإللكرتوني ضمن سلسلة مراح إجناز احلكومة اإللكرتونية صـ‪..........‬‬
‫ن‪ -‬تكام إجناز املعامالت اإللكرتونية صي ال وائر احلكومية و جتني‪ ,‬املواطني اللجوء‬
‫ملراجعة ك دائرة حكومية على ح ة‪.‬‬
‫ب‪ -‬نشر معلومات مؤسسات القطاع األهلي و مؤسسات اجملتمع امل ني على مواقع‬
‫إلكرتونية متاحة مميع املواطني‪.‬‬
‫ت‪ -‬زيادة ع د املواقع احلكومية و سي مع ل النفاذ لإلنرتنت من قب املواطني ع‬
‫توسيع جمال اإلنرتنت و تفض سوب استغالله‪.‬‬
‫ث‪ -‬زيادة ع د املواقع اإللكرتونية املتعلقة صقطاع النشر‪.‬‬
‫جـ ‪ :‬ت‬
‫الفص الثاني‬ ‫سلسلة احلكمة‬

‫) يف مرحلة ‪ ..........‬ميكن للمواطني تنزي نسخ إلكرتونية من املستن ات احلكومية و ملؤها‬


‫إلكرتونياً ثم إ ساهلا ا ال ائرة احلكومية ع ال ي اإللكرتوني‪.‬‬
‫ن‪ -‬مرحلة النشر‪.‬‬
‫ب‪ -‬مرحلة تكام اخل مات‪.‬‬
‫ت‪ -‬مرحلة الظهو احلكومي‪.‬‬
‫ث‪ -‬مرحلة التفاع ‪.‬‬
‫جـ ‪ :‬ن‬
‫) ت مة البواصة اإللكرتونية لل ولة ت ز يف مرحلة ‪ ..........‬ضمن مراح إجناز احلكومة‬
‫اإللكرتونية‪.‬‬
‫ن‪ -‬مرحلة النشر‪.‬‬
‫ب‪ -‬مرحلة تكام اخل مات‪.‬‬
‫ت‪ -‬مرحلة الظهو احلكومي‪.‬‬
‫ث‪ -‬مرحلة التفاع ‪.‬‬
‫جـ ‪ :‬ث‬
‫) عن إجناز مرحلة ‪ ..........‬يتم إجناز املعامالت اإللكرتونية صي ال وائر احلكومية صصو ة ذاتية‬
‫متكاملة ‪ ,‬و يتم جتني‪ ,‬املواطني اللجوء ملراجعة ك دائرة حكومية على ح ة‪.‬‬
‫ن‪ -‬مرحلة النشر ‪.‬‬
‫ب‪ -‬مرحلة تكام اخل مات ‪.‬‬
‫ت‪ -‬مرحلة الظهو احلكومي‪.‬‬
‫ث‪ -‬مرحلة التفاع ‪.‬‬
‫جـ ‪ :‬ب‬
‫) من التح يات التقنية ال تواجه فرص جناح جتا ب احلكومة اإللكرتونية يف العامل‬
‫الثالث‪..........‬‬
‫ن‪ -‬ا تفاع مع ل نمية احلاسوب ل ى املواطني و ع ب امتالكهم مها ات التعام مع‬
‫تقنيات املعلومات‪.‬‬
‫ب‪ -‬اخنفامل نسبة املواطني املالكي للحواسي‪.,‬‬
‫احلكومة اإللكرتونية‬ ‫الفص الثاني‬
‫ت‪ -‬ختلف البنية التحتية يف قطاع االتصاالت و ع ب انتشا ت مة اإلنرتنت يف نماكن‬
‫شاسعة من صل ان العامل الثالث‪.‬‬
‫ث‪ -‬حرص احلكومات االستب ادية على تهميش دو املواطني و ع ب متكينهم من‬
‫االطالع على ق كبري من املعلومات احلكومية‪.‬‬
‫جـ ‪:‬ت‬
‫) من التح يات السياسية ال تواجه فرص جناح جتا ب احلكومة اإللكرتونية يف العامل‬
‫الثالث‪..........‬‬
‫ن‪ -‬ا تفاع مع ل نمية احلاسوب ل ى املواطني و ع ب امتالكهم مها ات التعام مع‬
‫تقنيات املعلومات‪.‬‬
‫ب‪ -‬اخنفامل نسبة املواطني املالكي للحواسي‪.,‬‬
‫ت‪ -‬ختلف البنية التحتية يف قطاع االتصاالت و ع ب انتشا ت مة اإلنرتنت يف نماكن‬
‫شاسعة من صل ان العامل الثالث‪.‬‬
‫ث‪ -‬حرص احلكومات االستب ادية على تهميش دو املواطني و ع ب متكينهم من‬
‫االطالع على ق كبري من املعلومات احلكومية‪..‬‬
‫جـ ‪:‬ث‬
‫الفصل الثالث‬

‫التشريعات القانونية و نظم احلاسوب‬


‫التشريعات القانونية و نظم احلاسوب‬ ‫الفص الثالث‬

‫الفصل الثالث‬

‫التشريعات القانونية و نظم احلاسوب‬


‫مللص الفص وفقاً للكتاب امل سي‬

‫التشريعات القانونية اخلاصة صنظم احلاسوب ‪- :‬‬


‫هي قواني تاصة صالتعامالت االلكرتونية يتم تطبيقها على امرائم االلكرتونية ال ترتبط‬
‫صتقنيات املعلومات و ال يقوب صها القراصنة و احملتالون‪.‬‬
‫من املما سات الغري قانونية ال تضع مرتكبيها ت طائلة القانون‪-:‬‬
‫‪ ‬إ سال و ز اعة الفريوسات لتلري‪ ,‬او لسرقة قواع البيانات‪.‬‬
‫‪ ‬نسخ ال ام و االستل اب غري املصرح صه‪.‬‬
‫‪ ‬التالع‪ ,‬صإدتال صيانات غري صحيحة او تزويرها‪.‬‬
‫‪ ‬سرقة كلمات العبو و العبث يف معلومات االشلاص و املؤسسات ذات العالقة‪.‬‬
‫‪ ‬انتحال شلصيات وهمية او حقيقية او انتحال شلصية املواقع‪.‬‬

‫التعاق اإللكرتوني‬
‫التعاق اإللكرتوني ‪-:‬‬
‫هو اصراب العقود صي شلصي غائبي ال يتوج ان يف نفس املكان‪.‬‬
‫الفص الثالث‬ ‫سلسلة احلكمة‬

‫التوقيع اإللكرتوني‬
‫التوقيع االلكرتوني‪ -:‬هو عبا ة عن ملف قمي صغري مكون من صعض احلرو و اال قاب و الرموز‬
‫اإللكرتونية يص عن إح ى امهات احلكومية املتلصص‪ ,‬و يطلق على‬
‫هذا امللف اسم "الشهادة الرقمية"‪.‬‬
‫و يف العصر احل يث يشك التوقيع االلكرتوني ما يسمى اهلوية اإللكرتونية للمواطن‪ ,‬و ميكن‬
‫االعتماد اعتماداً كلياً على هذا التوقيع ضمن االجراءات القانونية و القضائية ‪.‬‬

‫املعلومات الشلصية و اخلصوصية‬


‫اخلصوصية ‪ -:‬هي ما يعت ب الصلص معلومات تاصة ال يود اإلفصاح عنها لآلترين‪.‬‬
‫تشريعات اخلصوصية ‪- :‬‬
‫د طريقة التعام مع البيانات‬ ‫هي جمموعة من قواع و قواني ال‬
‫الشلصية ‪ ,‬و د املسؤولية امل نية و امزائية عن ني نشاط خيالف‬
‫هذب القواع ‪.‬‬
‫يعت تبادل املعلومات الشلصية نمراً قانونياً يف احلاالت التالية‪-:‬‬
‫‪ ‬عن ب يتعلق االمر مبسألة اإلضرا صاملصلحة العامة‪.‬‬
‫‪ ‬كشف حاالت فساد‪.‬‬
‫‪ ‬املساع ة يف املالحقات امنائية‪.‬‬

‫حرية االطالع على املعلومات‬


‫إعتادت احلكومات املستب ة على ثقافة سرية املعلومات املتعلقة صأنشطة و نعمال احلكومة‬
‫‪,‬و هذا السلوك يعزز الفساد املالي و اإلدا ي للحكومة و جيعلها صعي ة عن قاصة املواطني ‪,‬‬
‫لذلك رص ال ول املتق مة على إقرا تشريعات تتعلق حبق إطالع املواطني على املعلومات كنوع‬
‫من املظلة الرقاصية على نداء احلكومة و حماسبتها‪.‬‬
‫ان وجوب تطبيق هذا احلق من شأنه صناء الثقة صي املواطني و احلكومة و جعلها اكثر‬
‫فاعلية و استجاصة لطموحاتهم‪.‬‬
‫التشريعات القانونية و نظم احلاسوب‬ ‫الفص الثالث‬
‫و غم هذا فأن هناك نوعية من املعلومات ق يسب‪ ,‬نشرها ضر اً صأمن او سيادة ال ولة او‬
‫إنتهاك ًا خلصوصية االفراد‪ ,‬و هي معلومات ال جي‪ ,‬عرضها و مينع ت اوهلا‪.‬‬

‫قرصنة ال جميات و حقوق امللكية الفكرية‬


‫قرصنة املعلومات ‪-:‬‬
‫هي عملية نسخ ال ام و استل امها ص ون دفع مثنها للشركة او للشلص‬
‫الذي قاب صتصنيعها‪.‬‬
‫هذب العملية تعت تع ياً على حقوق امللكية الفكرية ملؤلفي او منتجي ال جميات‪.‬‬
‫و على صعي امللكية الفكرية للمعلومات‪ ,‬فاملؤلف الي نص فين او ادصي او علمي يعت املالك‬
‫هلذا النص ألنه من افكا ب و إص اعاته‪.‬‬
‫و نظراً لطبيعة املعلومات االلكرتونية املنشو ة على االنرتنت فهي عرضة للنسخ و اإلجتا صها‪,‬‬
‫فالبعض يستنسخ الكت‪ ,‬و املؤلفات االلكرتونية صانواعها‪ ,‬و يعي نشرها دون ذكر مؤلفيها‬
‫االصليي‪ ,‬او يعي نشرها صامساء مزيفة و يتاجر صها ‪ ,‬و هذا االستغالل غري قانوني و يعاق‪,‬‬
‫عليه القانون‪.‬‬

‫تص ال جميات‬
‫ميكن تصنيف ال جميات حس‪ ,‬صالحية االستل اب و حقوق النسخ ا ‪-:‬‬
‫‪ ‬صرجميات جتا ية‪.‬‬
‫‪ ‬صرجميات جمانية‪.‬‬
‫‪ ‬صرجميات مفتوحة املص ‪.‬‬
‫‪ ‬صرجميات جتريبية‪.‬‬
‫صرجميات جتا ية‬
‫هي صرجميات ينتجها نفراد او شركات جتا ية و يتم صيعها مقاص مبلغ من املال و مينح املشرتي‬
‫تصة استل اب‪.‬‬
‫ان شراء ال جميات ال يعين ملكيتها ص هو ترتيص الستل امها فقط‪.‬‬
‫هذا النوع من ال جميات ذو طبيعة احتكا ية ال يستطيع اح تع يلها او تطويرها ع ا صاح‪,‬‬
‫حقوق امللكية سواء كان فرداً او شركة ‪.‬‬
‫الفص الثالث‬ ‫سلسلة احلكمة‬

‫ان استل اب ني صرجميات دون تصة مسية يعت قرصنة لل جميات و هو عم خمالف‬
‫للقواني‪.‬‬
‫تصة ال جميات‪-:‬‬
‫هي وثيقة قانونية كم استعمال او إعادة توزيع ال جميات احملمية حبقوق‬
‫النسخ‪.‬‬
‫صرجميات جمانية‬
‫هي صرجميات جمانية االستعمال ميكن استل امها لفرتات غري حم ودة و صال تكلفة‪.‬‬
‫صعض منتجي ال جميات اجملانية يشرتط استغالهلا لالستل اب الشلصي فقط و ليس االستل اب‬
‫التجا ي او االستل اب دات املؤسسات او الشركات‪.‬‬
‫صرجميات مفتوحة املص‬
‫هي صرجميات ميكن اسغالهلا كما هي او تع يلها و تطويرها لتعم صصو ة مغايرة لنسلتها‬
‫االصلية ‪ ,‬على عكس ال جميات التجا ية ال ال ميكن تع يلها‪.‬‬
‫صرجميات جتريبية‬
‫هي صرجميات ليست جمانية لكن ميكن استغالهلا صصو ة جمانية لفرتة معينة من الزمن او‬
‫لع د معي من مرات االستل اب‪.‬‬
‫صع إنتهاء الفرتة التجريبية ال ميكن تشغي هذب ال جميات‪,‬و جي‪ ,‬على املستل ب شراء تصة‬
‫االستل اب اذا ا اد االستمرا يف تشغي هذب ال جميات و استعماهلا‪.‬‬

‫انواع تص ال جميات‬
‫يوج نوعي من تص ال جميات اخلاضعة للرتتيص ‪ ,‬هما ‪-:‬‬
‫‪ ‬تصة املستل ب الواح ‪.‬‬
‫و هي ترتيص صاستل ب التطبيق ال جمي على حاسوب واح فقط‪.‬‬
‫‪ ‬تصة متع دة االستل اب‪.‬‬
‫هي تصة تـُمنح للمؤسسات ال سو يقوب ع د كبري من موظفيها صاستل اب نفس‬
‫التطبيق ال جمي‪.‬‬
‫التشريعات القانونية و نظم احلاسوب‬ ‫الفص الثالث‬
‫فب الً من شراء جمموعة تص منفردة صع د احلواسي‪ ,‬ال سو يستعملها‬
‫املوظفون‪ ,‬متنح هذب املؤسسات تصة متع دة االستل اب و تكون صسعر اق من شراء‬
‫ع د نسخ منفردة‪.‬‬
‫الفص الثالث‬ ‫سلسلة احلكمة‬

‫متارين الكتاب املدرسي‬


‫اترت اإلجاصة الصحيحة من صي تيا ات اإلجاصة املرفقة صك سؤال‪-:‬‬
‫) القواني التقلي ية ‪..........‬‬
‫ن‪ -‬قاصرة وال تستوع‪ ,‬الطبيعة اخلاصة للتعامالت و اخل مات اإللكرتونية‪.‬‬
‫ب‪ -‬تستوع‪ ,‬مجيع ما يتعلق صالتعامالت و اخل مات اإللكرتونية ألنها شاملة‪.‬‬
‫ت‪ -‬صعض البل ان تستوع‪ ,‬مجيع املستج ات مبا فيها ما يتعلق صالتعامالت و اخل مات‬
‫اإللكرتونية‪.‬‬
‫ث‪ -‬ال تفرق صي التعامالت اإللكرتونية و التعامالت التقلي ية و ال حاجة إلص ا‬
‫قواني تاصة صالتعامالت اإللكرتونية‪.‬‬
‫جـ ‪ :‬ن‬
‫) قواني التعامالت اإللكرتونية هي ‪..........‬‬
‫ن‪ -‬قواني تنظم صيع املع ات اإللكرتونية صأنواعها ‪.‬‬
‫ب‪ -‬قواني تنظم عمالة الصناعات اإللكرتونية صالبالد‪.‬‬
‫ت‪ -‬قواني تنظم التعامالت و اخل مات اإللكرتونية ال جتري ع وسائ تقنية‬
‫املعلومات و االتصاالت‪.‬‬
‫ث‪ -‬قواني تصاغ حلماية الصناعات اإللكرتونية احمللية‪.‬‬
‫جـ ‪ :‬ت‬
‫) القواني املتعلقة صنظم و تقنية املعلومات تعاجل الكثري من امرائم ذات العالقة‬
‫مث ‪..........‬‬
‫ن‪ -‬خمالفة لوائح العم و التشغي للعاملي صقطاع تقنية املعلومات‪.‬‬
‫ب‪ -‬استنساخ كت‪ ,‬تقنية املعلومات دون إذن مؤلفيها و صيعها صصو ة غري قانونية‪.‬‬
‫ت‪ -‬انتحال شلصية م يري شركات تقنية املعلومات‪.‬‬
‫ث‪ -‬سرقة كلمات العبو و العبث يف معلومات األشلاص و املؤسسات ذات‬
‫العالقة‪.‬‬
‫التشريعات القانونية و نظم احلاسوب‬ ‫الفص الثالث‬
‫جـ ‪ :‬ث‬
‫) تواجه التعاق ات اإللكرتونية مسألة صالغة االهمية ممثلة يف ‪..........‬‬
‫ن‪ -‬كيفية إثبات هوية املتعاملي (صاعة او مشرتين) و حجية الوثائق اإللكرتونية‪.‬‬
‫ب‪ -‬ضرو ة انضماب ال ولة مكان التعاق ات لعضوية املنظمات العاملية املتلصصة‪.‬‬
‫ت‪ -‬ضرو ة لقاء املتعاملي وجهاً لوجه إلجراء ني نوع من التعامالت اإللكرتونية ‪.‬‬
‫ث‪ -‬ضرو ة ان تتم املعاملة اإللكرتونية دات نفس البل ‪.‬‬
‫جـ ‪:‬ن‬
‫) املعلومات الشلصية امل تلة يف قواع صيانات املؤسسات العامة و اخلاصة ‪..........‬‬
‫ن‪ -‬هي ملك هلذب املؤسسات و هلا احلق يف استغالهلا صأي طريقة كبيعها او تبادهلا مع‬
‫مؤسسات اترى‪.‬‬
‫ب‪ -‬يكون للمؤسسات العامة فقط احلق يف استغالهلا صأي طريقة كبيعها او تبادهلا مع‬
‫مؤسسات اترى‪.‬‬
‫ت‪ -‬يكون للمؤسسات العامة فقط احلق يف استغالهلا و تبادهلا مع ني مؤسسة عامة‬
‫تاجها‪.‬‬
‫ث‪ -‬ميكن للمؤسسة املعنية استغالهلا ضمن نظاب عملها و ال جيوز تبادهلا مع ني‬
‫مؤسسة نترى دون ترتيص من املواطن صاح‪ ,‬البيانات الشلصية‪.‬‬
‫جـ ‪ :‬ث‬
‫) الع ي من ال ول تضع تشريعات صا مة حول سرية املعلومات الشلصية لألفراد و ع ب‬
‫تبادهلا دون إذن اصحاصها صستثناء ‪..........‬‬
‫ن‪ -‬السياسيي كونهم شلصيات عامة جي‪ ,‬نشر مجيع صياناتهم الشلصية‪.‬‬
‫ب‪ -‬االجان‪ ,‬املقيمي يف ال ولة‪.‬‬
‫ت‪ -‬االشلاص الذين يساهم االطالع على صياناتهم يف كشف مسائ ته د نمن‬
‫املواطني او البل صشك عاب‪.‬‬
‫ث‪ -‬مشاهري األدب و الرياضة‪.‬‬
‫جـ ‪ :‬ت‬
‫) احلكومات ‪ ..........‬رص على سرية املعلومات املتعلقة صاألنشطة و العمليات املالية و‬
‫اإلدا ية للحكومة‪.‬‬
‫الفص الثالث‬ ‫سلسلة احلكمة‬

‫ن‪ -‬اإللكرتونية‪.‬‬
‫ب‪ -‬االستب ادية ‪.‬‬
‫ت‪ -‬ال ميقراطية‪.‬‬
‫ث‪ -‬املتق مة‪.‬‬
‫جـ ‪ :‬ب‬
‫) إقرا تشريعات تتعلق حبق اطالع املواطني على املعلومات احلكومية له الع ي من املزايا ال‬
‫تشم ‪..........‬‬
‫ن‪ -‬تقوية فرص قاصة املواطني على نداء املؤسسات احلكومية ‪.‬‬
‫ب‪ -‬تعزيز الثقة صي املواطن و احلكومة صسب‪ ,‬شفافية التعامالت املالية و اإلدا ية‬
‫للحكومة ‪.‬‬
‫ت‪ -‬فع مع الت امية احلاسوب يف اجملتمع‪.‬‬
‫ث‪ -‬تفض مع الت الفس املالي و اإلدا ي‪.‬‬
‫جـ ‪ :‬ت‬
‫) هناك صنف من املعلومات احلكومية ال ميكن لل ولة ع ب االفصاح عنها وفقا لتشريعات‬
‫قانونية تاصة مث معلومات ‪..........‬‬
‫ن‪ -‬النات احمللي‪.‬‬
‫ب‪ -‬ق يسب‪ ,‬نشرها ضر اً صأمن او سيادة ال ولة و انتهاك خلصوصية األفراد‪.‬‬
‫ت‪ -‬مجعيات اجملتمع امل ني‪.‬‬
‫ث‪ -‬املقيمي األجان‪ ,‬غري الشرعيي‪.‬‬
‫جـ ‪ :‬ب‬
‫) قرصنة ال جميات هي ‪..........‬‬
‫ن‪ -‬سرقة وسائط ختزين ال جميات و صيعها صصو ة غري مسية‪.‬‬
‫ب‪ -‬تهري‪ ,‬نقراص ال جميات ع ال ول‪.‬‬
‫ت‪ -‬عملية نسخ ال جميات و استل امها او ت اوهلا دون إذن مالكيها او مؤلفيها‬
‫األصليي‪.‬‬
‫ث‪ -‬نزوح امل جمي من دول العامل الثالث و هجرتهم ا البل ان املتق مة للعم‬
‫كعمالة تيصة‪.‬‬
‫التشريعات القانونية و نظم احلاسوب‬ ‫الفص الثالث‬
‫جـ ‪ :‬ت‬
‫) تسهم قرصنة ال جميات يف ‪..........‬‬
‫ن‪ -‬إفالس الع ي من مؤسسات إنتاج ال جميات نتيجة ع ب استعادة تكاليف اإلنتاج و‬
‫قيق األ صاح‪.‬‬
‫ب‪ -‬تعزيز الق ات البشرية مل جمي دول العامل الفقرية‪.‬‬
‫ت‪ -‬تطو صناعة ال جميات العاملية ‪.‬‬
‫ث‪ -‬تعزيز ظهو شركات إنتاج منافسة يف جمال ال جميات‪.‬‬
‫جـ ‪ :‬ن‬
‫) امللكية الفكرية تعين ‪..........‬‬
‫ن‪ -‬حق مؤلف ني عم فكري (كال جميات و النصوص اإللكرتونية) يف ع ب السماح‬
‫لآلترين صاستل امه دون إذنه‪.‬‬
‫ب‪ -‬حق مشرتي ال جميات يف امتالك نسخ احتياطية من نقراص ال جميات‪.‬‬
‫ت‪ -‬حق امتالك املؤسسات لك ما ينتجه او يؤلفه العاملون صها‪.‬‬
‫ث‪ -‬حرية التفكري للعاملي صقطاع تقنية املعلومات‪.‬‬
‫جـ ‪ :‬ن‬
‫) املعلومات اإللكرتونية او ال جميات املتاحة ع االنرتنت ‪..........‬‬
‫ن‪ -‬ال حقوق ملؤلفيها مبجرد نشرها و ميكن استغالهلا او إعادة تسويقها حبرية تامة‪.‬‬
‫ب‪ -‬جي‪ ,‬التأك من السماح صنسلها و استغالهلا و احلصول على إذن استغالهلا من‬
‫مؤلفيها األصليي‪.‬‬
‫ت‪ -‬يسمح صنسلها صال قيود و ذلك وفقا لقواني النشر ع اإلنرتنت‪.‬‬
‫ث‪ -‬حمتكرة متاما من قب امهات ال متلكها و ال جيوز نسلها مطلقاً‪.‬‬
‫جـ ‪ :‬ب‬
‫) ك من يؤلف فكرة إص اعية كال جميات او نصاً فنياً او ادصيا او عملياً منشو اً على وسيط‬
‫معلوماتي (قرص‪-‬انرتنت) يعت ‪..........‬‬
‫ن‪ -‬فاق ًا حلق مقاضاة ك من استغ النص الفكري صع نشرب ع تقنيات املعلومات‪.‬‬
‫ب‪ -‬مالكا للحقوق الفكرية للمنت الفكري وال جيوز إعادة إنتاجه إال صإذنه‬
‫ت‪ -‬مسؤوالً عن ما ينجم عن االستغالل السيئ للمنت الفكري الذي اصت عه‪.‬‬
‫الفص الثالث‬ ‫سلسلة احلكمة‬

‫نشرب على وسائط تقنية‬ ‫ث‪ -‬عليه كتاصة تنازل تطي عن ملكيته الفكرية قب‬
‫املعلومات‪.‬‬
‫‪:‬ب‬ ‫جـ‬
‫) عملية نسخ الكت‪ ,‬و املؤلفات اإللكرتونية املنشو ة ع اإلنرتنت و إعادة طباعتها و صيعها‬
‫تعت عمال ً‪..........‬‬
‫ن‪ -‬غري قانوني‪.‬‬
‫ب‪ -‬قانونياً على ال واب ‪.‬‬
‫ت‪ -‬إجياصياً لنشر املعرفة‪.‬‬
‫ث‪ -‬وطنياً‪.‬‬
‫جـ ‪ :‬ن‬
‫) للتص يق على صحة صيانات املعلومات اإللكرتونية جي‪ ,‬إسنادها صـ ‪..........‬‬
‫ن‪ -‬التوقيع الي وي‪.‬‬
‫ب‪ -‬نسلة من البطاقة الشلصية‪.‬‬
‫ت‪ -‬التوقيع اإللكرتوني‪.‬‬
‫ث‪ -‬صو ة شلصية لطال‪ ,‬املعاملة‪.‬‬
‫جـ ‪ :‬ت‬
‫) التوقيع اإللكرتوني هو ‪..........‬‬
‫ن‪ -‬شرحية إلكرتونية تاصة يتم تركيبها يف احلواسي‪ ,‬املستل مة يف معامالت‬
‫احلكومة اإللكرتونية‪.‬‬
‫ب‪ -‬قم التسلس للحاسوب املستل ب يف إجناز املعامالت اإللكرتونية‪.‬‬
‫ت‪ -‬جهاز تاص مبعامالت التجا ة اإللكرتونية‪.‬‬
‫ث‪ -‬ملف قمي صغري مكون من صعض االحر و اال قاب و الرموز اإللكرتونية تص عن‬
‫إح ى امهات احلكومية املتلصصة لصاحل ك مواطن‪.‬‬
‫جـ ‪ :‬ث‬
‫) ال جميات التجا ية ‪..........‬‬
‫ن‪ -‬تعت ملكية تاصة للمستل ب صع دفع مثن شرائها‪.‬‬
‫التشريعات القانونية و نظم احلاسوب‬ ‫الفص الثالث‬
‫ب‪ -‬تظ ملكية تاصة للمنت (فرد‪/‬شركة) و للمستل ب احلق يف استغالهلا فقط غم‬
‫دفع مثنها‪.‬‬
‫ت‪ -‬ميكن إعادة نسلها جمان ًا صع مضي عاب على استغالهلا‪.‬‬
‫ث‪ -‬ذات حقوق ملكية مشرتكة صي املنت و املستل ب‪.‬‬
‫جـ ‪ :‬ب‬
‫) صرجميات ‪ ..........‬ال تاج لرتتيص و ميكن استل امها لفرتة غري حم دة و هي متوفرة صال‬
‫تكلفة يف نغل‪ ,‬االحيان‪.‬‬
‫ن‪ -‬صرجميات جتا ية‪.‬‬
‫ب‪ -‬صرجميات جمانية‪.‬‬
‫ت‪ -‬صرجميات مفتوحة املص ‪.‬‬
‫ث‪ -‬صرجميات جتريبية‪.‬‬
‫جـ ‪ :‬ب‬
‫) صرجميات املص املفتوح ‪..........‬‬
‫ن‪ -‬ليست جمانية و دائما توزع مبقاص ‪.‬‬
‫ب‪ -‬تاج لرتتيص متع د االستل اب‪.‬‬
‫ت‪ -‬صعضها جماني التوزيع و صعضها يوزع مبقاص و ميكن استغالهلا كما هي او تع يلها و‬
‫تطويرها لتعم صصو ة مغايرة لنسلتها األصلية‪.‬‬
‫ث‪ -‬توزع صصو ة جمانية فقط و ميكن استغالهلا كما هي او تع يلها و تطويرها لتعم‬
‫صصو ة مغايرة لنسلتها االصلية‪.‬‬
‫جـ ‪ :‬ت‬
‫الفصل الرابع‬

‫تطبيقات برجمية باستخدام بيسك‬


‫املرئي‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫الفصل الرابع‬

‫تطبيقات برجمية باستخدام البيسك املرئي‬


‫مللص الفص وفقاً للكتاب امل سي‬

‫مق مة عامة‬
‫لغة صيسك املرئي من اللغات ذات االنتشا الواسع ‪ ,‬و هي لغة ذات تصميم مرئي و واجهة‬
‫سومية‪ ,‬او "واجهة مستل ب سومية" )‪ (Graphical User Interface‬و ختتصر )‪. (GUI‬‬
‫و يقص صأن لغة صيسك املرئي ذات واجهة سومية‪-:‬‬
‫هو ان االوامر و االدوات ال تستل ب إلنشاء التطبيقات يف هذب اللغة تظهر يف شك موز او‬
‫ايقونات و از ا و قوائم ‪ ,‬و صاستل اب هذب االدوات امللتلفة ميكن إنشاء ‪ -‬و تطوير‪ -‬تطبيقات‬
‫متنوعة تعم يف صي ة نظاب التشغي "وين وز" )‪.(Windows‬‬
‫لغة صيسك املرئي من انتاج شركة "ميكروسوفت" )‪.(Microsoft‬‬
‫ميكن االعتماد على لغة صيسك املرئي يف تطوير انواع خمتلفة من التطبيقات مث ‪-:‬‬
‫‪ ‬تطبيقات قواع البيانات‪.‬‬
‫‪ ‬تطبيقات االنرتنت‪.‬‬
‫‪ ‬صرام االلعاب‪.‬‬

‫تطوات ح املسألة‬
‫حل مسألة معينة صواسطة احلاسوب جي‪ ,‬علينا اتباع تطوات منهجية معينة للوصول ا‬
‫احل املطلوب‪ ,‬يف العادة تكون تطوات ح املسألة صاستل اب لغة البيسك املرئي على النحول‬
‫التالي‪-:‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫تعريف املشكلة ‪-‬او املسألة‪.-‬‬ ‫‪‬‬


‫كتاصة اخلوا زمية‪.‬‬ ‫‪‬‬
‫ي األدوات املطلوصة حل املسألة‪.‬‬ ‫‪‬‬
‫تنفيذ احل صاستل اب نوامر لغة البيسك املرئي‪.‬‬ ‫‪‬‬
‫املراجعة و التصحيح للح ‪.‬‬ ‫‪‬‬

‫تعريف املشكلة او املسألة‬


‫ان اول و اهم جزء يف ح املشاك او املسائ ال جمية هي تعريف املشكلة ‪ ,‬و تب ن صـ ‪-:‬‬
‫‪ o‬حصر املشكلة‪.‬‬
‫‪ o‬تعريف املشكلة‪.‬‬
‫‪ o‬فهم املشكلة‪.‬‬
‫و من تالل هذب املراح سيتم ي وصف احل املطلوب صالضبط ‪.‬‬
‫اذا مل يفهم امل م املشكلة جي اً فق ال يص ا احل الصحيح‪.‬‬
‫و كمثال صسيط على ذلك اذا ا دنا كتاصة صرنام حلساب جمموع ع دين‪ ,‬املسألة او املشكلة يف‬
‫حالتنا هذب تتمث يف غبتنا يف احلصول على نات مجع ع دين‪.‬‬
‫حل هذب املشكلة او املسألة (او صكلمات اترى للحصول على النات املطلوب و هو نات مجع‬
‫ع دين) حنتاج ا ‪-:‬‬
‫‪ ‬ع دين ‪ ,‬يتم إدتاهلما لل نام ‪ ,‬و ميثالن البيانات امل تلة او امل تالت‪.‬‬
‫ثم سنقوب صـ‪-:‬‬
‫‪ ‬عملية حساصية ‪ ,‬لتقوب صعملية مجع الع دين امل تلي ‪ ,‬و متث هذب العملية عملية‬
‫املعامة‪.‬‬
‫فنحص على ‪-:‬‬
‫‪ ‬امللرجات ‪ ,‬و تتمث هذب امللرجات يف النات املطلوب ‪ ,‬و هو حاص مجع الع دين‪.‬‬
‫صهذا نكون ق حصرنا املشكلة او املسألة ال نري حلها و تعرفنا عليها و فهمناها و قمنا‬
‫صوصف احل املطلوب صالضبط‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫كتاصة اخلوا زمية‬


‫اخلوا زمية ‪-:‬‬
‫هي عبا ة عن جمموعة من اخلطوات ال يتم تنفيذها للوصول ا احل املطلوب‪,‬‬
‫ني ان اخلوا زمية مبثاصة تطة عم ‪.‬‬
‫توضح اخلوا زمية التسلس املنطقي للح ‪( ,‬م تالت ‪ -‬معامة ‪ -‬خمرجات)‪.‬‬
‫‪ o‬امل تالت‬
‫هي البيانات املطلوصة حل املشكلة‪.‬‬
‫و صكلمات اترى هي البيانات ال سيتم ادتاهلا لل نام لنحص على النتيجة او‬
‫احل الذي نري ‪.‬‬
‫‪ o‬املعامة‬
‫هي العمليات ال ستتم على امل تالت لنص للح ‪.‬‬
‫و صكلمات اترى هي العمليات ال سيتم تطبيقها على البيانات امل تلة‪,‬و ال‬
‫سينت عنها امللرجات‪.‬‬
‫‪ o‬امللرجات‬
‫هي النات الذي سنحص عليه من ال نام ‪.‬‬
‫ني البيانات ال سنتحص عليها صع اجراء املعامة على امل تالت‪.‬‬
‫فبع اخلطوة الساصقة (تعريف املشكلة ) ني صع حصر املشكلة او املسألة ال نري حلها و‬
‫تعريفها و فهمها و وصف احل املطلوب صالضبط ‪ ,‬تأتي اخلطوة الثانية و هي وضع تطة لتنفيذ‬
‫هذا احل ‪ ,‬و ي تطوات منطقية متسلسلة ميكننا اتباعها لتنفيذ هذا احل ‪,‬وهذا ما يسمى صـ‬
‫(كتاصة اخلوا زميات)‪.‬‬
‫فمثال متاصعة حل املثال الذي ذكرناب ساصقاً ‪ ,‬لكتاصة توا زمية د تطوات احلصول على نات‬
‫مجع ع دين تكون تطوات احل كالتالي‪-:‬‬
‫‪ ‬اخلطوة االو هي ادتال الع دين ا ال نام ‪.‬‬
‫‪ ‬اخلطوة الثانية هي اجراء عملية املعامة على الع دين تتمث يف عملية اممع‪.‬‬
‫‪ ‬اخلطوة الثالثة اتراج النات الذي ميث حاص مجع الع دين‪.‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫ي االدوات املطلوصة‬
‫يف هذب املرحلة يتم ي األدوات املطلوصة حل املسألة او املشكلة‪.‬‬
‫نستل مها‬ ‫سو‬ ‫فمثال عن استل اب "صيسك املرئي" حل املشكلة حن د او خنتا االدوات ال‬
‫للوصول للح املطلوب‪ ,‬مث النماذج و االز ا و القوائم ‪ ...‬اخل‪.‬‬

‫تنفيذ احل صاستل اب لغة البيسك‬


‫تنفيذ احل يتم عن طريق وي توا زمية احل ا اوامر صلغة البيسك‪.‬‬

‫املراجعة و التصحيح للح‬


‫صع إجناز احل و إنشاء ال نام او املشروع ال جمي ‪ ,‬تتم املراجعة و التصحيح إذا وج ت نية‬
‫نتطاء‪ ,‬او ق جنري تع يالت معينة لتحسي احل ‪.‬‬
‫االتطاء الناجتة عن كتاصة التطبيق‬
‫اهم االتطاء الناجتة عن كتاصة التطبيق‪-:‬‬
‫‪ ‬االتطاء اللغوية‬
‫ككتاصة صعض االوامر صصو ة غري صحيحة ‪ ,‬مث كتاصة امر الطباعة صالشك التالي ‪-:‬‬
‫‪Prent‬‬
‫ص ال من كتاصته صالشك الصحيح و هو‪-:‬‬
‫‪Print‬‬
‫‪ ‬االتطاء النحوية‬
‫و تكون صكتاصة االوامر وامم ال جمية صطريقة ختتلف على الشك العاب املنصوص عليه‬
‫يف دلي اوامر اللغة ‪ ,‬ني صزيادة او نقصان صعض املكونات االساسية للجملة ال جمية‪.‬‬
‫فمثال إذا ا دنا طباعة نص معي جي‪ ,‬علينا كتاصة امر الطباعة ‪ print‬اوالً ‪ ,‬ثم نكت‪ ,‬النص‬
‫الذي نري طباعته صع وضعه صي عالم تنصيص صالشك التالي‪-:‬‬
‫"لغة صيسك املرئي" ‪Print‬‬
‫فإذا كتبنا امر الطباعة صالشك التالي‪-:‬‬
‫‪" Print‬لغة صيسك املرئي"‬
‫فهذا يعت تطأ حنوياً‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫واجهة صيسك املرئي‬


‫تـُـق ب واجهة لغة صيسك املرئي "واجهة مستل ب سومية" )‪ (GUI‬توي على الع ي من‬
‫االدوات املتنوعة و املفي ة مما جيعلها صي ة صرجمة و تطوير متكاملة ال ينقصها شيء لتطوير و‬
‫إنشاء التطبيقات امللتلفة‪.‬‬
‫من اهم االدوات ال توج يف واجهة صيسك املرئي ‪-:‬‬
‫‪" ‬صن وق االدوات" )‪.(ToolBox‬‬
‫‪ ‬نافذة "مستكشف املشروع" )‪.(Project Explorer‬‬
‫‪ ‬نافذة "النموذج" )‪. (Form‬‬
‫‪" ‬شريط القوائم" )‪.(Menu Bar‬‬
‫‪" ‬شريط األدوات" )‪.(Tool Bar‬‬
‫‪ ‬نافذة "اخلصائص" )‪.(Properties Window‬‬
‫‪ ‬نافذة "شك النموذج" )‪.(Form Layout Window‬‬

‫هذب األدوات جمتمعة تـُكون صي ة التطوير املتكاملة )‪ (Integrated Development Environment‬و‬


‫ختتصر صـ )‪.(IDE‬‬

‫ص ء تشغي لغة "صيسك املرئي"‬


‫لفتح و تشغي لغة "صيسك املرئي" نتبع اخلطوات التالية‪-:‬‬
‫‪ ‬ننقر على ز "اص ن" )‪ (Start‬من نظاب التشغي "وين وز"‬
‫‪ ‬ننقر على قائمة "كافة ال ام " )‪.(All Programs‬‬
‫‪ ‬ننقر على القائمة الفرعية اخلاصة صيسك املرئي )‪.(Microsoft Visual Studio 6.0‬‬
‫‪ ‬ثم ننقر على مز او "ايقونة" صيسك املرئي )‪.(Microsoft Visual Basic 6.0‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫نوع املشروع‬ ‫ي‬ ‫فيظهر مرصع حوا "مشروع ج ي " )‪ (New Project‬نتأك من‬ ‫‪‬‬
‫)‪ (Standard EXE‬من مرصع احلوا هذا و ننقر على ز "فتح" )‪.(Open‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫فيتم فتح و تشغي "صيسك املرئي" و تظهر نافذة صي ة التطوير املتكاملة امامنا‪.‬‬ ‫‪‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫"صن وق االدوات" )‪(ToolBox‬‬


‫متث األدوات األساسية لبناء‬ ‫حيتوي "صن وق االدوات" على جمموعة من ادوات التحكم ال‬
‫التطبيق‪.‬‬

‫إظها " صن وق االدوات" )‪.(Toolbox‬‬


‫يف حالة اذا كان "صن وق االدوات" )‪ (Toolbox‬غري ظاهر امامنا يف صي ة التطوير املتكاملة يف‬
‫"صيسك املرئي" ميكننا اظها ب صطريقتي ‪-:‬‬
‫‪ ‬الطريقة األو ‪ :‬صالنقر على مز او ايقونة "إظها صن وق االدوت" املوجودة يف "شريط‬
‫االدوات"‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬
‫الطريقة الثانية‪ :‬صالنقر على "صن وق االدوات" )‪ (Toolbox‬من قائمة "العرمل" )‪.(View‬‬ ‫‪‬‬

‫إضافة ادوات التحكم ا النموذج‬


‫إلضافة ني اداة من ادوات التحكم ا منوذج ال نام الذي نقوب صإنشائه نتبع اح ى الطرق‬
‫اآلتية‪-:‬‬
‫‪ ‬ننقر نقراً مزدوجاً على االداة املطلوصة من "صن وق االدوات" )‪ (Toolbox‬فيتم إضافة‬
‫االداة ا النموذج و تظهر يف وسط النموذج‪.‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫ننقر مرة واح ة على االداة املطلوصة من "صن وق االدوات" )‪ (Toolbox‬و نسحبها ا‬ ‫‪‬‬
‫املكان املطلوب على النموذج ثم نفلتها ‪ ,‬فيتم إضافة االداة ا النموذج و تظهر يف‬
‫املكان الذي ح دناب‪.‬‬

‫ريك ادوات التحكم و تغيري مكانها على النموذج‬


‫صع وضع ني اداة من ادوات التحكم على النموذج نستطيع ريكها و تغيري مكانها‪ ,‬و يكون ذلك‬
‫صالطريقة التالية‪-:‬‬
‫‪ ‬نضغط صز الفا ة على االداة من النموذج و نستمر يف الضغط‪.‬‬
‫‪ ‬نسح‪ ,‬مؤشر الفا ة على النموذج فنالحظ رك االداة مع حركة املؤشر ‪.‬‬
‫‪ ‬عن الوصول للمكان املطلوب حنر او نفلت او نرتك ز الفا ة ‪ ,‬فيتم تغيري مكان االداة و‬
‫وضعها يف املكان الذي ح دناب‪.‬‬

‫تغيري حجم ادوات التحكم على النموذج‬


‫صع وضع ني اداة من ادوات التحكم على النموذج نستطيع تغيري حجمها‪ ,‬و يكون ذلك صالطريقة‬
‫التالية‪-:‬‬
‫‪ ‬ننقر صز الفا ة على االداة من على النموذج لتح ي ها‪.‬‬
‫‪ ‬نضع مؤشر الفا ة على اح ح ود االداة ثم ننقر صز الفا ة و نستمر يف النقر و نسح‪ ,‬احل‬
‫لتكبري او تصغري حجمها‪ ,‬و عن ما نص للحجم املطلوب حنر او نفلت او نرتك ز الفا ة‪,‬‬
‫فيتم تغيري حجم األداة للحجم الذي اترتناب‪.‬‬

‫نافذة "مستكشف املشروع" )‪(Project Explorer‬‬


‫نافذة "مستكشف املشروع" )‪ (Project Explorer‬تعرمل قائمة جبميع مكونات املشروع من "مناذج"‬
‫)‪ (Forms‬و "وح ات صرجمية" )‪ ,(Modules‬ويتم عرمل ك جمموعة متجانسة يف جمل مستق ‪.‬‬
‫كما توي نافذة مستكشف املشروع )‪ (Project Explorer‬على ز ين‪-:‬‬

‫الذي يُمكننا من فتح "نافذة كتاصة الشفرة‬ ‫ز "عرمل شفرة ال نام " )‪(View Code‬‬ ‫‪‬‬
‫ال جمية" او "شاشة حمر الشفرة ‪-‬الكود‪ -‬ال جمي" )‪.(Code Editor‬‬

‫الذي يُمكننا من عرمل نافذة النموذج‪.‬‬ ‫ز "عرمل النموذج" )‪(View Object‬‬ ‫‪‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫إظها نافذة " مستكشف املشروع" )‪.(Project Explorer‬‬


‫يف حالة اذا كانت نافذة "مستكشف املشروع" )‪ (Project Explorer‬غري ظاهرة امامنا يف صي ة‬
‫التطوير املتكاملة يف "صيسك املرئي" ميكننا اظها ها صاكثر من طريقة ‪-:‬‬
‫‪ ‬الطريقة األو ‪ :‬صالنقر على مز او ايقونة إظها نافذة "مستكشف املشروع" ‪(Project‬‬
‫)‪ Explorer‬املوجودة يف "شريط االدوات"‪.‬‬

‫الطريقة الثانية ‪ :‬صالنقر على "مستكشف املشروع" )‪ (Project Explorer‬من قائمة‬ ‫‪‬‬
‫"العرمل" )‪.(View‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫الطريقة الثالثة ‪ :‬صالضغط على مفتاح )‪ (Ctrl+R‬من لوحة املفاتيح‪.‬‬ ‫‪‬‬

‫نافذة "شك النموذج" )‪(Form Layout Window‬‬


‫تعرمل هذب النافذة مكان ظهو النموذج الذي نقوب صتطويرب ‪-‬او صإنشاءب او صتصميم‪ -‬على‬
‫الشاشة عن تنفيذ التطبيق‪.‬‬

‫تغيري مكان ظهو النموذج على الشاشة‬


‫ميكننا تغيري مكان ظهو النموذج على الشاشة صالنقر على النموذج الصغري من هذب النافذة و‬
‫سحبه و وضعه يف املكان الذي نري ‪.‬‬
‫كما ميكننا إظها تطوط توضيحية توضح مق ا دقة الشاشة )‪ (Screen Resolution‬لنتمكن من‬
‫ي مكان النموذج على الشاشة وفقا ل قة شاشة حم دة ‪,‬و ذلك صالنقر صز الفأ ة االمين على‬
‫"نافذة شك النموذج" )‪ (Form Layout Window‬ثم اتتيا )‪ (Resolution Guide‬من القائمة ال تظهر‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫إظها نافذة "شك النموذج" )‪.(Form Layout‬‬


‫يف حالة اذا كانت "نافذة شك النموذج" )‪ (Form Layout Window‬غري ظاهرة امامنا يف صي ة التطوير‬
‫املتكاملة "لبيسك املرئي" ميكننا اظها ها صاكثر من طريقة ‪-:‬‬
‫‪ ‬الطريقة األو ‪ :‬صالنقر على مز او ايقونة إظها نافذة شك النموذج املوجودة يف "شريط‬
‫االدوات"‪.‬‬

‫الطريقة الثانية ‪ :‬صالنقر على "نافذة شك النموذج" )‪ (Form Layout Window‬من قائمة‬ ‫‪‬‬
‫"العرمل" )‪.(View‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫شريط القوائم )‪(Menu bar‬‬


‫حيتوي "شريط القوائم" على جمموعة من القوائم ال توي ص و ها على جمموعة من األوامر‬
‫امللتلفة ال نستل مها يف كتاصة و تنفيذ ال ام ‪ ,‬هذب القوائم هي ‪-:‬‬
‫‪ ‬قائمة "ملف" )‪.(File‬‬
‫توي هذب القائمة على جمموعة من االوامر االساسية اخلاصة صالتعام مع املشا يع‬
‫مث إنشاء مشروع ج ي ‪ ,‬او فتح مشروع موجود مسبقا ‪ ,‬او حفظ املشروع احلالي ‪ ..‬اخل‪.‬‬
‫‪ ‬قائمة "التحرير" )‪.(Edit‬‬
‫توي هذب القائمة على جمموعة من اوامر التحرير ‪ ,‬مث القص و النسخ و اللصق‪.‬‬
‫‪ ‬قائمة "العرمل" )‪.(View‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬
‫توي هذب القائمة على جمموعة من االوامر اخلاصة صعرمل مكونات واجهة صي ة‬
‫التطوير ‪ ,‬مث عرمل "صن وق االدوات" )‪ (Toolbox‬او "نافذة اخلصائص" ‪(Properties‬‬
‫)‪ Window‬او "نافذة شك النموذج" )‪.(Form Layout Window‬‬
‫قائمة "املشروع" )‪(Project‬‬ ‫‪‬‬
‫توي هذب القائمة على جمموعة من االوامر اخلاصة مبحتويات املشروع‪ ,‬حيث ميكننا‬
‫إضافة عناصر للمشروع مث "النماذج" )‪ (Forms‬و "الوح ات ال جمية" )‪. (Modules‬‬
‫قائمة "التنسيق" )‪(Format‬‬ ‫‪‬‬
‫توي هذب القائمة على جمموعة من االوامر اخلاصة صتنسيق و ترتي‪ ,‬االدوات على‬
‫النموذج‪.‬‬
‫قائمة "التنقيح" )‪(Debug‬‬ ‫‪‬‬
‫توي هذب القائمة على جمموعة من االوامر اخلاصة صالتنقيح او تصحيح االتطاء ‪.‬‬
‫قائمة "التنفيذ" )‪(Run‬‬ ‫‪‬‬
‫توي هذب القائمة على جمموعة من االوامر اخلاصة صتنفيذ ال نام او ايقافه املؤقت‬
‫او انهاء تنفيذب‪.‬‬
‫قائمة "االدوات" )‪(Tools‬‬ ‫‪‬‬
‫توي هذب القائمة على جمموعة من االوامر اخلاصة صإضافة ادوات للنموذج مث‬
‫اإلجراءات و القوائم‪.‬‬
‫قائمة "اإلضافات" )‪(Add Ins‬‬ ‫‪‬‬
‫توي هذب القائمة على جمموعة من االوامر ال ميكننا من تالهلا تشغي ادوات من‬
‫تا ج صي ة التطوير ‪.‬‬
‫قائمة "النوافذ" )‪(Windows‬‬ ‫‪‬‬
‫توي هذب القائمة على جمموعة من االوامر ال متكننا من التحكم يف شك عرمل‬
‫النوافذ اخلاصة صبي ة التطوير املتكاملة "لبيسك املرئي"‪.‬‬
‫قائمة "املساع ة" او "التعليمات" )‪(Help‬‬ ‫‪‬‬
‫توي هذب القائمة على جمموعة من االوامر ال تستل ب لعرمل ملفات املساع ة و‬
‫التعليمات اخلاصة صلغة ال جمية ‪ ,‬و كذلك معلومات عن قم إص ا اللغة و‬
‫الرتتيص املستل ب‪.‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫"شريط االدوات" )‪(Tool Bar‬‬


‫متث اوامر و ادوات هامة‬ ‫حيتوي "شريط األدوات" على جمموعة من الرموز او االيقونات ال‬
‫يكثر استل امها‪.‬‬

‫إظها "شريط اإلدوات" )‪.(Tool Bar‬‬


‫يف حالة اذا كان "شريط اإلدوات" )‪ (Tool Bar‬غري ظاهر امامنا يف صي ة التطوير املتكاملة "لبيسك‬
‫املرئي" ميكننا اظها ب صأكثر من طريقة‪-:‬‬
‫‪ ‬الطريقة األو ‪ :‬صالنقر على ز الفأ ة األمين على مكان فا غ يف شريط القوائم ثم النقر على‬
‫)‪ (Standard‬من القائمة امللتصرة ال تظهر‪.‬‬

‫الطريقة الثانية ‪ -:‬صالنقر على قائمة "العرمل" )‪ (View‬ثم النقر منها على القائمة‬ ‫‪‬‬
‫الفرعية )‪ , (ToolBars‬ثم النقر من هذب القائمة الفرعية على )‪.(Standard‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫نافذة اخلصائص )‪(Properties Window‬‬


‫اخلصائص )‪-: (Properties‬‬
‫هي صفات د مظهر او مواصفات نداة التحكم‪,‬و ميكن اعطاء القيم‬
‫هلذب اخلصائص اثناء إنشاء التطبيق ‪ ,‬او اثناء تنفيذب‬
‫لك اداة من ادوات التحكم جمموعة من اخلصائص متيزها عن غريها‪.‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫تعرمل "نافذة اخلصائص" )‪ (Properties Window‬تصائص ادوات التحكم ‪ ,‬حيث تظهر قائمة‬
‫صأدوات التحكم املوجودة على النموذج احلالي ‪ ,‬و تظهر تصائص هذب االدوات‪.‬‬

‫و تتيح لنا نافذة "اخلصائص" )‪ (Propeties‬امكانية تغيري تصائص االدوات اثناء وقت التصميم‬
‫)‪.(Design Time‬‬

‫إظها "نافذة اخلصائص" )‪(Properties Window‬‬


‫يف حالة اذا كانت "نافذة اخلصائص" )‪(Properties Window‬غري ظاهرة امامنا يف صي ة التطوير‬
‫املتكاملة يف "صيسك املرئي" ميكننا اظها ها صاكثر من طريقة ‪-:‬‬
‫‪ ‬الطريقة األو ‪ :‬صالنقر على مز او ايقونة إظها "نافذة اخلصائص" )‪(Properties Window‬‬
‫املوجودة يف "شريط االدوات"‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬
‫الطريقة الثانية ‪ :‬صالنقر على "نافذة اخلصائص")‪ (Properties Window‬من قائمة "العرمل"‬ ‫‪‬‬
‫)‪.(View‬‬

‫الطريقة الثالثة ‪ :‬صالضغط على مفتاح )‪ (F4‬من لوحة املفاتيح‪.‬‬ ‫‪‬‬

‫اهم اخلصائص الدوات التحكم‬


‫وظيفتها‬ ‫اسم اخلاصية‬
‫ي اسم‬ ‫تعت اخلاصية "االسم" من اهم اخلصائص ‪ ,‬حيث عن طريقها يتم‬
‫‪Name‬‬
‫نداة التحكم و إعطاء االوامر هلا‪.‬‬
‫تستل ب هذب اخلاصية التتيا لون اخللفية ألداة التحكم‪.‬‬ ‫‪BackColor‬‬

‫تستل ب هذب اخلاصية إلعطاء عنوان ًا يظهر على اداة التحكم‪.‬‬ ‫‪Caption‬‬

‫تستل ب هذب اخلاصية لتح ي نوع و حجم و شك اخلط املستل ب يف الكتاصة‪.‬‬ ‫‪Font‬‬

‫تستل ب هذب اخلاصية لتح ي لون النص‪.‬‬ ‫‪ForeColor‬‬

‫تستل ب تاصية "الطول" او "اال تفاع" )‪ (Hight‬و تاصية "العرمل" )‪(Width‬‬ ‫‪Hight‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫لتح ي حجم اداة التحكم ‪ ,‬فنلتا طول وعرمل االداة‪.‬‬ ‫‪Width‬‬

‫تستل ب تاصية )‪ (Left‬و )‪ (Top‬لتح ي موضع اداة التحكم على النموذج ‪,‬‬ ‫‪Left‬‬
‫فاخلاصية )‪ (Left‬د املسافة صي االداة و الطر االيسر للنموذج‪ ,‬و اخلاصية‬
‫)‪ (Top‬د املسافة صي اداة التحكم و الطر االعلى للنموذج‪.‬‬ ‫‪Top‬‬

‫تستل ب هذب اخلاصية إلدتال و تع ي و قراءة النصوص من اداة التحكم‪.‬‬ ‫‪Text‬‬

‫تستل ب هذب اخلاصية إلظها او إتفاء نداة التحكم‪ ,‬فإلظها اداة التحكم جنع‬
‫‪Visible‬‬
‫قيمة هذب اخلاصية )‪ , (True‬و إلتفاء االداة جنع قيمة هذب اخلاصية )‪.(False‬‬

‫ضبط تصائص ندوات التحكم‬


‫ميكننا ضبط تصائص ندوات التحكم صطريقتي‪-:‬‬
‫الطريقة األو ‪ :‬اثناء تصميم ال نام ‪.‬‬
‫ميكننا تغيري ني من تصائص نداة التحكم اثناء تصميم ال نام صإتباع اخلطوات التالية‪-:‬‬
‫‪ ‬حن د نداة التحكم صالنقر املفرد عليها من على النموذج‪.‬‬
‫‪ ‬نستل ب نافذة "اخلصائص" )‪ (Properties‬و نبحث عن اخلاصية ال نري تغيريها‪.‬‬
‫‪ ‬نقوب صتغيري اخلاصية و ادتال القيمة ام ي ة ال نري ‪.‬‬
‫الطريقة الثانية ‪ :‬اثناء تشغي ال نام ‪.‬‬
‫ميكننا تغيري صعض من تصائص نداة التحكم اثناء تشغي ال نام و ذلك صكتاصة شفرة‬
‫صرجمية صالشك التالي‪-:‬‬
‫‪ ‬نقوب صكتاصة اسم األداة ال نري تغيري اح تصائصها‪ ,‬و يف نهاية االسم نضع‬
‫نقطة‪.‬‬
‫‪ ‬نقوب صكتاصة اسم اخلاصية ال نري تغيريها ‪ ,‬و نضع عالمة تساوي =‬
‫‪ ‬نقوب صكتاصة القيمة ال نري إعطائها هلذا اخلاصية‪.‬‬

‫اجتاب كتاصة الشفرة ال جمية‬

‫اسم األداة‬ ‫‪.‬‬ ‫اسم اخلاصية‬ ‫=‬ ‫القيمة ام ي ة‬


‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫فمثال‪ ,‬اخلاصية )‪ (Caption‬الداة التحكم "ز االمر" )‪ (Command Button‬متثي النص الذي يظهر على‬
‫االداة‪.‬‬
‫لتغيري تاصية )‪ (Caption‬لز االمر اثناء تصميم ال نام نتبع اخلطوات التالية ‪-:‬‬
‫‪ ‬ننقر على اداة التحكم "ز االمر" )‪ (Command Button‬من على النموذج لتح ي ب‪ ,‬فنالحظ‬
‫ظهو مرصع التح ي عليه كما يف الصو ة‪.‬‬

‫كما نالحظ ظهو اسم اداة التحكم يف اعلى نافذة "اخلصائص" )‪ (Properties‬لتوضح ان‬ ‫‪‬‬
‫اخلصائص املعروضة حالياً يف نافذة اخلصائص هي تصائص اداة التحكم "ز االمر"‬
‫)‪.(CommandButton‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫نبحث عن اخلاصية )‪ (Caption‬يف نافذة "اخلصائص" )‪ , (Properties‬ثم ننقر على اخلانة‬ ‫‪‬‬
‫املقاصلة السم اخلاصية و ن ت القيمة ام ي ة ال نري ‪.‬‬

‫و عن تغيري اخلاصية ‪ ,‬نالحظ ظهو القيمة ام ي ة هلذب اخلاصية على اداة التحكم‬ ‫‪‬‬
‫على النموذج‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫لتغيري تاصية )‪ (Caption‬لز االمر )‪ (Command1‬اثناء تشغي ال نام نتبع اخلطوات التالية ‪-:‬‬
‫‪ ‬نقوب صفتح نافذة كتاصة الشفرة ال جمية‪.‬‬
‫‪ ‬نكت‪ ,‬اسم األداة التحكم ز االمر ‪ ,Command1‬و يف نهاية االسم نضع نقطة‪.‬‬
‫‪ ‬نكت‪ ,‬اسم اخلاصية صية )‪ , (Caption‬و نضع عالمة تساوي =‬
‫‪ ‬نقوب صكتاصة القيمة ال نري إعطائها هلذا اخلاصية صي عالم تنصيص صالشك‬
‫التالي‪-:‬‬
‫"مرحباً"=‪Command1.Caption‬‬

‫نافذة "النموذج" )‪(Form‬‬


‫ميث النموذج واجهة التطبيق الذي نقوب صتصميمه او تطويرب ‪ ,‬ويتم وضع االدوات امللتلفة‬
‫مث االز ا و القوائم و صناديق النص عليه‪.‬‬
‫ميكننا التحكم يف شك و حجم النموذج مبا يناس‪ ,‬التطبيق املطلوب‪.‬‬

‫إضافة منوذج للمشروع‬


‫عن إنشاء مشروع او تطبيق صاستل اب "صيسك املرئي" يتم تلقائيا إضافة منوذج واح ا التطبيق‬
‫و يظهر النموذج امامنا يف منتصف صي ة التطوير كما ذكرنا ساصقا ‪,‬و يظهر ايضا يف نافذة مستكشف‬
‫املشروع ‪ ,‬حيث خت نا هذب النافذة صان املشروع احلالي حيتوي على منوذج واح ‪.‬‬
‫إلضافة منوذج ج ي ا املشروع نتبع اخلطوات التالية‪-:‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫ننقر على قائمة )‪ (Project‬لفتح هذب القائمة و عرمل حمتوياتها ‪ ,‬ثم ننقر منها على امر‬ ‫‪‬‬
‫)‪.(Add Form‬‬

‫فيظهر مرصع حوا "إضافة منوذج" )‪ (Add Form‬خنتا منه "منوذج" )‪ , (Form‬ثم ننقر على ز‬ ‫‪‬‬
‫"موافق" )‪.(Ok‬‬

‫فيتم إضافة النموذج ا املشروع احلالي و يظهر امامنا يف صي ة التطوير املتكاملة لبيسك املرئي‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫مز النموذج من نافذة "مستكشف املشروع" ‪(Project‬‬ ‫ميكننا تب ي عرمل النماذج صالنقر ع‬
‫)‪ Explorer‬نقراً مزدوجاً‪.‬‬

‫إزالة منوذج من املشروع‬


‫إلزالة منوذج من املشروع نتبع اخلطوات التالية‪-:‬‬
‫‪ ‬ننقر على اسم النموذج من نافذة "مستكشف املشروع" )‪ (Project Explorer‬صز الفا ة االمين‬
‫فتظهر القائمة امللتصرة ‪ ,‬او قائمة النقرة اليمنى‪.‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫‪ ‬من هذب القائمة خنتا امر احلذ )‪. (Remove‬‬


‫فيتم حذ النموذج و إزالته من املشروع‪.‬‬

‫ي " منوذج ص ء التشغي " )‪(Startup Form‬‬


‫عن ما يكون هناك اكثر من منوذج واح يف املشروع ‪ ,‬خيتا "صيسك املرئي" النموذج االول ليظهر‬
‫عن تشغي التطبيق الذي نقوب صتصميمه‪.‬‬
‫و يسمى النموذج الذي يظهر عن تشغي التطبيق "منوذج ص ء التشغي " )‪.(Startup Form‬‬
‫و اذا احتوى التطبيق الذي نقوب صإنشاؤب على اكثر من منوذج ميكننا ي اح هذب النماذج ليكون‬
‫"منوذج ص ء التشغي " و ذلك صإتباع اخلطوات التالية‪-:‬‬
‫‪ ‬ننقر على قائمة )‪ (Project‬لعرضها ‪ ,‬ثم ننقر منها على )‪. (Project Properties‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫فيظهر مرصع حوا "تصائص املشروع" )‪.(Project Properties‬‬ ‫‪‬‬


‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫من مرصع احلوا هذا ننقر على القائمة املنس لة )‪ (Startup object‬فتظهر قائمة صالنماذج‬ ‫‪‬‬
‫املوجودة يف املشروع احلالي ‪ ,‬خنتا منها اسم النموذج الذي نري ب ان يصبح منوذج ص ء‬
‫التشغي ‪.‬‬

‫ي النموذج الذي‬ ‫صع اتتيا النموذج ننقر على ز موافق ‪ ,‬فيم اغالق مرصع احلوا و يتم‬ ‫‪‬‬
‫اترتناب ليكون "منوذج ص ء التشغي " )‪.(Startup Form‬‬

‫"االح اث" )‪(Events‬‬


‫احل ث )‪-:(Event‬‬
‫هو فع يقوب صه او ميا سه املستل ب على اداة التحكم و ينت عن هذا احل ث‬
‫تنفيذ اجراء معي‪.‬‬
‫فمثال إذا قاب املستل ب صالنقر على ز امر فهذا يعين ان املستل ب اجرى او ما س احل ث "النقر"‬
‫)‪ (Click‬على ز االمر‪ ,‬و صالتالي يتم تنفيذ الشفرة ال جمية املرتبطة صهذا احل ث‪.‬‬

‫صط اح اث ادوات التحكم صالشفرة ال جمية‬


‫لرصط اح اث ادوات التحكم صالشفرة ال جمية نقوب صفتح نافذة "كتاصة الشفرة ال جمية" او‬

‫من نافذة‬ ‫"حمر الشفرة ال جمية" و ذلك صالنقر على ز "عرمل الشفرة" )‪(View Code‬‬
‫"مستكشف املشروع" )‪.(Project Explorer‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫فتظهر نافذة حمر شفرة ال نام ‪.‬‬

‫يف الب اية تكون نافذة حمر الشفرة فا غة‪ ,‬و صالنظر ا اعلى النافذة جن مرصعي او تانتي ‪,‬‬
‫هما ‪-:‬‬

‫تانة ادوات التحكم )‪(Objects‬‬


‫مت إضافتها ا النموذج احلالي ‪,‬و يف الب اية جن‬ ‫تعرمل هذب اخلانة قائمة صادوات التحكم ال‬
‫مكتوصا فيها )‪. (General‬‬

‫تانة االح اث )‪ (Events‬او االجراءات )‪(Procedures‬‬


‫تعرمل هذب اخلانة قائمة صاألح اث اخلاصة صأداة التحكم ال تظهر يف اخلانة الساصقة‪ ,‬و ال‬
‫ميكننا صطها صالشفرة ال جمية‪ ,‬و يف الب اية جن مكتوصا يف هذب اخلانة )‪. (Declaration‬‬
‫صالنقر على تانة )‪ (Objects‬تظهر قائمة توي على ادوات التحكم ال مت إضافتها ا النموذج‬
‫احلالي كما ذكرنا ساصقا ‪,‬ننقر منها على اداة التحكم ال نري صطها صشفرة صرجمية‪.‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫ي اداة التحكم من اخلانة األو ‪ ,‬ستظهر قائمة صاألح اث اخلاصة صهذب االداة يف تانة‬ ‫صع‬
‫"االح اث" )‪.(Events‬‬

‫و عن اتتيا اح هذب االح اث سيقوب "صيسك املرئي" صكتاصة سطري ص اية و نهاية ال نام‬
‫اخلاص صاحل ث‪.‬‬
‫فمثال اذا اترتنا اداة التحكم "ز االمر" )‪ (Command1‬من اخلانة االو ‪ ,‬و اترتنا احل ث "النقر"‬
‫)‪ (Click‬من اخلانة الثانية سيظهر سطري ص اية و نهاية ال نام اخلاص صاحل ث )‪ (Click‬كالتالي‪-:‬‬

‫صكتاصة سطر الب اية هذا يعين انه سيتم تنفيذ الشفرة ال جمية املكتوصة هنا يف هذا االجراء‬
‫عن ما يقوب املستل ب صالنقر على ز االمر )‪.(Command1‬‬
‫ميكننا كتاصة شفرة ال نام صي هذين السطرين ‪ ,‬سطر الب اية و سطر النهاية‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫اهم االح اث‬


‫متى حي ث‬ ‫عمله‬ ‫احل ث‬

‫حي ث عن ما ينقر املستل ب فوق اداة التحكم‪.‬‬ ‫النقر املفرد‬ ‫‪Click‬‬

‫حي ث عن ما ينقر املستل ب نقراً مزدوجاً فوق اداة التحكم‪.‬‬ ‫النقر املزدوج‬ ‫‪DblClick‬‬
‫حي ث عن ما حيرك املستل ب مؤشر الفأ ة فوق اداة‬
‫ريك مؤشر الفأ ة‬ ‫‪MouseMove‬‬
‫التحكم‪.‬‬
‫الضغط على ز‬
‫حي ث عن عملية اصقاء الضغط على ز الفأ ة السف ‪.‬‬ ‫‪MouseDown‬‬
‫الفأ ة‬
‫حي ث عن إفالت ز الفأ ة‪.‬‬ ‫رير ز الفا ة‬ ‫‪MouseUp‬‬

‫حي ث عن سح‪ ,‬اداة التحكم و نقلها من مكان آلتر‪.‬‬ ‫نق‬ ‫‪Drag‬‬

‫حي ث عن ما يضغط املستل ب اح مفاتيح لوحة املفاتيح‪.‬‬ ‫ضغط مفتاح‬ ‫‪KeyPress‬‬

‫حي ث عن ما يضغط املستل ب اح مفاتيح لوحة املفاتيح‬ ‫ضغط املفتاح‬


‫‪KeyDown‬‬
‫و يستمر يف الضغط‪.‬‬ ‫السف‬
‫حي ث عن ما حير او يرفع املستل ب ي ب عن املفتاح الذي‬
‫رير املفتاح‬ ‫‪KeyUp‬‬
‫ضغطه‪.‬‬

‫"الطرق" )‪(Methods‬‬

‫الطريقة )‪-: (Method‬‬


‫هي وظيفة جاهزة ترتبط صأداة التحكم يتم است عاؤها لتنفيذ مهمة حم دة‬
‫متعلقة صهذا اإلداة‪.‬‬
‫و مثاالً على ذلك الطريقة "اإلظها " )‪ (Show‬ال تستل ب إلظها اداة التحكم ‪ ,‬و الطريقة‬
‫"االتفاء" )‪ (Hide‬ال تستل ب إلتفاء اداة التحكم ‪.‬‬
‫يتم است عاء الطريقة )‪ (Method‬عن طريق كتاصة اسم االداة ثم النقطة (‪ ).‬ثم كتاصة اسم‬
‫الوظيفة‪.‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫فمثال إذا ا دنا إظها منوذج يسمى )‪ (Form1‬سنكت‪ ,‬طريقة اإلظها )‪ (Method‬صالشك التالي‪-:‬‬
‫‪Form1.show‬‬

‫الفرق صي اخلاصية )‪ (Property‬و الطريقة )‪(Method‬‬


‫اخلصائص )‪-: (Properties‬‬
‫هي صفات د مظهر او مواصفات االداة‪,‬و ميكن اعطاء القيم هلذب‬
‫اخلصائص اثناء إنشاء التطبيق ‪ ,‬او اثناء تنفيذب‪.‬‬
‫اما الطريقة )‪-:(Method‬‬
‫هي وظيفة جاهزة ترتبط صأداة التحكم يتم است عاؤها لتنفيذ مهمة‬
‫حم دة متعلقة صهذا اإلداة‪.‬‬

‫"النموذج" )‪(Form‬‬

‫اهم تصائص اداة التحكم "النموذج" )‪(Form‬‬


‫وظيفتها‬ ‫اخلاصية‬
‫لتح ي اسم النموذج ‪.‬‬ ‫‪Name‬‬
‫إلضافة عنوان يظهر يف شريط عنوان النموذج‪.‬‬ ‫‪Caption‬‬
‫لتح ي لون تلفية النموذج‪.‬‬ ‫‪BackColor‬‬
‫لتح ي صو ة خللفية النموذج‪.‬‬ ‫‪Picture‬‬
‫مع نجتاب النموذج من اليمي ا اليسا ‪.‬‬ ‫‪RightToLeft‬‬

‫اهم طرق اداة التحكم "النموذج" )‪(Form‬‬


‫الوصف‬ ‫الطريقة‬
‫مسح ما هو مطبوع على النموذج‪.‬‬ ‫‪Cls‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬
‫سم تط مستقيم او مرصع او مستطي على النموذج‪.‬‬ ‫‪Line‬‬
‫سم دائرة على النموذج‪.‬‬ ‫‪Circle‬‬
‫لتحريك النموذج‪.‬‬ ‫‪Move‬‬
‫إلظها النموذج‬ ‫‪Show‬‬
‫إلتفاء النموذج‪.‬‬ ‫‪Hide‬‬

‫االدوات القياسية لتصميم النموذج‬

‫العنوان )‪(Label‬‬
‫تستل ب هذب األداة لعرمل نص على النموذج‪.‬‬

‫اهم تصائص اداة التحكم "العنوان" )‪(Label‬‬


‫وظيفتها‬ ‫اخلاصية‬
‫إلضافة عنوان يظهر دات االداة‪.‬‬ ‫‪Caption‬‬
‫لتح ي منط اخللفية ‪ ,‬اما شفا او معتم‪.‬‬ ‫‪BackStyle‬‬
‫تغيري حجم االداة تلقائياً ليالئم النص امل ت فيها‪.‬‬ ‫‪AutoSize‬‬
‫السماح او ع ب السماح صإلتفا النص‪.‬‬ ‫‪WordWrap‬‬
‫ي حماذاة النص‪.‬‬ ‫‪Alignment‬‬

‫اهم طرق اداة التحكم "العنوان" )‪(Label‬‬


‫الوصف‬ ‫الطريقة‬
‫لسح‪ ,‬اداة التحكم‪.‬‬ ‫‪Drag‬‬
‫لتحريك اداة التحكم‪.‬‬ ‫‪Move‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫اهم اح اث اداة التحكم "العنوان" )‪(Label‬‬


‫الوصف‬ ‫احل ث‬
‫النقر املزدوج على اداة التحكم‪.‬‬ ‫‪DblClick‬‬
‫سح‪ ,‬اداة اترى و إفالتها فوق اداة العنوان‪.‬‬ ‫‪DragDrop‬‬
‫سح‪ ,‬نداة اترى و امرا ها فوق اداة العنوان‪.‬‬ ‫‪DragOver‬‬
‫تغري النص الظاهر على اداة التحكم‪.‬‬ ‫‪Change‬‬

‫"صن وق النص" او "مرصع النص" )‪(TextBox‬‬


‫تستل ب هذب االداة للتعام مع البيانات احلرفية او الرقمية ‪.‬‬
‫و ميكن ادتال البيانات ا اداة "صن وق النص" )‪ (TextBox‬اما يف وقت التصميم و ذلك عن طريق‬
‫اخلاصية )‪ , (Text‬او يف وقت التنفيذ و ذلك صالنقر عليها و الكتاصة ص اتلها‪.‬‬

‫اهم تصائص اداة التحكم "صن وق النص" )‪(TextBox‬‬


‫وظيفتها‬ ‫اخلاصية‬
‫إلدتال و تع ي و قراءة النصوص من اداة التحكم‪.‬‬ ‫‪Text‬‬
‫تسمح هذب اخلاصية إلدتال نص مكون من ع ة سطو يف اداة التحكم‪.‬‬ ‫‪MultiLine‬‬
‫لتح ي ه ميكن تع ي النص يف اداة التحكم اب ال‪.‬‬ ‫‪Locked‬‬
‫لعرمل او اتفاء اشرطة التمرير‪.‬‬ ‫‪ScrolBrs‬‬
‫د اك طول للنص ميكن ادتاله يف اداة التحكم‪.‬‬ ‫‪MaxLenth‬‬
‫عن استل اب صن وق النص إلدتال كلمات املرو نستطيع منع كلمة املرو او‬
‫احلرو و اال قاب ال ن تلها يف هذب اخلانة من الظهو صشكلها الطبيعي و‬ ‫‪PasswordChar‬‬
‫حن د مز ليظهر ص الً منها و ذلك عن طريق هذب اخلاصية‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫اهم طرق اداة التحكم "صن وق النص" )‪(TextBox‬‬


‫الوصف‬ ‫الطريقة‬
‫تؤدي ا تفعي الرتكيز ‪,‬ني وضع الرتكيز او املؤشر دات صن وق النص‪.‬‬ ‫‪SefFocus‬‬
‫لتحريك اداة التحكم‪.‬‬ ‫‪Move‬‬

‫اهم اح اث اداة التحكم "صن وق النص" )‪(TextBox‬‬


‫الوصف‬ ‫احل ث‬
‫حي ث عن ما يقوب املستل ب صإضافة او استب ال او حذ حر من اداة التحكم‪.‬‬ ‫‪Change‬‬
‫فق ان الرتكيز ‪ ,‬حي ث عن ما يقوب املستل ب صاالنتقال من صن وق النص ا اداة‬
‫‪LostFoucus‬‬
‫كم اترى‪.‬‬

‫ز االمر )‪(Command Button‬‬


‫ز االمر من اكثر االدوات استل اماً ‪ ,‬حيث يستل ب لتنفيذ االوامر ‪.‬‬

‫اهم تصائص اداة التحكم "ز االمر" )‪(CommandButton‬‬


‫وظيفتها‬ ‫اخلاصية‬
‫لتح ي اسم ز االمر‪.‬‬ ‫‪Name‬‬
‫إلظها نص على ز االمر‪.‬‬ ‫‪Caption‬‬
‫لتح ي منط ز االمر‪.‬‬ ‫‪Style‬‬
‫إلضافة صو ة لز االمر‪.‬‬ ‫‪Picture‬‬
‫إلظها او إتفاء ز االمر‪.‬‬ ‫‪Visible‬‬
‫لتفعي او ع ب تفعي ز االمر‪.‬‬ ‫‪Enabled‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫اهم طرق اداة التحكم "ز االمر" )‪(Command Button‬‬


‫الوصف‬ ‫الطريقة‬
‫تؤدي ا تفعي الرتكيز ‪,‬ني وضع الرتكيز او املؤشر على اداة لتحكم‪.‬‬ ‫‪SetFocus‬‬
‫لتحريك اداة التحكم‪.‬‬ ‫‪Move‬‬

‫اهم اح اث اداة التحكم "ز االمر" )‪(Command Button‬‬


‫الوصف‬ ‫احل ث‬
‫حي ث عن ما ينقر املستل ب على اداة التحكم‪.‬‬ ‫‪Click‬‬
‫حي ث عن ما يقوب املستل ب صتمرير مؤشر الفأ ة فوق ز االمر‪.‬‬ ‫‪MouseMove‬‬
‫تفعي الرتكيز ‪ ,‬ني عن ما يص الرتكيز ا اداة التحكم‪.‬‬ ‫‪GotFocus‬‬
‫فق ان الرتكيز ‪ ,‬حي ث عن ما يقوب املستل ب صاالنتقال من ز االمر ا اداة كم‬
‫‪LostFocus‬‬
‫اترى‪.‬‬

‫قواع تسمية االدوات‬


‫التسمية التلقائية‬
‫عن إضافة اداة كم ا النموذج يقوب "صيسك املرئي" صإعطاء اداة التحكم هذب اسم تلقائي‬
‫يلحقه صرقم تسلس األداة‪.‬‬
‫فمثال‪ :‬اذا اضفنا ز امر )‪ (Command Button‬ا النموذج ‪ ,‬فيقوب "صيسك املرئي" صإعطائه االسم‬
‫)‪ ,(Command1‬و اذا اضفنا ز امر نتر يتم إعطائه االسم )‪ , (Command2‬و هكذا‪.‬‬
‫ميكننا تغيري اسم اداة التحكم صع اضافتها للنموذج صتح ي االداة اوال ‪-‬صالنقر عليها من على‬
‫النموذج‪ -‬ثم ادتال االسم ام ي يف تاصية "االسم" )‪ (Name‬صاستل اب نافذة "اخلصائص"‬
‫)‪.(Properties‬‬
‫و ينصح دائما صتغيري تاصية االسم )‪ (Name‬الي اداة عن اضافتها للمشروع و وضعه على‬
‫النموذج ‪,‬و ينصح صاتتيا اسم يع عن وظيفة هذب االداة‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬
‫قاع ة لتسمية االدوات‬
‫عن تسمية األدوات ميكننا اتباع قاع ة صسيطة التتيا االسم الذي نري و هي‪-:‬‬
‫‪ ‬ان يتكون امزء االول من اسم االداة من كلمة ت ل على نوع األداة‪.‬‬
‫فمثال ز االمر )‪ (Command Button‬عن تغيري امسه ينصح صاتتيا امزء االول من االسم‬
‫)‪ (Command‬او اتتيا اتتصا مع عن هذا النوع كـ )‪.(Cmd‬‬
‫‪ ‬ان يتكون امزء الثاني من االسم من كلمة تع عن وظيفة االداة يف ال نام ‪.‬‬
‫فمثال اذا كان هذا الز سيستل ب إلغالق ال نام ‪ ,‬ينصح صتسميته "ز االغالق"‬
‫صالشك التالي‪ , (CmdEnd) :‬او )‪ (Cmd_End‬او صأي تسمية قريبة من هذا الشك ‪.‬‬
‫و صهذا يتسنى لنا فهم وظيفة الز مبجرد قراءة امسه ‪ ,‬و مساع تنا ايضا على صط الز صالشفرة‬
‫ال جمية و التحكم صه صسهولة و يسر عن إنشاء ال ام و كتاصة الشفرة ال جمية ‪ ,‬تاصة يف‬
‫ال ام الكبرية ال توي على جمموعة كبرية من االز ا ذات الوظائف امللتلفة‪.‬‬
‫نالحظ اننا ال ميكننا ادتال االسم صاستل اب االحر العرصية ‪ ,‬او استل اب الفراغات او املسافات‬
‫‪ ,‬او استل اب ني من الرموز التالية‪-:‬‬
‫][}{\=‪()~!@#$%^&*-+/‬‬
‫هذا صأستثناء مز اخلط السفلي _ حيث ميكننا استل امه‪.‬‬
‫و ام ول التالي يوضع صعض االتتصا ات املتعا عليها لتسمية االدوات‪-:‬‬

‫االداة‬ ‫االتتصا‬
‫ز االمر ‪Command‬‬ ‫‪Cmd‬‬

‫صن وق النصوص ‪TextBox‬‬ ‫‪Txt‬‬

‫اداة العنوان ‪Label‬‬ ‫‪Lbl‬‬

‫النموذج ‪Form‬‬ ‫‪Frm‬‬

‫حفظ و ختزين املشروع‬


‫صع إنشاء مشروع صاستل اب "صيسك املرئي" ميكننا حفظ هذا املشروع صالنقر على امر حفظ‬
‫املشروع )‪ (Save Project‬من قائمة )‪.(File‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫و استل اب مرصع حوا )‪ (Save File As‬لتح ي ا سم و مكان حفظ هذا املشروع‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫متارين الكتاب املدرسي‬


‫) وضح مفهوب ال جمة املرئية‪.‬‬
‫ال جمة املرئية تعين استل اب لغة صرجمة ذات واجهة مستل ب سومية ‪(Graphic User‬‬
‫)‪ Interface‬توي على از ا و قوائم و ادوات خمتلفة إلنشاء ‪-‬او تطوير‪ -‬التطبيقات املتنوعة تعم‬
‫يف صي ة نظاب التشغي "وين وز" )‪.(Windows‬‬

‫) اذكر تطوات ح املشكلة و تكلم عن إح اها‪.‬‬


‫تطوات ح املشكلة او املسألة هي ‪-:‬‬
‫‪ ‬تعريف املشكلة‪.‬‬
‫‪ ‬كتاصة اخلوا زمية‪.‬‬
‫ي األدوات املطلوصة حل املسألة‪.‬‬ ‫‪‬‬
‫‪ ‬تنفيذ احل صاستل اب نوامر لغة البيسك املرئي‪.‬‬
‫‪ ‬املراجعة و التصحيح للح ‪.‬‬
‫تعريف املشكلة‬
‫ان اول و اهم جزء يف ح املشاك (او املسائ ال جمية) هي تعريف املشكلة ‪ ,‬و تب ن‬
‫صـحصر املشكلة ‪ ,‬ثم تعريف املشكلة ‪ ,‬ثم فهم املشكلة ‪ ,‬و من تالل هذب املراح سيتم‬
‫ي و وصف احل املطلوب صالضبط ‪ ,‬و اذا مل يفهم امل م املشكلة اواملسألة جي اً فق ال‬
‫يص ا احل الصحيح‪.‬‬

‫) اذكر تطوات تشغي لغة البيسك املرئي‪.‬‬


‫لفتح و تشغي لغة "صيسك املرئي" نتبع اخلطوات التالية‪-:‬‬
‫‪ ‬ننقر على ز "اص ن" )‪ (Start‬من نظاب التشغي "وين وز"‬
‫‪ ‬ننقر على قائمة "كافة ال ام " )‪.(All Programs‬‬
‫‪ ‬ننقر على القائمة الفرعية اخلاصة صيسك املرئي )‪.(Microsoft Visual Studio 6.0‬‬
‫‪ ‬ثم ننقر على مز او "ايقونة" صيسك املرئي )‪.(Microsoft Visual Basic 6.0‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫نوع املشروع‬ ‫ي‬ ‫فيظهر مرصع حوا "مشروع ج ي " )‪ (New Project‬نتأك من‬ ‫‪‬‬
‫)‪ (Standard EXE‬من مرصع احلوا هذا و ننقر على ز "فتح" )‪.(Open‬‬

‫فيتم فتح و تشغي "صيسك املرئي" و تظهر نافذة صي ة التطوير املتكاملة امامنا‪.‬‬ ‫‪‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬
‫) اذكر نمساء النوافذ و األدوات املستل مة يف لغة "البيسك املرئي"‪.‬‬
‫‪" ‬صن وق االدوات" )‪.(Toolbox‬‬
‫‪ ‬نافذة "مستكشف املشروع" )‪(Project Explorer‬‬
‫‪ ‬نافذة "النموذج" )‪(Form‬‬
‫‪" ‬شريط القوائم" )‪(Menu Bar‬‬
‫‪" ‬شريط األدوات" )‪(Tool Bar‬‬
‫‪" ‬نافذة اخلصائص" )‪(Properties Window‬‬
‫‪" ‬نافذة شك النموذج" )‪(Form Layout Window‬‬

‫) اشرح كيفية إع اد منوذج و صمم منوذجاً عنوانه "ال جمة صلغة البيسك املرئي"‪.‬‬
‫يتم إع اد "النموذج" )‪ (Form‬و التحكم يف تصائصه امللتلفة من تالل نافذة اخلصائص‬
‫)‪ ,(Properties‬حيث ميكن تغيري حجم و شك و لون النموذج و ني من تصائصه االترى‪.‬‬
‫لتصميم منوذج عنوانه "ال جمة صلغة البيسك املرئي" نتبع اخلطوات التالية‪-:‬‬
‫‪ ‬نقوب صتشغي صيسك املرئي فيتم تلقائياً إضافة منوذج للتطبيق ‪.‬‬
‫‪ ‬من نافذة اخلصائص ال تعرمل تصائص النموذج نبحث عن اخلاصية )‪ (Caption‬و نغري‬
‫قيمتها ا "ال جمة صلغة البيسك املرئي"‪.‬‬

‫فيظهرالعنوان الذي اترتناب على النموذج‪.‬‬


‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫) ما الفرق صي النموذج و اإلطا‬


‫النموذج )‪- (Form‬او نافذة العم ‪ -‬ميث املكان الرئيسي الذي يتم فيه تصميم ال ام و التطبيقات‬
‫يف لغة البيسك املرئي و تتم إضافة األدوات األترى عليه‪.‬‬
‫صينما االطا )‪ (Frame‬هو اداة تستل ب صصفة نساسية كحاوية للعناصر و االدوات االترى ‪,‬و‬
‫كذلك يف ضم العناصر املرتاصطة منطقياً او وظيفياً مع صعضها البعض‪.‬‬

‫) ما املقصود صاخلصائص؟ و كيف يتم استل امها يف صي ة ال جمة؟‬


‫اخلصائص هي صفات و مميزات متيز ك اداة من ادوات التحكم عن غريها من صاقي االدوات و‬
‫تعطي هلا صفاتها امللتلفة‪.‬‬
‫يتم استل اب اخلصائص يف صي ة ال جمة إلعطاء ندوات التحكم صفاتها امللتلفة صطريقتي‪-:‬‬
‫الطريقة األو يف وقت التصميم ‪ :‬وذلك عن طريق التعام مع نافذة "اخلصائص" )‪(Properties‬‬
‫الطريقة الثانية يف وقت التشغي ‪ :‬و ذلك عن طريقة كتاصة شفرة صرجمية تتكون من اسم‬
‫األداة و اخلاصية ال نري تغيريها و قيمة هذب اخلاصية‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫) عر االح اث و اذكر مخسة منها ‪.‬‬


‫"االح اث" )‪ (Events‬هي افعال يقوب صها او ميا سها املستل ب على نداة التحكم و ينت عنها د‬
‫فع معي كتنفيذ اجراء حم د ‪.‬‬
‫من االح اث اهلامة يف صيسك املرئي‪-:‬‬
‫‪ Click ‬النقر مرة واح ة‪.‬‬
‫‪ DblClick ‬النقر املزدوج‪.‬‬
‫‪ MouseMove ‬ريك مؤشر الفأ ة‪.‬‬
‫‪ MouseDown ‬النقر على ز الفأ ة ألسف ‪.‬‬
‫‪ MouseUp ‬رير او ترك ز الفأ ة ألعلى‪.‬‬

‫) عر الطرق و اذكر نهمها‪.‬‬


‫"الطرق" )‪ (Methods‬هي وظيفة جاهزة ترتبط صأداة التحكم يتم است عاؤها لتنفيذ مهمة‬
‫حم دة متعلقة صهذا اإلداة‪.‬‬
‫من اهم الطرق او الوظائف ‪-:‬‬
‫‪" ‬السح‪. (Drage) ",‬‬
‫‪" ‬النق " )‪.(Move‬‬
‫‪" ‬اإلظها " )‪.(Show‬‬
‫‪" ‬اإلتفاء" )‪.(Hide‬‬

‫) اجنز مشروعاً صرجمياً على شك خلة حاسبة صسيطة تستقب قيمتي ثم تقوب صإجراء عملية‬
‫مجع او طرح او ضرب او قسمة و طباعة النات يف املكان احمل د لذلك كما هو موضح يف‬
‫التصميم التالي‪.‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫اإلجاصة‪-:‬‬
‫اوال ‪ :‬تصميم النموذج‪.‬‬
‫نقوب صإضافة ثالث صناديق نص )‪-:(Text Box‬‬
‫‪ ‬صن وق نص إلدتال الرقم األول‪:‬‬
‫‪ o‬و نغري امسه ا )‪ (txtFirstNumber‬صاستل اب اخلاصية )‪(Name‬‬
‫‪ o‬و حنذ النص الظاهر على االداة صاستل اب اخلاصية )‪(text‬‬
‫‪ ‬صن وق نص إلدتال الرقم الثاني‪:‬‬
‫‪ o‬و نغري امسه ا )‪ .(txtSecondNumber‬صاستل اب اخلاصية )‪(Name‬‬
‫‪ o‬و حنذ النص الظاهر على االداة صاستل اب اخلاصية )‪(text‬‬
‫‪ ‬صن وق نص لعرمل النات ‪:‬‬
‫‪ o‬و نغري امسه ا )‪ .(txtResult‬صاستل اب اخلاصية )‪(Name‬‬
‫‪ o‬و حنذ النص الظاهر على االداة صاستل اب اخلاصية )‪(text‬‬
‫نقوب صإضافة ثالث ادوات تسمية )‪-: (Label‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬
‫تسمة نضعها جبان‪ ,‬صن وق النص ألول‪:‬‬ ‫‪‬‬
‫‪ , o‬و نغري امسها ا )‪ (lblFirstNumber‬صاستل اب اخلاصة )‪(Name‬‬
‫‪ o‬و نغري النص الظاهر على االداة و جنعله "الرقم االول" صاستل اب اخلاصية‬
‫)‪(Caption‬‬
‫تسمة نضعها جبان‪ ,‬صن وق النص الثاني‪:‬‬ ‫‪‬‬
‫‪ , o‬و نغري امسها ا )‪ (lblSecondNumber‬صاستل اب اخلاصة )‪(Name‬‬
‫‪ o‬و نغري النص الظاهر على االداة و جنعله "الرقم الثاني" صاستل اب اخلاصية‬
‫)‪(Caption‬‬
‫تسمة نضعها جبان‪ ,‬صن وق النص الثالث‪:‬‬ ‫‪‬‬
‫‪ , o‬و نغري امسها ا )‪ (lblResult‬صاستل اب اخلاصة )‪(Name‬‬
‫‪ o‬و نغري النص الظاهر على االداة و جنعله "النات " صاستل اب اخلاصية‬
‫)‪(Caption‬‬
‫وام ول التالي يوضع هذب التغيريات ال اجريناها‪.‬‬

‫القيمة‬ ‫اخلاصية‬ ‫االداة‬


‫‪txtFirstNumber‬‬ ‫‪Name‬‬
‫‪TextBox1‬‬
‫‪Text‬‬
‫‪txtSecondNumber‬‬ ‫‪Name‬‬
‫‪TextBox2‬‬
‫‪Text‬‬
‫‪txtResult‬‬ ‫‪Name‬‬
‫‪TextBox3‬‬
‫‪Text‬‬
‫‪lblFirstNumber‬‬ ‫‪Name‬‬
‫‪Label1‬‬
‫الرقم االول‬ ‫‪Caption‬‬
‫‪lblSecondNumber‬‬ ‫‪Name‬‬
‫‪Label2‬‬
‫الرقم الثاني‬ ‫‪Caption‬‬
‫‪lblResult‬‬ ‫‪Name‬‬
‫‪Label3‬‬
‫النات‬ ‫‪Caption‬‬

‫نقوب صإضافة ا صع "از ا اوامر" )‪(Command Button‬‬


‫ز لتنفيذ عملية اممع ‪:‬‬
‫‪ , o‬و نغري امسها ا )‪ (cmdAddition‬صاستل اب اخلاصة )‪(Name‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬

‫و نغري النص الظاهر على االداة و جنعله "‪ "+‬صاستل اب اخلاصية )‪(text‬‬ ‫‪o‬‬
‫ز لتنفيذ عملية الطرح‬
‫‪ , o‬و نغري امسها ا )‪ (cmdSubtraction‬صاستل اب اخلاصة )‪(Name‬‬
‫‪ o‬و نغري النص الظاهر على االداة و جنعله "‪ "-‬صاستل اب اخلاصية )‪(text‬‬
‫ز لتنفيذ عملية الضرب‬
‫‪ , o‬و نغري امسها ا )‪ (cmMmultiplication‬صاستل اب اخلاصة )‪(Name‬‬
‫‪ o‬و نغري النص الظاهر على االداة و جنعله "‪ "X‬صاستل اب اخلاصية )‪(text‬‬
‫ز لتنفيذ عملية القسمة‬
‫‪ , o‬و نغري امسها ا )‪ (cmDivision‬صاستل اب اخلاصة )‪(Name‬‬
‫‪ o‬و نغري النص الظاهر على االداة و جنعله "‪ "/‬صاستل اب اخلاصية )‪(text‬‬
‫وام ول التالي يوضع هذب التغيريات ال اجريناها‪.‬‬

‫القيمة‬ ‫اخلاصية‬ ‫االداة‬


‫‪cmdAddition‬‬ ‫‪Name‬‬
‫‪CommandButton1‬‬
‫‪+‬‬ ‫‪Text‬‬
‫‪cmdSubtraction‬‬ ‫‪Name‬‬
‫‪CommandButton2‬‬
‫‪-‬‬ ‫‪Text‬‬
‫‪cmdMultiplication‬‬ ‫‪Name‬‬
‫‪CommandButton3‬‬
‫‪x‬‬ ‫‪Text‬‬
‫‪cmdDivision‬‬ ‫‪Name‬‬
‫‪CommandButton4‬‬
‫‪/‬‬ ‫‪Text‬‬

‫ثم نضيف اداة "اخلط" )‪ (Line‬لرسم تط يفص صي صن وقي النص "الع د االول" و "الع د الثاني"‬
‫و صي صن وق النص "النات "‪.‬‬
‫صهذا نكون ق انتهينا من تصميم النموذج اخلاص صاملشروع او التطبيق ال جمي‪.‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬

‫ثانياً ‪ :‬كتاصة الشفرة اوالكود ال جمي‬


‫صع االنتهاء من تصميم النموذج وإضافة ادوات التحكم إليه ‪ ,‬نقوب صكتاصة الشفرة ال جمية و‬
‫صطها مع ادوات التحكم املناسبة لتنفيذ االوامر امللتلفة‪.‬‬
‫يف هذا التمرين نري من ال نام ‪-:‬‬
‫‪ ‬مجع الع دين عن النقر على ز اممع‪.‬‬
‫‪ ‬طرح الع د الثاني من الع د األول عن النقر على ز الطرح‪.‬‬
‫‪ ‬طرب الع دين عن النقر على ز الضرب‪.‬‬
‫‪ ‬قسمة الع د األول على الع د الثاني عن النقر على ز القسمة‪.‬‬
‫لذلك سنكت‪ ,‬الشفرة ال جمة صالشك التالي‪-:‬‬
‫ز اممع‬
‫‪ ‬ننقر نقراً مزدوجاً على ز االمر اخلاص صعملية اممع الذي اضفناب للنموذج‪ ,‬فيتم فتح‬
‫نافذة كتاصة الشفرة ال جمية ‪ ,‬ويتم تلقائياً إضافة سطري ص اية و نهاية اإلجراء‬
‫اخلاص صاحل ث "النقر" )‪ (Click‬على ز االمر )‪ (cmdAddition‬كما يلي‪-:‬‬
‫()‪Private Sub cmdAddition_Click‬‬
‫الفص الراصع‬ ‫سلسلة احلكمة‬
‫‪End Sub‬‬

‫نقوب صكتاصة الشفرة ال جمية اخلاصة جبمع الع دين‪,‬وعرمل نات عملية اممع يف‬ ‫‪‬‬
‫صن وق النص الثالث اخلاص صعرمل النتيجة و ذلك صالكتاصة صي سطري ص اية و‬
‫نهاية اإلجراء كما يلي‪-:‬‬
‫)(‪Private Sub cmdAddition_Click‬‬
‫)‪txtResult.Text = Val(txtFirstNumber.Text) + Val(txtSecondNumber.Text‬‬
‫‪End Sub‬‬
‫نالحظ هنا اننا استل منا ال الة )(‪ Val‬لتحوي القيمة النصية ا قيمة ع دية ليتم اجراء‬
‫عملية اممع على هذب القيمة الع دية‪.‬‬

‫ز الطرح‬
‫ننقر نقراً مزدوجاً على ز االمر اخلاص صعملية الطرح‪ ,‬فيتم فتح نافذة كتاصة الشفرة‬ ‫‪‬‬
‫ال جمية ‪ ,‬ويتم تلقائياً إضافة سطري ص اية و نهاية اإلجراء‪.‬‬
‫نقوب صكتاصة الشفرة ال جمية اخلاصة صطرح الع د الثاني من الع د األول ‪,‬وعرمل نات‬ ‫‪‬‬
‫عملية الطرح يف صن وق النص الثالث اخلاص صعرمل النتيجة و ذلك صالكتاصة صي‬
‫سطري ص اية و نهاية اإلجراء كما يلي‪-:‬‬
‫)(‪Private Sub cmdSubtraction_Click‬‬
‫)‪txtResult.Text = Val(txtFirstNumber.Text) - Val(txtSecondNumber.Text‬‬
‫‪End Sub‬‬
‫تطبيقات صرجمية صاستل اب البيسك املرئي‬ ‫الفص الراصع‬
‫ز الضرب‬
‫ننقر نقراً مزدوجاً على ز االمر اخلاص صعملية الضرب‪ ,‬فيتم فتح نافذة كتاصة الشفرة‬ ‫‪‬‬
‫ال جمية ‪ ,‬ويتم تلقائياً إضافة سطري ص اية و نهاية اإلجراء ‪.‬‬
‫نقوب صكتاصة الشفرة ال جمية اخلاصة صضرب الع دين‪,‬وعرمل نات عملية الضرب يف‬ ‫‪‬‬
‫صن وق النص الثالث اخلاص صعرمل النتيجة و ذلك كما يلي‪-:‬‬
‫)(‪Private Sub cmdMultiplication_Click‬‬
‫)‪txtResult.Text = Val(txtFirstNumber.Text) * Val(txtSecondNumber.Text‬‬
‫‪End Sub‬‬

‫ز القسمة‬
‫‪ ‬ننقر نقراً مزدوجاً على ز االمر اخلاص صعملية القسمة‪ ,‬فيتم فتح نافذة كتاصة الشفرة‬
‫ال جمية ‪ ,‬ويتم تلقائياً إضافة سطري ص اية و نهاية اإلجراء ‪.‬‬
‫‪ ‬نقوب صكتاصة الشفرة ال جمية اخلاصة صقسمة الع د األول على الع د الثاني‪,‬وعرمل‬
‫نات عملية القسمة يف صن وق النص الثالث اخلاص صعرمل النتيجة و ذلك كما‬
‫يلي‪-:‬‬
‫)(‪Private Sub cmdDivision_Click‬‬
‫)‪txtResult.Text = Val(txtFirstNumber.Text) / Val(txtSecondNumber.Text‬‬
‫‪End Sub‬‬
‫الفصل اخلامس‬

‫املصفوفات‬
‫املصفوفات‬ ‫الفص اخلامس‬

‫الفصل اخلامس‬

‫املصفوفات‬
‫مللص الفص وفقاً للكتاب امل سي‬

‫مق مة‬
‫املصفوفة ‪-:‬‬
‫هي عبا ة عن جمموعة متجاو ة من املواقع يف الذاكرة توي على عناصر متجانسة‬
‫من نفس النوع‪.‬‬
‫مميزات املصفوفة‪-:‬‬
‫متتاز املصفوفات صق تها على ختزين جمموعة من القيم ت اسم متغري واح فقط‬
‫ص ال من استل اب اع اد كبرية من املتغريات‪.‬‬

‫املصفوفة ذات البع الواح )‪(One Dimensional Array‬‬


‫هي املصفوفة ال يتم ي عناصرها يف مج ال نام صاستل اب دلي فهرس واح ‪.‬‬
‫توي على صف واح او عمود واح ‪.‬‬ ‫او صكلمات اترى هي املصفوفة ال‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫و يف هذب احلالة للوصول ا اي عنصر من عناصر هذب املصفوفة نستل ب قم واح لي ل على‬
‫موضع او ترتي‪ ,‬العنصر يف املصفوفة‪.‬‬

‫مجلة إعالن املصفوفة ذات البع الواح‬


‫تستل ب مجلة اإلعالن لتح ي ع د عناصر املصفوفة املطلوصة و كذلك نوع البيانات املراد‬
‫ختزينها يف املصفوفة ‪ ,‬و تكت‪ ,‬هذب امملة يف العادة يف ص اية ال نام ‪.‬‬
‫مجلة االعالن يف املصفوفات ذات البع الواح ‪-:‬‬
‫‪Dim Array-name(max-value) as Data Type‬‬
‫حيث ‪-:‬‬
‫مجلة اإلعالن‪.‬‬ ‫‪Dim‬‬
‫اسم املصفوفة ‪,‬و جي‪ ,‬ان يكون االسم مقبوالً صلغة "البيسك املرئي" ‪,‬‬ ‫‪Array-name‬‬
‫و اال يكون من الكلمات احملجوزة‪.‬‬
‫متث ع د عناصر املصفوفة ‪ ,‬او احل االقصى ‪,‬وتب ن صالرتتي‪( ,‬صفر)‪.‬‬ ‫‪Max-Value‬‬
‫نوع البيانات املستل مة مميع عناصر املصفوفة‪.‬‬ ‫‪Data-Type‬‬

‫فلإلعالن عن مصفوفة توي على مخس تانات او مخس تاليا من النوع الع دي الصحيح ‪,‬‬
‫نستل ب امملة التالية‪-:‬‬
‫‪Dim Array(4) as integer‬‬
‫املصفوفات‬ ‫الفص اخلامس‬
‫و نالحظ ان الع يف املصفوفات يب ن من الصفر ‪ ,‬فامملة الساصقة تقوب حبجز مصفوفة ذات‬
‫صع واح توي على مخس مواقع‪.‬‬
‫و صافرتامل ان اجتاب املصفوفة من اليسا ا اليمي يكون شك مصفوفة نحادية توي على‬
‫مخس مواقع او مخس تاليا كالتالي‪-:‬‬
‫اجتاب املصفوفة‬

‫املوقع‬ ‫املوقع‬ ‫املوقع‬ ‫املوقع‬ ‫املوقع‬


‫قم صفر‬ ‫قم واح‬ ‫قم ن صعة قم ثالثة قم اثنان‬

‫قم صفر )‪.Array(0‬‬ ‫هي اخللية‬ ‫اي ان اخللية األو‬


‫قم واح )‪.Array(1‬‬ ‫هي اخللية‬ ‫و اخللية الثانية‬
‫قم اثني )‪.Array(2‬‬ ‫هي اخللية‬ ‫و اخللية الثالثة‬
‫قم ثالثة )‪.Array(3‬‬ ‫هي اخللية‬ ‫واخللية الراصعة‬
‫قم ن صعة )‪.Array(4‬‬ ‫و اخللية اخلامسة هي اخللية‬
‫قم و اعلى قم خلاليا او مواقع املصفوفة و ذلك كما يلي‪-:‬‬ ‫من ناحية اترى ميكن ي ادنى‬

‫‪Aim MyArray(1 to 5) as Integer‬‬

‫حيث تكون يف هذب احلالة اول تلية او اول موقع يف املصفوفة هو املوقع )‪ MyArray(1‬و اتر‬
‫موقع هو )‪.MyArray(5‬‬
‫هي اخللية قم واح )‪.Array(1‬‬ ‫اخللية االو‬
‫هي اخللية قم اثني )‪.Array(2‬‬ ‫و اخللية الثانية‬
‫هي اخللية قم ثالثة )‪.Array(3‬‬ ‫واخللية الثالثة‬
‫هي اخللية قم ن صعة )‪.Array(4‬‬ ‫و اخللية الراصعة‬
‫و اخللية اخلامسة هي اخللية قم اخلامسة )‪.Array(5‬‬
‫و ذلك الننا يف هذب املرة ح دنا اول قم و اتر قم يستل ب يف ع اخلاليا عن كتاصة مجلة‬
‫اإلعالن عن املصفوفة ‪-:‬‬
‫‪Dim MyArray(1 to 5) as Integer‬‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫لذلك سيب ن الع من الرقم الذي ح دناب و هو ‪ ,‬و سينتهي عن الرقم الذي ح دناب و هو ‪,‬‬
‫صالتالي حنص على تاليا‪.‬‬
‫و إذا مل حن د الرقم الذي سيب ن منه الع يف مجلة اإلعالن عن املصفوفة صالشك التالي‪-:‬‬
‫‪Dim MyArray(5) as Integer‬‬
‫يف هذب احلالة سيب ن الع من الرقم صفر ‪ ,‬و سينتهي عن الرقم الذي ح دناب و هو ‪ ,‬صالتالي‬
‫حنص على تاليا‪.‬‬
‫مثال‬
‫إذا كتبنا مجلة اإلعالن عن املصفوفة صالشك التالي‪-:‬‬
‫‪Dim Student ( to ) as Integer‬‬
‫يف هذب احلالة سنحص على ا صع تاليا و هي كالتالي‪-:‬‬
‫هي اخللية قم اثني )‪.Array(2‬‬ ‫اخللية االو‬
‫هي اخللية قم ثالثة )‪.Array(3‬‬ ‫واخللية الثانية‬
‫هي اخللية قم ن صعة )‪.Array(4‬‬ ‫و اخللية الثالثة‬
‫هي اخللية قم مخسة )‪.Array(5‬‬ ‫و اخللية الراصعة‬

‫و ذلك الننا ح دة اول قم سيب ن منه الع و هو الرقم ‪ ,‬و اتر قم سينتهي عن ب الع و هو‬
‫الرقم ‪,‬و صذلك حصلنا على اخلاليا ‪. , ,‬‬

‫مثال‬
‫إذا كتبنا مجلة اإلعالن عن املصفوفة صالشك التالي‪-:‬‬
‫‪Dim Student ( ) as Integer‬‬
‫يف هذب احلالة سنحص على ا صع تاليا ‪ , , , ,‬و ذلك الننا ح دنا اتر قم سينتهي‬
‫عن ب الع و مل حن د اول قم سيب ن منه الع ‪ ,‬لذلك سيب ن الع من الرقم صفر‪.‬‬

‫التعام مع املصفوفات ذات البع الواح‬


‫يتم التعام مع املصفوفات صاستل اب قم الفهرس الذي ميث مواقع العناصر يف املصفوفة ‪,‬‬
‫حيث ميكن الوصول ا اي عنصر من عناصر املصفوفة عن طريق موضعه او ترتيبه يف‬
‫املصفوفة‪.‬‬
‫املصفوفات‬ ‫الفص اخلامس‬
‫و كما ذكرنا ساصقا ‪ ,‬يف املصفوفات ذات صع واح ‪ ,‬نستل ب قم واح لتح ي ترتي‪ ,‬او موضع‬
‫العنصر يف املصفوفة‪.‬‬

‫إدتال البيانات ا املصفوفة‬


‫االسناد املباشر‬
‫إلدتال البيانات ا تاليا او مواقع املصفوفة و إتراجها منها نستل ب قم اخللية ‪ ,‬هذا الرقم‬
‫حي د موضع او ترتي‪ ,‬اخللية و يسمى ال لي او دلي املصفوفة )‪. (Index‬‬
‫فمثال امملة التالية ‪-:‬‬
‫‪Dim A(2) as integer‬‬
‫جز ثالث مواقع ملصفوفة ذات صع واح كما ذكرنا ساصقا‪.‬‬
‫إلدتال صيانات و ختزينها يف هذب املصفوفة نشري ا قم ك موقع‪.‬‬
‫فلنفرمل ان هذب البيانات ال نري إدتاهلا و ختزينها يف املصفوفة تتمث يف األ قاب‬
‫( و و )‪.‬‬
‫لتلزين الرقم االول )‪ (10‬يف املوقع االول من املصفوفة ‪ -‬و هو املوقع قم صفر )‪ – A(0‬نكت‪,‬‬
‫العبا ة التالية ‪-:‬‬
‫‪A(0)=10‬‬
‫و لتلزين الرقم الثاني )‪ (17‬يف املوقع الثاني من املصفوفة –املوقع قم واح )‪ – A(1‬نكت‪ ,‬العبا ة‬
‫التالية‪-:‬‬
‫‪A(1)=17‬‬
‫و لتلزين الرقم الثالث )‪ (19‬يف املوقع الثالث من املصفوفة – املوقع قم اثني )‪ – A(2‬نكت‪,‬‬
‫العبا ة التالية‪-:‬‬
‫‪A(2)=19‬‬
‫و تسمى هذب الطريقة صطريقة االسناد املباشر‪.‬‬
‫ني اننا نكت‪ ,‬موقع املصفوفة و القيمة ال نري حفظها او اسنادها ا هذا املوقع‪.‬‬
‫استل اب احللقات ‪For-Next‬‬
‫مع املصفوفات السناد القيم ا مواقع او تاليا‬ ‫ميكننا ايضا استل اب حلقة‬
‫املصفوفة صطريقة سهلة و سريعة‪.‬‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫مع‬ ‫التعام‬ ‫عن‬ ‫على فائ ة استل اب حلقة‬ ‫فلن س املثال التالي لنتعر‬
‫املصفوفات‪.‬‬
‫مثال‬
‫إذا قمنا صاإلعالن عن مصفوفة تتكون من عشر تاليا صالشك التالي‪-:‬‬
‫‪Dim MyArray( ) as Integer‬‬
‫ا هذب املصفوفة و ذلك صطريقة االسناد املباشرة فسنكت‪,‬‬ ‫ثم ا دنا اسناد القيم من صفر ا‬
‫الشفرة ال جمية التالية‪-:‬‬
‫‪MyArray(0)=0‬‬
‫‪MyArray(1)=1‬‬
‫‪MyArray(2)=2‬‬
‫‪MyArray(3)=3‬‬
‫‪MyArray(4)=4‬‬
‫‪MyArray(5)=5‬‬
‫‪MyArray(6)=6‬‬
‫‪MyArray(7)=7‬‬
‫‪MyArray(8)=8‬‬
‫‪MyArray(9)=9‬‬
‫قم ا هذب‬ ‫تلية و ا دنا اسناد‬ ‫لكن ماذا لوكانت ل ينا مصفوفة تتكون من‬
‫املصفوفة ؟‬
‫صالطبع سنحتاج لكتاصة شفرة صرجمية طويلة ج ا‪ ,‬لذلك ميكننا استل اب حلقة‬
‫لتسه علينا عملية التعام مع املصوفات و اسناد القيم إليها‪.‬‬
‫سنحص على‬ ‫فإلعادة كتاصة الشفرة ال جمية للمثال الساصق صاستل اب حلقة‬
‫الشفرة ال جمية التالية‪-:‬‬
‫‪For i = 0 to 9‬‬
‫‪MyArray(i)=i‬‬
‫‪Next i‬‬
‫) ا هذب‬ ‫ا‬ ‫قم (من‬ ‫تلية و ا دنا اسناد‬ ‫و اذا كانت املصفوفة تتكون من‬
‫املصفوفة ‪ ,‬فستكون الشفرة ال جمية كالتالي‪-:‬‬
‫‪For i = 0 to 99‬‬
‫‪MyArray(i)=i‬‬
‫‪Next i‬‬
‫عملية التعام مع املصفوفات‪.‬‬ ‫كما نينا‪ ,‬يسه علينا استل اب حلقة التكرا‬
‫املصفوفات‬ ‫الفص اخلامس‬

‫قراءة البيانات من املصفوفة‬


‫ال خيتلف األمر كثريًا عن قراءة او طباعة او استلراج البيانات من املصفوفة عن إدتاهلا إليها ‪,‬‬
‫حيث نستل ب قم املوقع او اخللية لتح ي البيانات ال نري ها‪.‬‬
‫فمثال لطباعة صيانات املوقع االول من مصفوفة ذات صع واح نكت‪ ,‬امملة التالية‪-:‬‬
‫)‪Print MyArray(0‬‬
‫و هكذا‪..‬‬

‫ملاذا نستل ب املصفوفات‬


‫يف الواقع ان استل اب املصفوفات يسه علينا كثريًا التعام مع جمموعة من البيانات من نفس‬
‫النوع ‪,‬حلفظها يف ذاكرة احلاسوب حفظاً مؤقتاً و استل امها يف ال نام عن احلاجة لذلك‪.‬‬
‫فمثال اذا ن دنا ختزين مخس ن قاب (ولتكن مثال األ قاب ‪ ) , , , ,‬ميكننا ختزين هذب‬
‫األ قاب يف متغريات ‪ ,‬اي ميكننا تعريف (او اإلعالن عن) مخس متغريات من النوع الع دي الصحيح‬
‫صالشك التالي‪-:‬‬
‫‪Dim X1 As Integer‬‬
‫‪Dim X2 As Integer‬‬
‫‪Dim X3 As Integer‬‬
‫‪Dim X4 As Integer‬‬
‫‪Dim X5 As Integer‬‬
‫ثم تعيي القيم هلذب املتغريات كما تعلمنا ساصقاً صالشك التالي‪-:‬‬
‫‪X1=10‬‬
‫‪X2=20‬‬
‫‪X3=30‬‬
‫‪X4=40‬‬
‫‪X5=50‬‬
‫و اذا ن دنا طباعة قيم هذب املتغريات ‪ ,‬سنكت‪ ,‬السطر التالي‪-:‬‬
‫‪Print X1‬‬
‫‪Print X2‬‬
‫‪Print X3‬‬
‫‪Print X4‬‬
‫‪Print X5‬‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫يف الواقع تسه علينا املصفوفات طريقة ختزين هذب األ قاب ‪ ,‬فب الً من استل اب مخس متغريات‬
‫‪ ,‬ميكننا استل اب مصفوفة واح ة توي على مخس تاليا ‪ ,‬ثم نقوب صتلزين ك ع د يف تلية‬
‫صالشك التالي‪-:‬‬

‫‪Dim X(4) As Integer‬‬


‫‪X(0)=10‬‬
‫‪X(1)=20‬‬
‫‪X(2)=30‬‬
‫‪X(3)=40‬‬
‫‪X(4)=50‬‬

‫و اذا ن دنا طباعة هذب القيم ميكننا استل اب احللقات لتكون الشفرة ال جمية صسيطة كما‬
‫يلي‪-:‬‬
‫‪For I=0 To 4‬‬
‫)‪Print X(I‬‬
‫‪Next I‬‬
‫كما نينا‪ ,‬ان استل اب املصفوفات يساع نا و يسه علينا التعام مع جمموعة من القيم او‬
‫البيانات ذات النوع الواح ‪.‬‬

‫املصفوفات متع دة االصعاد)‪(Multidimensional Array‬‬


‫توي على صف واح او عمود واح تسمى املصفوفة ذات البع الواح ‪,‬‬ ‫املصفوفة ال‬
‫توي على اكثر من صف واح او اكثر من عمود واح تسمى مصفوفة‬ ‫صينما املصفوفة ال‬
‫متع دة االصعاد‪.‬‬
‫املصفوفة متع دة االصعاد ميكن ان توي على صع ين ‪ ,‬او ثالثة ‪ ,‬او اكثر‪.‬‬

‫املصفوفات ذات البع ين )‪(Two-Dimensional Array‬‬


‫تتكون املصفوفة ذات البع ين من ع د من الصفو و االعم ة ‪ ,‬يف هذب احلالة للوصول ا‬
‫اي عنصر من عناصر هذب املصفوفة نستل ب قمي لي ال على موضع او ترتي‪ ,‬العنصر يف‬
‫املصفوفة‪ ,‬قم ي ل على الصف ‪ ,‬و قم ي ل على العمود‪.‬‬
‫املصفوفات‬ ‫الفص اخلامس‬

‫مجلة إعالن املصفوفة ذات البع ين‬


‫تستل ب مجلة اإلعالن لتح ي ع د الصفو و االعم ة املطلوصة و كذلك نوع البيانات املراد‬
‫ختزينها يف املصفوفة ‪ ,‬و تكت‪ ,‬هذب امملة يف العادة يف ص اية ال نام ‪.‬‬
‫مجلة االعالن يف املصفوفات ذات البع ين‪-:‬‬
‫‪Dim Array-name(max-row-value, max-column-value) as Data-Type‬‬
‫حيث ‪-:‬‬
‫مجلة اإلعالن‪.‬‬ ‫‪Dim‬‬
‫اسم املصفوفة ‪,‬و جي‪ ,‬ان يكون االسم مقبوالً صلغة "البيسك املرئي" ‪,‬‬ ‫‪Array-name‬‬
‫و اال يكون من الكلمات احملجوزة‪.‬‬
‫متث ع د الصفو ‪.‬‬ ‫‪Max-row-Value‬‬
‫متث ع د االعم ة‪.‬‬ ‫‪Max-Column-Value‬‬
‫نوع البيانات املستل مة مميع عناصر املصفوفة‪.‬‬ ‫‪Data-Type‬‬
‫ع د عناصر املصفوفة ذات البع ين‬
‫ضرب ع د‬ ‫عن حجز مواقع ملصفوفة ذات صع ين يكون ع د هذب املواقع يساوي ع د الصفو‬
‫األعم ة‪.‬‬
‫ع د مواقع املصفوفة ذات صع ين= ع د الصفو ‪ X‬ع د األعم ة‬
‫تذكر دائما ان الع يف املصفوفات يب ن من قم صفر‪.‬‬
‫فمثال العبا ة التالية‪-:‬‬
‫)‪Dim A(2,4‬‬
‫جز مخسة عشر موقعا ملصفوفة ذات صع ين‪.‬‬
‫الن هذب املصفوفة توي على ثالث صفو ‪( ,‬الصف قم صفر ‪ ,‬الصف قم واح ‪ ,‬الصف‬
‫قم اثني) و مخسة نعم ة (العمود قم صفر ‪ ,‬العمود قم واح ‪ ,‬العمود قم اثني ‪ ,‬العمود قم‬
‫ثالثة ‪ ,‬العمود قم ن صعة)‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫و كما ذكرنا فإنا ع د املواقع = ع د الصفو ‪ X‬ع د األعم ة‪.‬‬


‫اي ان ع د املواقع = ‪ = X‬موقعاً‪.‬‬
‫)‪Dim A(1,3‬‬ ‫و العبا ة‪-:‬‬
‫جز مواقع ( ‪) X‬‬

‫التعام مع املصفوفات ذات البع ين‬


‫كما ذكرنا ساصقاً ميكن الوصول ا اي عنصر من عناصر املصفوفة عن طريق موضعه او ترتيبه‬
‫يف املصفوفة‪.‬‬
‫يف املصفوفات ذات صع ين ‪ ,‬نستل ب قمي لتح ي ترتي‪ ,‬او موضع العنصر يف املصفوفة ‪ ,‬قم‬
‫ي ل على الصف ‪ ,‬و قم ي ل على العمود‪.‬‬

‫إدتال البيانات ا املصفوفة ذات البع ين‬


‫إلدتال البيانات ا تاليا او مواقع املصفوفة و إتراجها منها نستل ب قم اخللية او قم املوقع‬
‫‪ ,‬هذا الرقم حي د موضع و ترتي‪ ,‬املوقع و يسمى ال لي او دلي املصفوفة )‪ (Index‬كما ذكرنا‬
‫ساصقاً‪.‬‬
‫ص النسبة للمصفوفات ذات صع ين ‪ ,‬يتم ي ترتي‪ ,‬املوقع او اخللية صاستل اب قمي ‪ ,‬قم‬
‫ي ل على الصف و قم ي ل على العمود‪.‬‬
‫فمثال امملة التالية‪-:‬‬
‫‪Dim MyArray(2,3) As Integer‬‬
‫جز موقعا ملصفوفة ذات صع ين (ثالثة صفو ‪ ,‬و ن صعة نعم ة)‪.‬‬
‫و صفرمل ان اجتاب املصفوفة من اليسا ا اليمن ‪ ,‬سيكون شك املصفوفة كالتالي‪-:‬‬

‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬

‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬


‫املصفوفات‬ ‫الفص اخلامس‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬

‫إلدتال صيانات و ختزينها يف هذب املصفوفة نشري ا ك موقع صاستل اب قم الصف و قم‬
‫العمود‪.‬‬
‫فلنفرمل اننا نري إدتال و ختزين البيانات التالية يف املصفوفة و ال تتمث يف األ قاب من ا‬
‫‪ ,‬ني اال قاب ( ‪.) , , , , , , , , , , ,‬‬

‫لتلزين الرقم االول ( ) يف املوقع املوجود يف الصف االول و العمود االول ‪ -‬املوقع )‪MyArray(0,0‬‬
‫‪ -‬نكت‪ ,‬العبا ة التالية ‪-:‬‬
‫‪MyArray(0,0)=0‬‬

‫و لتلزين الرقم الثاني )‪ (1‬يف املوقع املوجود يف الصف االول و العمود الثاني‪ -‬املوقع )‪- A(0,1‬‬
‫نكت‪ ,‬العبا ة التالية‪-:‬‬
‫‪MyArray(0,1)=1‬‬
‫و عن ما نص التر تلية يف الصفو االول و هي اخللية )‪ (0,3‬نغري قم الصف لننتق للصف‬
‫الثاني و تكون اول تلية يف الصف الثاني هي اخللية )‪. (1.0‬‬
‫و هكذا حتى نص التر قم و هو الرقم و خنزنه يف اتر موقع من املصفوفة و هو املوقع‬
‫)‪. MyArray(2,3‬‬
‫‪MyArray(2,3)=11‬‬
‫لتكون شك املصفوفة صع ختزين البيانات فيها صالشك التالي‪-:‬‬

‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬


‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫الصف قم‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫الصف قم‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬

‫الصف قم‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪10‬‬ ‫‪11‬‬

‫لتسهي التعام مع املصفوفات ذات البع ين‬ ‫و ميكننا استل اب حلق تكرا‬
‫حبيث تكون احللقة االو لع د الصفو و احللقة الثانية لع د األعم ة‪,‬و ذلك كما يلي‪-:‬‬

‫‪Dim X as Integer‬‬
‫‪X=0‬‬
‫‪For i = 0 to 2‬‬
‫‪For j=0 to 3‬‬
‫‪MyArray(i,j)=X‬‬
‫‪X=X+1‬‬
‫‪Next j‬‬
‫‪Next i‬‬

‫حيث قمنا صاإلعالن عن متغري ‪ X‬ليحم القيم ال نري ختزينها يف تاليا املصفوفة و هي اال قاب‬
‫من ا ‪ ,‬و وضعنا القيمة االصت ائية للمتغري ‪ X‬تساوي صفر ‪ ,‬ثم يف ك دو ة من دو ات‬
‫و يتم ختزينها يف تاليا املصفوفة‪.‬‬ ‫احللقة نضيف واح ا قيمة املتغري ‪ X‬لتتغري القيم من ا‬
‫و اول قيمة للحلقة ستكون ‪ i=0 , j=0‬وهذا ي ل على موقع اول تلية يف املصفوفة‪.‬‬

‫)‪MyArray(0,0‬‬

‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬

‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬


‫املصفوفات‬ ‫الفص اخلامس‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬

‫و ستكون قيمة ‪ X=0‬ايضا‪ ,‬فيتم ختزين هذب القيمة يف اول تلية‪.‬‬


‫‪MyArray(0,0)=0‬‬
‫ثم مع ال و ة الثانية للحلقة ال اتلية تتغري قيمة ‪ j‬ال متث قم العمود لتصبح ‪ ,‬صينما تظ‬
‫قيمة ‪ i‬كما هي ‪ ,‬و هذب القيمة ت ل على اخللية الثانية يف الصف األول من املصفوفة‪.‬‬
‫)‪MyArray(0,1‬‬
‫و تتغري قيمة ‪ X‬لتصبح ‪ ,‬فيتم ختزين هذب القيمة يف اخللية الثانية‪.‬‬
‫‪MyArray(0,1)=1‬‬
‫يكون ق مت ختزين القيم يف‬ ‫و عن ما تنتهي احللقة ال اتلية ‪,‬ني عن ما تص قيمة ‪ j‬ا‬
‫الصف االول ووصلنا التر تلية يف هذا الصف و هي اخللية ‪-:‬‬
‫)‪MyArray(0,3‬‬

‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬

‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬

‫قم الصف ‪ ,‬و‬ ‫متث‬ ‫فتتحرك احللقة اخلا جية دو ة واح ة ‪ ,‬وتضيف قم واح ا قيمة ‪ i‬ال‬
‫تصبح ‪.‬‬

‫‪For i = 0 to 2‬‬

‫‪Next i‬‬

‫و نص للصف الثاني ‪ ,‬و يتكر تنفيذ احللقة ال اتلية ‪-:‬‬


‫الفص اخلامس‬ ‫سلسلة احلكمة‬
‫‪For j=0 to 3‬‬
‫‪MyArray(i,j)=X‬‬
‫‪X=X+1‬‬
‫‪Next j‬‬

‫قم العمود من مرة اترى لت ل على اول تلية يف الصف الثاني‪-:‬‬ ‫فتب ن قيمة ‪ j‬ال متث‬

‫)‪MyArray(1,0‬‬

‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬


‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬

‫ويتم إضافة قم ا قيمة ‪ , X‬ثم يتم ختزينها يف اخللية ‪,‬و تستمر هذب العملية حتى تنتهي‬
‫احللقة ال اتلية و اخلا جية ‪ ,‬و صذلك يتم ختزين كافة القيم يف تاليا املصفوفة‪.‬‬

‫متا ين على املصفوفات‬


‫عن التعام مع املصفوفات ذات البع ين ‪ ,‬نستل ب مزين ‪ ,‬مز ‪ i‬ي ل على قم العمود ‪,‬‬
‫و قم ‪ j‬ي ل على قم الصف كما ذكرنا‪.‬‬
‫)‪A(i,j‬‬
‫و صهذا نستطيع ي موضع ني عنصر يف املصفوفة ‪ ,‬صاستل اب قم الصف و العمود الذي‬
‫حيتوي على هذب العنصر‪.‬‬
‫و عن اجراء التما ين امللتلفة على املصفوفات ‪ ,‬سنتعام مع قيم قم العمود ‪ ,‬و قم‬
‫الصف‪ ,‬فنغري اح هما او كالمهما لنحص على النتيجة املطلوصة‪.‬‬
‫فللتحرك صي الصفو و االعم ة نستل ب حلقتي ‪ , For-Next‬حلقة لع د الصفو ‪ , i‬و‬
‫حلقة لع د االعم ة ‪.j‬‬
‫إذا ا دنا الب ء صالتعام مع تاليا الصف‪ ,‬ني الب ء صالتعام مع تاليا الصف قم ‪-:‬‬
‫)‪ A(0,0‬و )‪ A(0,1‬و )‪ A(0,2‬و )‪A(0,3‬‬
‫املصفوفات‬ ‫الفص اخلامس‬
‫و عن االنتهاء من هذا الصف ننتق للتعام مع تاليا الصف قم ‪ , 1‬و هاكذا‪.‬‬
‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬
‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬

‫تغري‬ ‫سنقوب جبع احلقلة ال تغري قيمة الصف ‪ i‬هي احللقة اخلا جية ‪,‬و احللقة ال‬
‫قيمة العمود ‪ j‬هي احللقة ال اتلية ‪.‬‬
‫‪For i = 0 to 2‬‬
‫‪For j=0 to 3‬‬

‫‪Next j‬‬
‫‪Next i‬‬

‫اما إذا ا دنا الب ء صالتعام مع تاليا العمود‪ ,‬ني الب ء صالتعام مع تاليا العمود قم ‪-:‬‬
‫اخللية )‪ A(0,0‬و )‪ A(1,0‬و )‪.A(2,0‬‬
‫و عن االنتهاء من هذا العمود ننتق للتعام مع تاليا العمود قم ‪ ,‬و هاكذا‪.‬‬

‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬

‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬


‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫تغري‬ ‫سنقوب جبع احللقة ال تغري قيمة العمود ‪ j‬هي احللقة اخلا جية ‪,‬و احللقة ال‬
‫قيمة العمود ‪ i‬هي احللقة ال اتلية ‪.‬‬
‫‪For j = 0 to 3‬‬
‫‪For i=0 to 2‬‬

‫‪Next i‬‬
‫‪Next j‬‬

‫طباعة جمموع االعم ة‬


‫لفهم كيف ميكننا طباعة جمموع االعم ة ‪ ,‬ننظر ا شك مصفوفة تتكون من ثالث‬
‫صفو و ا صع نعم ة )‪ A(2,3‬اذا مسناها يف ج ول لتصبح كما يلي ‪-:‬‬

‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬


‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬

‫‪ ,‬صينما قيم ‪i‬‬ ‫متث العمود ثاصتة و هي‬ ‫صالنظر ا العمود االول ‪ ,‬نالحظ ان قيمة ‪ j‬ال‬
‫ال متث الصفو فهي تتغري من ا ‪.‬‬
‫لذلك للحصول على جمموع العمود نثبت قيمة ‪ j‬ال متث العمود ‪ ,‬ثم ننتق صي قيم ‪i‬‬
‫ال متث الصفو و جنمع قيمة ك تلية من تاليا هذا العمود و نضعها يف متغري ما ‪ ,‬و‬
‫ليكن مثال املتغري ‪.Sum‬‬
‫من ام ول الساصق نالحظ ان قيم دلي العمود االول كما يلي ‪-:‬‬
‫)‪A(0,0‬‬
‫)‪A(1,0‬‬
‫)‪A(2,0‬‬
‫املصفوفات‬ ‫الفص اخلامس‬

‫جمموع العمود األول فقط‪.‬‬


‫ممع قيم العمود األول فقط ‪ ,‬و هو العمود الذي قيمة ‪ j‬فيه تساوي صفر‪ ,‬نضع قيمة ‪j‬‬
‫قم العمود =‬ ‫ال متث‬
‫‪J=0‬‬
‫و ذلك لتح ي العمود األول فقط و نثبت هذب القيمة و ال نغريها‪.‬‬
‫و نستل ب حلقة ‪.For Next‬لتغيري قيمة ‪ i‬ال متث قم الصف ‪.‬‬
‫‪For i =0 to‬‬
‫‪Nxt i‬‬
‫و نستل ب متغري حلفظ قيمة هذب اخللية يف ك مرة تتحرك فيه احللقة صي اخلاليا نضيف‬
‫قيمة اخللية لقيمة املتغري هذا‪.‬‬
‫)‪Sum=sum + A(i,j‬‬
‫ليصبح ال نام صالشك التالي‪-:‬‬
‫‪j=0‬‬
‫‪Dim sum as Integer‬‬
‫‪For i =0 to‬‬
‫)‪sum = sum + a(i, j‬‬
‫‪Nxt i‬‬
‫)‪A(0,0‬‬ ‫اول تلية ستكون اخللية ‪-:‬‬
‫و عن التحرك دو ة ثانية هلذب احللقة ستتغري قيمة ‪ i‬و تأتذ القيمة ‪ ,‬صهذا تكون اخللية‬
‫)‪A(1,0‬‬ ‫الثانية هي اخللية ‪-:‬‬
‫و عن التحرك دو ة ثالثة هلذب احللقة ستتغري قيمة ‪ i‬مرة اترى و تأتذ القيمة االترية هلا و هي‬
‫‪,‬صهذا تكون اخللية الثالثة هي اخللية ‪A(2,0) -:‬‬

‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬

‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬


‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫االنتهاء من العمود االول ‪,‬ني عن ما تنتهي احللقة و يتم االنتقال من‬ ‫و صع‬
‫قيمة ‪ , i=0 -:‬ا قيمة ‪.i=3 -:‬‬
‫‪For i =0 to‬‬

‫‪Nxt i‬‬
‫صهذا نكون ق حصلنا على جمموع العمود االول و هو العمود الذي قيمة ‪ j‬فيه تساوي‬
‫صفر‪ ,‬و حفظنا هذا اجملموع يف املتغري ‪.Sum‬‬
‫ميكننا طباعت املتغري صامر ‪ , Print‬او إظها ب يف سالة ‪ ,‬او يف مرصع نص‪ ,‬او صاي شك اتر‬
‫نري ب‪.‬‬

‫جمموع العمود الثاني فقط‬


‫إذا ا دنا احلصول على جمموع العمود الثاني فقط‪ ,‬و هو العمود الذي قيمة ‪ j‬فيه تساوي‬
‫كما هو واضح من الصو ة‪.‬‬
‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬
‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬

‫سنضع قيمة ‪ j‬تساوي و نستل ب حلقة ‪ For-Next‬لتغيري قيم ‪ i‬ال متث الصفو صالشك‬
‫التالي‪-:‬‬
‫‪j=1‬‬
‫‪Dim sum as Integer‬‬
‫‪For i =0 to‬‬
‫)‪sum = sum + a(i, j‬‬
‫‪Nxt i‬‬
‫ويف النهاية ميكننا استل اب امر الطباعة لطباعة قيمة املتغري ‪.Sum‬‬
‫املصفوفات‬ ‫الفص اخلامس‬

‫جمموع مجيع االعم ة‬


‫إذا ا دنا احلصول على جمموع مجيع االعم ة ‪ ,‬يف هذب احلالة سنقوب صتغيري قيمة ‪ j‬ال متث‬
‫قم العمود ‪ ,‬و ذلك ص ال من كتاصة قيمة ثاصتة لرقم العمود‪.‬‬
‫و لتغيري قيمة ‪ j‬سنستل ب حلقة ‪ For-Next‬لتكون حلقة تا جية صالشك التالي‪-:‬‬

‫‪For j=0 to 3‬‬


‫‪For i =0 to‬‬

‫‪Nxt i‬‬
‫‪Next j‬‬

‫و يف النهاية نستل ب امر الطباعة لطباعة قيم املتغري ‪ Sum‬صع إضافة جمموع مجيع‬
‫االعم ة إليه‪ ,‬ليكون شك ال نام كالتالي‪-:‬‬

‫‪Dim sum as Integer‬‬


‫‪For j=0 to 3‬‬
‫‪For i =0 to‬‬
‫)‪sum = sum + a(i, j‬‬
‫‪Nxt i‬‬
‫‪Next j‬‬
‫‪Print sum‬‬

‫و صهذا سيتم الب ء من اخلانة االو يف العمود االول و هي اخلانة )‪ A(0,0‬و التحرك‬
‫لللانة الثانية يف نفس العمود و هي اخلانة )‪ , A(1,0‬و هكذا حتى نص التر تانة يف‬
‫العمود االول و هي اخلانة )‪ A(2,0‬صهذا ستنتهي احللقة ال اتلية صالوصول الك قيمة هلا و‬
‫هي ‪. =i‬‬

‫‪For i =0 to‬‬
‫)‪sum = sum + a(i, j‬‬
‫‪Nxt i‬‬
‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬
‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬

‫ثم تتحرك احللقة اخلا جية دو ة واح ة و تزي قيمة ‪ j‬مبق ا واح لتصبح ‪.‬‬
‫ثم تب ن احللقة ال اتلية مرة اترى من اول تانة يف العمود الثاني تانة )‪. A(0,1‬‬

‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬


‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬

‫و هكذا حتى تنتهي احللقة ال اتلية و نص لللانة االترية يف العمود الثاني )‪. A(2,1‬‬
‫ثم تتحرك احللقة اخلا جية دو ة واح ة مرة اترى ‪ ,‬و تزي قيمة ‪ j‬مبق ا واح لتصبح ‪ ,‬و‬
‫تتكر احللقة ال اتلية مرة اترى ‪.‬‬
‫و تستمر العملية حتى نص التر قيمة ‪ i‬و ‪ j‬و هي و ‪ ,‬صالتالي نص لللانة )‪.A(2,3‬‬
‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬

‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬

‫جمموع ك عمود مبفردب‬


‫إذا ا دنا احلصول على جمموع ك عمود مبفردب ‪ ,‬يف هذب احلالة سنقوب صاستل اب نفس‬
‫الطريقة الساصقة ‪ ,‬ني استل اب حلقتي ‪ ,‬حلقة تا جية تغري قيمة ‪ j‬ال متث قم‬
‫العمود ‪,‬و حلقة داتلية تغري قيمة ‪ i‬ال متث قم الصف ‪ ,‬صالشك التالي‪-:‬‬
‫‪For j=0 to 3‬‬
‫املصفوفات‬ ‫الفص اخلامس‬
‫‪For i =0 to‬‬

‫‪Nxt i‬‬
‫‪Next j‬‬

‫مع إضا قيمة اخللية ا املتغري ‪ , Sum‬ثم عن ما ينتهي العمود ‪,‬و ذلك عن ما تنتهي‬
‫احللقة ال اتلية ‪ ,‬يتم طباعة اجملموعة امللزن يف املتغري ‪.Sum‬‬
‫ني اننا نكت‪ ,‬امر طباعة قيمة املتغري ‪ sum‬صع انتهاء احللقة ال اتلية صالشك التالي‪-:‬‬
‫‪Dim sum as Integer‬‬
‫‪For j=0 to 3‬‬
‫‪For i =0 to‬‬
‫)‪sum = sum + a(i, j‬‬
‫‪Nxt i‬‬
‫‪Print sum‬‬
‫‪Next j‬‬

‫ثم ننتق ا العمود الثاني صتغيري قيمة ‪ j‬صاستل اب احللقة اخلا جية‪.‬‬
‫‪Next j‬‬
‫و نالحظ انه ألننا نري جمموع ك عمود مبفردب ‪ ,‬و قمنا صإضافة قيم تاليا العمود األول‬
‫ا املتغري ‪ Sum‬مع حركة احللقة ال اتلية ‪ ,‬و قمنا صطباعته عن ما انتهت هذب احللقة و‬
‫وصلنا التر تلية يف العمود االول ‪ ,‬لذلك جي‪ ,‬علينا إفراغ هذب املتغري من حمتوياته ثم ص ء‬
‫إضافة قيم العمود الثاني ‪.‬‬
‫و يكون ذلك صكتاصة امر وضع قيمة املتغري ‪ Sum‬تساوي صفر قب تنفيذ احللقة ال اتلية‬
‫صالشك التالي‪-:‬‬

‫‪Dim sum as Integer‬‬


‫‪For j=0 to 3‬‬
‫‪Sum=0‬‬
‫‪For i =0 to‬‬
‫)‪sum = sum + a(i, j‬‬
‫‪Nxt i‬‬
‫‪Print sum‬‬
‫‪Next j‬‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫و هكذا ستب ن احللقة ال اتلية من ج ي و عن االنتهاء من مجع تاليا العمود الثاني ‪,‬‬
‫سيتم طباعة اجملموع ‪ ,‬و سيتم الب ء من ج ي ممع تاليا العمود الثالثة صع تفريغ املتغري‬
‫اخلاص صاجملموع ‪. Sum‬‬
‫و هكذا حتى نص للعمود االتري و يتم طباعة جمموعه‪.‬‬

‫طباعة جمموع الصفو‬


‫إذا ا دنا احلصول على جمموع الصفو ص الً من جمموع االعم ة فإننا سنتبع نفس اخلطوات‬
‫الساصقة ‪ ,‬و سنقوب فقط صتب ي احللقة ال اتلية و اخلا جية ‪ ,‬فنجع احللقة ال اتلية تغري قيم‬
‫قم العمود ‪ , j‬و احللقة اخلا جية تغري قيم قم الصف ‪ i‬صالشك التالي‪-:‬‬

‫‪For i=0 to 2‬‬


‫‪For j =0 to‬‬

‫‪Nxt j‬‬
‫‪Next i‬‬

‫طباعة قطر املصفوفة‬


‫لفهم كيف ميكننا طباعة قطر املصفوفة ‪ ,‬ننظر ا شك مصفوفة تتكون من ثالث‬
‫صفو و ا صع نعم ة )‪ A(2,3‬اذا مسناها يف ج ول لتصبح كما يلي ‪-:‬‬

‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬

‫الصف قم‬ ‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬

‫الصف قم‬ ‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬


‫املصفوفات‬ ‫الفص اخلامس‬

‫الصف قم‬ ‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬

‫الصف قم‬ ‫)‪A(3,0‬‬ ‫)‪A(3,1‬‬ ‫)‪A(3,2‬‬ ‫)‪A(3,3‬‬

‫تكون قيمة الرقم ال ال على‬ ‫صالنظر ا الصو ة نالحظ ان قطر املصفوفة ميث اخلاليا ال‬
‫الصفو ‪ i‬و الرقم ال ال على االعم ة ‪ j‬متساوية‪.‬‬
‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬ ‫العمود قم‬

‫الصف قم‬ ‫)‪A(0,0‬‬

‫الصف قم‬ ‫)‪A(1,1‬‬

‫الصف قم‬ ‫)‪A(2,2‬‬

‫الصف قم‬ ‫)‪A(3,3‬‬

‫لذلك للحصول على قطر املصفوفة نبحث عن اخلاليا ال تتساوى فيها قيمة ‪ i‬و ‪.j‬‬
‫و يتم التحرك صي تاليا املصفوفة صاستل اب حلقتي كما تعلمنا ساصقاً ‪ ,‬و نستل ب امملة‬
‫الشرطية ‪ If-then‬لفحص قيمة موقع اخللية احلالي للحصول على قطر املصفوفة‪.‬‬
‫فإذا كان موقع اخللية تتساوى فيه قيم ‪ i‬و ‪ j‬فهذا يعين ان هذب اخللية هي تلية من‬
‫قطر املصفو ‪.‬‬
‫و إذا مل تتساوى قيم ‪ i‬و ‪ , j‬فهذا يعين ان هذب اخللية ليست تلية يف قطر املصفوفة‪.‬‬
‫و وفقاً لتحقق هذا الشرط ميكننا اتتيا اإلجراء املناس‪ , ,‬فيمكننا مثالً إظها سالة‬
‫للمستل ب توضح ان هذب اخللية هي تلية يف قطر املصفوفة‪.‬‬
‫إلظها سالة للمستل ب عن الوصول خللية يف قطر املصفوفة نستل ب امملة الشرطية‬
‫‪ if-then‬صالشك التالي‪-:‬‬
‫‪For i=0 to 3‬‬
‫‪For j =0 to‬‬
‫‪If i=j then‬‬
‫)‪" & i &","&j‬هذب تلية يف قطر املصفوفة"( ‪Msgbox‬‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬
‫‪End if‬‬
‫‪Next j‬‬
‫‪Next i‬‬

‫و لطباعة قيمة هذب اخللية نستل ب امملة الشرطية ‪ if-then‬صالشك التالي‪-:‬‬

‫‪For i=0 to 3‬‬


‫‪For j =0 to‬‬
‫‪If j=j then‬‬
‫)‪Print A(i,j‬‬
‫‪End if‬‬
‫‪Next j‬‬
‫‪Next i‬‬

‫و ميكننا إجراء عملية الطباعة صشك افض ‪ ,‬حبيث تظهر قيم تاليا قطر املصفوفة صشك‬
‫قطري‪ ,‬و يظهر فراغ يف اخلاليا االترى صالشك التالي‪-:‬‬

‫‪For i=0 to 3‬‬


‫‪For j =0 to‬‬
‫‪If j=j then‬‬
‫‪Print A(i,j),‬‬
‫‪Else if‬‬
‫‪Print "",‬‬
‫‪End if‬‬
‫‪Next j‬‬
‫"" ‪Print‬‬
‫‪Next i‬‬
‫الحظ اننا استل منا الفاصلة صع امر الطباعة يف امملة الشرطية ليتم الطباعة يف نفس‬
‫السطر ‪ ,‬ني يف نفس الصف‪.‬‬
‫و استل منا امر الطاصعة صع انتهاء احللقة ال اتلية لإلنتقال لسطر ج ي او صف ج ي ‪.‬‬

‫لطباعة جمموع تاليا قطر املصفوفة ميكننا استل اب امملة الشرطية ‪ if-then‬صالشك‬
‫التالي‪-:‬‬
‫‪Dim Sum as Integer‬‬
‫املصفوفات‬ ‫الفص اخلامس‬
For i=0 to 3
For j =0 to
If i=j then
Sum=sum+a(i,j)
End if
Next j
Next i
Print sum
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫متارين الكتاب املدرسي‬


‫) عر املصفوفات و اذكر مميزاتها‪.‬‬
‫املصفوفات‪-:‬‬
‫هي عبا ة عن جمموعة متجاو ة من املواقع يف الذاكرة توي على عناصر متجانسة‬
‫من نفس النوع‪.‬‬
‫مميزاتها‪-:‬‬
‫متتاز املصفوفات صق تها على ختزين جمموعة من القيم ت اسم متغري واح فقط‬
‫ص ال من استل اب اع اد كبرية من املتغريات‪.‬‬

‫) ما الفرق صي متغري املصفوفة و املتغري العادي‪.‬‬


‫املصفوفة تستطيع ختزين جمموعة من القيم‪ ,‬صينما املتغري العادي يستطيع ختزين قيمة واح ة‬
‫فقط‪.‬‬

‫) اشرح مجلة اإلعالن يف املصفوفات ذات البع الواح و املصفوفات ذات البع ين‪.‬‬
‫مجلة االعالن يف املصفوفات ذات البع الواح ‪-:‬‬
‫‪Dim Array-name(max-value) as Data Type‬‬
‫حيث ‪-:‬‬
‫مجلة اإلعالن‪.‬‬ ‫‪Dim‬‬
‫اسم املصفوفة ‪,‬و جي‪ ,‬ان يكون االسم مقبوالً صلغة البيسك املرئي ‪ ,‬و‬ ‫‪Array-name‬‬
‫اال يكون من الكلمات احملجوزة‪.‬‬
‫متث ع د عناصر املصفوفة ‪ ,‬او احل االقصى ‪,‬وتب ن صالرتتي‪( ,‬صفر)‪.‬‬ ‫‪Max-Value‬‬
‫نوع البيانات املستل مة مميع عناصر املصفوفة‪.‬‬ ‫‪Data-Type‬‬
‫املصفوفات‬ ‫الفص اخلامس‬
‫مجلة االعالن يف املصفوفات ذات البع ين‪-:‬‬
‫‪Dim Array-name(max-row-value, max-column-value) as Data-Type‬‬
‫مجلة اإلعالن‪.‬‬ ‫‪Dim‬‬
‫اسم املصفوفة ‪,‬و جي‪ ,‬ان يكون االسم مقبوال صلغة البيسك املرئي ‪ ,‬و‬ ‫‪Array-name‬‬
‫اال يكون من الكلمات احملجوزة‪.‬‬
‫متث ع د الصفو ‪.‬‬ ‫‪Max-row-Value‬‬
‫متث ع د االعم ة‪.‬‬ ‫‪Max-Column-Value‬‬
‫نوع البيانات املستل مة مميع عناصر املصفوفة‪.‬‬ ‫‪Data-Type‬‬

‫) اج‪ ,‬صصح او تطأ مع التعلي يف حالة اإلجاصة اخلطأ‪.‬‬


‫‪ .‬تتكون املصفوفة من جمموعة من الفها س )‪.(Index‬‬
‫جـ ‪ .‬تطأ‬
‫التعلي ‪ :‬تتكون املصفوفة من جمموعة من العناصر ذات النوع الواح ‪ ,‬و للتعام‬
‫مع هذب العناصر يتم استل اب الفهرس )‪ (Index‬ك لي ملواقع العناصر يف املصفوفة‪.‬‬

‫‪ .‬ميكن ان تتكون املصفوفة من ع ة انواع صيانية‪.‬‬


‫جـ ‪.‬تطأ‬
‫التعلي ‪ :‬تتكون املصفوفة من جمموعة من العناصر ذات النوع الواح ‪.‬‬

‫‪ .‬يتميز ك عنصر دات املصفوفة صرقم )‪ (Index‬فري ‪.‬‬


‫جـ ‪ .‬صح‪.‬‬

‫‪ .‬هناك نوعان للمصفوفة مصفوفة ذات صع واح و مصفوفة متع دة االصعاد‪.‬‬


‫جـ ‪ .‬صح‬
‫مالحظة‪ :‬املصفوفة ذات البع ين هي مصفوفة متع دة االصعاد‪.‬‬
‫فاملصفوفات ميكن ان تكون ذات صع واح ‪ ,‬او ذات صع ين ‪ ,‬او ثالثة او اكثر‪.‬‬
‫تسمى املصفوفة ذات البع الواح صاملصفوفة األحادية او املصفوفة ذات البع‬
‫الواح ‪.‬‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫و تسمى املصفوفات ذات اكثر من صع صاملصفوفات متع دة االصعاد سواء كانت ذات‬
‫صع ين او ثالثة او اكثر‪.‬‬
‫‪ .‬املصفوفة طوهلا ثاصت وال ميكن زيادته اثناء عم ال نام ‪.‬‬
‫جـ ‪ .‬صح‬
‫مالحظة‪ :‬وفقاً للمنه املقر املصفوفة طوهلا ثاصت وال يكن زيادته اثناء عم ال نام ‪.‬‬
‫يوج نوع اتر من املصفوفات مل يذكر يف املنه املقر و هي مصفوفات ميكن تغيري‬
‫اصعادها اثناء عم ال نام ‪.‬‬

‫‪ .‬يب ن اإلعالن عن املصفوفة صتح ي النوع البياني للمصفوفة‪.‬‬


‫جـ ‪.‬تطأ‬
‫التعلي ‪ :‬يب ن اإلعالن عن املصفوفة صتح ي اسم املصفوفة ‪ ,‬ثم ع د عناصر‬
‫املصفوفة ثم نوع املصفوفة و ذلك كما هو واضح من مجلة اإلعالن التالية‪-:‬‬
‫‪Dim Array-name(max-value) as Data Type‬‬
‫حيث ‪-:‬‬
‫مجلة اإلعالن‪.‬‬ ‫‪Dim‬‬
‫اسم املصفوفة‪.‬‬ ‫‪Array-name‬‬
‫ع د عناصر املصفوفة‪.‬‬ ‫‪Max-Value‬‬
‫نوع البيانات املستل مة مميع عناصر املصفوفة‪.‬‬ ‫‪Data-Type‬‬

‫) عنصر من نوع )‪(String‬‬ ‫‪ (Dim arr(100) as string) .‬تتكون هذب املصفوفة من (‬


‫جـ ‪.‬تطأ‬
‫عنصر من نوع )‪ (String‬و ذلك الن الع ملواقع‬ ‫التعلي ‪ :‬تتكون هذب املصفوفة من‬
‫املصفوفات يب ن من ‪,‬ني ان اول عنصر من عناصر هذب املصفوفة يكون يف املوقع‬
‫( ) و اتر عنصر يكون يف املوقع ( ) ني ان هذب املصفوفة توي على‬
‫عنصر‪.‬‬

‫‪ (Dim Arr(3,4) as integer) .‬تتكون هذب املصفوفة من ن صعة عناصر من نوع )‪.(Integer‬‬
‫جـ ‪.‬تطأ‬
‫املصفوفات‬ ‫الفص اخلامس‬
‫يف‬ ‫عنصر‪ ,‬وهو حاص ضرب ع د الصفو‬ ‫التعلي ‪ :‬توي هذب املصفوفة على‬
‫ع د االعم ة ‪. =4X5 ,‬‬

‫‪ .‬الميكن اإلعالن عن مصفوفة تالية‪.‬‬


‫جـ ‪.‬صح‬
‫مالحظة‪ :‬وفقاً للمنه املقر ال ميكن اإلعالن عن مصفوفة تالية‪.‬‬

‫‪ .‬ع د الفها س يف املصفوفة مساو لع د عناصرها‪.‬‬


‫جـ ‪ .‬تطأ‬
‫التعلي ‪ :‬ع د الفها س يف املصفوفة يساوي ع د اصعاد املصفوفة ‪ ,‬ففي املصفوفة‬
‫ذات صع واح يوج فهرس واح ي ل على قم مواقع املصفوفة‪ ,‬و يف املصفوفة‬
‫ذات البع ين يوج فهرسي ‪ ,‬فهرس ي ل على قم الصفو و فهرس ي ل على قم‬
‫االعم ة‪.‬‬

‫) طال‪ ,‬يف مصفوفة ذات صع واح ‪.‬‬ ‫) اكت‪ ,‬مجلة االعالن لتلزين امساء (‬
‫‪Dim StudentName (49) as String‬‬

‫) يف مصفوفة‪.‬‬ ‫) اكت‪ ,‬صرناجماً لتلزين االع اد من ( ) ا (‬


‫ال نام كالتالي‪-:‬‬
‫‪Dim MyArray(1 to 100) as Integer‬‬
‫‪For i = to 100‬‬
‫‪MyArray(i)=i‬‬
‫‪Next i‬‬
‫الشرح‪-:‬‬
‫موقع لتلزين‬ ‫نقوب اوالً صاإلعالن عن مصفوفة خنتا هلا اسم )‪ (MyArray‬و توي على‬
‫عنصر من النوع الع دي ‪,‬وحن د قم اول موقع و قم اتر موقع صالشك التالي‪-:‬‬
‫‪Dim My Array(1 to 100) as Integer‬‬
‫يف مواقع املصفوفة‪.‬‬ ‫ثم نستل ب حلقة )‪ (For-Next‬إلسناد او ختزين االع اد من ا‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬
‫‪For i=1 to 100‬‬
‫‪MyArray(i)=i‬‬
‫‪Next i‬‬
‫و نالحظ اننا يف مجلة اإلعالن عن املصفوفة ح دنا قم اول موقع و قم اتر موقع من مواقع‬
‫املصفوفة )‪ , (1 to 100‬لذلك اصبح اول موقع هو املوقع ‪-:‬‬
‫)‪MyArray(1‬‬
‫و اتر موقع هو املوقع ‪-:‬‬
‫)‪MyArray(100‬‬
‫و ذلك حتى يسه علينا كتاصة ال نام صشك مبسط‪ ,‬فيتساوى قم فهرس املصفوفة ال ال‬
‫على موقع اخللية يف املصفوفة مع القيمة او الع د املراد ختزينه يف املوقع‪.‬‬
‫فالع د يتم ختزين يف املوقع )‪MyArray(1‬‬
‫والع د يتم ختزينه يف املوقع )‪MyArray(2‬‬
‫الذي يتم ختزينه يف املوقع )‪MyArray(100‬‬ ‫و هكذا حتى نص ا الع د‬
‫وهذب اسه طريقة حل التمرين‪.‬‬
‫نما اذا مل حن د قم املوقع الذي سيتم ص ء الع صه يف املصفوفة فيج‪ ,‬علينا كتاصة مجلة‬
‫اإلعالن صالشك التالي‪-:‬‬
‫‪Dim MyArray(99) as Integer‬‬
‫حيث سيب ن الع من الصفر ‪ ,‬ويكون اول موقع للمصفوفة هو املوقع ‪-:‬‬
‫)‪MyArray(0‬‬
‫و اتر موقع هو املوقع‪-:‬‬
‫)‪MyArray(99‬‬
‫و يف هذب احلالة سيلتلف قم فهرس املصفوفة ال ال على موقع اخللية يف املصفوفة عن‬
‫القيمة او الع د املراد ختزينه يف املوقع‪.‬‬
‫فالع د يتم ختزينه يف املوقع )‪MyArray(0‬‬
‫و الع د يتم ختزينه يف املوقع )‪MyArray(1‬‬
‫الذي يتم ختزينه يف املوقع )‪.MyArray(99‬‬ ‫و هكذا حتى نص ا الع د‬
‫لذلك سنحتاج يف هذب احلالة اإلعالن عن متغري اتر نستل مه لل اللة على قيمة الع د الذي‬
‫نري تعيينه و حفظه يف مواقع املصفوفة‪ ,‬و ذلك صالشك التالي‪-:‬‬
‫املصفوفات‬ ‫الفص اخلامس‬
‫‪Dim X As Integer‬‬
‫‪X=0‬‬
‫‪Dim MyArray(99) As Integer‬‬
‫‪For i = 0 To 99‬‬
‫‪MyArray(i) = X‬‬
‫‪X=X+1‬‬
‫‪Next i‬‬

‫) اكت‪ ,‬صرناجماً لتلزين جمموعة نع اد يف مصفوفة )‪ (4X4‬مت اعم األتي‪-:‬‬


‫‪ ‬طباعة جمموع ك عمود‪.‬‬
‫‪ ‬طباعة قطر املصفوفة‪.‬‬
‫‪ ‬البحث عن عنصر يف املصفوفة و طباعة "الرقم موجود" و قم الصف والعمود املوجود‬
‫صه‪.‬‬
‫الشرح‪-:‬‬

‫متث النص‬ ‫نقوب صإضافة ا صع از ا امر )‪ (Command Button‬للنموذج و نغري اخلاصية )‪ (Text‬ال‬
‫الظاهر على ك ز صالشك املوضح يف ام ول‪-:‬‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫القيمة‬ ‫اخلاصية‬ ‫االداة‬


‫إدت العناصر‬ ‫‪Text‬‬ ‫‪Command1‬‬
‫طباعة جمموع ك عمود‬ ‫‪Text‬‬ ‫‪Command2‬‬
‫طباعة قطر املصفوفة‬ ‫‪Text‬‬ ‫‪Command3‬‬
‫البحث عن عنصر‬ ‫‪Text‬‬ ‫‪Command4‬‬

‫نقوب صفتح نافذة "كتاصة الشفرة ال جمية" و نكت‪ ,‬يف ص اية النافذة مجلة اإلعالن عن‬
‫مصفوفة توي على ا صعة صفو و ا صعه نعم ة من النوع الع دي صالشك التالي‪-:‬‬
‫‪Dim a(3, 3) As Integer‬‬
‫ز إدتال العناصر‬
‫نكت‪ ,‬صي سطري ص اية و نهاية اإلجراء اخلاص صاحل ث "النقر" )‪ (Click‬على ز االمر اخلاص‬
‫صإدتال عناصر املصفوفة الشفرة ال جمية التالية‪-:‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪Dim i As Integer‬‬
‫‪Dim j As Integer‬‬
‫‪For i = 0 To 3‬‬
‫‪For j = 0 To 3‬‬
‫)"ادت عناصر املصفوفة"(‪a(i, j) = InputBox‬‬
‫‪Print a(i,j),‬‬
‫‪Next j‬‬
‫"" ‪Print‬‬
‫‪Next i‬‬
‫‪End Sub‬‬
‫حيث استل منا حلقتي ‪ ,‬حلقة لع د الصفو و حلقة لع د االعم ة‪.‬‬
‫و استل منا اداة اإلدتال "صن وق اإلدتال" او "مرصع اإلدتال" )‪ (InputBox‬الستقبال‬
‫العناصر من املستل ب و ادتاهلا او حفظها يف املصفوفة‪.‬‬
‫ز طباعة جمموع ك عمود‬
‫نكت‪ ,‬صي سطري ص اية و نهاية اإلجراء اخلاص صاحل ث "النقر" )‪ (Click‬على ز االمر اخلاص‬
‫صطباعة جمموع ك عمود الشفرة ال جمية التالية‪-:‬‬
‫املصفوفات‬ ‫الفص اخلامس‬

‫)(‪Private Sub Command2_Click‬‬


‫‪Dim i As Integer‬‬
‫‪Dim j As Integer‬‬
‫‪Dim sum As Integer‬‬
‫‪For j = 0 To 3‬‬
‫‪sum = 0‬‬
‫‪For i = 0 To 3‬‬
‫)‪sum = sum + a(i, j‬‬
‫‪Next i‬‬
‫‪" & j, sum‬جمموع العمود" ‪Print‬‬
‫‪Next j‬‬
‫‪End Sub‬‬
‫حيث استل منا حلقتي للتحرك صي صفو و اعم ة املصفوفة و مجع ك عمود‪.‬‬
‫و استل منا متغري ‪ i‬لي ل على قم الصف‪.‬‬
‫و متغي ‪ j‬لي ل على قم العمود‪.‬‬
‫و متغري ‪ sum‬ليتم ختزين جمموع العمود فيه‪.‬‬
‫وهكذا نستطيع متثي املصفوفة صالرمز )‪.A(i,j‬‬
‫لفهم كيف ميكننا طباعة جمموع االعم ة ‪ ,‬ننظر ا شك املصفوفة اذا مسناها يف ج ول‬
‫لتصبح كما يلي ‪-:‬‬

‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬


‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬
‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬
‫)‪A(3,0‬‬ ‫)‪A(3,1‬‬ ‫)‪A(3,2‬‬ ‫)‪A(3,3‬‬

‫‪ ,‬صينما ن قاب ‪i‬‬ ‫متث العمود ثاصتة و هي‬ ‫صالنظر ا العمود االول ‪ ,‬نالحظ ان قم ‪ j‬ال‬
‫ال متث الصفو فهي تتغري من ا ‪.‬‬
‫لذلك للحصول على جمموع العمود نثبت قيمة قم ‪ j‬الذي ميث العمود ‪ ,‬ثم ننتق صي‬
‫ا قاب ‪ i‬ال متث الصفو و جنمع قيمة ك تلية من تاليا هذا العمود و نضعها يف املتغري‬
‫‪.Sum‬‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫من ام ول الساصق نالحظ ان قيم دلي العمود االول كما يلي ‪-:‬‬
‫)‪A(0,0‬‬
‫)‪A(1,0‬‬
‫)‪A(2,0‬‬
‫)‪A(3,0‬‬
‫ممع هذب القيم‪-:‬‬
‫نقوب اوال صوضع قيمة ‪- j‬ال متث قم العمود‪ -‬تساوي ‪,‬و ذلك صتح ي ص اية ‪ j‬يف‬
‫و صهذا سيب ن الع من الصفر ‪ ,‬و نثبت هذب القيمة و ال نغريها‬ ‫مجلة ‪ for-next‬من ا‬
‫‪ ,‬ني ال نكت‪ ,‬مجلة )‪ (Next J‬االن‪.‬‬
‫نقوب صتعيي القيمة ا متغري اجملموع ‪ Sum‬حتى يتم تفريغه من ني قيمة ساصقة‪.‬‬
‫ثم ننتق صي تاليا العمود و ذلك صتغيري قيم ‪ i‬من ا صاستل اب احللقة ال اتلية‪-:‬‬
‫‪For i =0 to‬‬
‫‪Nxt i‬‬
‫و يف ك مرة نضيف قيمة اخللية ا نات اممع ‪ sum‬ليصبح ال نام صالشك التالي‪-:‬‬
‫‪For i =0 to‬‬
‫)‪sum = sum + a(i, j‬‬
‫‪Nxt i‬‬

‫و صع االنتهاء من العمود االول ‪,‬ني عن ما تنتهي احللقة ال اتلية و يتم االنتقال من‬
‫‪ i=0‬ا ‪ ,i=3‬نطبع جمموع هذا العمود ‪ j‬و الذي مت ختزينه يف املتغري ‪.sum‬‬
‫‪" & j, sum‬جمموع العمود" ‪Print‬‬
‫ثم ننتق ا العمود الثاني صتغيري قيمة ‪ j‬صاستل اب احللقة اخلا جية‪.‬‬
‫‪Next j‬‬
‫فتصبح قيمة ‪ j‬تساوي‬
‫و نتأك من تفريغ املتغري اخلاص صاجملموع ‪ Sum‬ليب ن الع من الصفر مرة اترى ‪ ,‬و نغري قيم ‪i‬‬
‫ال متث قم الصف صتكرا املصفوفة ال اتلية‪.‬‬

‫‪For i =0 to‬‬
‫)‪sum = sum + a(i, j‬‬
‫‪Nxt i‬‬
‫املصفوفات‬ ‫الفص اخلامس‬
‫و هكذا حتى نص للعمود االتري و يتم طباعة جمموعه‪.‬‬

‫ز طباعة قطر املصفوفة‬


‫نكت‪ ,‬صي سطري ص اية و نهاية اإلجراء اخلاص صاحل ث "النقر" )‪ (Click‬على ز االمر اخلاص‬
‫صطباعة قطر املصفوفة الشفرة ال جمية التالية"‪-‬‬
‫)(‪Private Sub Command3_Click‬‬
‫‪Dim i As Integer‬‬
‫‪Dim j As Integer‬‬
‫‪For i = 0 To 3‬‬
‫‪For j = 0 To 3‬‬
‫‪If i = j Then‬‬
‫‪Print a(i, j),‬‬
‫‪Else‬‬
‫‪Print "",‬‬
‫‪End If‬‬
‫‪Next j‬‬
‫"" ‪Print‬‬
‫‪Next i‬‬
‫‪End Sub‬‬

‫لفهم كيف ميكننا طباعة قطر املصفوفة ن قق النظر يف شك املصفوفة اذا مسناها‬
‫يف ج ول لتصبح كما يلي ‪-:‬‬

‫)‪A(0,0‬‬ ‫)‪A(0,1‬‬ ‫)‪A(0,2‬‬ ‫)‪A(0,3‬‬

‫)‪A(1,0‬‬ ‫)‪A(1,1‬‬ ‫)‪A(1,2‬‬ ‫)‪A(1,3‬‬

‫)‪A(2,0‬‬ ‫)‪A(2,1‬‬ ‫)‪A(2,2‬‬ ‫)‪A(2,3‬‬

‫)‪A(3,0‬‬ ‫)‪A(3,1‬‬ ‫)‪A(3,2‬‬ ‫)‪A(3,3‬‬

‫قطر املصفوفة هو ‪-:‬‬


‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫)‪A(0,0‬‬
‫)‪A(1,1‬‬
‫)‪A(2,2‬‬
‫)‪A(3,3‬‬

‫ني اننا حنص على املصفوفة عن ما يتساوى الرقم ال ال على الصف و الرقم ال ال على‬
‫العمود‪.‬‬
‫)‪A(0,0‬‬
‫)‪A(1,1‬‬
‫)‪A(2,2‬‬
‫)‪A(3,3‬‬
‫ويف هذا التمرين نستل ب ‪ i‬لت ل على قم الصف ‪ ,‬و ‪ j‬لت ل على قم العمود‪.‬‬
‫اذا للحصول على قطر املصفوفة نبحث عن املواقع او اخلاليا ال تتساوى فيها‬
‫قيم ‪ i‬و ‪.j‬‬
‫و مع الطباعة تظهر على النموزج صشك قطري ‪,‬نقوب صطباعة قيمة القطر او املواقع ال‬
‫تتساوى فيها قيم ‪ i‬و ‪. j‬‬
‫ويف املقاص نقوب صطباعة فراغ " " يف صاقي املواقع ‪ ,‬و صاقي املواقع هي املواقع ال ال‬
‫تتساوى فيها قيم ‪ i‬و ‪.j‬‬
‫و لكتاصة الشفرة ال جمية ملا نري ب ‪,‬نقوب صاستل اب حلقتي ‪ ,‬حلقة تا جية متث‬
‫الصفو ‪.‬‬
‫‪For i =0 to 3‬‬
‫‪Next i‬‬

‫و حلقة داتلية متث االعم ة‪-:‬‬


‫‪For j = 0 to 3‬‬
‫‪Next j‬‬
‫يف احللقة ال اتلية نكت‪ ,‬امملة الشرطية ‪ If‬للتأك من قيم ‪ i‬و ‪-: j‬‬
‫‪ ‬فإذا كانت القيمتان متساويتي صذلك نكون ق حصلنا على موقع تلية يف قطر‬
‫املصفوفة ‪ ,‬فيتم طباعة قيمة هذب اخللية‪.‬‬
‫املصفوفات‬ ‫الفص اخلامس‬

‫‪If i=j then‬‬


‫‪Print a(i,j) ,‬‬
‫و إذا مل تكن قيم ‪ i‬و ‪ j‬متساويتي يتم طباعة فراغ " " ‪.‬‬ ‫‪‬‬
‫‪Else‬‬
‫‪Print " " ,‬‬
‫‪End if‬‬

‫و نالحظ اننا استل منا الفاصلة ( ‪ ) ,‬صع امر الطباعة حتى يتم الطباعة يف نفس السطر ‪,‬‬
‫او يف نفس الصف‪.‬‬
‫ثم ننتق ا اخللية التالية يف الصف احلالي صتغيري قيمة ‪ j‬صاستل اب احللقة ال اتلية‪-:‬‬
‫‪Next j‬‬
‫و عن ما تنتهي احللقة ال اتلية ‪,‬ني عن ما نص ا اتر موقع يف الصف‪-:‬‬
‫‪ ‬نقوب اوال صاستل اب امر الطباعة )‪ (Print‬ص ون كتاصة فاصلة صع ب و ذلك‬
‫لالنتقال لسطر ج ي ‪.‬‬
‫‪ ‬ثم ننتق ا الصف التالي صتغيري قيمة ‪ i‬صاستل اب احللقة اخلا جية‪.‬‬
‫‪Next i‬‬
‫لتصبح الشفرة ال جمية صالشك التالي‪-:‬‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

Private Sub Command3_Click()


Dim i As Integer
Dim j As Integer
For i = 0 To 3
For j = 0 To 3
If i = j Then
Print a(i, j),
Else
Print "",
End If
Next j
Print ""
Next i
End Sub

‫ز البحث عن عنصر‬
‫ الشفرة ال جمية التالية يف االجراء اخلاص صز االمر اخلاص صالبحث عن‬,‫صع ذلك نكت‬
-:‫عنصر‬
‫املصفوفات‬ ‫الفص اخلامس‬

‫)(‪Private Sub Command4_Click‬‬


‫‪Dim i As Integer‬‬
‫‪Dim j As Integer‬‬
‫‪Dim x As Integer‬‬
‫‪Dim R, C As Integer‬‬
‫‪Dim check As Boolean‬‬
‫‪check = False‬‬
‫)"ادت العنصر"(‪x = InputBox‬‬
‫‪For i = 0 To 3‬‬
‫‪For j = 0 To 3‬‬
‫‪If a(i, j) = x Then‬‬
‫‪check = True‬‬
‫‪R=i‬‬
‫‪C=j‬‬
‫‪End If‬‬
‫‪Next j‬‬
‫‪Next i‬‬

‫‪If check = True Then‬‬


‫‪: " & C‬و العمود قم " & ‪ " & R‬الرقم موجود يف الصف قم‪Print " :‬‬
‫‪Else‬‬
‫" الرقم غري موجود‪Print "..‬‬
‫‪End If‬‬
‫‪End Sub‬‬
‫حيث للبحث عن عنصر و طباعة قم الصف و العمود املوجود صه هذا العنصر‪-:‬‬
‫‪ ‬نقوب صاستل اب حلقتي للتحرك صي عناصر املصفوفة‪.‬‬
‫‪ ‬و نقوب صاإلعالن عن متغريين ‪ R‬و ‪ C‬ليتم ختزين قم العمود و قم الصف فيهما‪.‬‬
‫‪ ‬كما نستعي مبتغري ‪ Check‬من النوع ‪ Boolean‬لنح د اذا كان الرقم موجود ‪-‬ني مت العثو‬
‫عليه‪ -‬اب غري موجود‪.‬‬
‫‪ ‬ثم نستل ب اداة االدتال )‪ (InputBox‬لنمكن املستل ب من ادتال الرقم الذي يري البحث‬
‫عنه ‪.‬‬
‫‪ ‬و نستل ب امملة الشرطية ‪ If‬لفحص قيم عناصر املصفوفة ه تساوي قيمة قم‬
‫البحث اب ال‪.‬‬
‫الفص اخلامس‬ ‫سلسلة احلكمة‬

‫إذا تساوت قيمة عنصر من عناصر املصفوفة مع قم البحث‪-:‬‬


‫‪ ‬يتم ختزين قيمة الصف ‪ i‬و العمود ‪ j‬هلذا العنصر يف املتغريين ‪ R‬و ‪.C‬‬
‫‪ ‬ويتم إعطاء املتغري ‪ Check‬قيمة ‪ True‬لل اللة على ان قم البحث موجود يف‬
‫املصفوفة‪.‬‬
‫و صع االنتهاء من احللقة ال اتلية و اخلا جية ‪ ,‬يتم فحص قيمة املتغري ‪ Check‬صاستل اب‬
‫امملة الشرطية ‪. If‬‬
‫‪ ‬فإذا كانت قيمة هذا املتغري تساوي ‪ True‬فهذب يعين ان قم البحث موجود يف‬
‫املصفوفة‪-:‬‬
‫‪ o‬فنقوب صطباعة مجلة "الرقم موجود"‪.‬‬
‫‪ o‬و كذلك نطبع قم الصف و قم العمود للموقع الذي وج فيه هذا العنصر‬
‫و ذلك صطباعة قيمة املتغريين ‪ R‬و ‪. C‬‬
‫‪ ‬و إذا مل تكن قيمة املتغري ‪ check‬تساوي ‪ Trut‬هذا يعين انه مل يتم العثو على قم‬
‫البحث‪-:‬‬
‫‪ o‬يتم طباعة "الرقم غري موجود"‪.‬‬
‫الفصل السادس‬

‫الربامج الفرعية و الدوال‬


‫الفص السادس‬ ‫سلسلة احلكمة‬

‫الفصل السادس‬

‫الربامج الفرعية و الدوال‬


‫مللص الفص وفقاً للكتاب امل سي‬

‫املق مة‬
‫تستل ب ال ام الفرعية لتقسيم املشروع او ال نام الكبري ا جمموعة من االجزاء ك جزء ينجز‬
‫وظيفة معينة ‪,‬و صالتالي يصبح املشروع عبا ة عن جمموعة من ال ام الفرعية و ال وال ميكن‬
‫است عاؤها وقت احلاجة‪ ,‬و كذلك يسه إع ادها و اتتبا ها و تع يلها‪.‬‬

‫ال ام الفرعية "الروتينات" )‪(Subroutines‬‬


‫ال ام الفرعية ‪-:‬‬
‫هي صرام مستقلة تؤدي وظيفة معينة و ميكن استع اؤها من النموذج‬
‫احلالي او من ني منوذج اتر‪.‬‬
‫الشك العامل لل ام الفرعية‪.‬‬
‫‪Private Sub Sub-‬‬
‫حيث ‪-:‬‬
‫كلمة د جمال استل اب ال نام الفرعي‪.‬‬ ‫‪Private‬‬
‫كلمة مفتاحية ت ل على ص اية ال نام الفرعي‪.‬‬ ‫‪Sub‬‬
‫اسم ال نام الفرعي‪.‬‬ ‫‪Sub-Name‬‬
‫معامالت ال نام الفرعي‪.‬‬
‫نوع صيانات املعامالت‪.‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬

‫اين يكت‪ ,‬ال نام الفرعي‬


‫ميكن كتاصة ال نام الفرعي يف موضعي‪-:‬‬
‫‪ ‬ضمن النموذج )‪(Form‬‬
‫ميكن كتاصة ال نام الفرعي يف امزء اخلاص صالتصرحيات العامة )‪ (General‬اخلاص‬
‫صالنموذج )‪.(Form‬‬
‫و يف هذب احلالة يكون ال نام الفرعي صرنام تاص ‪,‬ني ميكن است عاؤب من ني اداة‬
‫على النموذج احلالي فقط‪.‬‬
‫و يف هذب احلالة تكون ص اية مجلة اإلعالن عن ال نام الفرعي كلمة )‪ (Private‬و ال‬
‫د جمال استل اب ال نام يف النموذج احلالي فقط صالشك التالي‪-:‬‬
‫‪Private Sub Sub-‬‬
‫ضمن "وح ة صرجمية" )‪(Module‬‬ ‫‪‬‬
‫ميكن كتاصة ال نام الفرعي يف "وح ة منطية" او "وح ة صرجمية" )‪. (Module‬‬
‫حيث انه إذا ا دنا است عاء ال نام الفرعي من ني منوذج يف املشروع فيج‪ ,‬علينا‬
‫كتاصة ال نام يف "وح ة صرجمية" )‪.(Module‬‬
‫و يف هذب احلالة تكون ص اية مجلة اإلعالن عن ال نام الفرعي كلمة )‪ (Public‬و ال‬
‫د جمال استل اب ال نام من ني منوذج يف املشو ع صالشك التالي‪-:‬‬
‫‪Pubic Sub Sub-‬‬

‫إضافة "وح ة صرجمية" )‪ (Module‬ا املشروع‪.‬‬


‫ميكن إضافة "وح ة صرجمية" )‪ (Module‬ا املشروع صنفس طريقة إضافة النموذج ‪ ,‬و ذلك كما‬
‫يلي‪-:‬‬
‫‪ ‬ننقر على قائمة )‪ (Project‬لفتح هذب القائمة و عرمل حمتوياتها ‪ ,‬ثم ننقر منها على امر‬
‫"إضافة وح ة صرجمية" )‪.(Add Module‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫فيظهر مرصع حوا "إضافة وح ة صرجمية" )‪ (Add Module‬خنتا منه "وح ة صرجمية"‬ ‫‪‬‬
‫)‪ , (Module‬ثم ننقر على ز "موافق" )‪.(Ok‬‬

‫فيتم إضافة "الوح ة ال جمية" )‪ (Module‬ا املشروع احلالي و تظهر امامنا يف صي ة‬ ‫‪‬‬
‫التطوير املتكاملة لبيسك املرئي‪.‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬

‫لفتح "الوح ة ال جمية" )‪ (Module‬لكتاصة الشفرة ال جمية ص اتلها ننقر عليها نقراً مزدوجاً من‬
‫نافذة "مستكشف املشروع" )‪.(Project Explorer‬‬

‫فيتم فتح نافذة كتاصة الشفرة ال جمية للوح ة ال جمية )‪.(Module‬‬

‫إزالة "الوح ة ال جمية" )‪(Module‬‬


‫إلزالة "الوح ة ال جمية" )‪ (Module‬من املشروع نتبع اخلطوات التالية‪-:‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫ننقر على اسم "الوح ة ال جمية" )‪ (Module‬من نافذة "مستكشف املشروع"‬ ‫‪‬‬
‫)‪ (Project Explorer‬صز الفا ة االمين فتظهر قائمة النقرة اليمنى او القائمة امللتصرة‪.‬‬

‫‪ ‬من هذب القائمة خنتا امر احلذ )‪. (Remove‬‬


‫فيتم حذ "الوح ة ال جمية" )‪ (Module‬و إزالتها من املشروع‪.‬‬

‫است عاء ال نام الفرعي‬


‫ميكننا است عاء ال نام الفرعي صطريقتي‪-:‬‬
‫‪ ‬صاستل اب كلمة االست عاء )‪ (Call‬صالشك التالي‪-:‬‬

‫صكتاصة اسم ال نام الفرعي مباشرة ص ون كلمة االست عاء صالشك التالي‪-:‬‬ ‫‪‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬

‫ال وال الوظيفية "دوال املستل ب" )‪(Functions‬‬


‫املكتوصة صلغة‬ ‫تتكون دوال املستل ب )‪ (User-Defined Functions‬من جمموعة من امم‬
‫"البيسك املرئي" و تؤدي وظيفة حم دة ‪.‬‬
‫الشك العاب لل الة الوظيفية ‪:‬‬
‫‪Private Function Fun-Name(Par 1 as Type 1, ...Par n As Type n) As Fun-Type‬‬
‫حيث ‪-:‬‬
‫كلمة د جمال استل اب ال الة‪.‬‬ ‫‪Private‬‬
‫كلمة مفتاحية ت ل على ص اية ال الة‪.‬‬ ‫‪Function‬‬
‫اسم ال الة ‪.‬‬ ‫‪Fun-Name‬‬
‫معامالت ال الة‪.‬‬
‫نوع صيانات املعامالت‪.‬‬
‫نوع البيانات ال تعي ها ال الة‪.‬‬ ‫‪Fun-Type‬‬

‫الفرق صي ال الة و ال نام الفرعي‬


‫ع ة فروق صي ال الة و ال نام الفرعي منها‪-:‬‬ ‫توج‬
‫يف ال ام الفرعية تكون القيمة املعادة من ال نام يف معامالته ‪ ,‬صينما يف ال وال‬ ‫‪‬‬
‫تكون القيمة املعادة من ال الة يف امسها ‪.‬‬
‫ال ام الفرعية تعي قيمة واح ة او اكثر ‪ ,‬صينما ال وال تعي قيمة واح ة فقط ‪.‬‬ ‫‪‬‬
‫تب ن ال ام الفرعية صـ )‪ (Sub‬او )‪ (Private Sub‬او )‪ , (Public Sub‬صينما تب ن ال وال صـ‬ ‫‪‬‬
‫)‪ (Function‬او )‪ (Private Function‬او )‪ (Public Function‬و تنتهي ال ام الفرعية صـ‬
‫)‪ (End Sub‬صينما تنتهي ال وال صـ )‪. (End Function‬‬
‫يف اإلجراء الفرعي يتم اإلعالن عن القيم املعادة و نوعها ضمن املعامالت اخلاصة‬ ‫‪‬‬
‫صال نام الفرعي ‪ ,‬صينما يف ال وال جي‪ ,‬ان تذكر نوع القيمة املعادة من ال الة يف مجلة‬
‫اإلعالن عن ال الة‪.‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫نداة إضافة اإلجراءات )‪(Add procedure‬‬


‫ميكننا استل اب نداة إضافة اإلجراءات )‪ (Add Procedure‬إلنشاء ال ام الفرعية و ال وال صسرعة و‬
‫سهولة ‪.‬‬
‫لفتح مرصع حوا نداة إضافة اإلجراءات )‪ (Add Procedure‬نتبع اخلطوات التالية‪-:‬‬
‫‪ ‬من نافذة صي ة التطوير لبيسك املرئي ننقر على قائمة "ادوات" )‪ (Tools‬لفتح هذب القائمة‬
‫و عرمل حمتوياتها‪.‬‬

‫من قائمة "ادوات" )‪ (Tools‬ننقر على "إضافة إجراء" )‪ , (Add Procedure‬فيظهر مرصع حوا‬ ‫‪‬‬
‫نداة "إضافة إجراء" )‪ (Add procedure‬الذي يساع نا على إنشاء صرنام فرعي او دالة و‬
‫ي تواصها‪.‬‬

‫يف تانة "االسم" )‪ (Name‬ن ت اسم ال نام الفرعي ‪ ,‬او اسم ال الة‪.‬‬ ‫‪‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫حن د نوع او جمال ال نام الفرعي او ال الة ه هو تاص )‪ (Private‬ني سيتم‬ ‫‪‬‬
‫استل امه دات النموذج احلالي فقط ‪ ,‬او عاب )‪ (Public‬ني ميكن است عاؤب من ني منوذج‬
‫اتر يف املشروع‪.‬‬
‫و عن النقر على ز "موافق" )‪ (Ok‬يتم إنشاء االجراء ‪,‬ني يتم إضافة سطر ص اية االجراء و‬ ‫‪‬‬
‫سطر نهايته‪.‬‬

‫جمال ال نام الفرعي او ال الة‬


‫يقص مبجال ال نام الفرعي او ال الة هو مكان است عاء و استل اب هذا ال نام او هذب‬
‫ال الة‪.‬‬
‫ميكن ي جمال ال نام الفرعي او ال الة ليكون اما تاص )‪ ,(Private‬او عاب )‪-: (Public‬‬
‫‪ ‬اجملال اخلاص )‪-: (Private‬‬
‫يقص صاجملال اخلاص )‪ (Private‬انه ميكن است عاء و استل اب ال نام الفرعي‬
‫او ال الة دات النموذج احلالي فقط ‪.‬‬
‫‪ ‬اجملال العاب )‪-:(Public‬‬
‫يقص صاجملال العاب )‪ (Public‬انه ميكن است عاء و استل اب ال نام الفرعي او‬
‫ال الة من ني منوذج يف املشروع‪.‬‬

‫ال وال اماهزة ‪Functions‬‬


‫ال وال اماهزة ‪-:‬‬
‫هي دوال تأتي مع لغة ال جمة و ميكن است عاؤها ص ون كتاصة صراجمها‪.‬‬
‫و ميكن تقسيم ال وال اماهزة ا ‪-:‬‬
‫‪ ‬ال وال الرياضية )‪.(Math Functions‬‬
‫‪ ‬ال وال احلرفية )‪.(String Functions‬‬
‫‪ ‬دوال التا يخ و الوقت )‪.(Time and Date Functions‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫ال وال الرياضية )‪(Math Functions‬‬


‫تستل ب ال وال الرياضية إلعادة قيم ملواصفات و تواص ياضية معروفة ‪.‬‬
‫من اهم هذب ال وال‪-:‬‬
‫)(‪Sqr‬‬ ‫‪ ‬دالة امذ الرتصيعي‬
‫تعي هذب ال الة قيمة امذ الرتصيعي لع د معي‪.‬‬
‫)‪Print Sqr(9‬‬ ‫مثال‪-:‬‬
‫تعي هذب ال الة الرقم و هو امز الرتصيعي لرقم ‪.‬‬
‫)‪Print Sqr(25‬‬ ‫مثال‪-:‬‬
‫‪.‬‬ ‫تعي هذب ال الة الرقم و هو امز الرتصيعي لرقم‬

‫دالة القيمة املطلقة )(‪Abs‬‬ ‫‪‬‬


‫تعي هذب ال الة القيمة املطلقة للع د ‪ ,‬ني قيمة الع د ص ون‬
‫إإلشا ة السالبة‪.‬‬
‫)‪Print Abs(-51‬‬ ‫مثال‪-:‬‬
‫و هو القيمة املطلقة للع د ‪.-51‬‬ ‫تعي هذب ال الة الع د‬
‫)‪Print Abs(-43.5‬‬ ‫مثال‪-:‬‬
‫و هو القيمة املطلقة للع د ‪.-43.5‬‬ ‫تعي هذب ال الة الع د‬
‫)‪Print Abs(82‬‬ ‫مثال‪-:‬‬
‫و هو القيمة املطلقة للع د ‪.82‬‬ ‫تعي هذب ال الة الع د‬

‫امزء العشري من الع د )(‪Int‬‬ ‫‪ ‬دالة حذ‬


‫تعي هذب ال الة قيمة امزء الصحيح فقط من الع د‪ ,‬و تقوب حبذ امزء‬
‫العشري‪.‬‬
‫)‪Print Int(24.21‬‬ ‫مثال‪-:‬‬
‫‪.‬‬ ‫و هو امزء الصحيح من الع د‬ ‫تعي هذب ال الة الع د‬
‫)‪Print Int(96.80‬‬ ‫مثال‪-:‬‬
‫‪.‬‬ ‫تعي هذب ال الة الع د ‪ 96‬و هو امزء الصحيح من الع د‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬

‫دالة اللوغا مت الطبيعي )(‪Log‬‬ ‫‪‬‬


‫تعي هذب ال الة قيمة اللغرمت الطبيعي لع د معي‪.‬‬
‫‪ ,‬حيث تعي هذب‬ ‫مالحظة ‪ :‬و د تطأ مطبعي يف الكتاب امل سي صفحة‬
‫ال الة قيمة اللغرمت الطبيعي و ليس اللغرمت العشري‪.‬‬
‫حيث خيتلف اللغرمت الطبيعي عن اللغرمت العشري‪ ,‬و ختتلف دالة احلصول‬
‫على اللغرمت الطبيعي عن دالة احلصول على اللغرمت العشري‪.‬‬
‫)‪Print Log(3‬‬ ‫مثال‪-:‬‬
‫و هي اللغرمت الطبيعي‬ ‫تعي هذب ال الة القيمة‬
‫للع د ‪.‬‬
‫)‪Print Log(60‬‬ ‫مثال‪-:‬‬
‫و هي اللغرمت الطبيعي‬ ‫تعي هذب ال الة القيمة‬
‫للع د ‪.‬‬

‫دالة جي‪ ,‬الزاوية )(‪Sin‬‬ ‫‪‬‬


‫تعي هذب ال الة قيمة جي‪ ,‬زاوية معينة‪.‬‬
‫)‪Print Sin(45‬‬ ‫مثال‪-:‬‬
‫و هي جي‪ ,‬الزاوية‬ ‫تعي هذب ال الة القيمة‬
‫‪.‬‬
‫)‪Print Sin(160‬‬ ‫مثال‪-:‬‬
‫و هي جي‪ ,‬الزاوية‬ ‫تعي هذب ال الة القيمة‬
‫‪.‬‬

‫دالة جي‪ ,‬متاب الزاوية )(‪Cos‬‬ ‫‪‬‬


‫تعي هذب ال الة قيمة جي‪ ,‬متاب زاوية معينة‪.‬‬
‫)‪Print Cos(30‬‬ ‫مثال‪-:‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫و هي جي‪ ,‬متاب‬ ‫تعي هذب ال الة القيمة‬


‫الزاوية ‪.‬‬
‫)‪Print Cos(45‬‬ ‫مثال‪-:‬‬
‫و هي جي‪ ,‬متاب‬ ‫تعي هذب ال الة القيمة‬
‫الزاوية ‪.‬‬

‫دالة ظ الزاوية )(‪Tan‬‬ ‫‪‬‬


‫زاوية معينة‪.‬‬ ‫تعي هذب ال الة قيمة ظ‬
‫)‪Print Tan(180‬‬ ‫مثال‪-:‬‬
‫و هي ظ الزاوية‬ ‫تعي هذب ال الة القيمة‬
‫‪.‬‬
‫)‪Print Tan(60‬‬ ‫مثال‪-:‬‬
‫و هي ظ الزاوية‬ ‫تعي هذب ال الة القيمة‬
‫‪.‬‬

‫ال وال احلرفية )‪(String Functions‬‬


‫تستل ب ال وال احلرفية للتعام مع البيانات من نوع السلسلة احلرفية )‪. (String‬‬
‫من اهم هذب ال وال‪-:‬‬
‫دالة طول السلسلة احلرفية)‪Len(S‬‬ ‫‪‬‬
‫تعي هذب ال الة طول(او ع د اخلانات املكونة) لنص او سلسلة‬
‫حرفية و تشم هذب اخلانات احلرو و األ قاب و الفراغات يف هذا‬
‫النص‪.‬‬
‫)"‪Print Len("Mohamed‬‬ ‫مثال‪-:‬‬
‫تعي هذب ال الة الرقم ‪ 7‬و هو طول النص (او السلسلة احلرفية)‬
‫امل ت و هو "‪."Mohamed‬‬
‫)"‪Print Len("Mohamed Ahmad‬‬ ‫مثال‪-:‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫‪,‬وهو‬ ‫و هو طول النص امل ت‬ ‫تعي هذب ال الة الرقم‬
‫"‪."Mohamed Ahmad‬‬
‫الحظ انه مت حساصة الفراغ صي الكلمتي ‪ Mohamed‬و ‪.Ahmad‬‬
‫فكلمة ‪ Mohamed‬تتكون من حرو ‪.‬‬
‫و كلمة ‪ Ahmad‬تتكون من حرو ‪.‬‬
‫و يوج فراغ واح صي الكلمتي‪.‬‬
‫صذلك يكون طول النص امل ت هو ‪. = + +‬‬
‫مثال‪-:‬‬
‫)"صسم ان"(‪Print Len‬‬
‫تعي هذب ال الة الرقم و هو طول النص امل ت ‪.‬‬
‫مثال‪-:‬‬
‫"(‪Print Len‬‬ ‫)"العاب‬
‫تعي هذب ال الة الرقم و هو طول النص امل ت ‪.‬‬
‫" و طول‬ ‫الحظ انه مت حساب طول كلمة "العاب" و طول الع د"‬
‫الفراغ صينهما‪.‬‬

‫)‪Trim(S‬‬ ‫‪ ‬دالة مسح املسافات من ص اية و نهاية النص‬


‫او‬ ‫تعي هذب ال الة قيمة نص (او سلسلة حرفية) معي صع حذ‬
‫إزالة املسافات او الفراغات من ص اية و نهاية النص‪.‬‬
‫مثال‪-:‬‬
‫)" ‪Print Trim(" Mohamed Ahmad‬‬
‫تعي هذب ال الة القيمة "‪ "Mohamed Ahmad‬و هي النص امل ت صع‬
‫حذ املسافات من ص اية و نهاية النص‪.‬‬
‫مثال‪-:‬‬
‫"(‪Print Trim‬‬ ‫)" العاب ال اسي‬
‫" و هي النص امل ت‬ ‫تعي هذب ال الة القيمة "العاب ال اسي‬
‫صع حذ املسافات من ص اية و نهاية النص‪.‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫)‪Ltrim(S‬‬ ‫‪ ‬دالة مسح املسافات من ص اية النص‬


‫او‬ ‫تعي هذب ال الة قيمة نص (او سلسلة حرفية) معي صع حذ‬
‫إزالة املسافات او الفراغات من ص اية النص‪.‬‬
‫مالحظة‪ :‬عن التعام مع النصوص العرصية جي‪ ,‬استل اب تاصية "من اليمي‬
‫ا اليسا " )‪ (Right To Left‬الداة التحكم املستل مة لعرمل النتيجة‪,‬‬
‫حتى يتم حذ الفراغ من ص اية النص ‪ ,‬و إال سيتم حذ الفراغ من يسا‬
‫النص العرصي و ليس من ص ايته‪.‬‬
‫مثال‪-:‬‬
‫‪Print ltrim(" Mohamed Ahmad‬‬ ‫)"‬
‫تعي هذب ال الة القيمة " ‪ "Mohamed Ahmad‬و هي النص امل ت صع‬
‫حذ املسافات من ص اية او من يسا النص‪.‬‬
‫مثال‪-:‬‬
‫"(‪Print ltrim‬‬ ‫)" العاب ال اسي‬
‫" و هي النص امل ت‬ ‫تعي هذب ال الة القيمة "العاب ال اسي‬
‫صع حذ املسافات من ص اية النص و ذلك عن استل اب تاصية "من‬
‫اليمن ا اليسا " )‪.(Right To Left‬‬

‫)‪Rtrim(S‬‬ ‫‪ ‬دالة مسح املسافات من نهاية النص‬


‫او‬ ‫تعي هذب ال الة قيمة نص (او سلسلة حرفية) معي صع حذ‬
‫إزالة املسافات او الفراغات من نهاية النص‪.‬‬
‫مالحظة‪ :‬عن التعام مع النصوص العرصية جي‪ ,‬استل اب تاصية "من اليمي‬
‫ا اليسا " )‪ .(Right To Left‬الداة التحكم املستل مة لعرمل النتيجة‪,‬‬
‫حتى يتم حذ الفراغ من نهاية النص ‪ ,‬و إال سيتم حذ الفراغ من ميي‬
‫النص العرصي و ليس من نهايته‪.‬‬
‫مثال‪-:‬‬
‫)" ‪Print Rtrim(" Mohamed Ahmad‬‬
‫صع‬ ‫تعي هذب ال الة القيمة "‪ " Mohamed Ahmad‬و هي النص امل ت‬
‫حذ املسافات من نهاية او من ميي النص‪.‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫مثال‪-:‬‬
‫"( ‪Print Rtrim‬‬ ‫)" العاب ال اسي‬
‫" و هي النص امل ت‬ ‫تعي هذب ال الة القيمة " العاب ال اسي‬
‫صع حذ املسافات من نهاية النص و ذلك عن استل اب تاصية‬
‫"من اليمن ا اليسا " )‪.(Right To Left‬‬

‫)‪Left(String,L‬‬ ‫‪ ‬دالة إعادة قيمة نصية من ص اية النص‬


‫تعي هذب ال الة قيمة نصية من ع د معي من اخلانات من ص اية‬
‫النص‪.‬‬
‫مثال‪-:‬‬
‫)‪Print Left ("Mohamed Ahmad", 3‬‬
‫تانات من النص‬ ‫تعي هذب ال الة القيمة "‪ "Moh‬و هي قيمة اول‬
‫امل ت ‪.‬‬
‫مثال‪-:‬‬
‫"( ‪Print Left‬‬ ‫) ‪ ",‬العاب ال اسي‬
‫تانات من النص‬ ‫تعي هذب ال الة القيمة "العاب" و هي قيمة اول‬
‫امل ت ‪.‬‬

‫)‪Right(String,L‬‬ ‫‪ ‬دالة إعادة قيمة نصية من نهاية النص‪.‬‬


‫تعي هذب ال الة قيمة نصية من ع د من معي من اخلانات من‬
‫نهاية النص‪.‬‬
‫مثال‪-:‬‬
‫)‪Print Right("Mohamed Ahmad", 3‬‬
‫تعي هذب ال الة القيمة "‪ "mad‬و هي قيمة اتر ‪ 3‬تانات من النص‬
‫امل ت ‪.‬‬

‫مثال‪-:‬‬
‫"( ‪Print Right‬‬ ‫) ‪ ",‬العاب ال اسي‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫" و هي قيمة اتر ‪ 4‬تانات من النص‬ ‫تعي هذب ال الة القيمة "‬
‫امل ت ‪.‬‬

‫)‪Mid(String,S,L‬‬ ‫‪ ‬دالة إعادة قيمة نصية من موضع معي من النص‪.‬‬


‫تعي هذب ال الة قيمة نصية من ع د معي من اخلانات من موضع‬
‫معي من النص‪.‬‬
‫مثال‪-:‬‬
‫)‪Print Mid("Mohamed Ahmad Mohamed", 8,5‬‬
‫تعي هذب ال الة القيمة "‪ "Ahmad‬و هي قيمة مخس تانات اصت اء من‬
‫اخلانة قم ‪.‬من النص امل ت ‪.‬‬
‫مثال‪-:‬‬
‫"( ‪Print Mid‬‬ ‫) ‪ ", ,‬العاب ال اسي‬
‫تعي هذب ال الة القيمة "ال اسي" و هي قيمة سبع تانات اصت اء من‬
‫اخلانة قم ‪.‬من النص امل ت ‪.‬‬

‫)(‪Chr‬‬ ‫‪ ‬دالة إعادة احلر املقاص للشفرة )‪.(ASCII‬‬


‫تع ي هذب ال الة قيمة احلر املقاص لشفرة )‪.(ASCII‬‬
‫و‬ ‫شفرة ‪ : Ascii‬هي شفرة تقوب صتحوي احلرو و اال قاب ا مز ع دي ينحصر صي‬
‫‪.‬‬
‫فمثال‪ :‬احلر ‪ A‬له الرمز ‪.‬‬
‫و احلر ‪ a‬له الرمز ‪.‬‬
‫وهكذا لباقي احلرو و اال قاب ‪.‬‬
‫*ج ول لشفرة االكسي‬
‫مثال‪-:‬‬
‫)‪Print Chr(65‬‬
‫‪.‬‬ ‫تعي هذب ال الة احلر ‪ A‬و هو احلر املقاص لشفرة ‪ASCII‬‬
‫مثال‪-:‬‬
‫)‪Print Chr(70‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫‪.‬‬ ‫املقاص لشفرة ‪ASCII‬‬ ‫تعي هذب ال الة احلر ‪ F‬و هو احلر‬

‫)(‪Str‬‬ ‫‪ ‬دالة وي القيمة الرقمية ا قيمة نصية‬


‫قيمة قمية ا قيمة نصة او سلسلة‬ ‫تقوب هذب ال الة صتحوي‬
‫حرفية(نضي )‪.‬‬
‫و تفي نا هذب ال الة عن التعام مع اال قاب ال ال نري اجراء عمليات‬
‫حساصية عليها ‪ ,‬و امنا نري معاملتها معاملة النصوص او السلسلة‬
‫احلرفية ‪ ,‬كا قاب اهلاتف مثال‪.‬‬
‫فإذا كان ل ينا قم هاتف ‪,‬و ا دنا إضافة مفتاح ال ولة هلذا الرقم ‪,‬‬
‫صالطبع لن نتعام مع قم اهلاتف صصيغته الرقمية ‪ ,‬و امنا سنقوب‬
‫صتحويله ا نص ثم نضيف املقطع اخلاص مبفتاح ال ولة‪.‬‬
‫مثال‪-:‬‬
‫اذا قمنا صطباعة الرقمي صالشك التالي‪-:‬‬
‫‪print 5+4‬‬
‫فسنحص على نتيجة مجع الع دين و و هو ‪.‬‬
‫النه يف هذب احلالة مت التعام مع الع دين يف صيغتهما الرقمية‪.‬‬
‫اذا استل منا ال الة )(‪ Str‬لتحوي الع دين من الصيغة الرقمية ا‬
‫الصيغة النصية هنا لن يتم تطبيق عملية اممع عليهما و امنا سيتم‬
‫معاملتهما كانهما متغريين نصيي و سيتم وصلهما او وضعهما جبان‪,‬‬
‫صعظهما البعض‪.‬‬
‫فلنعي كتاصة امر الطباعة يف هذب احلالة صالشك التالي‪-:‬‬
‫)‪Print Str(5)+Str(4‬‬
‫‪.‬‬ ‫يف هذب احلالة سنحص على القيمة النصية‬

‫مثال‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫‪,‬و ا دنا إضافة مفتاح ال ولة‬ ‫إذا كان ل ينا قم هاتف‬


‫هلذا الرقم ‪ ,‬سنجري ذلك صاستل اب دالة وي الرقم ا نص او نضي‬
‫كما يلي‪-:‬‬
‫)‪Print Str(218) + str(91123456‬‬
‫فسنحص على‬
‫‪218 91123456‬‬
‫و هذا ما نري ب يف هذا املثال‪.‬‬
‫صينما اذا مل نستل ب دالة التحوي ا نص و قمنا جبمع قم اهلاتف و مفتاح‬
‫ال ولة صالشك التالي‪-:‬‬
‫‪Print 218 + 91123456‬‬
‫فسنحص على‪-:‬‬

‫و هذا هو نات مجع قم اهلاتف مع مفتاح ال ولة ‪ ,‬و صالطبع فإن هذب‬
‫النتيجة ال نري ها هنا‪.‬‬

‫)‪Val(s‬‬ ‫‪ ‬دالة وي القيمة النصية ا قيمة قمية‬


‫تقوب هذب ال الة صتحوي قيمة نصية ا قيمة ع دية او قمية‪.‬‬
‫و تفي نا هذب ال الة عن التعام مع اال قاب ال نري اجراء عمليات‬
‫حساصية عليها ‪.‬‬
‫فإذا قمنا صاستل اب مرصعات النص إلدتال اال قاب ‪ ,‬سيعت صيسك املرئي‬
‫ان ما ن ت يف مرصع النص هو قيمة نصية و ليست ع دية ‪ ,‬و لذلك‬
‫ميكننا استل اب هذا ال الة لتحوي القيمة النصية امل تلة ع مرصع‬
‫النص ا قيمة ع دية ميكن اجراء العمليات احلساصية عليها‪.‬‬
‫مثال‪-:‬‬
‫اذا قمنا صاستل اب مرصعي نص إلدتال قمي ‪ ,‬و ادتلنا الرقم يف مرصع‬
‫النص االول ‪ ,‬و الرقم يف مرصع النص الثاني ‪ ,‬ثم قمنا صطباعة جمموعة‬
‫الرقمي صالشك التالي‪-:‬‬
‫‪print text1.text + text2.text‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫فسنحص على القيمة ‪.‬‬
‫النه يف هذب احلالة مت التعام مع الرقمي و كانهما قيم نصية ألننا‬
‫ادتلناهمايف مرصع النص ‪ ,‬و مرصع النص كما ذكرنا ساصقا يستل ب للتعام‬
‫مع النصوص‪.‬‬
‫يف هذب احلالة جي‪ ,‬علينا استل اب ال الة )(‪ Val‬لتحوي القيمة النصية‬
‫امل تلة يف مرصع النص ا قيمة ع دية ليتم التعام مع هذب القيمة‬
‫صإجراء العمليات احلساصية‪.‬‬
‫يف هذب احلالة ميكننا كتاصة امر الطباعة صالشك التالي‪-:‬‬
‫)‪print Val(text1.text) + Val(text2.text‬‬

‫دوال التا يخ و الوقت )‪(Date and time‬‬


‫تستل ب دوال التا يخ و الوقت إلعادة الصيغ امللتلفة للتا يخ او الوقت‪.‬‬
‫من اهم هذب ال وال‪-:‬‬
‫‪Now‬‬ ‫‪ ‬دالة إعادة التا يخ و الوقت احلالي‬
‫تعي هذب ال الة قيمة التا يخ و الوقت احلالي‪.‬‬
‫مثال‪-:‬‬
‫‪Print Now‬‬
‫تعي هذب ال الة ‪-:‬‬
‫‪17/1/2017 8:52:00 AM‬‬
‫و هي قيامة التا يخ و الوقت احلالي‪.‬‬

‫‪Date‬‬ ‫‪ ‬دالة إلعادة التا يخ احلالي فقط‪.‬‬


‫تعي هذب ال الة قيمة التا يخ و احلالي فقط‪.‬‬
‫مثال‪-:‬‬
‫‪Print Date‬‬
‫تعي هذب ال الة ‪-:‬‬
‫‪17/1/2017‬‬
‫و هي قيامة التا يخ احلالي‪.‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫‪Time‬‬ ‫‪ ‬دالة إعادة الوقت احلالي فقط‪.‬‬


‫تعي هذب ال الة قيمة الوقت احلالي فقط‪.‬‬
‫مثال‪-:‬‬
‫‪Print Time‬‬
‫تعي هذب ال الة ‪-:‬‬
‫‪8:52:00 AM‬‬
‫و هي قيامة الوقت احلالي‪.‬‬

‫‪DateValue‬‬ ‫‪ ‬دالة إعادة التا يخ من قيمة نصية‪.‬‬


‫تعي هذب ال الة قيمة التا يخ من قيمة نصية توي على التا يخ‪.‬‬
‫حيث ميكننا استل اب هذب ال الة لتحوي قيمة التا يخ امل ت يف مرصع‬
‫النص ا تا يخ‪.‬‬
‫و ميكننا ايض ًا استل اب هذب ال الة مع دالة ‪ now‬إلعادة التا يخ احلالي‪.‬‬
‫مثال‪-:‬‬
‫)"‪Print DataValue("17-1-2017‬‬
‫تعي هذب ال الة ‪-:‬‬
‫‪17/1/2017‬‬
‫و هي قيامة التا يخ املسج يف القيمة النصية امل تلة‪.‬‬
‫مثال‪-:‬‬
‫)‪Print DataValue(Text1.text‬‬
‫تعي هذب ال الة قيمة التا يخ امل تلة ا مرصع النص ‪.Text1‬‬
‫مثال‪-:‬‬
‫)‪Print DataValue(now‬‬
‫تعي هذب ال الة قيمة التا يخ احلالي‪.‬‬

‫‪TimeValue‬‬ ‫‪ ‬دالة إعادة الوقت من قيمة نصية‬


‫تعي هذب ال الة قيمة الوقت من قيمة نصية توي على الوقت‪.‬‬
‫حيث ميكننا استل اب هذب ال الة لتحوي الوقت امل ت يف مرصع النص‬
‫ا وقت‪.‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫و ميكننا ايض ًا استل اب هذب ال الة مع دالة ‪ now‬إلعادة الوقت احلالي‪.‬‬
‫مثال‪-:‬‬
‫)"‪Print TimeValue("8:52‬‬
‫تعي هذب ال الة ‪-:‬‬
‫‪8:52:00 AM‬‬
‫و هي قيامة الوقت املسج يف القيمة النصية امل تلة‪.‬‬
‫مثال‪-:‬‬
‫)‪Print TimeValue(Text1.text‬‬
‫تعي هذب ال الة قيمة الوقت امل تلة ا مرصع النص ‪.Text1‬‬
‫مثال‪-:‬‬
‫)‪Print TimeValue(now‬‬
‫تعي هذب ال الة قيمة الوقت احلالي‪.‬‬

‫‪Year‬‬ ‫‪ ‬دالة إعادة السنة من قيمة توي على تا يخ‪.‬‬


‫تعي هذب ال الة قيمة السنة من قيمة توي على تا يخ‪.‬‬
‫و ميكننا ايض ًا استل اب هذب ال الة مع دالة ‪ now‬إلعادة السنة احلالي‪.‬‬
‫مثال‪-:‬‬
‫)‪Print Year(#30/5/2010#‬‬
‫تعي هذب ال الة ‪-:‬‬
‫‪2010‬‬
‫و هي قيامة السنة املسج يف القيمة النصية امل تلة‪.‬‬
‫مثال‪-:‬‬
‫)‪Print Year(now‬‬
‫تعي هذب ال الة قيمة السنة احلالية‪.‬‬

‫‪Month‬‬ ‫‪ ‬دالة إعادة الشهر من قيمة توي على تا يخ‪.‬‬


‫تعي هذب ال الة قيمة الشهر من قيمة توي على تا يخ‪.‬‬
‫و ميكننا ايض ًا استل اب هذب ال الة مع دالة ‪ now‬إلعادة السنة احلالي‪.‬‬
‫مثال‪-:‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬
‫)‪Print Month(#30/5/2010#‬‬
‫تعي هذب ال الة ‪-:‬‬
‫‪5‬‬
‫و هي قيامة الشهر املسج يف القيمة النصية امل تلة‪.‬‬
‫مثال‪-:‬‬
‫)‪Print Month(now‬‬
‫تعي هذب ال الة قيمة الشهر احلالية‪.‬‬

‫‪Day‬‬ ‫‪ ‬دالة إعادة اليوب من قيمة توي على تا يخ‪.‬‬


‫تعي هذب ال الة قيمة اليوب من قيمة توي على تا يخ‪.‬‬
‫و ميكننا ايض ًا استل اب هذب ال الة مع دالة ‪ now‬إلعادة اليوب احلالي‪.‬‬
‫مثال‪-:‬‬
‫)‪Print Day(#30/5/2010#‬‬
‫تعي هذب ال الة ‪-:‬‬
‫‪30‬‬
‫و هي قيامة اليوب املسج يف القيمة النصية امل تلة‪.‬‬
‫مثال‪-:‬‬
‫)‪Print Day(now‬‬
‫تعي هذب ال الة قيمة اليوب احلالي‪.‬‬

‫‪Weekday‬‬ ‫‪ ‬دالة إعادة قم اليوب من اياب االسبوع‪.‬‬


‫تعي هذب ال الة قم ي ل على نياب األسبوع من قيمة توي على تا يخ‪.‬‬
‫يف الوضع اإلفرتاضي تعي هذب ال الة الرقم لي ل على يوب االح ‪,‬و‬
‫الرقم لي ل على يوب االثني ‪,‬و هكذا حتى تص للرقم الذي ي ل على‬
‫يوب السبت‪.‬‬
‫و ميكننا استل اب هذب ال الة مع دالة ‪ now‬إلعادة قم اليوب احلالي‪.‬‬
‫مثال‪-:‬‬
‫)‪Print Weekday(#30/5/2010#‬‬
‫تعي هذب ال الة ‪-:‬‬
‫‪1‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫و هي ت ل على يوب االح املوافق للتا يخ ملسج يف القيمة النصية‪.‬‬
‫مثال‪-:‬‬
‫)‪Print Weekday (now‬‬
‫تعي هذب ال الة قيمة ع دية ت ل على اليوب احلالي‪.‬‬

‫)"‪Format(date,"format‬‬ ‫‪ ‬دالة تنسيق شك التا يخ‬


‫تستل ب هذب ال الة لتنسيق التا يخ صالشك الذي نري ‪.‬‬
‫حيث ميكننا اتتيا ترتي‪ ,‬تانات التا يخ اليوب و الشهر و السنة و‬
‫العالمات الفاصلة صي اخلانات‪ ,‬و حجم ك تانة ‪ ,‬ه يتم عرمل اليوب‬
‫يف تانتي حتى وان كان اليوب حيتوي على تانة واح ة ‪ ,‬او يتم عرمل‬
‫السنة يف تانتي ص ل من ا صع تانات ‪ ..‬ا اتر هذب التنسيقات‪.‬‬
‫و ميكننا استل اب احلرو التالية مع هذب ال الة التتيا التنسيق الذي‬
‫نري ‪ : d -:‬لالياب ‪ :m ,‬لالشهر ‪ : y ,‬للسني‪.‬‬
‫مثال‪-:‬‬
‫)"‪Print Format(Now, "DD-MM-YYYY‬‬
‫تعي هذب ال الة قيمة التا يخ احلالي صالتنسيق الذي اترتناب و هو‬
‫كالتالي‪-:‬‬
‫‪17-01-2017‬‬
‫مثال‪-:‬‬
‫)"‪Print Format(#21/6/2014#, "MMMM DD YYYY‬‬
‫صالتنسيق الذي اترتناب و هو‬ ‫تعي هذب ال الة قيمة التا يخ امل ت‬
‫كالتالي‪-:‬‬
‫‪June 21 2014‬‬
‫الحظ اننا اترتنا عرمل الشهر اوال يف شك اسم الشهر و مل حن د فواص‬
‫صي تانات التا يخ‪.‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫متارين الكتاب املدرسي‬


‫) ملاذا يتم استل اب ال ام الفرعية؟‬
‫يتم استل اب ال ام الفرعية لتسهي إنشاء املشروع او ال نام الكبري و لتفادي تكرا كتاصة‬
‫الشفرات ال جمية ‪ ,‬حيث يتم تقسيم ال نام الكبري ا جمموعة من االجزاء ك جزء ينجز‬
‫وظيفة معينة ‪,‬و صالتالي يصبح املشروع عبا ة عن جمموعة من ال ام الفرعية ميكن‬
‫است عاؤها وقت احلاجة‪.‬‬

‫) ما الفرق صي ال الة و ال نام الفرعي؟‬


‫توج ع ة فروق صي ال الة و ال نام الفرعي ‪ ,‬منها‪-:‬‬
‫‪ ‬يف ال ام الفرعية تكون القيمة املعادة من ال نام يف معامالته ‪ ,‬صينما يف ال وال‬
‫تكون القيمة املعادة من ال الة يف امسها ‪.‬‬
‫‪ ‬ال ام الفرعية تعي قيمة واح ة او اكثر ‪ ,‬صينما ال وال تعي قيمة واح ة فقط ‪.‬‬
‫‪ ‬تب ن ال ام الفرعية صـ )‪ (Sub‬او )‪ (Private Sub‬او )‪ , (Public Sub‬صينما تب ن ال وال صـ‬
‫)‪ (Function‬او )‪ (Private Function‬او )‪ (Public Function‬و تنتهي ال ام الفرعية صـ‬
‫)‪ (End Sub‬صينما تنتهي ال وال صـ )‪. (End Function‬‬
‫‪ ‬يف اإلجراء الفرعي يتم اإلعالن عن القيم املعادة و نوعها ضمن املعامالت اخلاصة‬
‫صال نام الفرعي ‪ ,‬صينما يف ال وال جي‪ ,‬ان تذكر نوع القيمة املعادة من ال الة يف مجلة‬
‫اإلعالن عن ال الة‪.‬‬

‫) ما الفرق صي ال الة )‪ (Now‬و ال الة )‪(Time‬؟‬


‫‪ ‬تقوب ال الة )‪ (Now‬صعرمل التا يخ و الوقت احلالي‪.‬‬
‫‪ ‬صينما تقوب ال الة )‪ (Time‬صعرمل الوقت احلالي فقط‪.‬‬

‫) ما الفرق صي ال وال اماهزة و ال وال املكتوصة من قب املستل ب‪.‬‬


‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫ال وال اماهزة هي دوال تأتي مع لغة ال جمة و ميكن است عاؤها ص ون كتاصة‬ ‫‪‬‬
‫صراجمها او الشفرة ال جمية اخلاصة صها‪.‬‬
‫صينما ال وال املكتوصة من قب املستل ب جي‪ ,‬كتاصة الشفرة اخلاصة صها قب‬ ‫‪‬‬
‫است عاؤها‪.‬‬

‫الرقم‬ ‫) اكت‪ ,‬صرناجماً يطل‪ ,‬إدتال قم ع دي صحيح و من ثم يقوب صطباعة ثالثة اضعا‬
‫امل ت ‪ ,‬القيمة املعروضة جي‪ ,‬ان تتم تالل صرنام فرعي امسه )‪.(Triple‬‬
‫الشرح‪-:‬‬
‫يف هذا التمرين‪-:‬‬
‫‪ ‬سنقوب صاستل اب "ز امر" )‪ (Command Button‬و ال الة )(‪ InputBox‬لتطل‪ ,‬من‬
‫املستل ب ادتال ع د صحيح‪.‬‬
‫‪ ‬ثم نقوب صكتاصة صرنام فرعي يستقب هذا الع د و يضاعفه ثالث مرات ‪ ,‬ثم‬
‫يطبع النات ‪.‬‬
‫و سنب ن صكتاصة ال نام الفرعي‪.‬‬
‫كتاصة ال نام الفرعي‬
‫‪ ‬نقوب صفتح نافذة "كتاصة الشفرة ال جمية"‪ ,‬و نكت‪ ,‬صرنام فرعي نسميه‬
‫)‪.(Triple‬‬
‫)(‪Private Sub Triple‬‬
‫‪End sub‬‬
‫نقوب صاإلعالن عن متغري واح هلذا ال نام الفرعي يف مجلة اإلعالن عن ال نام‬ ‫‪‬‬
‫من النوع الع دي الصحيح )‪ (Integer‬و نسميه )‪.(Number‬‬
‫‪Number as Integer‬‬
‫لتكون مجيلة اإلعالن عن ال نام صالشك التالي‪-:‬‬
‫)‪Private Sub Triple(Number as Integer‬‬
‫‪End sub‬‬
‫صـ‪-:‬‬ ‫يقوب هذا ال نام‬
‫استقبال قيمة ع دية واح ة يف املتغري )‪.(Number‬‬ ‫‪‬‬
‫مضاعفة هذب القيمة ثالث مرات صضرصها يف ‪.‬‬ ‫‪‬‬
‫طباعة هذب القيمة‪.‬‬ ‫‪‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫فنكت‪ ,‬مجلة طباعة الع د صع ضرصه يف صالشك التالي‪-:‬‬ ‫‪‬‬


‫)‪Private Sub Triple(Number as Integer‬‬
‫‪Print Number*3‬‬
‫‪End sub‬‬
‫إضافة "ز امر" )‪ (Command Button‬للنموذج‬
‫‪ ‬نقوب صإضافة "ز امر" )‪ (Command Button‬ا النموذج‪ .‬و نقوب صتغيري النص الظاهر‬
‫على الز صاستل اب اخلاصية ‪ Caption‬و جنعله "ادت ع د"‪.‬‬
‫‪ ‬نقوب صاإلعالن عن متغري واح من النوع الع دي الصحيح )‪ (Integer‬ليستقب‬
‫القيمة امل تلة من املستل ب ‪ ,‬و نسميه )‪ , (UserNumber‬و نكت‪ ,‬مجلة‬
‫اإلعالن صي سطري ص اية و نهاية االجراء اخلاص صاحل ث "النقر" )‪ (Click‬على ز‬
‫االمر )‪. (Command Button‬‬
‫‪Dim UserNumber As Integer‬‬
‫نستل ب دالة االدتال )(‪ InputBox‬لتطل‪ ,‬من املستل ب ادتال ع د‪ ,‬و نقوب‬ ‫‪‬‬
‫صتلزين هذا الع د يف املتغري )‪.(UserNumber‬‬
‫))"ادت ع د صحيح"(‪UserNumber = Val(InputBox‬‬
‫الحظ اننا استل منا ال الة )(‪ Val‬لتحوي القيمة امل تلة ل الة )(‪ inputBox‬ا‬
‫قيمة ع دية‪.‬‬
‫و نالحظ هنا ان املتغري من النوع الع دي الصحيح )‪ (Integer‬ال يسمح صوجود‬
‫عالمة عشرية ‪ ,‬لذلك إذا قاب املستل ب صإدتال ع د عشري فسيتم تقري‪,‬‬
‫الع د ا اقرب ع د صحيح‪,‬و هذا ما نري ب يف هذا التمرين‪.‬‬
‫ثم نقوب صاست عاء ال نام الفرعي )‪ (Triple‬صاستل اب كلمة االست عاء )‪ (Call‬و منر‬ ‫‪‬‬
‫الع د الذي ادتله املستل ب ا هذا ال نام الفرعي‪.‬‬
‫)‪Call Triple(UserNumber‬‬
‫ليصبح شك الشفرة ال جمية صالكام كالتالي‪-:‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪Dim UserNumber As Integer‬‬
‫))"ادت ع د صحيح"(‪UserNumber = Val(InputBox‬‬
‫)‪Call Triple(UserNumber‬‬
‫‪End Sub‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫)‪Private Sub Triple(Number as Integer‬‬
‫‪Print Number*3‬‬
‫‪End Sub‬‬

‫) اكت‪ ,‬صرناجماً يستقب ثالث قيم ع دية صحيحة ‪ ,‬و من ثم يست عي دالة وظيفية‬
‫)‪ (Function‬تعي مع ل القيم الثالثة امل تلة‪.‬‬
‫الشرح‪-:‬‬
‫يف هذا التمرين‪-:‬‬
‫‪ ‬سنقوب صاستل اب "ز امر" )‪ (Command Button‬و ال الة )(‪ InputBox‬لتطل‪ ,‬من‬
‫املستل ب ادتال ثالث قيم ع دية صحيحة‪.‬‬
‫‪ ‬ثم نقوب صكتاصة دالة وظيفية تستقب هذب االع اد الثالثة و تعي قيمة‬
‫املع ل او املتوسط احلساصي هلذب االع اد‪.‬‬
‫و سنب ن صكتاصة ال الة الوظيفية‪.‬‬
‫كتاصة ال الة الوظيفية‬
‫‪ ‬نقوب صفتح نافذة "كتاصة الشفرة ال جمية"‪ ,‬و نكت‪ ,‬دالة نسميها )‪.(Average‬‬

‫)( ‪Private Function Average‬‬


‫‪End Function‬‬

‫نقوب صاإلعالن عن ثالث متغريات هلذب ال الة من النوع الع دي الصحيح‬ ‫‪‬‬
‫)‪ (Integer‬يف مجلة اإلعالن عن ال الة و نسمي هذب املتغريات )‪ (N1,N2,N3‬و‬
‫نفص صي مج اإلعالن صفاصلة ‪ ,‬صالشك التالي‪-:‬‬
‫‪N1 as Integer, N2 as Integer, N3 as Integer‬‬
‫لتكون مجيلة اإلعالن عن ال الة صالشك التالي‪-:‬‬

‫)‪Private Function Average (N1 as Integer, N2 as Integer, N3 as Integer‬‬


‫‪End Function‬‬

‫كما نقوب صاالعالن عن نوع القيمة املعادة من ال الة‪.‬‬ ‫‪‬‬


‫الفص السادس‬ ‫سلسلة احلكمة‬

‫و مبا ان هذب ال الة ستعي قيمة ق توي على قم عشري ‪ ,‬لذلك حن د نوع‬
‫القيمة املعادة من هذب ال الة من النوع الع دي احلقيقي )‪ (Single‬او النوع‬
‫الع دي املضاعف )‪.(Duble‬‬

‫‪Private Function Average (N1 as Integer, N2 as Integer, N3 as Integer)as Single‬‬


‫‪End Function‬‬
‫هذا و نالحظ انه اذا مل نذكر نوع املتغريات يف مجلة اإلعالن عن ال الة ‪ ,‬او‬
‫ذكرنا نوع اح املتغريات فقط ‪ ,‬فستكون هذب املتغريات ال مل حن د نوعها من‬
‫النوع املرن‪.‬‬
‫فمثال اذا كتبنا مجلة اإلعالن عن ال الة صالشك التالي‪-:‬‬
‫‪Private Function Average (N1, N2, N3 as Integer)as Single‬‬
‫‪End Function‬‬
‫فستكون املتغريات ‪ N1‬و ‪ N2‬من النوع املرن ‪ ,‬و املتغري ‪ N3‬من النوع الع دي‬
‫الصحيح‪.‬‬
‫لذلك جي‪ ,‬ذكر نوع ك متغري على ح ة صالشك التالي‪-:‬‬
‫‪Private Function Average (N1 as Integer, N2 as Integer, N3 as Integer)as Single‬‬
‫‪End Function‬‬

‫‪ ‬ثم نكت‪ ,‬شفرة صرجمية تقوب حبساب املع ل او املتوسط احلساصي لثالث اع اد‪,‬‬
‫و حفظ املتوسط يف اسم ال الة )‪.(Average‬‬
‫حيث ان املتوسط احلساصي يساوي جمموع االع اد قسمة ع دها ‪.‬‬

‫‪Private Function Average (N1 as Integer, N2 as Integer, N3 as Integer)as Single‬‬


‫‪Average = (N1+N2+N3) / 3‬‬
‫‪End Function‬‬

‫إضافة "ز امر" )‪ (Command Button‬للنموذج‬


‫‪ ‬نقوب صإضافة "ز امر" )‪ (Command Button‬ا النموذج‪ .‬و نقوب صتغيري النص الظاهر‬
‫على الز صاستل اب اخلاصية ‪ Caption‬و جنعله "ادت ثالث اع اد"‪.‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫نقوب صاإلعالن عن ثالت متغرات من النوع الع دي لتستقب القيم الثالثة‬ ‫‪‬‬
‫امل تلة من املستل ب‪ ,‬ونسمي هذب املتغريات )‪, (UserN1, UserN2 ,UserN3‬و‬
‫نكت‪ ,‬مجلة اإلعالن صي سطري ص اية و نهاية االجراء اخلاص صاحل ث "النقر"‬
‫)‪ (Click‬على "ز االمر" )‪. (Command Button‬‬
‫‪Dim UserN1 As Integer‬‬
‫‪Dim UserN2 As Integer‬‬
‫‪Dim UserN3 As Integer‬‬

‫نستل ب دالة االدتال )(‪ InputBox‬لتطل‪ ,‬من املستل ب ادتال االع اد الثالثة‪ ,‬و‬ ‫‪‬‬
‫نقوب صتلزين هذب االع اد يف املتغريات الساصقة‪.‬‬
‫))"ادت ع د صحيح"(‪UserN1 = Val(InputBox‬‬
‫))"ادت ع د صحيح"(‪UserN2 = Val(InputBox‬‬
‫))"ادت ع د صحيح"(‪UserN3 = Val(InputBox‬‬

‫الحظ اننا استل منا ال الة )(‪ Val‬لتحوي القيمة امل تلة ل الة )(‪ inputBox‬ا‬
‫ع د صحيح يف حالة قاب املستل ب صإدتال ع د عشري‪.‬‬

‫ادتلها املستل ب ‪ ,‬و‬ ‫ثم نقوب صاست عاء ال ال )(‪ Average‬و منر إليها االع اد ال‬ ‫‪‬‬
‫نقوب صطباعة القيمة املعادة من هذب ال الة‪.‬‬

‫)‪Print Average (UserN1, UserN2, UserN3‬‬

‫ليصبح شك الشفرة ال جمية صالكام كالتالي‪-:‬‬


‫)(‪Private Sub Command1_Click‬‬
‫‪Dim UserN1 As Integer‬‬
‫‪Dim UserN2 As Integer‬‬
‫‪Dim UserN3 As Integer‬‬
‫))"ادت ع د صحيح"(‪UserN1 = Val(InputBox‬‬
‫))"ادت ع د صحيح"(‪UserN2 = Val(InputBox‬‬
‫))"ادت ع د صحيح"(‪UserN3 = Val(InputBox‬‬
‫)‪Print Average (UserN1, UserN2, UserN3‬‬
‫‪End Sub‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬
‫‪Private Function Average (N1 as Integer, N2 as Integer, N3 as Integer)as Single‬‬
‫‪Average = (N1+N2+N3) / 3‬‬
‫‪End Function‬‬

‫) اكت‪ ,‬صرناجم ًا صاستل اب ال وال الرياضية اماهزة لطباعة األتي‪-:‬‬


‫‪ ‬امذ الرتصيعي للرقم ( )‪.‬‬
‫‪ ‬القيمة املطلقة للرقم (‪.) -‬‬
‫‪ ‬جي‪ ,‬الزاوية ( )‪.‬‬
‫‪ ‬اللوغا يتم للع د ( )‪.‬‬

‫الشرح‪-:‬‬
‫نقوب صإضافة ا صع از ا امر )‪ (Command Button‬ا النموذج‪ ,‬و نقوب صتغيري النص‬ ‫‪‬‬
‫الظاهر على ك ز صاستل اب اخلاصية ‪ Caption‬صالشك التالي‪-:‬‬
‫قيمة اخلاصية ‪Caption‬‬ ‫ز االمر‬
‫امز الرتصيعي للع د‬ ‫‪Command1‬‬
‫د ‪-12‬‬ ‫القيمة املطلبة للع‬ ‫‪Command2‬‬
‫جي‪ ,‬الزاوية‬ ‫‪Command3‬‬
‫اللوغا يتم الطبيعي لع د‬ ‫‪Command4‬‬

‫يف ز االمر األول نكت‪ ,‬شفرة صرجمية تقوب حبساب امذ الرتصيعي للع د‬ ‫‪‬‬
‫صالشك التالي‪-:‬‬
‫()‪Private Sub Command1_Click‬‬
‫)‪Print Sqr(25‬‬
‫‪End Sub‬‬

‫يف ز االمر الثاني نكت‪ ,‬شفرة صرجمية تقوب حبساب القيمة املطلقة للع د )‪(-12‬‬ ‫‪‬‬
‫صالشك التالي‪-:‬‬
‫()‪Private Sub Command2_Click‬‬
‫)‪Print Abs(-12‬‬
‫‪End Sub‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫صالشك‬ ‫يف ز االمر الثالث نكت‪ ,‬شفرة صرجمية تقوب حبساب جي‪ ,‬الزاوية‬ ‫‪‬‬
‫التالي‪-:‬‬
‫()‪Private Sub Command3_Click‬‬
‫)‪Print Sin(60‬‬
‫‪End Sub‬‬
‫يف ز االمر الراصع نكت‪ ,‬شفرة صرجمية تقوب حبساب اللوغا يتم لطبيعي للع د‬ ‫‪‬‬
‫صالشك التالي‪-:‬‬
‫()‪Private Sub Command4_Click‬‬
‫)‪Print Log(30‬‬
‫‪End Sub‬‬

‫و‬ ‫) اكت‪ ,‬صرناجماً صاستل اب ال وال احلرفية يتم من تالله إدتال مجلة ال تق عن ( ) حرو‬
‫طباعة التالي‪-:‬‬
‫‪ ‬طول امملة‪.‬‬
‫‪ ‬حذ املسافات الفا غة من امملة‪.‬‬
‫‪ ‬طباعة االحر الثالثة االو ‪.‬‬
‫‪ ‬طباعة الثالثة احر االترية‪.‬‬
‫‪ ‬طباعة الثالثة احر يف املنتصف‪.‬‬
‫الشرح‪-:‬‬
‫‪ ‬نقوب صإضافة ست از ا امر )‪ (Command Buttons‬ا النموذج‪ ,‬و نقوب صتغيري النص‬
‫الظاهر على ك ز صاستل اب اخلاصية ‪ Caption‬صالشك التالي‪-:‬‬
‫قيمة اخلاصية ‪Caption‬‬ ‫ز االمر‬
‫ادت امملة‬ ‫‪Command1‬‬
‫حذ املسافات‬ ‫‪Command2‬‬
‫طول امملة‬ ‫‪Command3‬‬
‫االحر الثالث األو‬ ‫‪Command4‬‬
‫االحر الثالث األترية‬ ‫‪Command5‬‬
‫االحر الثالث من املنتصف‬ ‫‪Command6‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫نقوب صفتح نافذة كتاصة الشفرة ال جمية و نكت‪ ,‬مجلة اإلعالن عن متغري صاسم‬ ‫‪‬‬
‫(‪ )Sentence‬من النوع احلريف ليحم هذا املتغري امملة ال سي تلها املستل ب‪-:‬‬
‫‪Dim Sentence As String‬‬
‫يف ز االمر األول نكت‪ ,‬شفرة صرجمية تطل‪ ,‬من املستل ب ادتال مجلة ال تق‬ ‫‪‬‬
‫عن حرو و ذلك صاستل اب ال الة )(‪ InputBox‬و خنزن هذب امملة يف املتغري‬
‫)‪ (Sentence‬صالشك التالي‪-:‬‬
‫()‪Private Sub Command1_Click‬‬
‫)"ادت مجلة ال تق عن حرو "(‪Sentence = InputBox‬‬
‫‪End Sub‬‬

‫يف ز االمر الثاني نكت‪ ,‬شفرة صرجمية تقوب صطباعة طول امملة امل تلة يف‬ ‫‪‬‬
‫املتغري ‪ Sentence‬و ذلك صاستل ب ال الة )(‪ Len‬صالشك التالي‪-:‬‬
‫()‪Private Sub Command2_Click‬‬
‫)‪Print Len(Sentence‬‬
‫‪End Sub‬‬

‫يف ز االمر الثالث نكت‪ ,‬شفرة صرجمية تقوب صطباعة امملة امل تلة صع حذ‬ ‫‪‬‬
‫الفراغات من ص اية و نهاية امملة و ذلك صاستل ب ال الة )(‪ Trim‬صالشك‬
‫التالي‪-:‬‬
‫()‪Private Sub Command3_Click‬‬
‫)‪Print Trim(Sentence‬‬
‫‪End Sub‬‬

‫مالحظة‬
‫فلنقم صتع ي السؤال قليال ليصبح (حذ املسافات الفا غة من ص اية و‬
‫نهاية امملة) حتى تكون االجاصة وفقاً للمنه املقر ‪ ,‬حيث ان (حذ‬
‫املسافات الفا غة من امملة) ني حذ املسافات من ص اية و وسط و نهاية‬
‫امملة تا ج املنه املقر ‪.‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫من ص اية‬ ‫يف ز االمر الراصع نكت‪ ,‬شفرة صرجمية تقوب صطباعة اول ثالث حرو‬ ‫‪‬‬
‫امملة و ذلك صاستل ب ال الة )(‪ Left‬صالشك التالي‪-:‬‬
‫()‪Private Sub Command4_Click‬‬
‫)‪Print Left(Sentence,3‬‬
‫‪End Sub‬‬

‫من‬ ‫يف ز االمر اخلامس نكت‪ ,‬شفرة صرجمية تقوب صطباعة اتر ثالث حرو‬ ‫‪‬‬
‫نهاية امملة و ذلك صاستل ب ال الة )(‪ Right‬صالشك التالي‪-:‬‬
‫()‪Private Sub Command5_Click‬‬
‫)‪Print Right(Sentence,3‬‬
‫‪End Sub‬‬

‫يف ز االمر السادس نكت‪ ,‬شفرة صرجمية تقوب صطباعة ثالث احر من‬ ‫‪‬‬
‫املنتصف‪ ,‬و ذلك صاستل ب ال الة )(‪ Mid‬و ذلك صفرمل ان امملة تتكون من‬
‫او احر ‪ ,‬صالشك التالي‪-:‬‬
‫()‪Private Sub Command6_Click‬‬
‫)‪Print Mid(Sentence,3,3‬‬
‫‪End Sub‬‬

‫مالحظة‬
‫لتبسيط ح السؤال فرضنا ان امملة طوهلا او احر فقط‪.‬‬
‫يف الواقع ينص السؤال على ان امملة ال تق عن حرو ‪ ,‬فق تتكون من‬
‫حرو او اكثر من هذا ‪ ,‬لذلك فإن ع د حرو امملة غري حم د و صالتالي جي‪,‬‬
‫علينا اجراء معادلة لتعيي منتصف هذب امملة ‪ ,‬ثم احلصول على ثالث حرو من‬
‫املنتصف صاستل اب ال الة )(‪.Mid‬‬
‫تقوب ال الة ال الة )(‪ Mid‬صاستلراج او إعادة سلسلة حرفية جزئية مكونة من‬
‫ع د حم د من احلرو مأتوذة من السلسلة احلرفية‪.‬‬
‫و الستل اب ستل اب هذب ال الة جي‪ ,‬علينا‪-:‬‬
‫ي السلسلة احلرفية‪.‬‬ ‫‪‬‬
‫الفص السادس‬ ‫سلسلة احلكمة‬

‫ي نقطة ص اية او موقع احلرو ال نري اعادتها‪:‬‬ ‫‪‬‬


‫و ي ع د هذب احلرو ال نري إعادتها‪.‬‬ ‫‪‬‬

‫تقع يف‬ ‫الثالثة ال‬ ‫فمثال اذا كانت امملة توي على سبعة حرو ‪ ,‬فاحلرو‬
‫منتصف امملة هي احلرو يف املوقع (الثالث‪ ,‬الراصع‪ ,‬اخلامس)‪.‬‬

‫ثالث حرو من املنتصف‬


‫و نقطة ص اية مواقع هذب احلرو هي ‪.‬‬
‫ني ستب ن السلسلة احلرفية امزئية من املوقع ‪.‬‬
‫يف هذب احلالة لطباعة هذب احلرو صاستل اب ال الة )(‪ Mid‬سنكت‪ ,‬الشفرة‬
‫التالية‪-:‬‬
‫)‪Print Mid(Sentence, 3, 3‬‬

‫و اذا كانت امملة توي على تسع حرو ‪ ,‬فاحلرو الثالثة ال تقع يف منتصف‬
‫امملة هي احلرو يف املوقع (الراصع‪ ,‬اخلامس‪ ,‬السادس)‪.‬‬

‫ثالث حرو من املنتصف‬


‫و نقطة ص اية مواقع هذب احلرو هي ‪.‬‬
‫ني ستب ن السلسلة احلرفية امزئية من املوقع ‪.‬‬
‫يف هذب احلالة لطباعة هذب احلرو صاستل اب ال الة )(‪ Mid‬سنكت‪ ,‬الشفرة‬
‫التالية‪-:‬‬
‫)‪Print Mid(Sentence,4 , 3‬‬

‫‪ ,‬فستلتلف شفرة استلراج‬ ‫و إذا كانت امملة توي على ع د اتر من احلرو‬
‫ثالث حرو من املنتصف‪.‬‬

‫عن ع ب ي طول امملة سنحتاج الجراء عملية حساصية لتح ي ثالث حرو‬
‫من منتصف امملة ‪ ,‬و ي ص اية موقع هذب احلرو ‪.‬‬
‫ملعرفة طول امملة نستل ب دالة )(‪ Len‬ال تع ي قيمة طول امملة‪.‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫)‪Len(Sentence‬‬

‫ثم نطرح قيمة ع د احلرو ال نري استلراجها من امملة من الطول االمجالي‬


‫للجملة ‪,‬و هي يف مثالنا هذا حرو ‪.‬‬
‫‪Len(sentence)-3‬‬
‫ثم نقسم القيمة الباقي على ‪.‬‬

‫‪(Len(sentence)-3)/2‬‬

‫صلنا عليها لنح د قم املوقع الذي ستب ن عن ب‬ ‫ثم نضيف ا القيمة ال‬
‫احلرو الثالثة ال نري ‪.‬‬
‫‪((Len(Sentence) - 3) / 2) + 1‬‬
‫الذي ميث ص اية السلسلة احلرفية‬ ‫صلنا على قم موقع احلر‬ ‫صهذب نكون ق‬
‫ال نري ‪.‬‬
‫فنقوب صتلزين هذب القيمة يف متغري من النوع احلريف )‪.(StartPoint‬‬

‫‪StartPoint = ((Len(Sentence) - 3) / 2) + 1‬‬

‫الثالث من املنتصف و طباعه هذب‬ ‫ثم نستل ب ال الة )(‪ Mid‬الستلراج احلرو‬
‫االحر صامر الطباعة ‪. Print‬‬
‫)‪Print Mid(Sentence, StartPoint, 3‬‬
‫مالحظة‬
‫اذا مت تع ي صيغة السؤال لينص على ان تكون امملة صطول حم د و هو او‬
‫حرو ‪ ,‬تكون احلرو الثالثة ال يف املنتصف هي احلرو يف املوقع ( الثالث‪,‬‬
‫الراصع ‪ ,‬اخلامس)‪.‬‬

‫ثالث حرو من املنتصف‬

‫ثالث حرو من املنتصف‬


‫الفص السادس‬ ‫سلسلة احلكمة‬

‫و يكون ص اية السلسلة احلرفية امزئية ‪ ,‬و صالتالي ميكن كتاصة ال نام كما‬
‫يلي‪-:‬‬
‫)(‪Private Sub Command6_Click‬‬
‫)‪Print Mid(Sentence, 3, 3‬‬
‫‪End Sub‬‬

‫دون احلاجة الستل اب العملية احلساصية الساصقة ملعرفة قم ص اية السلسلة‬


‫احلرفية ‪ ,‬و ذلك الن طول السلسلة احلرفية معرو و حم د و هو او‬
‫حرو ‪.‬‬

‫) اكت‪ ,‬صرناجماً صاستل اب دوال التا يخ لطباعة التالي‪-:‬‬


‫‪ ‬اليوب‪.‬‬
‫‪ ‬الشهر‪.‬‬
‫‪ ‬السنة‪.‬‬
‫الشرح‪:‬‬
‫‪ ‬نقوب صإضافة ثالث از ا امر )‪ (Command Button‬ا النموذج‪ ,‬و نقوب صتغيري النص‬
‫الظاهر على ك ز صاستل اب اخلاصية ‪ Caption‬صالشك التالي‪-:‬‬
‫قيمة اخلاصية ‪Caption‬‬ ‫ز االمر‬
‫اليوب‬ ‫‪Command1‬‬
‫الشهر‬ ‫‪Command2‬‬
‫السنة‬ ‫‪Command3‬‬

‫يف ز االمر األول نكت‪ ,‬شفرة صرجمية تقوب صطباعة اليوب صالشك التالي‪-:‬‬ ‫‪‬‬
‫()‪Private Sub Command1_Click‬‬
‫)‪Print Day(Now‬‬
‫‪End Sub‬‬

‫يف ز االمر الثاني نكت‪ ,‬شفرة صرجمية تقوب صطباعة الشهر صالشك التالي‪-:‬‬ ‫‪‬‬
‫()‪Private Sub Command2_Click‬‬
‫ال ام الفرعية و ال وال‬ ‫الفص السادس‬
‫)‪Print Month(Now‬‬
‫‪End Sub‬‬
‫يف ز االمر الثالث نكت‪ ,‬شفرة صرجمية تقوب صطباعة اليوب صالشك التالي‪-:‬‬ ‫‪‬‬
‫()‪Private Sub Command3_Click‬‬
‫)‪Print Year(Now‬‬
‫‪End Sub‬‬
‫) اوج نات ال نام التالي‪-:‬‬
‫)(‪Private sub cmdPrint_click‬‬
‫‪Dim x as Integer‬‬
‫)‪X=GetMin(12,5‬‬
‫‪Print x‬‬
‫‪End sub‬‬

‫‪Function GetMin(a,b as Integer) as integer‬‬


‫‪If a > b then‬‬
‫‪GetMin=a‬‬
‫‪Else‬‬
‫‪GetMin = b‬‬
‫‪End if‬‬
‫‪End function‬‬
‫‪.‬‬ ‫نات هذا ال نام هو طباعة‬
‫الشرح‪-:‬‬
‫يقوب هذا ال نام صاستل اب دالة تسمى )(‪ GetMin‬ال تقا ن صي ع دين ‪ a‬و ‪ b‬و تعي‬
‫قيمة الع د االك ‪.‬‬
‫و عن النقر على الز ‪ cmdPrint‬يتم است عاء هذب ال الة و مترير ع دين هما و ا‬
‫هذب ال الة ‪.‬‬
‫ثم يتم ختزين القيمة املعادة من ال الة يف املتغري )‪.,(x‬‬
‫ثم يتم طباعة هذا املتغري ‪.‬‬
‫و مبا ان اك من لذلك يتم طباعة الع د ‪.‬‬
‫الفصل السابع‬

‫أدوات البيسك املرئي‬


‫ادوات البيسك املرئي‬ ‫الفص الساصع‬

‫الفصل السابع‬

‫ادوات البيســــــــك املرئي‬


‫مللص الفص وفقاً للكتاب امل سي‬

‫"اإلطا " )‪(Frame‬‬


‫تستل ب هذب االداة كحاوية لضم العناصر املرتبطة منطقياً او وظيفياً مع صعضها البعض يف‬
‫جمموعة واح ة ‪.‬‬
‫و عادة ما توي هذب األداة على "صناديق التحقق" )‪ (Chehck Box‬و "از ا االتتيا " ‪(Option‬‬
‫)‪.Button‬‬
‫العناصر املوجودة دات اإلطا تعت ة كتلة واح ة و تتحرك مع صعضها عن ريك اإلطا ‪.‬‬
‫اهم تصائص اداة التحكم "اإلطا " )‪(Frame‬‬

‫وظيفتها‬ ‫اخلاصية‬
‫لتح ي اسم اإلطا ‪.‬‬ ‫‪Name‬‬
‫لتح ي لون تلفية اإلطا ‪.‬‬ ‫‪BackColor‬‬
‫لتغيري شك اإلطا ‪.‬‬ ‫‪BorderStyle‬‬
‫إلضافة عنوان يظهر على اإلطا ‪.‬‬ ‫‪Caption‬‬
‫لتفعي او ع ب تفعي اإلطا ‪ ,‬و تأتذ اح ى قيمتي )‪ (Ture‬او )‪.(False‬‬ ‫‪Enable‬‬
‫لتح ي نوع و حجم و شك اخلط املستل ب يف الكتاصة‪.‬‬ ‫‪Font‬‬
‫تستل ب هذب اخلاصية لتح ي لون النص‪.‬‬ ‫‪ForeColor‬‬
‫مع نجتاب اإلطا من اليمي ا اليسا ‪,‬وتأتذ اح ى قيمتي )‪ (Ture‬او )‪.(False‬‬ ‫‪RightToleft‬‬
‫إلظها او إتفاء اإلطا ‪.‬‬ ‫‪Visible‬‬
‫الفص الساصع‬ ‫سلسلة احلكمة‬

‫اهم طرق اداة التحكم "اإلطا " )‪(Frame‬‬

‫الوصف‬ ‫الطريقة‬
‫لتحريك اإلطا ‪.‬‬ ‫‪Move‬‬
‫إلعادة سم اإلطا ‪.‬‬ ‫‪Refresh‬‬
‫اهم اح اث اداة التحكم "اإلطا " )‪(Frame‬‬

‫الوصف‬ ‫احل ث‬
‫النقر املفرد على اإلطا ‪.‬‬ ‫‪Click‬‬
‫النقر املزدوج على اإلطا ‪.‬‬ ‫‪DblClick‬‬
‫سح‪ ,‬اداة اترى و إفالتها فوق اداة اإلطا ‪.‬‬ ‫‪DragDrop‬‬

‫" صناديق التحقق" )‪(Check Boxes‬‬


‫تستل ب صناديق التحقق "او صناديق االتتيا املتع د" عن ما نرغ‪ ,‬يف إعطاء املستل ب‬
‫جمموعة تيا ات ليلتا منها تيا واح او اكثر من تيا يف نفس الوقت‪.‬‬
‫و عادة ما توضع "صناديق التحقق" يف "إطا " )‪ (Frame‬واح جيمع هذب اخليا ات ت عنوان واح‬
‫وهو عنوان اإلطا ‪.‬‬
‫اهم تصائص اداة التحكم "صن وق التحقق" )‪(ChechBox‬‬

‫وظيفتها‬ ‫اخلاصية‬
‫إلضافة عنوان يظهر على صن وق التحقق‪.‬‬ ‫‪Caption‬‬
‫تستل ب هذب اخلاصية لتح ي حالة الصن وق ه هو مؤشر (ني مت اتتيا ب)‬
‫اب ال‪ ,‬تأتذ هذب اخلاصية ثالث قيم ‪ -:‬و تعين غري مؤشر‪ ,‬و وتعين مؤشراً‬ ‫‪Value‬‬
‫و و تعين مؤشراً جزئياً‪.‬‬
‫إلضافة صو ة خللفية صن وق التحقق‪ ,‬و تعم هذب اخلاصية عن ما تكون‬
‫‪Picture‬‬
‫اخلاصية "منط" )‪ (Style‬لصن وق التحقق تساوي )‪.(Graphical‬‬
‫إلضافة صو ة لصن وق التحقق عن اتتيا ب‪.‬‬ ‫‪DownPicture‬‬
‫ادوات البيسك املرئي‬ ‫الفص الساصع‬

‫اهم طرق اداة التحكم "صن وق التحقق" )‪(Check Box‬‬

‫الوصف‬ ‫الطريقة‬
‫لتحريك صن وق التحقق‪.‬‬ ‫‪Move‬‬
‫إلعادة سم صن وق التحقق‪.‬‬ ‫‪Refresh‬‬
‫لتفعي الرتكيز ‪,‬ني وضع الرتكيز او املؤشر على صن وق التحقق‪.‬‬ ‫‪SetFocus‬‬

‫اهم اح اث اداة التحكم "صن وق التحقق" )‪(Check Box‬‬

‫الوصف‬ ‫احل ث‬
‫النقر املفرد على "صن وق التحقق"‪.‬‬ ‫‪Click‬‬

‫طريقة استل اب "صن وق التحقق" يف ال نام‬


‫اخلاصية ‪Value‬‬
‫عن التعام مع "صن وق التحقق" نستل ب اخلاصية ‪ Value‬لنتأك اذا ما مت اتتيا صن وق‬
‫التحقق اب ال‪.‬‬
‫‪ ‬عن ما يتم اتتيا صن وق التحقق تكون قيامة اخلاصية ‪.1 = Value‬‬
‫‪ ‬عن ع ب اتتيا صن وق التحقق تكون قيمة اخلاصية ‪.0 = Value‬‬
‫اتتيا صن وق التحقق‬
‫‪ ‬التتيا صن وق التحقق ننقر عليه نقرة واح ة‪.‬‬
‫‪ ‬إللغاء اتتيا صن وق التحقق ننقر عليه مرة اترى نقرة واح ة‪.‬‬
‫‪ ‬يف حالة وجود اكثر من صن وق قق يف ال نام ميكن اتتيا اكثر من صن وق‬
‫قق واح ‪.‬‬
‫استل اب امملة الشريطة ‪If-Then‬‬
‫صشك عاب يتم استل اب امملة الشرطية ‪ If-then‬للتحقق من اتتيا صن وق التحقق اب ال‪,‬‬
‫و وفقاً التتيا الصن وق ميكن تنفيذ عم معي‪.‬‬
‫الفص الساصع‬ ‫سلسلة احلكمة‬

‫فمثال ميكن كتاصة صرنام يقوب صعرمل سالة توضح قم "صن وق التحقق" الذي اتتا ب‬
‫املستل ب عن النقر على ز االمر صالشك التالي‪-:‬‬

‫()‪Private Sub Command1_Click‬‬


‫‪If Check1.Value = 1 Then‬‬
‫(" مت اتتيا صن وق التحقق االول")‪MsgBox‬‬
‫‪End If‬‬
‫‪If Check2.Value = 1 Then‬‬
‫(" مت اتتيا صن وق التحقق الثاني")‪MsgBox‬‬
‫‪End If‬‬
‫‪If Check3.Value = 1 Then‬‬
‫(" مت اتتيا صن وق التحقق الثالث")‪MsgBox‬‬
‫‪End If‬‬
‫‪End Sub‬‬
‫استل اب احل ث "النقر"‬
‫ميكن استل اب احل ث النقر اخلاص صاداة "صن وق التحقق" لنحص على استجاصة مباشرة‬
‫التتيا االداة و كتاصة اإلجراء املناس‪.,‬‬
‫فمثال ميكننا تع ي ال نام الساصق ليعرمل سالة عن ما يقوب املستل ب صالنقر على اح‬
‫صناديق التحقق توضح اذا مت اتتيا صن وق التحقق اب ال‪.‬‬
‫ادوات البيسك املرئي‬ ‫الفص الساصع‬
‫)(‪Private Sub Check1_Click‬‬
‫‪If Check1.Value = 1 Then‬‬
‫)"مت اتتيا صن وق التحقق االول "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪End Sub‬‬

‫)(‪Private Sub Check2_Click‬‬


‫‪If Check2.Value = 1 Then‬‬
‫)"مت اتتيا صن وق التحقق الثاني "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪End Sub‬‬

‫)(‪Private Sub Check3_Click‬‬


‫‪If Check3.Value = 1 Then‬‬
‫)"مت اتتيا صن وق التحقق الثالث "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪End Sub‬‬

‫"از ا اخليا ات" )‪(Option Buttons‬‬


‫تستل ب "از ا اخليا ات" او "از ا الراديو" )‪ (Radio Buttons‬عن ما نرغ‪ ,‬يف إعطاء املستل ب‬
‫جمموعة تيا ات ليلتا منها تيا واح فقط‪.‬‬
‫و تسمى "از ا اخليا ات" صاز ا الراديو الن اتتيا "او تأشري" اح ها يلغي اتتيا االتر‪.‬‬
‫عن وجود اكثر من جمموعة واح ة من از ا االتتيا جي‪ ,‬عزهلا عن صعضها صاستل اب اإلطا‬
‫)‪.(Frame‬‬
‫اهم تصائص اداة التحكم "ز اخليا " )‪(Option Button‬‬

‫وظيفتها‬ ‫اخلاصية‬
‫إلضافة عنوان يظهر على ز اخليا ‪.‬‬ ‫‪Caption‬‬
‫إلضافة صو ة خللفية ز اخليا ‪.‬‬ ‫‪Picture‬‬
‫تستل ب هذب اخلاصية لتح ي حالة ز اخليا ه مت اتتيا ب اب ال ‪ , ,‬تأتذ هذب‬
‫‪Value‬‬
‫اخلاصية قيمتي )‪ (True‬و تعين مت االتتيا ‪ ,‬و )‪ (False‬و تعين مل يتم اتتيا ب‪.‬‬
‫الفص الساصع‬ ‫سلسلة احلكمة‬

‫اهم طرق اداة التحكم "ز االتتيا " )‪(Option Button‬‬

‫الوصف‬ ‫الطريقة‬
‫لتحريك ز اخليا ‪.‬‬ ‫‪Move‬‬
‫إلعادة سم ز اخليا ‪.‬‬ ‫‪Refresh‬‬
‫لتفعي الرتكيز ‪,‬ني وضع الرتكيز او املؤشر على ز اخليا ‪.‬‬ ‫‪SetFocus‬‬

‫اهم اح اث اداة التحكم "ز االتتيا " )‪(Option Button‬‬

‫الوصف‬ ‫احل ث‬
‫النقر املفرد على ز اخليا ‪.‬‬ ‫‪Click‬‬

‫طريقة استل اب "ز االتتيا " يف ال نام‬


‫اخلاصية ‪Value‬‬
‫عن التعام مع "ز االتتيا " نستل ب اخلاصية ‪ Value‬لنتأك اذا ما مت اتتيا ز االتتيا اب‬
‫ال‪.‬‬
‫‪ ‬عن ما يتم اتتيا ز االتتيا تكون قيامة اخلاصية ‪.True = Value‬‬
‫‪ ‬عن ع ب اتتيا ز االتيتا تكون قيمة اخلاصية ‪.False = Value‬‬

‫اتتيا ز االتيتا‬
‫‪ ‬التتيا ز االتتيا ننقر عليه نقرة واح ة‪.‬‬
‫‪ ‬إللغاء اتتيا ز االتتيا ننقر على ز اتتيا اتر‪.‬‬
‫‪ ‬يف حالة وجود ز اتتيا واح على النموذج و مت اتتيا ب في ميكنا إلغاء اتتيا ب‬
‫صالنقر عليه‪.‬‬
‫‪ ‬يف حالة وجود اكثر من ز اتتيا يف ال نام ميكن اتتيا ز اتتيا واح فقط‪.‬‬
‫ادوات البيسك املرئي‬ ‫الفص الساصع‬
‫إذا ا دنا عرمل جمموعة از ا اتتيا و اتتيا اكثر من ز اتتيا واح فيج‪ ,‬علينا‬ ‫‪‬‬
‫استل اب اداة التحكم "اإلطا ات" فنضع جمموعة على ك إطا ‪.‬‬
‫يف هذب احلالة ميكننا اتتيا ز اتتيا واح من ك جمموعة از ا اتتيا موضوع‬
‫على "إطا "‪.‬‬

‫استل اب امملة الشريطة ‪If-Then‬‬


‫و صشك عاب يتم استل اب امملة الشرطية ‪ If-then‬للتحقق من اتتيا ز اخليا اب ال‪ ,‬و وفقاً‬
‫التتيا ز اخليا ميكن تنفيذ عم معي‪.‬‬
‫فمثال ميكن كتاصة صرنام يقوب صعرمل سالة توضح قم "ز االتتيا " الذي اتتا ب املستل ب‬
‫عن النقر على ز االمر صالشك التالي‪-:‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪If Option1.Value = True Then‬‬
‫الفص الساصع‬ ‫سلسلة احلكمة‬

‫)"مت اتتيا ز االتتيا االول "( ‪MsgBox‬‬


‫‪End If‬‬
‫‪If Option2.Value = True Then‬‬
‫)"مت اتتيا ز االتتيا الثاني "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪If Option3.Value = True Then‬‬
‫)"مت اتتيا ز االتتيا الثالث "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪End Sub‬‬
‫استل اب احل ث "النقر"‬
‫ميكن استل اب احل ث النقر اخلاص صاداة "ز االتتيا " لنحص على استجاصة مباشرة التتيا‬
‫االداة و كتاصة اإلجراء املناس‪.,‬‬
‫فمثال ميكننا تع ي ال نام الساصق ليعرمل سالة عن ما يقوب املستل ب صالنقر على اح‬
‫از ا االتتيا عن اتتيا ب‪.‬‬

‫)(‪Private Sub Option1_Click‬‬


‫‪If Option1.Value = True Then‬‬
‫)"مت اتتيا ز االتتيا االول "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪End Sub‬‬

‫)(‪Private Sub Option2_Click‬‬


‫‪If Option2.Value = True Then‬‬
‫)"مت اتتيا ز االتتيا الثاني "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪End Sub‬‬

‫)(‪Private Sub Option3_Click‬‬


‫‪If Option3.Value = True Then‬‬
‫)"مت اتتيا ز االتتيا الثالث "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪End Sub‬‬
‫ادوات البيسك املرئي‬ ‫الفص الساصع‬

‫"صن وق القائمة" )‪(List Box‬‬


‫يستل ب "صن وق القائمة" لعرمل جمموعة من اخليا ات و تتم كتاصة هذب اخليا ات نثناء كتاصة‬
‫ال نام او يف اثناء التنفيذ ‪,‬و عن التشغي يستطيع املستل ب اتتيا اح اخليا ات من قائمة‬
‫الصن وق و ذلك صالنقر عليها‪.‬‬
‫اهم تصائص اداة التحكم "صن وق القائمة" )‪(List Box‬‬

‫وظيفتها‬ ‫اخلاصية‬
‫لتح ي ع د نعم ة قائمة العناصر‪.‬‬ ‫‪Columns‬‬
‫لتح ي قيمة عنصر معي يف القائمة‪.‬‬ ‫‪List‬‬
‫لتح ي ع د العناصر يف القائمة‪.‬‬ ‫‪ListCount‬‬
‫للحصول على قم العنصر امللتا من القائمة‪.‬‬ ‫‪ListIndex‬‬
‫تسمح للمستل ب صاتتيا اكثر من عنصر من القائمة‪.‬‬ ‫‪MultiSelect‬‬
‫لعرمل القائمة يف ترتي‪ ,‬اجب ي‪.‬‬ ‫‪Sotred‬‬

‫اهم طرق اداة التحكم "صن وق القائمة" )‪(List Box‬‬

‫الوصف‬ ‫الطريقة‬
‫إلضافة عنصر ا القائمة‪.‬‬ ‫‪Additem‬‬
‫مسح مجيع العناصر من القائمة‪.‬‬ ‫‪Clear‬‬
‫حلذ عنصر من القائمة‪.‬‬ ‫‪Removeitem‬‬

‫اهم اح اث اداة التحكم "صن وق القائمة" )‪(List Box‬‬

‫الوصف‬ ‫احل ث‬
‫النقر املفرد على "صن وق القائمة"‪.‬‬ ‫‪Click‬‬
‫النقر املزدوج على "صن وق القائمة"‪.‬‬ ‫‪DblClick‬‬
‫سح‪ ,‬نداة اترى و امرا ها فوق اداة "صن وق القائمة"‪.‬‬ ‫‪DragOver‬‬
‫الفص الساصع‬ ‫سلسلة احلكمة‬

‫طريقة استل اب "صن وق القائمة" يف ال نام‬

‫إضافة العناصر ا "صن وق القائمة"‬


‫الطريقة ‪AddItem‬‬
‫عن التعام مع "صن وق القائمة" نستل ب الطريقة ‪ AddItem‬لنضيف العناصر للقائمة‪.‬‬
‫"الصف االول الثانوي" ‪List1.AddItem‬‬
‫"الصف الثاني الثانوي" ‪List1.AddItem‬‬
‫"الصف الثالث الثانوي" ‪List1.AddItem‬‬
‫و صشك عاب نكت‪ ,‬شفرة إضافة العناصر للقائمة يف احل ث "التحمي " )‪ (Load‬للنموذج‬
‫)‪.(Form‬‬
‫او ميكننا إضافة العناصر صاستل اب دالة االدتالي )(‪ InputBox‬و طل‪ ,‬من املستل ب كتاب‬
‫العنصر صالشك التالي‪-:‬‬
‫)"ادت العنصر"(‪List1.AddItem InputBox‬‬

‫اخلاصية ‪ListIndex‬‬
‫عن التعام مع "صن وق القائمة" نستل ب اخلاصية ‪ ListIndex‬للحصول على قم موضع‬
‫العنصر الذي مت اتتيا ب من القائمة‪.‬‬
‫‪ ‬يب ن ع العناصر يف صن وق القائمة من ‪.‬‬
‫‪ ‬يكون ترتي‪ ,‬العناصر وفقاً للرتتي‪ ,‬الذي ادتلناب اذا كانت قيمة اخلاصية ‪Sorted‬‬
‫تساوي ‪.False‬‬
‫‪ ‬يكون ترتي‪ ,‬العناصر وفقاً لرتتي‪ ,‬اجب ي تصاع ي إذا كانت قيمة اخلاصية‬
‫‪ Sorted‬تساوي ‪.True‬‬

‫اخلاصية ‪Text‬‬
‫عن التعام مع "صن وق القائمة" نستل ب اخلاصية ‪ Text‬للحصول على العنصر الذي مت‬
‫اتتيا ب من القائمة‪.‬‬
‫ادوات البيسك املرئي‬ ‫الفص الساصع‬
‫إزالة العناصر من "صن وق القائمة"‬
‫الطريقة ‪RemoveItem‬‬
‫إلزالة العناصر من صن وق القائمة نستل ب الطريقة ‪ RemoveItem‬و نستل ب معها قم‬
‫ترتي‪ ,‬العنصر الذي نري إزالته صالشك التالي‪-:‬‬
‫)‪List1.RemoveItem (0‬‬

‫الطريق ‪Clear‬‬
‫إلزالة مجيع العناصر من صن وق القائمة نستل ب الطريقة ‪ Clear‬صالشك التالي‪-:‬‬
‫‪List1.Clear‬‬

‫اتتيا العناصر من صن وق القائمة‬


‫‪ ‬التتيا عنصر من صن وق القائمة ننقر عليه صز الفا ة‪.‬‬

‫استل اب امملة الشريطة ‪If-Then‬‬


‫صشك عاب يتم استل اب امملة الشرطية ‪ If-then‬للتحقق من اتتيا عنصر من صن وق‬
‫القائمة نعتماداً على ترتي‪ ,‬هذا العنصر يف القائمة صاستل اب اخلاصية ‪ , ListIndex‬و وفقاً‬
‫التتيا العنصر ميكن تنفيذ عم معي‪.‬‬
‫مترين‬
‫ميكن كتاصة صرنام يقوب صعرمل سالة توضح ترتي‪ ,‬العنصر الذي مت اتتيا ب من صن وق‬
‫القائمة عن اتتيا العنصر و النقر على ز االمر اعتماداً على اخلاصية ‪ ListIndex‬صالشك‬
‫التالي‪-:‬‬

‫)(‪Private Sub Command1_Click‬‬


‫الفص الساصع‬ ‫سلسلة احلكمة‬
‫‪If List1.ListIndex = 0 Then‬‬
‫)"مت اتتيا العنصر االول "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪If List1.ListIndex = 1 Then‬‬
‫)"مت اتتيا العنصر الثاني "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪If List1.ListIndex = 2 Then‬‬
‫)"مت اتتيا العنصر الثالث "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪End Sub‬‬

‫مترين‬
‫ميكن كتاصة صرنام يقوب صعرمل سالة توضح العنصر الذي مت اتتيا ب من صن وق القائمة‬
‫عن اتتيا العنصر و النقر على ز االمر اعتماداً على اخلاصية ‪ Text‬صالشك التالي‪-:‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪MsgBox List1.Text‬‬
‫‪End Sub‬‬

‫استل اب احل ث "النقر"‬


‫ميكن استل اب احل ث النقر اخلاص صاداة "صن وق القائمة" لنحص على استجاصة مباشرة‬
‫التتيا عناصر الصن وق و كتاصة اإلجراء املناس‪.,‬‬
‫مترين‬
‫ميكننا تع ي ال نام الساصق ليعرمل سالة عن ما يقوب املستل ب صالنقر على اح عناصر‬
‫صن وق القائمة توضح العنصر الذي مت اتتيا ب‪.‬‬

‫)(‪Private Sub List1_Click‬‬


‫‪MsgBox List1.Text‬‬
‫‪End Sub‬‬
‫ادوات البيسك املرئي‬ ‫الفص الساصع‬

‫"الصن وق املرك‪ ",‬او " القائمة املنس لة" )‪(Combo Box‬‬


‫جتمع اداة التحكم "القائمة املنس لة" ما صي مزايا صن وق النص و صن وق القائمة و هلذا مسي‬
‫صاملرك‪ , ,‬فهو يستل ب لعرمل قائمة و يسمح لنا صإدتال او تغيري النص الظاهر عليه‪.‬‬
‫اهم تصائص اداة التحكم "القائمة املنس لة" )‪(Combo Box‬‬

‫وظيفتها‬ ‫اخلاصية‬
‫د النص الظاهر يف االداة‪.‬‬ ‫‪Text‬‬
‫د هذب اخلاصية منط اداة التحكم‪.‬‬ ‫‪Style‬‬

‫تأتذ اخلاصية )‪ (Style‬ثالث قيم ‪ ,‬وهي كالتالي‪-:‬‬


‫‪0-DropDownCombo‬‬ ‫‪‬‬
‫هذب القيمة جتع اداة "القائمة املنس لة" )‪ (Combo Box‬تشبه "مرصع النص" او‬
‫"صن وق النص" )‪ , (TextBox‬و يظهر سهم صغري يف طر االداة ‪.‬‬

‫عن النقر على هذب السهم تظهر قائمة صالعناصر املضافة ا االداة ‪.‬‬

‫كما ميكن الكتاصة و التع ي يف النص الظاهر يف االداة‪.‬‬


‫‪1-SimpleCombo‬‬ ‫‪‬‬
‫عن اتتيا هذب القيمة خيتفي سهم السرد ‪ ,‬الن العناصر يف القائمة تكون ظاهرة‬
‫مباشرة لكن جي‪ ,‬تكبري حجم االداة لتظهر مجيع العناصر ‪ ,‬و عن اتتيا اح هذب العناصر‬
‫يظهر العنصر احمل د يف مرصع التح ي اعلى االداة‪.‬‬
‫الفص الساصع‬ ‫سلسلة احلكمة‬

‫‪2-DropDownList‬‬ ‫‪‬‬
‫هذا النمط يشبه النمط االول من ناحية الشك ‪ ,‬لكنه ال يسمح صالكتاصة او التع ي‬
‫يف حمتويات االداة‪.‬‬
‫اهم طرق اداة التحكم "القائم املنس لة" )‪(Combo Box‬‬

‫الوصف‬ ‫الطريقة‬
‫مسح مجيع العناصر من القائمة‪.‬‬ ‫‪Clear‬‬
‫إلضافة عنصر ا القائمة‪.‬‬ ‫‪AddItem‬‬
‫حلذ عنصر من القائمة‪.‬‬ ‫‪RemoveItem‬‬

‫اهم اح اث اداة التحكم "القائمة املنس لة" )‪(Combo Box‬‬

‫الوصف‬ ‫احل ث‬
‫يتم تنفيذ هذا احل ث عن النقر على االداة و انزال ‪-‬او فتح‪ -‬القائمة املنس لة ‪,‬‬
‫ويعم هذا احل ث عن ما يكون منط القائمة املنس لة او قيمة اخلاصية )‪(Style‬‬ ‫‪DropDown‬‬
‫للقائمة املنس لة القيمة االو ‪ 0-DropDownCombo‬او الثالثة ‪.2-DropDownList‬‬
‫يتم تنفيذ هذا احل ث عن ما يتم تغيري النص الظاهر على اداة التحكم ‪ ,‬ويعم هذا‬
‫احل ث عن ما يكون منط القائمة املنس لة او قيمة اخلاصية )‪ (Style‬للقائمة‬ ‫‪Change‬‬
‫املنس لة القيمة االو ‪ 0-DropDownCombo‬او الثالثة ‪.2-DropDownList‬‬
‫يعم هذا احل ث عن ما يكون منط القائمة املنس لة او قيمة اخلاصية )‪(Style‬‬
‫‪DblClick‬‬
‫للقائمة املنس لة القيمة الثانية ‪.1-SimpleCombo‬‬
‫ادوات البيسك املرئي‬ ‫الفص الساصع‬

‫طريقة استل اب "القائمة املنس لة" يف ال نام‬


‫إضافة العناصر ا "القائمة املنس لة"‬
‫الطريقة ‪AddItem‬‬
‫عن التعام مع "صن وق القائمة" نستل ب الطريقة ‪ AddItem‬لنضيف العناصر للقائمة‪.‬‬
‫"الصف االول الثانوي" ‪Combo1.AddItem‬‬
‫"الصف الثاني الثانوي" ‪Combo1.AddItem‬‬
‫"الصف الثالث الثانوي" ‪Combo1.AddItem‬‬
‫و صشك عاب نكت‪ ,‬شفرة إضافة العناصر للقائمة يف احل ث "التحمي " )‪ (Load‬للنموذج‬
‫)‪(Form‬‬
‫او ميكننا إضافة العناصر صاستل اب دالة االدتالي )(‪ InputBox‬و طل‪ ,‬من املستل ب كتاب‬
‫العنصر صالشك التالي‪-:‬‬
‫)"ادت العنصر"(‪Combo1.AddItem InputBox‬‬

‫اخلاصية ‪ListIndex‬‬
‫عن التعام مع "القائمةا ملنس لة" نستل ب اخلاصية ‪ ListIndex‬للحصول على قم العنصر‬
‫الذي مت اتتيا ب من القائمة‪.‬‬
‫‪ ‬يب ن ع العناصر يف القائمة املنس لة من ‪.‬‬
‫‪ ‬يكون ترتي‪ ,‬العناصر وفقاً للرتتي‪ ,‬الذي ادتلناب اذا كانت قيمة اخلاصية ‪Sorted‬‬
‫تساوي ‪.False‬‬
‫‪ ‬يكون ترتي‪ ,‬العناصر وفقاً لرتتي‪ ,‬اجب ي تصاع ي إذا كانت قيمة اخلاصية‬
‫‪ Sorted‬تساوي ‪.True‬‬

‫اخلاصية ‪Text‬‬
‫عن التعام مع "القائمة املنس لة" نستل ب اخلاصية ‪ Text‬للحصول على العنصر الذي مت‬
‫اتتيا ب من القائمة‪.‬‬
‫الفص الساصع‬ ‫سلسلة احلكمة‬

‫إزالة العناصر من "االقائمة املنس لة"‬


‫الطريقة ‪RemoveItem‬‬
‫إلزالة العناصر من القائمة املنس لة نستل ب الطريقة ‪ RemoveItem‬و نستل ب معها قم‬
‫ترتي‪ ,‬العنصر الذي نري إزالته صالشك التالي‪-:‬‬
‫)‪Combo1.RemoveItem (0‬‬

‫الطريق ‪Clear‬‬
‫إلزالة مجيع العناصر من القائمة املنس لة نستل ب الطريقة ‪ Clear‬صالشك التالي‪-:‬‬
‫‪Combo1.Clear‬‬

‫اتتيا العناصر من القائمة املنس لة‬


‫‪ ‬التتيا عنصر من القائمة املنس لة ننقر عليه صز الفا ة‪.‬‬
‫استل اب امملة الشريطة ‪If-Then‬‬
‫صشك عاب يتم استل اب امملة الشرطية ‪ If-then‬للتحقق من اتتيا عنصر من القائمة‬
‫املنس لة نعتماداً على ترتي‪ ,‬هذا العنصر يف القائمة صاستل اب اخلاصية ‪ , ListIndex‬و وفقاً‬
‫التتيا العنصر ميكن تنفيذ عم معي‪.‬‬
‫مترين‬
‫ميكن كتاصة صرنام يقوب صعرمل سالة توضح ترتي‪ ,‬العنصر الذي مت اتتيا ب من القائمة‬
‫املسن لة عن اتتيا العنصر و النقر على ز االمر اعتماداً على اخلاصية ‪ ListIndex‬صالشك‬
‫التالي‪-:‬‬
‫ادوات البيسك املرئي‬ ‫الفص الساصع‬
‫)(‪Private Sub Command1_Click‬‬
‫‪If Combo1.ListIndex = 0 Then‬‬
‫)"مت اتتيا العنصر االول "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪If Combo1.ListIndex = 1 Then‬‬
‫)"مت اتتيا العنصر الثاني "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪If Combo1.ListIndex = 2 Then‬‬
‫)"مت اتتيا العنصر الثالث "( ‪MsgBox‬‬
‫‪End If‬‬
‫‪End Sub‬‬

‫مترين‬
‫ميكن كتاصة صرنام يقوب صعرمل سالة توضح العنصر الذي مت اتتيا ب من القائمة املنس لة‬
‫عن اتتيا العنصر و النقر على ز االمر اعتماداً على اخلاصية ‪ Text‬صالشك التالي‪-:‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪MsgBox Combo1.Text‬‬
‫‪End Sub‬‬

‫استل اب احل ث "النقر"‬


‫ميكن استل اب احل ث النقر اخلاص صاداة "القائمة املنس لة" لنحص على استجاصة مباشرة‬
‫التتيا عناصر الصن وق و كتاصة اإلجراء املناس‪.,‬‬
‫مترين‬
‫ميكننا تع ي ال نام الساصق ليعرمل سالة عن ما يقوب املستل ب صالنقر على اح عناصر‬
‫القائمة املنس لة توضح العنصر الذي مت اتتيا ب‪.‬‬

‫)(‪Private Sub Combo1_Click‬‬


‫‪MsgBox Combo1.Text‬‬
‫‪End Sub‬‬
‫الفص الساصع‬ ‫سلسلة احلكمة‬

‫متارين الكتاب املدرسي‬


‫‪ .‬اترت االجاصة الصحيحة‬
‫) يستل ب الـ )‪ (Frame‬يف جتميع اكثر من ‪-:‬‬
‫ن‪ -‬النماذج‪.‬‬
‫ب‪ -‬صناديق التحقق‪.‬‬
‫ج‪ -‬العناصر املرتبطة منطقياً‪.‬‬
‫االجاصة ‪ :‬ج‬

‫) اخلاصية )‪ (BackColor‬تستل ب لتغيري‪-:‬‬


‫ن‪ -‬تلفية اإلطا ‪.‬‬
‫ب‪ -‬لون اسم اإلطا ‪.‬‬
‫ج‪ -‬مع اإلطا ظاهراً‬
‫االجاصة ‪ :‬ن‬

‫) نستل ب صن وق التحقق عن ما نرغ‪ ,‬يف اتتيا ‪-:‬‬


‫ن‪ -‬تيا واح فقط‪.‬‬
‫ب‪ -‬تيا ين‪.‬‬
‫ج‪ -‬ع ة تيا ات‪.‬‬
‫االجاصة ‪ :‬ج‬

‫) اهم ح ث يف صن وق التحقق هو )‪ (Value‬و يستل ب ‪-:‬‬


‫ن‪ -‬لتحريك الصن وق‪.‬‬
‫ب‪ -‬إللغاء الصن وق‪.‬‬
‫ج‪ -‬لتأشري الصن وق‪.‬‬
‫االجاصة ‪ :‬ج‬
‫ادوات البيسك املرئي‬ ‫الفص الساصع‬

‫) إلضافة صو ة للصن وق عن اتتيا ب نستل ب اخلاصية ‪-:‬‬


‫ن‪.DwnPicture -‬‬
‫ب‪.Caption -‬‬
‫ج‪.Picture -‬‬
‫االجاصة ‪ :‬ن‬

‫) تشبه "نز ا اخليا ات" نز ا الراديو النها‪-:‬‬


‫ن‪ -‬سريعة االستل اب ‪.‬‬
‫ب‪ -‬تأشري اح ها يلغي االتر‪.‬‬
‫ج‪ -‬كثرية االستل اب‪.‬‬
‫االجاصة ‪ :‬ب‬

‫) تأتذ تاصية )‪ (Value‬يف "نز ا اخليا ات" القيمتي ‪-:‬‬


‫‪.-‬‬ ‫ن‪-‬‬
‫ب‪.Yes-no -‬‬
‫ج‪.Ture- False -‬‬
‫االجاصة ‪ :‬ج‬

‫) إلضافة عنصر لصن وق القائمة نستل ب اخلاصية ‪-:‬‬


‫ن‪.Insertitem -‬‬
‫ب‪.Appenditem -‬‬
‫ج‪.Additem -‬‬
‫االجاصة ‪ :‬ج‬

‫) القائمة املنس لة جتمع ما صي‪-:‬‬


‫ن‪ -‬القائمة و صن وق التحقق‪.‬‬
‫ب‪ -‬القائمة و صن وق النص‪.‬‬
‫الفص الساصع‬ ‫سلسلة احلكمة‬

‫ج‪ -‬القائمة و ز االوامر‪.‬‬


‫االجاصة ‪ :‬ب‬

‫) اخلاصة )‪ (DropDownCombo‬جتم الصن وق‪-:‬‬


‫ن‪ -‬يظهر سهم السرد إلسف و يسمح صالتع ي ‪.‬‬
‫ب‪ -‬خيفي سهم السرد و يسمح صالتغيري‪.‬‬
‫ج‪ -‬يظهر سهم السرد و ال يسمح صالتغيري‪.‬‬
‫االجاصة ‪ :‬ن‬

‫‪ .‬اكت‪ ,‬صرناجماً لتنسي‪ ,‬الطال‪ ,‬ا امامعة ‪ ,‬و ذلك صتصميم منوذج حيتوي على االتي‪-:‬‬
‫) قم الطل‪.,‬‬
‫) اسم الطال‪.,‬‬
‫) جنس الطال‪ ,‬صاستل اب اإلطا و ز االتتيا ‪.‬‬
‫) امل سة الثانوية صاستل اب القائمة املنس لة‪.‬‬
‫) نسبة النجاح‪.‬‬
‫) التلصص صاستل اب ز االتتيا ‪.‬‬
‫) التلصصات صاستل اب "صناديق التحقق"‪.‬‬
‫) ز االوامر لطباعة املعلومات امل تلة يف‪.‬القائمة اسف اخلط‬
‫ادوات البيسك املرئي‬ ‫الفص الساصع‬

‫الشرح‪-:‬‬
‫يف هذا ال نام سيقوب املستل ب صإدتال البيانات يف اخلانات امللصصة هلا ثم ينقر على ز‬
‫"إطبع" فيتم طباعة املعلومات امل تلة ا صن وق القائمة )‪.(ListBox‬‬
‫لطباعة او إلضافة البيانات ا صن وق القائمة )‪ (ListBox‬نستل ب امر االضافة ‪.AddItem‬‬
‫سنقوب اوال صتصميم النموذج صالشك املوضح يف الصو ة‪ ,‬و إضافة ادوات التحكم التالية مع‬
‫مراعاة تفعي اخلاصية "من اليمي ا اليسا ا " ‪ Right To Left = Ture‬الدوات التحكم لكي‬
‫تظهر صشك يناس‪ ,‬اللغة العرصية ‪ ,‬و إضافة اداة التحكم "التسمية" )‪ (Label‬و وضعها‬
‫يف املكان املناس‪-: ,‬‬
‫الفص الساصع‬ ‫سلسلة احلكمة‬

‫اسم االداة املستل مة‬ ‫اخلانة‬


‫‪Text1‬‬ ‫قم الطال‪,‬‬
‫‪Text2‬‬ ‫اسم الطال‪,‬‬
‫‪Frame1‬‬ ‫امنس‬
‫‪Option1‬‬ ‫ذكر‬
‫‪Option2‬‬ ‫انثى‬
‫‪Combo1‬‬ ‫امل سة الثانوية‬
‫‪Text3‬‬ ‫نسبة النجاح‬
‫‪Frame2‬‬ ‫التلصص‬
‫‪Option3‬‬ ‫علمي‬
‫‪Option4‬‬ ‫ادصي‬
‫‪Frame3‬‬ ‫التلصصات العلمية‬
‫‪Check1‬‬ ‫الط‪,‬‬
‫‪Check2‬‬ ‫العلوب‬
‫‪Check3‬‬ ‫االقتصاد‬
‫‪Check4‬‬ ‫اهلن سة‬
‫‪Check5‬‬ ‫تقنية املعلومات‬
‫‪Check6‬‬ ‫الز اعة‬
‫‪Frame4‬‬ ‫التلصصات االدصية‬
‫‪Check7‬‬ ‫القانون‬
‫‪Check8‬‬ ‫االداب‬
‫‪Command1‬‬ ‫اطبع‬
‫‪List1‬‬ ‫القائمة الرئيسية‬

‫قم الطال‪ ,‬و اسم الطال‪,‬‬


‫نقوب صإضافة قم الطال‪ ,‬من صن وق النص )‪ , (Text1‬و اسم الطال‪ ,‬من صن وق النص‬
‫الثاني )‪ (Text2‬ا صن وق القائمة )‪(ListBox‬‬
‫ادوات البيسك املرئي‬ ‫الفص الساصع‬
‫‪ " & Text1.Text‬قم الطال‪List1.AddItem " :,‬‬
‫‪" & Text2.Text‬اسم الطال‪List1.AddItem " :,‬‬
‫ونالحظ اننا نضفنا مجلة " قم الطال‪ " :,‬لتظهر جبان‪ ,‬قيمة قم الطال‪- ,‬املأتوذة من‬
‫صن وق النص )‪ -(Text1‬يف صن وق القائمة )‪,(ListBox‬و ذلك صكتاصة امر إضافة عنصر‬
‫لصن وق القائمة و ثم وضعنا امملة صي عالم تنصيص مزدوجة‪ ,‬ثم استل منا عالمة‬
‫الوص & لتص القيمتي النصيتي " قم الطال‪ ":,‬و حمتوى صن وق النص )‪(Text1‬‬
‫‪ " & Text1.Text‬قم الطال‪List1.AddItem " :,‬‬
‫و هذا حتى تظهر البيانات يف صن وق القائمة )‪ (ListBox‬صشك مفهوب و واضح ملن يقرنها‪.‬‬
‫و فعلنا نفس االمر مع مجلة "اسم الطال‪ ":,‬لتظهر جبان‪ ,‬اسم الطال‪ ,‬يف صن وق القائمة‬
‫)‪.(ListBox‬‬

‫جنس الطال‪,‬‬
‫يف هذا التمرين يتم إضافة جنس الطال‪ ,‬صاستل اب ز االتتيا )‪ ,(OptionButton‬لذلك سنقوب‬
‫صاستل اب امملة الشرطية ‪ If‬لفحص قيمة ز ي االتتيا )‪ (Option1,Option2‬و ي جنس‬
‫الطال‪ ,‬صناء على اتتيا هذين الز ين‪.‬‬
‫فإذا مت اتتيا الز االول )‪ (Option1‬فهذا يعين ان جنس الطال‪( ,‬ذكر) ‪ ,‬اما اذا مت اتتيا الز‬
‫الثاني )‪ (Option2‬فهذا يعين ان جنس الطال‪( ,‬انثى)‪.‬‬

‫‪If Option1.Value = True Then‬‬


‫"جنس الطال‪ :,‬ذكر " ‪List1.AddItem‬‬
‫‪End If‬‬
‫‪If Option2.Value = True Then‬‬
‫"جنس الطال‪ :,‬انثى " ‪List1.AddItem‬‬
‫‪End If‬‬
‫امل سة الثانوية‬
‫يف هذا التمرين يتم إضافة امل سة الثانوية صاستل اب "القائمة املنس لة" )‪(ComboBox‬‬
‫صالشك التالي‪-:‬‬
‫‪ " & Combo1.Text‬امل سة الثانوية‪List1.AddItem " :‬‬
‫الفص الساصع‬ ‫سلسلة احلكمة‬

‫و نالحظ اننا جي‪ ,‬علينا اوال اضافة عناصر متث امساء امل ا س الثانوية ا "القائمة‬
‫املنس لة" )‪ (ComboBox‬حتى يستطيع املستل ب االتتيا من هذب االمساء‬
‫و يكون ذلك صكتاصة شفرة اضافة االمساء ا "القائمة املنس لة" )‪ (ComboBox‬يف احل ث‬
‫)‪ (Load‬لنموذج ال نام )‪.(Form‬‬
‫)(‪Private Sub Form_Load‬‬
‫"الوح ة العرصية" ‪Combo1.AddItem‬‬
‫"الثو ة" ‪Combo1.AddItem‬‬
‫"فاطمة الزهراء" ‪Combo1.AddItem‬‬
‫"التق ب" ‪Combo1.AddItem‬‬
‫"املستقب " ‪Combo1.AddItem‬‬
‫‪End Sub‬‬
‫نسبة النجاح‬
‫نضيف نسبة النجاح ا صن وق القائمة )‪ (ListBox‬من صن وق النص )‪.(Text3‬‬
‫‪ " & Text3.Text‬نس‪ ,‬النجاح‪List1.AddItem " :‬‬
‫التلصص‬
‫يف هذا التمرين يتم إضافة التلصص (علمي او ادصي) صاستل اب ز االتتيا )‪,(OptionButton‬‬
‫لذلك سنقوب صاستل اب امملة الشرطية ‪ If‬لفحص قيمة ز ي االتتيا )‪ (Option3,Option3‬و‬
‫ي التلصص كما فعلنا ساصقاً مع صيانات جنس الطال‪.,‬‬

‫‪If Option3.Value = True Then‬‬


‫" التلصص‪ :‬علمي " ‪List1.AddItem‬‬
‫‪End If‬‬
‫‪If Option4.Value = True Then‬‬
‫" التلصص‪ :‬ادصي" ‪List1.AddItem‬‬
‫‪End If‬‬
‫التلصصات العلمية‬
‫يف هذا التمرين يتم إضافة التلصصات العلمية صاستل اب صناديق التحقق )‪,(Check Box‬‬
‫لذلك سنقوب صاستل اب امملة الشرطية ‪ If‬لفحص قيمة صناديق التحقق )‪(CheckBox‬‬
‫)‪ (Check1, Check2, Check3, Check4, Check5, Check6‬و ي التلصصات ال مت اتتيا ها و‬
‫ادوات البيسك املرئي‬ ‫الفص الساصع‬
‫نستل ب متغري حريف )‪ (SSpe‬لتلزين هذب التلصصات و نالحظ اننا نضيف فاصلة "‪ ",‬عن‬
‫إضافة التلصص حتى يتم فص التلصصات عن صعضهما البعض‪ ,‬ثم نضيف قيمة هذا‬
‫املتغري ا صن وق القائمة )‪.(ListBox‬‬
‫‪Dim SSpe As String‬‬
‫‪If Check1.Value = 1 Then‬‬
‫"‪ " & ",‬الط‪SSpe = " ,‬‬
‫‪End If‬‬
‫‪If Check2.Value = 1 Then‬‬
‫"‪ "& ",‬العلوب " & ‪SSpe = SSpe‬‬
‫‪End If‬‬
‫‪If Check3.Value = 1 Then‬‬
‫"‪ " & ",‬االقتصاد " & ‪SSpe = SSpe‬‬
‫‪End If‬‬
‫‪If Check4.Value = 1 Then‬‬
‫"‪ " & ",‬اهلن سة " & ‪SSpe = SSpe‬‬
‫‪End If‬‬
‫‪If Check5.Value = 1 Then‬‬
‫"‪ " & ",‬تقنية املعلومات " & ‪SSpe = SSpe‬‬
‫‪End If‬‬
‫‪If Check6.Value = 1 Then‬‬
‫"‪ " & ",‬الز اعة " & ‪SSpe = SSpe‬‬
‫‪End If‬‬
‫‪" & SSpe‬التلصصات العلمية " ‪List1.AddItem‬‬
‫و نكر نفس االمر للتلصصات االدصية مع استل اب املتغري النصي )‪ (LSep‬لتلزين التلصصات‬
‫االدصية و إضافتها لصن وق القائمة )‪.(ListBox‬‬
‫‪Dim LSpe As String‬‬
‫‪If Check7.Value = 1 Then‬‬
‫"‪ " & ",‬القانون " = ‪LSpe‬‬
‫‪End If‬‬
‫‪If Check8.Value = 1 Then‬‬
‫"‪ " & ",‬االدب " & ‪LSpe = LSpe‬‬
‫‪End If‬‬
‫‪" & LSpe‬التلصصات االدصية‪List1.AddItem " :‬‬
‫الفص الساصع‬ ‫سلسلة احلكمة‬

-:‫ليكون شك ال نام صالكام كما يلي‬


Private Sub Form_Load()
Combo1.AddItem "‫"الوح ة العرصية‬
Combo1.AddItem "‫"الثو ة‬
Combo1.AddItem "‫"فاطمة الزهراء‬
Combo1.AddItem "‫"التق ب‬
Combo1.AddItem " ‫"املستقب‬
End Sub

Private Sub Command1_Click()


List1.AddItem " :,‫ & " قم الطال‬Text1.Text
List1.AddItem " :,‫ & "اسم الطال‬Text2.Text

If Option1.Value = True Then


List1.AddItem " ‫ ذكر‬:,‫"جنس الطال‬
End If
If Option2.Value = True Then
List1.AddItem " ‫ انثى‬:,‫"جنس الطال‬
End If

List1.AddItem " :‫ & " امل سة الثانوية‬Combo1.Text

List1.AddItem " :‫ النجاح‬,‫ & " نس‬Text3.Text

If Option3.Value = True Then


List1.AddItem " ‫ علمي‬:‫" التلصص‬
End If
If Option4.Value = True Then
List1.AddItem "‫ ادصي‬:‫" التلصص‬
End If

Dim SSpe As String


‫ادوات البيسك املرئي‬ ‫الفص الساصع‬
If Check1.Value = 1 Then
SSpe = " ,‫" & " الط‬,"
End If
If Check2.Value = 1 Then
SSpe = SSpe & " ‫" &" العلوب‬,"
End If
If Check3.Value = 1 Then
SSpe = SSpe & " ‫" & " االقتصاد‬,"
End If
If Check4.Value = 1 Then
SSpe = SSpe & " ‫" & " اهلن سة‬,"
End If
If Check5.Value = 1 Then
SSpe = SSpe & " ‫" & " تقنية املعلومات‬,"
End If
If Check6.Value = 1 Then
SSpe = SSpe & " ‫" & " الز اعة‬,"
End If
List1.AddItem " ‫ & "التلصصات العلمية‬SSpe

Dim LSpe As String


If Check7.Value = 1 Then
LSpe = " ‫" & " القانون‬,"
End If
If Check8.Value = 1 Then
LSpe = LSpe & " ‫" & " االدب‬,"
End If
List1.AddItem " :‫ & "التلصصات االدصية‬LSpe

End Sub
‫كتب اخرى للمؤلف‬

You might also like