You are on page 1of 69

‫!!


‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ‬
‫ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺒﺮﻣﺠﺔ ﺑﻠﻐﺔ " اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ "‬


‫‪Programming in‬‬

‫‪Visual Basic‬‬
‫‪Language‬‬

‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت ‪ /‬اﻟﻤﺮﺣﻠﺔ اﻟﺜﺎﻧﯿﺔ‬

‫إﻋﺪاد‬
‫أﺳﻤﺎء ﻋﺒﺪاﻟﺠﻠﯿﻞ ﺧﻠﯿﻞ‬
‫ﺷﯿﻤﺎء ﻋﻠﻲ ﻛﺎﻇﻢ‬

‫‪2010‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻤﻘــﺪﻣــــــــــﺔ ‪-:‬‬
‫ﻟﻤﺴﺎﻋﺪة اﻟﻄﺎﻟﺐ ﻓﻲ ﺗﻄﻮﯾﺮ ﻃﺮق ﺣﻞ اﻟﻤﺸﻜﻼت اﻟﺼﻌﺒﺔ ﻓﻲ ﻣﯿﺎدﯾﻦ اﻟﻌﻠﻮم اﻟﻤﺨﺘﻠﻔﺔ ‪ ،‬ﺳﻨﻌﺮض ﻓﻲ‬
‫ھﺬه اﻟﺘﺠﺎرب أﺻﻮل ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ اﻟﻤﺮﺋﯿﺔ ) ﻓﯿﺠﻮال ﺑﯿﺴﻚ ( ‪ ،‬وذﻟﻚ ﺑﺈﺳﺘﺨﺪام واﺟﮭﺎت رﺳﻮﻣﯿﺔ ﺗﺴﮭﻞ‬
‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺨﺘﻠﻔﺔ ﺑﻄﺮﯾﻘﺔ ﺗﻔﺎﻋﻠﯿﺔ ﺳﮭﻠﺔ ‪.‬‬

‫ﺗﻌﺮض ﻓﻲ ھﺬه اﻟﺘﺠﺎرب ﻣﺎدة ﻋﻠﻤﯿﺔ ﻣﺘﻤﯿﺰة ﻋﻦ ﺗﻠﻚ اﻟﻤﺘﻮاﻓﺮة ﻣﻦ ﺣﯿﺚ ﻃﺒﯿﻌﺔ اﻟﺸﺮح واﻟﻌﺮض ‪،‬‬
‫اﻻﻣﺜﻠﺔ اﻟﻤﺤﻠﻮﻟﺔ واﻟﺘﻤﺎرﯾﻦ واﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺘﻨﻮﻋﺔ اﻟﺘﻲ ﺗﺘﻨﺎﺳﺐ ﻣﻊ اﻟﺘﺨﺼﺼﺎت ﻛﺎﻓﺔ ) ھﻨﺪﺳﺔ ‪ ،‬ﻋﻠﻮم ‪،‬‬
‫ﺣﺎﺳﻮب ‪ ،‬ﻣﺤﺎﺳﺒﺔ ‪ ،‬ادارة ( ‪.‬‬

‫ﺳﯿﺘﻢ ﺧﻼل ھﺬه اﻟﺘﺠﺎرب وھﻲ إﺛﻨﻰ ﻋﺸﺮ ﺗﺠﺮﺑﺔ ﻣﻮزﻋﺔ ﻓﻲ ﺛﻼث أﺑﻮاب ﻣﺘﺴﻠﺴﻠﺔ وﻣﺘﺮاﺑﻄﺔ ‪،‬‬
‫ﻋﺮض اﻷﻣﺜﻠﺔ اﻟﻤﺘﻨﻮﻋﺔ ﻣﺪﻋﻮﻣﺔ ﺑﺎﻟﺼﻮر اﻟﺘﻲ ﺗﻈﮭﺮ ﻋﻠﻰ ﺷﺎﺷﺔ اﻟﺤﺎﺳﻮب ﻋﻨﺪ اﻟﺘﻨﻔﯿﺬ ﻣﻊ ﺗﺤﻠﯿﻞ اﻟﻨﺘﺎﺋﺞ‬
‫اﻟﻤﺴﺘﺨﻠﺼﺔ وﻣﻨﺎﻗﺸﺔ اﻟﻄﺎﻟﺐ ﺑﺄﺳﻠﻮب ﻋﻤﻠﻲ ﻋﻤﺎ ﺳﯿﺤﺪث ﻟﻮ ﺗﻢ ﺗﻌﺪﯾﻞ ﺑﻌﺾ أﺟﺰاء اﻟﺘﻄﺒﯿﻖ ﻛﺘﻘﻮﯾﻢ ذاﺗﻲ‬
‫ﻟﻠﻄﺎﻟﺐ‪.‬‬

‫ﯾﺘﻀﻤﻦ اﻟﺒﺎب اﻷول أﺳﺎﺳﯿﺎت اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ‪ ،‬اﻟﺘﻌﺮف ﻋﻠﻰ ﺑﯿﺌﺔ اﻟﺘﻄﻮﯾﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ ﺑﺸﻜﻞ‬
‫ﻓﻌﺎل ﻣﻦ ﺧﻼل اﻹﺳﺘﺨﺪام اﻷﻣﺜﻞ ﻟﻸدوات اﻟﻤﺘﻮﻓﺮة ﻣﻊ ﻋﺪد ﻣﻦ اﻷﻣﺜﻠﺔ اﻟﺴﮭﻠﺔ واﻟﺘﻄﺒﯿﻘﯿﺔ واﻟﺘﻤﺎرﯾﻦ اﻟﺘﻲ‬
‫ﺗﻤﻜﻦ اﻟﻄﺎﻟﺐ ﻣﻦ ﻓﮭﻢ اﻻﺳﺎﺳﯿﺎت واﻻدوات ‪.‬‬

‫ﯾﻌﺮض اﻟﺒﺎب اﻟﺜﺎﻧﻲ ﻣﻜﻮﻧﺎت اﻟﺒﺮﻣﺠﺔ ﺑﻠﻐﺔ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﻣﻦ ﻣﺘﻐﯿﺮات وﺛﻮاﺑﺖ ‪ ،‬ﺟﻤﻞ اﻟﺘﻌﯿﯿﻦ‬
‫واﻟﺘﺨﺼﯿﺺ ‪ ،‬ﺟﻤﻞ اﻟﺘﺤﻜﻢ واﻟﺘﻔﺮع وﺟﻤﻞ اﻟﺪوران واﻟﺘﻜﺮار واﻟﻤﺼﻔﻮﻓﺎت وﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ھﺬه‬
‫اﻟﻤﻜﻮﻧﺎت ‪.‬‬

‫أﻣﺎ اﻟﺒﺎب اﻟﺜﺎﻟﺚ ﻓﯿﻀﻢ ﺑﻘﯿﺔ ﻣﻜﻮﻧﺎت اﻟﻠﻐﺔ ﻣﻦ دوال وﺟﻤﻞ ﺟﺎھﺰة ‪ ،‬اﻟﺒﺮاﻣﺞ اﻟﻔﺮﻋﯿﺔ واﻟﺪوال‬
‫اﻟﻮﻇﯿﻔﯿﺔ ‪ ،‬اﻟﻄﺮق اﻟﻤﺘﻘﺪﻣﺔ ﻟﻤﻌﺎﻟﺠﺔ اﻟﺴﻼﺳﻞ اﻟﺤﺮﻓﯿﺔ ‪ ،‬إﻋﺪاد اﻟﺮﺳﻮﻣﺎت واﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺘﻄﺒﯿﻘﺎت ﻣﺘﻌﺪدة‬
‫اﻟﻨﻤﺎذج ‪.‬‬

‫‪I‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻤﺤــﺘﻮﯾــــــﺎت‪-:‬‬

‫‪ ‬اﻟﺒﺎب اﻷول ‪ /‬أﺳﺎﺳﯿﺖ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ‪-:‬‬

‫‪ ‬اﻟﺘﺠﺮﺑﺔ اﻷوﻟﻰ ‪ :‬اﻟﺘﻌﺮف ﻋﻠﻰ ﺑﯿﺌﺔ اﻟﺘﻄﻮﯾﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ ‪.‬‬

‫‪ ‬اﻟﺘﺠﺮﺑﺔ اﻟﺜﺎﻧﯿﺔ ‪ :‬أدوات اﻟﺘﺤﻜﻢ ‪ /‬زر اﻻﻣﺮ ‪ ،‬ﺻﻨﺪوق اﻟﻨﺺ واﻟﻌﻨﻮان‬

‫‪ ‬اﻟﺘﺠﺮﺑﺔ اﻟﺜﺎﻟﺜﺔ ‪ :‬أدوات اﻟﺘﺤﻜﻢ ‪ /‬زر اﻻﺧﺘﯿﺎر ‪ ،‬ﺻﻨﺪوق اﻟﻔﺤﺺ ‪ ،‬أﺷﺮﻃﺔ اﻟﺰﺣﻠﻘﺔ ‪ ،‬ﺻﻨﺪوق‬
‫اﻟﺼﻮرة ‪ ،‬أداة اﻟﺼﻮرة ‪ ،‬أداة اﻷﺷﻜﺎل و اﻟﻤﺆﻗﺖ ‪.‬‬

‫‪ ‬اﻟﺘﺠﺮﺑﺔ اﻟﺮاﺑﻌﺔ ‪ :‬أدوات اﻟﺘﺤﻜﻢ ‪ /‬ﺻﻨﺎدﯾﻖ اﻟﻘﻮاﺋﻢ ‪ ،‬اﻟﺼﻨﺎدﯾﻖ اﻟﻤﺮﻛﺒﺔ ‪ .‬ﻗﻮاﺋﻢ اﻟﺴﻮاﻗﺎت‬
‫واﻟﻤﺠﻠﺪات واﻟﻤﻠﻔﺎت‬

‫‪ ‬اﻟﺒﺎب اﻟﺜﺎﻧﻲ ‪ /‬ﻣﻜﻮﻧﺎت اﻟﺒﺮﻣﺠﺔ ﺑﻠﻐﺔ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ‪-:‬‬

‫‪ ‬اﻟﺘﺠﺮﺑﺔ اﻟﺨﺎﻣﺴﺔ ‪:‬اﻟﻤﺘﻐﯿﺮات واﻟﺜﻮاﺑﺖ ‪ ،‬أﻧﻮاع اﻟﻌﻤﻠﯿﺎت و اﻟﺪوال ‪.‬‬

‫‪ ‬اﻟﺘﺠﺮﺑﺔ اﻟﺴﺎدﺳﺔ ‪ :‬ﺟﻤﻞ اﻟﺘﺤﻜﻢ واﻟﺘﻔﺮع وﺟﻤﻞ اﻟﺪوران واﻟﺘﻜﺮار ‪.‬‬

‫‪ ‬اﻟﺘﺠﺮﺑﺔ اﻟﺴﺎﺑﻌﺔ ‪ :‬اﻟﻤﺼﻔﻮﻓﺎت ‪.‬‬

‫‪ ‬اﻟﺒﺎب اﻟﺜﺎﻟﺚ ‪ /‬ﻣﻜﻮﻧﺎت اﻟﺒﺮﻣﺠﺔ اﻟﻤﺘﻘﺪﻣﺔ ‪-:‬‬

‫‪ ‬اﻟﺘﺠﺮﺑﺔ اﻟﺜﺎﻣﻨﺔ‪ :‬اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻨﻤﺎذج ‪ ،‬ﻃﺮق اﻟﻨﻤﻮذج ‪ ،‬وإﻋﺪاد اﻟﺮﺳﻮﻣﺎت ‪.‬‬

‫‪ ‬اﻟﺘﺠﺮﺑﺔ اﻟﺘﺎﺳﻌﺔ ‪ :‬اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺻﻨﺎدﯾﻖ اﻟﺤﻮار ) ﺻﻨﺎدﯾﻖ اﻹدﺧﺎل واﻟﺮﺳﺎﺋﻞ ( ‪.‬‬

‫‪ ‬اﻟﺘﺠﺮﺑﺔ اﻟﻌﺎﺷﺮة ‪ :‬اﻟﻘﻮاﺋﻢ اﻟﻤﻨﺴﺪﻟﺔ واﻟﻤﺨﺘﺼﺮة ﻣﻊ ﺻﻨﺎدﯾﻖ ﺣﻔﻆ اﻟﻤﻠﻔﺎت واﻟﺨﻄﻮط و اﻟﻠﻮن‬

‫‪ ‬اﻟﺘﺠﺮﺑﺔ اﻟﺤﺎدﯾﺔ ﻋﺸﺮ‪ :‬اﻟﺘﻌﺎﻣﻞ ﻣﻊ أﺣﺪاث اﻟﻔﺄرة وﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ ‪.‬‬

‫‪ ‬اﻟﺘﺠﺮﺑﺔ اﻟﺜﺎﻧﯿﺔ ﻋﺸﺮ ‪ :‬اﻟﺪوال اﻟﻮﻇﯿﻔﯿﺔ واﻟﺒﺮاﻣﺞ اﻟﻔﺮﻋﯿﺔ ‪.‬‬

‫‪II‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻐﺮض ﻣﻦ اﻟﺘﺠﺮﺑﺔ ‪-:‬‬

‫ﺗﮭﺪف ھﺬه اﻟﺘﺠﺮﺑﺔ إﻟﻰ ﺗﻌﻠﯿﻢ اﻟﻄﺎﻟﺐ ﻛﯿﻔﯿﺔ ﺗﺸﻐﯿﻞ ﺑﺮﻧﺎﻣﺞ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﺗﺤﺖ ﻧﻈﺎم اﻟﻨﻮاﻓﺬ ‪windows‬‬
‫ﻟﻐﺮض اﻟﺘﻌﺮف ﻋﻠﻰ ﺑﯿﺌﺔ اﻟﺘﻄﻮﯾﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ وﻓﻮاﺋﺪ اﻟﺒﺮﻣﺠﺔ اﻟﻤﺮﺋﯿﺔ وﺑﻨﺎء اﻟﺘﻄﺒﯿﻖ )اﻟﻤﺸﺮوع( اﻷول ‪.‬‬

‫ﺗﺸﻐﯿﻞ ﺑﺮﻧﺎﻣﺞ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ‪-:‬‬

‫ﻹﺳﺘﺨﺪام أدوات و ﻣﺰاﯾﺎ اﻟﻔﺠﻮال ﺑﯿﺴﻚ ﻻﺑﺪ أوﻻً ﻣﻦ ﺗﺸﻐﯿﻠﮫ ﻛﻤﺎ ﯾﻠﻲ ‪-:‬‬

‫‪Microsoft Visual Studio -3‬‬

‫‪Microsoft Visual Basic -4‬‬

‫‪Program -2‬‬

‫‪Start -1‬‬

‫‪1-1‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫ﻋﻨﺪ ﺗﺸﻐﯿﻞ ﺑﺮﻧﺎﻣﺞ ‪ Visual Basic‬ﺳﻮف ﯾﻈﮭﺮ ﻣﺮﺑﻊ ﺣﻮار ﺟﺪﯾﺪ ‪ New Project‬وﻣﻦ ھﺬا اﻟﻤﺮﺑﻊ ﯾﻤﻜﻨﻚ‬
‫اﺧﺘﯿﺎر ﻧﻮع اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﺗﺮﯾﺪ إﻧﺸﺎءه ‪ .‬ﯾﺸﺘﻤﻞ ﻣﺮﺑﻊ اﻟﻤﺸﺮوع اﻟﺠﺪﯾﺪ ‪ New Project‬ﻋﻠﻰ ﺛﻼث ﺗﺒﻮﯾﺒﺎت ‪-:‬‬

‫‪1‬‬ ‫‪2‬‬
‫‪New .1‬‬
‫‪3‬‬
‫إﻧﺸﺎء ﻣﺸﺮوع ﺟﺪﯾﺪ‬

‫‪Existing .2‬‬
‫اﻟﺨﯿﺎر ‪ Standard‬اوﻻ‬ ‫ﻓﺘﺢ ﻣﺸﺮوع ﻣﻮﺟﻮد وﺗﻢ‬
‫ﺗﺨﺰﯾﻨﮫ ﺳﺎﺑﻘﺎً‬

‫ﺛﻢ اﻟﻨﻘﺮ ﻓﻮق اﻷﻣﺮ ‪Open‬‬


‫‪Recent .3‬‬
‫ﻟﻔﺘﺢ ﻣﺸﺎرﯾﻊ ﻣﻮﺟﻮدة و ﺗﺮﺗﺐ‬
‫ﺣﺴﺐ ﺣﺪاﺛﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ‬

‫ﻧﺎﻓﺬة ‪ Visual Basic‬ﻋﻨﺪ ﺑﺪأ اﻟﺘﻨﻔﯿﺬ‬

‫ﻋﻨﺎﺻﺮ ﺑﯿﺌﺔ اﻟﺘﺼﻤﯿﻢ ‪-:‬‬

‫‪6‬‬ ‫‪ .1‬ﻧﺎﻓﺬة‬
‫‪7‬‬ ‫‪Project Explorer‬‬
‫‪8‬‬

‫‪ .2‬ﻧﺎﻓﺬة‬
‫‪5‬‬ ‫‪1‬‬ ‫‪Properties Window‬‬

‫‪ .3‬ﻧﺎﻓﺬة‬
‫‪Form Layout‬‬
‫‪4‬‬
‫‪ .4‬ﻧﺎﻓﺬة‬
‫‪Form Window‬‬
‫‪2‬‬
‫‪ .5‬ﺻﻨﺪوق اﻷدوات‬
‫‪Toolbox‬‬

‫‪ .6‬ﺷﺮﯾﻂ اﻟﻌﻨﻮان‬
‫‪Title Bar‬‬

‫‪ .7‬ﺷﺮﯾﻂ اﻟﻘﻮاﺋﻢ‬
‫‪Menu Bar‬‬
‫‪3‬‬
‫‪ .8‬ﺷﺮﯾﻂ اﻷدوات‬
‫‪Tools Bar‬‬

‫ﺑﯿﺌﺔ ﺗﺼﻤﯿﻢ ‪Visual Basic‬‬

‫‪1-2‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻌﺮف ﻋﻠﻰ اﻷدوات ‪-:‬‬

‫ﺷﻜﻞ اﻷدوات ﻋﻠﻰ اﻟﻨﻤﻮذج ‪-:‬‬

‫‪1-3‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫ﻓﻮاﺋﺪ اﻷدوات ‪-:‬‬

‫‪ .1‬ﻣﺮﺑﻊ اﻟﻌﻼﻣﺔ‬ ‫‪1.‬‬ ‫أداة اﻟﺼﻮر‬


‫‪ .2‬ﻣﺮﺑﻊ اﻻﺷﯿﺎء‬ ‫‪2.‬‬ ‫أداة اﻟﻨﺺ‬
‫‪ .3‬اداة اﻻﺧﺘﯿﺎر‬ ‫‪3.‬‬ ‫أداة زر اﻻﻣﺮ‬
‫‪ .4‬اداة اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴﺪﻟﺔ‬ ‫‪4.‬‬ ‫أداة ﺻﻨﺪوق اﻻﺧﺘﯿﺎر‬
‫‪ .5‬اﻟﺘﻤﺮﯾﺮ اﻻﻓﻘﻲ‬ ‫‪5.‬‬ ‫أداة اﻟﻘﺎﺋﻤﺔ‬
‫‪ .6‬اﻟﻤﺆﻗﺖ‬ ‫‪6.‬‬ ‫اﻟﺘﻤﺮﯾﺮ اﻟﺮأﺳﻲ‬
‫‪ .7‬ﻟﻌﺮض اﻟﻤﻠﻔﺎت‬ ‫‪7.‬‬ ‫ﻋﺮض ﻣﺤﺮﻛﺎت اﻻﻗﺮاص‬
‫‪ .8‬رﺳﻢ اﻻﺷﻜﺎل اﻟﮭﻨﺪﺳﯿﺔ‬ ‫اﻟﻤﻮﺟﻮدة ﻋﻠﻰ ﺟﮭﻠﺰك‬
‫‪ .9‬ﺻﻮرة‬ ‫ﻟﻌﺮض اﻟﻤﺠﻠﺪات ‪8.‬‬
‫‪ .10‬ﻟﻌﺮض اﻟﺒﺮاﻣﺞ وﺗﺸﻐﯿﻠﮭﺎ‬ ‫رﺳﻢ ﺧﻂ ‪9.‬‬
‫ﯾﻤﻜﻨﻚ ﻋﻦ ﻃﺮﯾﻘﮭﺎ رﺑﻂ ‪10.‬‬
‫ﺑﺮﻧﺎﻣﺠﻚ ﺑﻘﺎﻋﺪة ﺑﯿﺎﻧﺎت‬

‫ﻛﯿﻔﯿﺔ ﻛﺘﺎﺑﺔ اﻟﺸﻔﺮة ‪-:‬‬

‫اﻟﻀﻐﻂ اﻟﻤﺰدوج ﻋﻠﻰ اﻟﻌﻨﺼﺮ اﻟﺬي ﻧﺮﯾﺪ ﻛﺘﺎﺑﺔ ﺷﻔﺮﺗﮫ ‪:‬‬

‫ﻓﺘﻈﮭﺮ ﻧﺎﻓﺬة اﻟﺸﻔﺮة ‪-:‬‬

‫‪1-4‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫ﺗﻜﻮﯾﻦ اﻟﺒﺮﻧﺎﻣﺞ اﻻول ‪-:‬‬

‫‪ .1‬إﺿﺎﻓﺔ زر أﻣﺮ ‪ Command Button‬وأداة ﻋﻨﻮان ‪ Label‬ﻋﻠﻰ اﻟﻨﻤﻮذج ‪. Form‬‬


‫‪ .2‬اﻟﻀﻐﻂ اﻟﻤﺰدوج ﻋﻠﻰ اﻟﻨﻤﻮذج ﻟﻜﺘﺎﺑﺔ اﻟﺸﻔﺮة اﻟﺘﺎﻟﯿﺔ ‪:‬‬

‫)(‪Private Sub Form_Load‬‬


‫"‪Label1.Caption = "Visual Basic‬‬
‫"‪Command1.Caption = "End‬‬
‫‪End Sub‬‬
‫اﻟﻌﻮدة اﻟﻰ اﻟﻨﻤﻮذج واﻟﻀﻐﻂ اﻟﻤﺰدوج ﻋﻠﻰ زر اﻷﻣﺮ ﻟﻜﺘﺎﺑﺔ اﻟﺸﻔﺮة اﻟﺘﺎﻟﯿﺔ ‪:‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪End‬‬
‫‪End Sub‬‬

‫ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬

‫اﻟﻤﻨﺎﻗﺸﺔ ‪-:‬‬

‫‪ .1‬ﺑﻌﺪ اﻟﺘﻌﺮف ﻋﻠﻰ ﻋﻨﺎﺻﺮ ﺑﯿﺌﺔ اﻟﺘﺼﻤﯿﻢ ﻗﻢ ﺑﺈﻏﻼق ﺻﻨﺪوق اﻷدوات وﺟﻤﯿﻊ اﻟﻨﻮاﻓﺬ ﺛﻢ أﺑﺤﺚ ﻋﻦ‬
‫اﻻﯾﻜﻮﻧﺎت واﻷواﻣﺮ اﻟﺘﻲ ﺗﻌﯿﺪ ﻓﺘﺤﮭﺎ ‪.‬‬

‫‪ .2‬أﺿﻒ اﻷدوات إﻟﻰ اﻟﻨﻤﻮذج ﺛﻢ ﺣﺪد اﻟﺨﺼﺎﺋﺺ اﻟﻤﺸﺘﺮﻛﺔ ﺑﯿﻨﮭﺎ ‪.‬‬

‫‪1-5‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻐﺮض ﻣﻦ اﻟﺘﺠﺮﺑﺔ ‪-:‬‬

‫اﻟﺘﻌﺮف ﻋﻠﻰ ﺑﻌﺾ ﻋﻨﺎﺻﺮ)ادوات( اﻟﺘﺤﻜﻢ اﻟﺘﻲ ﺗﻮﻓﺮھﺎ ﻟﻐﺔ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ وھﻲ زر اﻻﻣﺮ ‪ ،‬ﺻﻨﺪوق‬
‫اﻟﻨﺺ واﻟﻌﻨﻮان ‪ ،‬دراﺳﺔ ﺧﺼﺎﺋﺺ ھﺬه اﻻدوات ووﻇﺎﺋﻔﮭﺎ ﺛﻢ إﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﻋﺪد ﻣﻦ اﻟﺘﻄﺒﯿﻘﺎت ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (1-2‬أﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ‪ VB‬ﻹدﺧﺎل إﺳﻢ ﺑﺼﻨﺪوق ﻧﺺ وﻋﺮﺿﮫ ﻋﻠﻰ ﺻﻨﺪوق ﻧﺺ اﺧﺮ ﻣﻊ إﻟﻐﺎء‬
‫ﺗﻔﻌﯿﻞ ﺻﻨﺪوق اﻻدﺧﺎل ﻋﻨﺪ اﻟﻨﻘﺮ ﻋﻠﻰ زر أﻣﺮ ‪ ،‬وزر أﻣﺮ اﺧﺮ ﻹﻋﺎدة ﺗﻔﻌﯿﻞ ﻣﻮﻗﻊ اﻹدﺧﺎل ﻣﻦ ﺟﺪﯾﺪ ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪Text2.Text = Text1.Text‬‬
‫‪Text1.Enabled = False‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Command2_Click‬‬
‫‪Text1.Enabled = True‬‬
‫‪End Sub‬‬

‫س‪ /‬ﻣﺎھﻲ اﻟﺨﺎﺻﯿﺔ اﻟﺒﺪﯾﻠﺔ ﻟﻌﻤﻠﯿﺔ إﻟﻐﺎء ﺗﻔﻌﯿﻞ ﺻﻨﺪوق اﻟﻨﺺ ‪.‬‬

‫‪2-1‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (2-2‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺻﻨﺪوق ﻧﺺ ‪ Text box‬ﯾﻄﺒﻊ ﺑﮫ ﻛﻠﻤﺔ )‪ (Visual Basic‬وﯾﺘﻢ‬
‫ﺗﻠﻮﯾﻦ اﻟﺼﻨﺪوق ﺑﺜﻼث أﻟﻮان إﻋﺘﻤﺎداً ﻋﻠﻰ ﺛﻼث ﻣﻦ ﻋﻨﺎﺻﺮ اﻟﺘﺤﻜﻢ ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪Text1.BackColor = vbRed‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Command2_Click‬‬
‫‪Text1.BackColor = vbBlue‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Command3_Click‬‬
‫‪Text1.BackColor = vbGreen‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Form_Load‬‬
‫"‪Text1.Text = "Visual Basic‬‬
‫‪End Sub‬‬

‫س‪ /‬ﻗﻢ ﺑﺘﻐﯿﯿﺮ ﻋﻨﺎوﯾﻦ اﻻزرار ﻛﻼً ﺣﺴﺐ ﻋﻤﻠﮫ ﻣﺮة ﻣﻦ ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ وأﺧﺮى ﺑﺈﺳﺘﺨﺪام اﻟﺸﻔﺮة ﺛﻢ إﺳﺘﺨﺪم داﻟﺔ‬
‫ﺑﺪﯾﻠﺔ ﻟﺘﻐﯿﯿﺮ اﻷﻟﻮان ‪.‬‬

‫‪2-2‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫ ﺑﺄﺳﺘﺨﺪام‬TextBox ‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﻣﺸﺮوع ﺗﻘﻮم ﺑﺈﻇﮭﺎر إﺳﻤﻚ وﻋﻤﺮك ﻋﻠﻰ ﺻﻨﺪوق ﻧﺺ‬-: (3-2) ‫اﻟﺘﻄﺒﯿﻖ‬
‫ وإﻧﮭﺎء اﻟﻤﺸﺮوع ﻋﻦ‬Clear ‫( وﯾﻤﻜﻦ ﻣﺴﺢ ھﺬه اﻟﻤﻌﻠﻮﻣﺎت ﻋﻦ ﻃﺮﯾﻖ زر أﻣﺮ ﺛﺎﻟﺚ‬name)&(age)‫زري أﻣﺮ‬
. Exit ‫ﻃﺮﯾﻖ اﻟﺰر‬

Private Sub Form_Load()


Command1.Caption = age
Command2.Caption = name
Command3.Caption = clear
Command4.Caption = exit
Text1.Text = " "
End Sub
Private Sub Command1_Click
Text1.Text = "iam 23 years old”
Private Sub Command1_Click()
Text1.Text=”iam 23 years old”
End Sub
Private Sub Command2_Click()
Text1.Text = "my name is sally”
End Sub
Private Sub Command3_Click()
Text1.Text =” “
End Sub
Private Sub Command4_Click()
End
End Sub

. ‫ ﯾﺄﺧﺬ اﻟﻤﻌﻠﻮﻣﺎت ﻣﻦ ﺻﻨﺪوق اﻟﻨﺺ ﻗﺒﻞ ﺗﻐﯿﯿﺮھﺎ‬label ‫ أﺿﻒ اﻟﻰ اﻟﺘﻄﺒﯿﻖ أداة ﻋﻨﻮان‬/‫س‬

2-3
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (4-2‬ﺻﻤﻢ ﺑﺮﻧﺎﻣﺞ ﯾﺤﺘﻮي ﻋﻠﻰ ‪ two commands‬ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﻌﻨﺼﺮ اﻻول ﯾﻨﻘﻞ اﻟﻌﻨﺼﺮ‬
‫اﻟﺜﺎﻧﻲ اﻟﻰ اﻟﺰاوﯾﺔ اﻟﻌﻠﯿﺎ اﻟﯿﺴﺮا وﺗﻐﯿﯿﺮ ﻟﻮن واﺳﻢ اﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻲ اﻣﺎ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻲ ﯾﻨﻘﻞ‬
‫اﻟﻌﻨﺼﺮ اﻻول اﻟﻰ وﺳﻂ ال ‪form‬وﺗﻐﯿﯿﺮ ﻟﻮن واﺳﻢ اﻟﻌﻨﺼﺮ اﻷول ‪.‬‬

‫‪Private Sub Command1_Click‬‬


‫”‪Command2.Caption = “Red‬‬
‫‪Command2.BackColor = vbRed‬‬
‫‪Command2.Top = 0‬‬
‫‪Command2.Left = 0‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Command2_Click‬‬
‫‪Command1.BackColor = vbGreen‬‬
‫”‪Command1.Caption = “green‬‬
‫‪Command1.Top = ScaleWidth / 2‬‬
‫‪Command1.Left = ScaleHeight / 2‬‬
‫‪Form1.Caption = "wellcome‬‬
‫‪End Sub‬‬

‫ﻣﻼﺣﻈﺔ ‪ -:‬اﻟﺰاوﯾﺔ اﻟﻌﻠﯿﺎ اﻟﯿﺴﺮى ﻟﻠﻨﻤﻮذج ﺗﺘﺤﺪد ﺑﺎﻟﻤﻮﻗﻊ )‪ (0،0‬وھﻲ ﺗﻤﺜﻞ ﻧﻘﻄﺔ اﻷﺻﻞ )اﻟﺒﺪاﯾﺔ( ﻟﻠﻨﻤﻮذج اﻟﺬي ﯾﻜﻮن ﺑﻌﺮض‬
‫‪ form1.width‬أو ‪ form1.scalewidth‬وﺑﺎرﺗﻔﺎع ‪ form1.height‬أو ‪. form1.scaleheight‬‬

‫س‪ /‬ﻣﺎ اﻟﺨﺎﺻﯿﺔ اﻟﺘﻲ ﯾﺠﺐ ﺗﻌﺪﯾﻠﮭﺎ ﻟﺰري اﻻﻣﺮ ﻟﻜﻲ ﺗﻈﮭﺮ اﻟﻠﻮن اﻟﺨﻠﻔﻲ ﻟﮭﻤﺎ؟‬

‫‪2-4‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (5-2‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺑﻌﻨﺼﺮ ﺗﺤﻜﻢ واﺣﺪ ﻋﻨﺪ اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﻨﻤﻮذج ﯾﻨﺘﻘﻞ اﻟﻌﻨﺼﺮ اﻟﻰ اﻟﺰاوﯾﺔ اﻟﻌﻠﯿﺎ اﻟﯿﺴﺮا‬
‫ﻟﻠﻨﻤﻮذج وﯾﺼﺒﺢ ﺣﺠﻤﮫ ﻣﺴﺎوي اﻟﻰ ﺣﺠﻢ اﻟﻨﻤﻮذج ﻣﻊ ﺗﻐﯿﯿﺮ ﻟﻮن اﻟﻌﻨﺼﺮ إﻟﻰ اﻷﺧﻀﺮ ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪Command1.Top = 0‬‬
‫‪Command1.Left = 0‬‬
‫‪Command1.Height = Form1.Height‬‬
‫‪Command1.Width = Form1.Width‬‬
‫‪Command1.BackColor = vbGreen‬‬
‫‪End Sub‬‬

‫س‪ /‬اﻛﺘﺐ اﻟﺸﻔﺮة اﻟﻼزﻣﺔ ﻟﺘﺼﻐﯿﺮ اﺑﻌﺎد زر اﻻﻣﺮ ﻋﻨﺪ اﻟﻨﻘﺮ ﻋﻠﯿﮫ ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (6-2‬ﺻﻤﻢ اﻟﻨﺎﻓﺬة اﻟﺘﺎﻟﯿﺔ اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ ‪ command‬و ‪ text‬ﺑﻌﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ وﻋﻨﺪ اﻟﻜﺘﺎﺑﺔ‬
‫ﻋﻠﻰ ﺻﻨﺪوق اﻟﻨﺺ ﯾﺘﻐﯿﺮ ﻟﻮﻧﮫ اﻟﺨﻠﻔﻲ اﻟﻰ اﻻﺣﻤﺮ وﯾﻜﺘﺐ ﺑﮫ ‪ aaa‬اﻣﺎ ﻋﻨﺪ ﺿﻐﻂ ال ‪ command‬ﯾﺘﻐﯿﯿﺮ ﻟﻮن‬
‫ال ‪ text‬إﻟﻰ اﻷﺧﻀﺮ ﻣﻊ ﻣﺴﺢ ﻣﺤﺘﻮﯾﺎت اﻟﺼﻨﺪوق ‪.‬‬

‫‪2-5‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫)(‪Private Sub Command1_Click‬‬


‫" " = ‪Text1.Text‬‬
‫‪Text1.BackColor = vbGreen‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Form_Load‬‬
‫‪Text1.Text = Text1.Text‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Text1_Change‬‬
‫‪Text1.BackColor = vbRed‬‬
‫‪End Sub‬‬

‫س‪ /‬إﺟﻌﻞ ﺻﻨﺪوق اﻟﻨﺺ ﯾﺴﺘﻮﻋﺐ اي ﻧﺺ ﯾﻤﻜﻦ ﻛﺘﺎﺑﺘﮫ ﻋﻠﯿﮫ ﻣﻊ اﻇﮭﺎره ﺑﺎﻟﻜﺎﻣﻞ ﺑﺄﻛﺜﺮ ﻣﻦ ﻃﺮﯾﻘﺔ وذﻟﻚ‬
‫ﺑﺎﻻﻋﺘﻤﺎد ﻋﻠﻰ اﻟﺨﺼﺎﺋﺺ اﻻﺧﺮى ﻟﺼﻨﺪوق اﻟﻨﺺ ‪.‬‬

‫ﺗﻤﺎرﯾﻦ وﺗﺪرﯾﺒﺎت ‪:‬‬

‫ﯾﻘﻮم اﻟﻤﺸﺮف ﻋﻠﻰ اﻟﺤﺼﺔ اﻟﻤﺨﺘﺒﺮﯾﺔ ﺑﺈﺧﺘﺒﺎر اﻟﻄﻠﺒﺔ ﺑﻌﺪد ﻣﻦ اﻟﺘﻤﺎرﯾﻦ اﻟﻤﺘﻌﻠﻘﺔ ﺑﻤﻮﺿﻮع اﻟﺘﺠﺮﺑﺔ ﻧﻈﺮﯾًﺎ‬
‫وﻣﻦ ﺛﻢ ﺑﺘﻄﺒﯿﻘﮭﺎ ﻋﻠﻰ اﻟﺤﺎﺳﻮب ‪.‬‬

‫‪2-6‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻐﺮض ﻣﻦ اﻟﺘﺠﺮﺑﺔ ‪-:‬‬


‫اﻟﺘﻌﺮف ﻋﻠﻰ ﺑﻌﺾ ﻋﻨﺎﺻﺮ ) أدوات ( اﻟﺘﺤﻜﻢ اﻟﺘﻲ ﺗﻮﻓﺮھﺎ ﻟﻐﺔ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ وھﻲ زر اﻹﺧﺘﯿﺎر ‪،‬‬
‫ﺻﻨﺪوق اﻟﻔﺤﺺ ‪ ،‬أﺷﺮﻃﺔ اﻟﺰﺣﻠﻘﺔ ‪ ،‬ﺻﻨﺪوق اﻟﺼﻮرة ‪ ،‬أداة اﻟﺼﻮرة ‪ ،‬أداة اﻷﺷﻜﺎل و اﻟﻤﺆﻗﺖ ﻣﻊ دراﺳﺔ‬
‫ﺧﺼﺎﺋﺺ ھﺬه اﻷدوات ووﻇﺎﺋﻔﮭﺎ ﺛﻢ إﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﻋﺪد ﻣﻦ اﻟﺘﻄﺒﯿﻘﺎت ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (1-3‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺻﻨﺪوق ﺻﻮرة ‪ picture box‬وزري أﻣﺮ‪command buttons‬‬
‫أﺣﺪھﻤﺎ ﻟﺘﺤﻤﯿﻞ اﻟﺼﻮرة واﻻﺧﺮ ﻟﺤﺬف اﻟﺼﻮرة ﻣﻊ إﺳﺘﺨﺪام ‪ text box‬ﻟﻌﺮض ﻣﺴﺎر اﻟﺼﻮرة ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫)""(‪Picture1.Picture = LoadPicture‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Command2_Click‬‬
‫"‪Text1.Text = "C:\Documents and Settings\pc\Desktop\picture\image.jpg‬‬
‫‪Picture1.Picture = LoadPicture("C:\Documents and‬‬
‫)"‪Settings\pc\Desktop\picture\image.jpg‬‬
‫‪End Sub‬‬

‫س‪ /‬أﺿﻒ ﺻﻨﺪوق ﺻﻮرة اﺧﺮ ﻟﺘﺤﻤﯿﻞ ﺻﻮرة اﺧﺮى واﻛﺘﺐ ﺷﻔﺮة ﺑﺮﻣﺠﯿﺔ ﻟﻠﺘﺒﺎدل ﻣﺎﺑﯿﻦ اﻟﺼﻮرﺗﯿﻦ ‪.‬‬

‫‪4-1‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

. text box ‫ ﺻﻤﻢ اﻟﻨﺎﻓﺬة اﻟﺘﺎﻟﯿﺔ ﻟﻠﺘﺤﻜﻢ ﺑﺈﻋﺪادات اﻟﻨﺺ ﻓﻲ ﺻﻨﺪوق اﻟﻨﺺ‬-: (2-3) ‫اﻟﺘﻄﺒﯿﻖ‬

Private Sub Check1_Click()


Text1.FontBold = Check1.Value
End Sub
Private Sub Check2_Click()
Text1.FontItalic = Check2.Value
End Sub
Private Sub Check3_Click ()
Text1.FontUnderline = Check3.Value
End Sub
Private Sub Option1_Click()
Text1.FontSize = 10
End Sub
Private Sub Option2_Click()
Text1.FontSize = 14
End Sub
Private Sub Option3_Click()
Text1.FontSize = 18
End Sub

‫ ﺗﺤﺘﻮي ﻋﻠﻰ ﻗﯿﻤﺘﯿﻦ ﻣﻦ ﻧﻮﻋﯿﻦ ﻣﺨﺘﻠﻔﯿﻦ ﻣﺎ ھﻤﺎ وﻛﯿﻒ‬text1.fontbold=check1.value ‫ اﻟﻌﺒﺎرة‬/‫س‬


‫ﯾﺤﺪث اﻟﺘﻮاﻓﻖ ﺑﯿﻨﮭﻤﺎ ؟‬

4-2
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

. ‫ ﺻﻤﻢ ﺑﺮﻧﺎﻣﺞ ﻟﺘﻤﺜﯿﻞ ﻋﻤﻞ اﻹﺷﺎرة اﻟﻤﺮورﯾﺔ‬-: (3-3) ‫اﻟﺘﻄﺒﯿﻖ‬

Private Sub Form_Load()


Shape1.BackStyle = 1
Shape2.BackStyle = 1
Shape3.BackStyle = 1
Shape4.BackStyle = 0
Shape5.BackStyle = 1
Shape6.BackStyle = 1
Shape1.BackColor = vbRed
Shape2.BackColor = vbYellow
Shape3.BackColor = vbGreen
Shape1.Top = Shape4.Top
Shape2.Top = Shape5.Top
Shape3.Top = Shape6.Top
Timer1.Enabled = True
Timer1.Interval = 5000
End Sub
Private Sub Timer1_Timer()
a = Shape4.Top
Shape4.Top = Shape5.Top
Shape5.Top = Shape6.Top
Shape6.Top = a
End Sub

‫ ﻟﻠﺸﻜﻞ اﻟﺮاﺑﻊ واﻟﺨﺎﻣﺲ واﻟﺴﺎدس وﻣﺎھﻲ اﻻﺿﺎﻓﺔ ﻟﻠﺸﻔﺮة ﻟﺠﻌﻞ‬backstyle 0 ‫ ﻣﺎذا ﯾﺤﺪث ﻟﻮﺟﻌﻠﻨﺎ ﻗﯿﻤﺔ ال‬/‫س‬
‫اﻻﺷﻜﺎل اﻟﺴﺎﺑﻘﺔ ﺗﺄﺧﺬ ﻧﻔﺲ إﺣﺪاﺛﯿﺎت اﻻﺷﻜﺎل اﻻوﻟﻰ ﻓﯿﻤﺎ ﻟﻮ ﺗﻢ وﺿﻊ اﻟﺸﻜﻞ اﻟﺮاﺑﻊ واﻟﺨﺎﻣﺲ واﻟﺴﺎدس ﻓﻲ أﻣﺎﻛﻦ‬
. ‫ﻋﺸﻮاﺋﯿﺔ ﻋﻠﻰ اﻻﺣﺪاﺛﻲ اﻟﺴﯿﻨﻲ ﻓﻲ ﻣﺮﺣﻠﺔ اﻟﺘﺼﻤﯿﻢ‬

4-3
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫ وﯾﺘﻢ اﻟﺨﺮوج‬option button ‫ ﺻﻤﻢ اﻟﻨﺎﻓﺬة أدﻧﺎه ﺑﺤﯿﺚ ﯾﺘﻢ ﺗﻐﯿﯿﺮ ﻟﻮن اﻷﺷﻜﺎل ﻋﻨﺪ ﺗﺤﺪﯾﺪه ﻣﻦ‬-: (4-3) ‫اﻟﺘﻄﺒﯿﻖ‬
. end ‫ﻣﻦ اﻟﻨﺎﻓﺬة ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ زر‬

Private Sub Command1_Click()


End
End Sub
Private Sub Option1_Click()
Shape1.BackColor = vbRed
Shape2.BackColor = vbRed
Shape3.BackColor = vbRed
End Sub
Private Sub Option2_Click()
Shape1.BackColor = vbGreen
Shape2.BackColor = vbGreen
Shape3.BackColor = vbGreen
End Sub
Private Sub Option3_Click()
Shape1.BackColor = vbBlue
Shape2.BackColor = vbBlue
Shape3.BackColor = vbBlue
End Sub

‫ إﺳﺘﺒﺪل ﻋﻨﺎﺻﺮ اﻹﺧﺘﯿﺎر اﻟﺜﻼﺛﺔ ﺑﻌﻨﺎﺻﺮ ﺗﺤﻜﻢ ﺑﻨﻔﺲ اﻟﺘﺴﻤﯿﺔ ﺣﯿﺚ ﯾﻘﻮم ﻛﻞ ﻋﻨﺼﺮ ﺑﺈﻋﻄﺎء ﺗﺪرﺟﺎت‬/‫س‬
. ‫اﻟﻠﻮن اﻟﺘﺎﺑﻊ ﻟﮫ ﻟﻼﺷﻜﺎل اﻟﺜﻼﺛﺔ‬

4-4
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫ وﺛﻼﺛﺔ ﻣﻦ أزرار اﻷﻣﺮ واﻛﺘﺐ‬picture box ‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺻﻨﺪوﻗﻲ ﺻﻮرة‬-: (5-3) ‫اﻟﺘﻄﺒﯿﻖ‬
. ‫ ﻋﻠﻰ اﻟﺼﻮرة‬copy , cut , paste ‫ﺷﻔﺮة ﻟﻜﻞ زر أﻣﺮ ﻹﻧﺠﺎز ﻋﻤﻠﯿﺎت ال‬

Private Sub Command1_Click()


Clipboard.Clear
Clipboard.SetData Picture1.Picture
Picture1.Picture = LoadPicture()
End Sub
Private Sub Command2_Click()
Clipboard.Clear
Clipboard.SetData Picture1.Picture
End Sub
Private Sub Command3_Click()
Picture2.Picture = Clipboard.GetData
End Sub
Private Sub Form_Load()
Picture1.Picture = LoadPicture(C:\Documents and
Settings\pc\Desktop\picture\image.jpg)
End Sub

. clipboard ‫ ﻛﯿﻒ ﯾﻤﻜﻦ إﺟﺮاء اﻟﻌﻤﻠﯿﺎت اﻟﺜﻼﺛﺔ دون اﻻﻋﺘﻤﺎد ﻋﻠﻰ ال‬/‫س‬

4-5
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (6-3‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ أداﺗﻲ ﺻﻮرة ‪ image tool‬ﻣﻊ وﺿﻊ اﻟﺼﻮرة اﻟﺜﺎﻧﯿﺔ ﻓﻮق اﻟﺼﻮرة‬
‫اﻻوﻟﻰ وﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺼﻮرة اﻟﺜﺎﻧﯿﺔ ﺗﻈﮭﺮ اﻟﺼﻮرة اﻻوﻟﻰ ‪.‬‬

‫)(‪Private Sub Form_Load‬‬


‫‪Image1.Picture = LoadPicture(C:\Documents and‬‬
‫)‪Settings\pc\Desktop\picture\image2.jpg‬‬
‫‪Image2.Picture = LoadPicture (C:\Documents and‬‬
‫)‪Settings\pc\Desktop\picture\image10.jpg‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Image2_Click‬‬
‫‪Image2.Visible = False‬‬
‫‪End Sub‬‬

‫س‪ /‬اﻛﺘﺐ ﺷﻔﺮة اﺧﺮى ﻟﺠﻌﻞ اﻟﺼﻮرة اﻟﺜﺎﻧﯿﺔ ﺗﺼﻐﺮ وﺗﻨﺘﻘﻞ اﻟﻰ إﺣﺪى أرﻛﺎن اﻟﺼﻮرة اﻷوﻟﻰ ‪ ،‬ﺟﺮب ﻷﻛﺜﺮ‬
‫ﻣﻦ ﻣﻮﻗﻊ ﻋﻠﻰ اﻟﺼﻮرة اﻷوﻟﻰ ‪.‬‬

‫‪4-6‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫ وﯾﻌﺮض ﺑﺎﻟﻀﻐﻂ ﻋﻠﯿﮫ ﺳﺎﻋﺔ أﻟﻜﺘﺮوﻧﯿﺔ ﻋﻠﻰ‬start ‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ زري أﻣﺮاﻻول‬-: (7-3) ‫اﻟﺘﻄﺒﯿﻖ‬
‫ ﯾﻮﻗﻒ‬stop ‫ وﻛﺬﻟﻚ ﻋﺮض ﻣﺠﻤﻮﻋﺔ ﻋﺸﻮاﺋﯿﺔ ﻣﻦ اﻷﻟﻮان ﻋﻠﯿﮫ ﺑﺤﯿﺚ ﯾﺘﻐﯿﺮ اﻟﻠﻮن ﻛﻞ ﺛﺎﻧﯿﺔ وزر‬label
. ‫اﻟﻌﻤﻠﯿﺎت أﻋﻼه‬

Private Sub Command1_Click()


Timer1.Enabled = True
Command1.Enabled = False
Command2.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
Command1.Enabled = True
Command2.Enabled = False
End Sub
Private Sub Form_Load()
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Time
a1 = 255 * Rnd
a2 = 255 * Rnd
a3 = 255 * Rnd
Label1.BackColor = RGB(a1, a2, a3)
End Sub

‫ اﻛﺘﺐ ﺷﻔﺮة اﻟﻤﺆﻗﺖ ﺑﺄﻗﻞ ﻋﺪد ﻣﻦ اﻟﺨﻄﻮات واﺳﺘﺨﺪم ﺷﺮﯾﻂ زﺣﻠﻘﺔ ﻻﻋﻄﺎء ﻗﯿﻢ اﻟﺘﺪرﺟﺎت اﻟﻠﻮﻧﯿﺔ‬/‫س‬
.‫اﻟﻌﺸﻮاﺋﯿﺔ‬

4-7
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (8-3‬ﺻﻤﻢ ﻧﺎﻓﺬة ﻧﻤﻮذج ﯾﻈﮭﺮ ﻓﻲ ﺷﺮﯾﻂ ﻋﻨﻮاﻧﮭﺎ اﻟﺘﺎرﯾﺦ واﻟﻮﻗﺖ وﯾﺘﻐﯿﺮ ﻟﻮن ﺧﻠﻔﯿﺔ اﻟﻨﺎﻓﺬة ﻛﻞ ﺛﺎﻧﯿﺔ‬
‫ﺑﺎﻷﺿﺎﻓﺔ إﻟﻰ وﺟﻮد أﺷﺮﻃﺔ أﻓﻘﯿﺔ )‪ (shapes‬ﻛﻞ ﺷﺮﯾﻂ ﯾﻈﮭﺮ ﺑﻠﻮن ﻣﺨﺘﻠﻒ ﻋﻨﺪ ﻣﺮور ﻛﻞ ﺛﺎﻧﯿﺔ ‪.‬‬

‫)(‪Private Sub form1_load‬‬


‫)(‪Form1.Caption = Now‬‬
‫‪Timer1.Enabled = True‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Timer1_Timer‬‬
‫‪a1 = Rnd * 255‬‬
‫‪a2 = Rnd * 255‬‬
‫‪a3 = Rnd * 255‬‬
‫)‪Shape1.BackColor = RGB(a3, a1, a2‬‬
‫)‪Shape2.BackColor = RGB(a1, a3, a2‬‬
‫)‪Shape3.BackColor = RGB(a3, a2, a1‬‬
‫)‪Form1.BackColor = RGB(a1, a2, a3‬‬
‫‪End Sub‬‬

‫س‪ /‬إﺳﺘﺒﺪل داﻟﺔ ال‪ RGB‬ﺑﺪاﻟﺔ ال‪ QBCOLOR‬ﻣﻊ اﻷﺧﺬ ﺑﻨﻈﺮ اﻹﻋﺘﺒﺎر ﻋﺪم ﻇﮭﻮر اي رﺳﺎﻟﺔ ﺧﻄﺄ ﻋﻨﺪ‬
‫اﻟﺘﻨﻔﯿﺬ ‪.‬‬

‫‪4-8‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -:(9-3‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺷﻜﻞ ‪ shape‬و ﻣﺆﻗﺖ ‪ timer‬وزري أﻣﺮ ﯾﻘﻮم اﻟﺰر اﻻول ﺑﺘﺤﺮﯾﻚ‬
‫اﻟﺸﻜﻞ ﺑﺈﺗﺠﺎه ﻗﻄﺮي ) ﻧﺤﻮ اﻻﺳﻔﻞ واﻟﯿﺴﺎر أو ﻧﺤﻮ اﻻﺳﻔﻞ واﻟﯿﻤﯿﻦ ( وﺗﻜﺒﯿﺮه ﺑﯿﻨﻤﺎ ﯾﻘﻮم اﻟﺰر اﻟﺜﺎﻧﻲ ﺑﺎﻟﺨﺮوج ﻣﻦ‬
‫اﻟﺘﻨﻔﯿﺬ ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪End‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Command2_Click‬‬
‫‪Timer1.Enabled = True‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Form_Load‬‬
‫‪Timer1.Enabled = False‬‬
‫‪Timer1.Interval = 100‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Timer1_Timer‬‬
‫‪Shape1.Left = Shape1.Left - 35‬‬
‫‪Shape1.Top = Shape1.Top + 20‬‬
‫‪Shape1.Width = Shape1.Width + 20‬‬
‫‪Shape1.Height = Shape1.Height + 20‬‬
‫‪End Sub‬‬

‫س‪ /‬أﺿﻒ ﻋﻨﺎﺻﺮ ﺗﺤﻜﻢ ﻟﻨﻘﻞ اﻟﺸﻜﻞ ﯾﻤﯿﻨﺎً وﯾﺴﺎراً وﻟﻸﻋﻠﻰ وﻟﻸﺳﻔﻞ وﻟﻼﺗﺠﺎھﺎت اﻟﻘﻄﺮﯾﺔ اﻻرﺑﻌﺔ وﻓﻲ ﻛﻞ‬
‫اﻧﺘﻘﺎل ﯾﺘﻢ ﺗﻐﯿﯿﺮ أﺑﻌﺎد اﻟﺸﻜﻞ اﻣﺎ ﺑﺘﻜﺒﯿﺮه او ﺗﺼﻐﯿﺮه ‪ ،‬ﺛﻢ اﻋﺪ اﻟﺘﻄﺒﯿﻖ ﺑﺎﺿﺎﻓﺔ ﺷﺮﯾﻂ زﺣﻠﻘﺔ ﯾﺘﻢ ﻣﻦ ﺧﻼﻟﮫ ﺗﻐﯿﯿﺮ‬
‫اﺑﻌﺎد وﻟﻮن اﻟﺸﻜﻞ ‪.‬‬

‫‪4-9‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (10-3‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﻈﮭﺮ ﻋﻨﺪ اﻟﺘﻨﻔﯿﺬ ﺷﺮﯾﻂ زﺣﻠﻘﺔ ﯾﻨﺘﻘﻞ ﻣﺆﺷﺮه ﻣﻦ ‪ Min‬اﻟﻰ ‪ Max‬ﺗﻠﻘﺎﺋﯿﺎً وﺗﺪرﯾﺠﯿًﺎ‬
‫) ﻻﺣﻆ ﻛﯿﻒ ﺳﯿﻨﺘﮭﻲ اﻟﺒﺮﻧﺎﻣﺞ ( ؟ ‪.‬‬

‫)(‪Private Sub Form_Load‬‬


‫‪Timer1.Interval = 500‬‬
‫‪HScroll1.Min = 0‬‬
‫‪HScroll1.Max = 255‬‬
‫‪HScroll1.SmallChange = 5‬‬
‫‪HScroll1.LargeChange = 10‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Timer1_Timer‬‬
‫‪HScroll1.Value = HScroll1.Value + 10‬‬
‫‪End Sub‬‬

‫س‪ /‬إﺟﻌﻞ ﺳﺮﻋﺔ اﻟﻤﺆﻗﺖ ﻣﺘﻐﯿﺮة ﻣﻊ ﺣﺮﻛﺔ ﺷﺮﯾﻂ اﻟﺰﺣﻠﻘﺔ ﺑﺤﯿﺚ ﺗﺰداد ﺳﺮﻋﺘﮫ ﻛﻠﻤﺎ اﺗﺠﮭﻨﺎ ﻧﺤﻮ ال‪ min‬اﻟﺘﺎﺑﻊ‬
‫ﻟﻠﺸﺮﯾﻂ وﺗﻘﻞ ﺳﺮﻋﺘﮫ ﻛﻠﻤﺎ اﺗﺠﮭﻨﺎ ﻧﺤﻮ ال ‪ max‬اﻟﺘﺎﺑﻊ ﻟﻠﺸﺮﯾﻂ وﺑﺎﻟﻌﻜﺲ ‪.‬‬

‫ﺗﻤﺎرﯾﻦ وﺗﺪرﯾﺒﺎت ‪-:‬‬


‫ﯾﻘﻮم اﻟﻤﺸﺮف ﻋﻠﻰ اﻟﺤﺼﺔ اﻟﻤﺨﺘﺒﺮﯾﺔ ﺑﺎﺧﺘﺒﺎر اﻟﻄﻠﺒﺔ ﺑﻌﺪد ﻣﻦ اﻟﺘﻤﺎرﯾﻦ اﻟﻤﺘﻌﻠﻘﺔ ﺑﻤﻮﺿﻮع اﻟﺘﺠﺮﺑﺔ ﻧﻈﺮﯾﺎً‬
‫وﻣﻦ ﺛﻢ ﺑﺘﻄﺒﯿﻘﮭﺎ ﻓﻲ اﻟﺤﺎﺳﻮب ‪.‬‬

‫‪4-10‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻐﺮض ﻣﻦ اﻟﺘﺠﺮﺑﺔ ‪-:‬‬


‫اﻟﺘﻌﺮف ﻋﻠﻰ ﺑﻌﺾ ﻋﻨﺎﺻﺮ) أدوات ( اﻟﺘﺤﻜﻢ اﻟﺘﻲ ﺗﻮﻓﺮھﺎ ﻟﻐﺔ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ وھﻲ أدوات اﻟﺘﺤﻜﻢ ‪:‬‬
‫ﺻﻨﺎدﯾﻖ اﻟﻘﻮاﺋﻢ ‪ ،‬اﻟﺼﻨﺎدﯾﻖ اﻟﻤﺮﻛﺒﺔ ‪ ،‬ﻗﻮاﺋﻢ اﻟﺴﻮاﻗﺎت واﻟﻤﺠﻠﺪات واﻟﻤﻠﻔﺎت ‪ ،‬دراﺳﺔ ﺧﺼﺎﺋﺺ ھﺬه اﻻدوات‬
‫ووﻇﺎﺋﻔﮭﺎ ﺛﻢ إﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﻋﺪد ﻣﻦ اﻟﺘﻄﺒﯿﻘﺎت ‪.‬‬
‫اﻟﺘﻄﺒﯿﻖ )‪ -: (1-4‬ﺻﻤﻢ ﺑﺮﻧﺎﻣﺞ ﯾﺤﺘﻮي ﻋﻠﻰ ‪ listbox‬و ‪ textbox‬ﯾﻘﻮﻣﺎن ﺑﻨﻔﺲ ﻋﻤﻞ ال ‪ combo box‬ﻣﻦ‬
‫اﻟﻨﻮع ‪.simple combo‬‬

‫)(‪Private Sub Form_Load‬‬


‫"‪List1.AddItem "ali‬‬
‫"‪List1.AddItem "ahmed‬‬
‫"‪List1.AddItem "sura‬‬
‫"‪List1.AddItem "asmaa‬‬
‫"‪List1.AddItem "fadi‬‬
‫‪End Sub‬‬
‫)(‪Private Sub List1_Click‬‬
‫‪Text1.Text = List1.Text‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Text1_DblClick‬‬
‫‪List1.AddItem Text1.Text‬‬
‫‪End Sub‬‬
‫س‪ /‬أﻋﺪ اﻟﺒﺮﻧﺎﻣﺞ ﺑﺈﺿﺎﻓﺔ ‪ command‬ﯾﻌﻤﻞ ﻋﻠﻰ ﺣﺬف ﻋﻨﺼﺮ ﻣﻦ ال ‪ list‬ﯾﺘﻢ ﺗﺤﺪﯾﺪ ﻣﻮﻗﻊ اﻟﻌﻨﺼﺮ ﻣﻦ ﺧﻼل‬
‫ﺻﻨﺪوق ﻧﺺ ‪.‬‬

‫‪4-1‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (2-4‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ‪ list box‬و ‪ text box‬وﺛﻼﺛﺔ ﻣﻦ ﺻﻨﺎدﯾﻖ اﻻﺧﺘﯿﺎر ‪option‬‬
‫‪ button‬ﻋﻨﺼﺮ اﻻﺧﺘﯿﺎر اﻻول ﯾﻌﻤﻞ ﻋﻠﻰ اﺿﺎﻓﺔ ﻋﻨﺼﺮ اﻟﻰ ﺻﻨﺪوق اﻟﻘﺎﺋﻤﺔ وﻋﻨﺼﺮ اﻻﺧﺘﯿﺎر اﻟﺜﺎﻧﻲ ﯾﻌﻤﻞ ﻋﻠﻰ‬
‫ﺣﺬف ﻋﻨﺼﺮ و ﻋﻨﺼﺮ اﻻﺧﺘﯿﺎر اﻟﺜﺎﻟﺚ ﯾﻌﻤﻞ ﻋﻠﻰ ﺣﺴﺎب ﻋﺪد اﻟﻌﻨﺎﺻﺮ ﺿﻤﻦ ﺻﻨﺪوق اﻟﻘﺎﺋﻤﺔ وﻋﺮض اﻟﻨﺎﺗﺞ‬
‫ﻋﻠﻰ ‪.label‬‬

‫)(‪Private Sub Form_Load‬‬


‫"‪List1.AddItem "ali‬‬
‫"‪List1.AddItem "ahmed‬‬
‫"‪List1.AddItem "asel‬‬
‫"‪List1.AddItem "noor‬‬
‫"‪List1.AddItem "yy‬‬
‫‪End Sub‬‬
‫)(‪Private Sub option1_Click‬‬
‫‪List1.AddItem Text1.Text‬‬
‫""=‪Text1.Text‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Option2_Click‬‬
‫‪List1.RemoveItem List1.ListIndex‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Option3_Click‬‬
‫‪x = List1.ListCount‬‬
‫‪Label1.Caption = "no. of items is " & x‬‬
‫‪End Sub‬‬

‫س‪ /‬اﻋﺪ ﺗﻨﻔﯿﺬ اﻟﺘﻄﺒﯿﻖ وذﻟﻚ ﺑﺎﺳﺘﺒﺪال أزرار اﻻﺧﺘﯿﺎر ﺑﺼﻨﺎدﯾﻖ ﻓﺤﺺ ﺗﻌﻤﻞ ﻋﻤﻞ ازرار اﻻﺧﺘﯿﺎر ‪.‬‬

‫‪4-2‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (3-4‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺻﻨﺪوﻗﻲ ﻗﺎﺋﻤﺔ ‪ list box‬ﺗﺤﺘﻮﯾﺎن ﻋﻠﻰ ﻋﺪد ﻣﻦ اﻻرﻗﺎم وزري إﺧﺘﯿﺎر‬
‫‪ ، option button‬اﻹﺧﺘﯿﺎر اﻷول ﯾﻌﻤﻞ ﻋﻠﻰ اﺧﺘﯿﺎر اﻟﻤﻌﺎدﻟﺔ ‪، x‬واﻹﺧﺘﯿﺎر اﻟﺜﺎﻧﻲ ﯾﻌﻤﻞ ﻋﻠﻰ إﺧﺘﯿﺎر اﻟﻤﻌﺎدﻟﺔ ‪ y‬ﺑﻌﺪ ان‬
‫ﯾﺘﻢ اﺧﺬ ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ a‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ اﻻوﻟﻰ وﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ ‪ b‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ اﻟﺜﺎﻧﯿﺔ وﻋﺮض ﻧﺎﺗﺞ اﻟﻤﻌﺎدﻟﺔ ﻋﻠﻰ ‪. label‬‬
‫‪X=(a+3)/b‬‬ ‫ﻣﻼﺣﻈﺔ‪ /‬اﻟﻤﻌﺎدﻟﺘﺎن ھﻤﺎ ‪-:‬‬
‫‪Y=b*a/4‬‬

‫‪Dim a As Integer, b As Integer, x As Single , y As Single‬‬


‫)(‪Private Sub Command1_Click‬‬
‫" " = ‪a = 0 : b = 0 : x = 0 : y = o : Label1‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Form_Load‬‬
‫"‪List1.AddItem "2‬‬
‫"‪List1.AddItem "4‬‬
‫"‪List1.AddItem "6‬‬
‫"‪List1.AddItem "8‬‬
‫"‪List1.AddItem "10‬‬
‫"‪List2.AddItem "6‬‬
‫"‪List2.AddItem "7‬‬
‫"‪List2.AddItem "8‬‬
‫"‪List2.AddItem "9‬‬
‫‪End Sub‬‬
‫)(‪Private Sub List1_Click‬‬
‫‪a = List1.Text‬‬
‫‪End Sub‬‬
‫)(‪Private Sub List2_Click‬‬
‫‪b = List2.Text‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Option1_Click‬‬
‫‪x = (a + 3) / b‬‬
‫‪Label1 = “x= ” & x‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Option2_Click‬‬
‫‪y = (b * a) / 4‬‬
‫‪Label1 = “y= ” & y‬‬
‫‪End Sub‬‬
‫س‪ /‬ﻗﻢ ﺑﺎﻋﺎدة اﻟﺘﻄﺒﯿﻖ ﺑﺄﺿﺎﻓﺔ ﻋﻨﺼﺮ ﺗﺤﻜﻢ واﻛﺘﺐ ﺷﻔﺮة ﺑﺮﻣﺠﯿﺔ ﻟﺘﺒﺪﯾﻞ اﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻲ ﺑﺎﻟﻌﻨﺼﺮ اﻟﺮاﺑﻊ ﺿﻤﻦ ال‪ list1‬وال‪ list2‬ﻣﻊ‬
‫ﺣﺬف اﻟﻌﻨﺼﺮ اﻻﺧﯿﺮ ﻟﻞ‪ list1‬وال‪. list2‬‬

‫‪4-3‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (4-4‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺻﻨﺪوق ﻗﺎﺋﻤﺔ وﺛﻼﺛﺔ ﻣﻦ ازرار اﻻﻣﺮ ﻹﺟﺮاء ﻋﻤﻠﯿﺎت ال‪ cut‬و‬
‫ال‪ copy‬و ال ‪ paste‬ﺣﯿﺚ ﯾﺘﻢ إﺳﺘﻨﺴﺎخ اﻟﻌﻨﺼﺮ و ﻟﺼﻘﮫ ﺿﻤﻦ ال ‪. list box‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪List1.RemoveItem List1.ListIndex‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Command2_Click‬‬
‫‪Clipboard.Clear‬‬
‫‪Clipboard.SetText List1.Text‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Command3_Click‬‬
‫))(‪List1.AddItem (Clipboard.GetText‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Form_Load‬‬
‫"‪List1.AddItem "samir‬‬
‫"‪List1.AddItem "sami‬‬
‫"‪List1.AddItem "noor‬‬
‫"‪List1.AddItem "soso‬‬
‫‪End Sub‬‬
‫س‪ /‬أﻋﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ وذﻟﻚ ﺑﺎﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺔ اﻻﺳﺘﻨﺴﺎخ دون اﻻﻋﺘﻤﺎد ﻋﻠﻰ ال ‪. clipboard‬‬
‫اﻟﺘﻄﺒﯿﻖ )‪ -: (5-4‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺻﻨﺪوق ﻗﺎﺋﻤﺔ وﺷﺮﯾﻂ زﺣﻠﻘﺔ ﻋﻤﻮدي و ﺷﻜﻠﯿﻦ ﺣﯿﺚ ﯾﺘﻢ اﺧﺘﯿﺎرﺷﻜﻠﯿﻦ‬
‫ﻣﺨﺘﻠﻔﯿﻦ و ﻟﻜﻞ ﺷﻜﻞ ﻟﻮن ﻣﺨﺘﻠﻒ ﻋﻦ اﻻﺧﺮﻋﻦ ﻃﺮﯾﻖ ﺷﺮﯾﻂ اﻟﺰﺣﻠﻘﺔ وﯾﺘﻢ ﺗﺒﺎدل اﻟﻠﻮﻧﯿﻦ ﺑﯿﻨﮭﻤﺎ ﺑﺸﻜﻞ ﻣﺴﺘﻤﺮ ‪.‬‬

‫‪4-4‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

Private Sub Form_Load()


List1.AddItem "rectangular"
List1.AddItem "square"
List1.AddItem "circle"
List1.AddItem "round rect"
List1.AddItem "round square"
List1.AddItem "oval"
Timer1.Enabled = False
VScroll1.Min = 0: VScroll1.Max = 4: VScroll1.SmallChange = 1:
VScroll1.LargeChange = 1
End Sub
Private Sub Timer1_Timer()
a = Shape1.BackColor
Shape1.BackColor = Shape2.BackColor
Shape2.BackColor = a
End Sub
Private Sub VScroll1_Change()
List1.ListIndex = VScroll1.Value
Shape1.Shape = List1.ListIndex
Shape2.Shape = List1.ListIndex + 1
Shape1.BackColor = QBColor(List1.ListIndex)
Shape1.BackColor = QBColor(List1.ListIndex + 1)
Timer1.Enabled = True
End Sub

‫ اﻛﺒﺮ ﻣﻦ ارﺑﻌﺔ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻼدﺧﺎﻻت اﻟﻤﻮﺟﻮدة‬vscro11.value ‫ ﻓﻲ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﻣﺎذا ﯾﺤﺪث ﻋﻨﺪﻣﺎ ﻧﺠﻌﻞ ال‬/‫س‬
.‫ ﻟﺘﺠﻨﺐ ﺿﮭﻮر اي ﺧﻄﺄ‬list‫ وﻣﺤﺘﻮﯾﺎت ال‬scroll max ‫ وﻣﺎ اﻟﻌﻼﻗﺔ اﻟﺘﻲ ﻧﻀﻌﮭﺎ ﺑﯿﻦ ال‬list1‫ﻓﻲ ال‬

‫ اﻟﻰ‬file ‫ ﻋﻠﻰ اﺿﺎﻓﺔ‬add ‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ اﻟﻌﻨﺎﺻﺮ اﻟﺘﺎﻟﯿﺔ ﺣﯿﺚ ﯾﻌﻤﻞ زر اﻻﻣﺮ‬-: (6-4) ‫اﻟﺘﻄﺒﯿﻖ‬
‫ﻋﻠﻰ‬copy ‫ ﻣﻦ ﺻﻨﺪوق اﻟﻘﺎﺋﻤﺔ اﻻول وﯾﻌﻤﻞ اﻟﺰر‬file ‫ ﻋﻠﻰ ﺣﺬف‬delete ‫ﺻﻨﺪوق اﻟﻘﺎﺋﻤﺔ اﻻول وﯾﻌﻤﻞ اﻟﺰر‬
.‫ﻣﻦ اﻟﻘﺎﺋﻤﺔ اﻻوﻟﻰ اﻟﻰ اﻟﻘﺎﺋﻤﺔ اﻟﺜﺎﻧﯿﺔ‬file ‫اﺳﺘﻨﺴﺎخ‬

4-5
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

Private Sub Command1_Click()


List1.AddItem File1.FileName
End Sub
Private Sub Command2_Click()
List1.RemoveItem List1.ListIndex
End Sub
Private Sub Command3_Click()
List2.AddItem List1.Text
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
.‫ ﺿﻊ ﻋﻨﺼﺮ ﺗﺤﻜﻢ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ ﯾﻘﻮم ﺑﻌﻤﻞ ﻋﻨﺎﺻﺮ اﻟﺘﺤﻜﻢ اﻟﺜﻼﺛﺔ واﺟﻌﻞ ﻗﺎﺋﻤﺔ اﻟﺴﻮاﻗﺎت ﺗﺘﺒﺪل ﺑﺸﻜﻞ دوري‬/‫س‬

‫ ﺻﻤﻢ اﻟﻨﺎﻓﺬة اﻟﺘﺎﻟﯿﺔ ﻻﺧﺘﯿﺎر ﻣﻠﻒ ﺣﺴﺐ اﻟﻨﻮع اﻟﻤﺤﺪد ﺑﺄزرار اﻻﺧﺘﯿﺎر ﺛﻢ اﺿﺎﻓﺘﮫ اﻟﻰ اﻟﺼﻨﺪوق‬-: (7-4) ‫اﻟﺘﻄﺒﯿﻖ‬
‫ واﻋﺎدة اﻟﻤﺤﺘﻮﯾﺎت ﺑﻌﺪ اﻟﻨﻘﺮ ﻋﻠﻰ‬form ‫ وزر اﻣﺮ اﺧﺮ ﻟﻤﺴﺢ ﻣﺤﺘﻮﯾﺎت ال‬، ‫اﻟﻤﺮﻛﺐ ﺑﻌﺪ اﻟﻨﻘﺮ ﻋﻠﻰ زر اﻣﺮ‬
. view ‫ وﻻ ﯾﺘﻢ اﻇﮭﺎر اﻟﻤﺴﺎرات اﻻ ﺑﻌﺪ اﻟﻨﻘﺮ ﻋﻠﻰ زر اﻻﻣﺮ‬form‫ال‬

Private Sub Command1_Click()


File1.Path = Dir1.Path
Dir1.Path = Drive1.Drive
Label1.Caption = Drive1.Drive
Label2.Caption = Dir1.Path
Label3.Caption = File1.FileName
End Sub
Private Sub Command2_Click()
Combo1.AddItem File1.FileName
End Sub
Private Sub Command3_Click()
4-6
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

Command1.Visible = False
Command2.Visible = False
Option1.Visible = False
Option2.Visible = False
Command3.Visible = False
Dir1.Visible = False
Drive1.Visible = False
Combo1.Visible = False
File1.Visible = False
Label1.Visible = False
Label2.Visible = False
Label3.Visible = False
End Sub
Private Sub Form_Click()
Command1.Visible = True
Command2.Visible = True
Option1.Visible = True
Option2.Visible = True
Command3.Visible = True
Dir1.Visible = True
Drive1.Visible = True
Combo1.Visible = True
File1.Visible = True
Label3.Visible = True
Label2.Visible = True
Label1.Visible = True
End Sub
Private Sub Option1_Click()
File1.Pattern = "*.exe"
End Sub
Private Sub Option2_Click()
File1.Pattern = "*.txt"
End Sub
‫ ﺑﻐﺾ اﻟﻨﻈﺮ ﻋﻦ ﻋﻤﻠﯿﺔ‬filename ‫ ﯾﻈﮭﺮ ﻋﺒﺎرة‬comb ‫ اﻟﺘﺎﺑﻊ ﻟﻞ‬text‫ ﻓﻲ ھﺬا اﻟﺒﺮﻧﺎﻣﺞ ﻛﯿﻒ ﯾﻤﻜﻦ ﺟﻌﻞ ال‬/‫س‬
. combo‫اﻻﺿﺎﻓﺔ ﻟﮫ وﻛﯿﻒ ﯾﻤﻜﻦ اﯾﻘﺎف ﺗﻔﻌﯿﻞ اﻟﻨﻘﺮ ﻋﻠﻰ ال‬

-: ‫ﺗﻤﺎرﯾﻦ وﺗﺪرﯾﺒﺎت‬
ً‫ﯾﻘﻮم اﻟﻤﺸﺮف ﻋﻠﻰ اﻟﺤﺼﺔ اﻟﻤﺨﺘﺒﺮﯾﺔ ﺑﺎﺧﺘﺒﺎر اﻟﻄﻠﺒﺔ ﺑﻌﺪد ﻣﻦ اﻟﺘﻤﺎرﯾﻦ اﻟﻤﺘﻌﻠﻘﺔ ﺑﻤﻮﺿﻮع اﻟﺘﺠﺮﺑﺔ ﻧﻀﺮﯾﺎ‬
. ‫وﻣﻦ ﺛﻢ ﺑﺘﻄﺒﯿﻘﮭﺎ ﻓﻲ اﻟﺤﺎﺳﻮب‬

4-7
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻐﺮض ﻣﻦ اﻟﺘﺠﺮﺑﺔ ‪- :‬‬


‫اﻟﺘﻌﺮف ﻋﻠﻰ ﺑﻌﺾ ﻋﻨﺎﺻﺮ)ادوات( اﻟﺘﺤﻜﻢ اﻟﺘﻲ ﺗﻮﻓﺮھﺎ ﻟﻐﺔ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ وھﻲ اﻟﻤﺘﻐﯿﺮات واﻟﺜﻮاﺑﺖ‬
‫وأﻧﻮاع اﻟﻌﻤﻠﯿﺎت واﻟﺪوال ‪ ،‬ﻣﻊ دراﺳﺔ وﻇﺎﺋﻔﮭﺎ و اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﻋﺪد ﻣﻦ اﻟﺘﻄﺒﯿﻘﺎت‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (1-5‬ﺻﻤﻢ اﻟﻨﺎﻓﺬة اﻟﺘﺎﻟﯿﺔ واﻛﺘﺐ اﻟﺸﻔﺮة اﻟﺒﺮﻣﺠﯿﺔ اﻟﻼزﻣﺔ ﻟﺘﺤﻘﯿﻖ اﻟﺪوال اﻟﻤﺒﯿﻨﺔ ﻓﯿﮭﺎ ‪-:‬‬

‫‪Dim x As Integer‬‬
‫)(‪Private Sub Command1_Click‬‬
‫)‪Label3.Caption = Sin(x‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Command2_Click‬‬
‫)‪Label3.Caption = Cos(x‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Command3_Click‬‬
‫)‪Label3.Caption = Tan(x‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Command4_Click‬‬
‫‪End‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Option1_Click‬‬
‫)‪x = Val(Text1‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Option2_Click‬‬
‫‪x = Val(Text1) * 3.14 / 180‬‬
‫‪End Sub‬‬
‫س‪ /‬إﺟﻌﻞ اﻻﺟﺎﺑﺔ ﺗﻈﮭﺮ ﻋﻠﻰ اداة اﻟﻌﻨﻮان )‪ (answer‬ﺑﺤﯿﺚ ﺗﻌﻄﻲ اﻟﻨﺎﺗﺞ ﺑﺪﻻً ﻣﻦ ﻛﻠﻤﺔ ‪ answer‬وﻋﻨﺪ ﻛﺘﺎﺑﺔ‬
‫ﻗﯿﻤﺔ ﺟﺪﯾﺪة ﺑﺼﻨﺪوق اﻟﻨﺺ ﺗﻌﻮد اﻟﻜﻠﻤﺔ ‪. answer‬‬
‫‪5-1‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (2-5‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ زر اﻣﺮ ﯾﻘﻮم ﺑﺤﺴﺎب ﻋﺪد اﻟﻤﺮات اﻟﺘﻲ ﯾﺘﻢ ﻓﯿﮭﺎ اﻟﻀﻐﻂ ﻋﻠﻰ ھﺬا اﻟﺰر‬
‫اﺛﻨﺎء ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ‪-:‬‬

‫)(‪Private Sub Form_Load‬‬


‫“ ”= ‪Text1.Text‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Command1_Click‬‬
‫‪Static a As Integer‬‬
‫‪a=a+1‬‬
‫‪Text1.Text = a‬‬
‫‪End Sub‬‬
‫س‪ /‬أﻋﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻟﯿﻘﻮم ﺑﺘﻐﯿﯿﺮ ﻟﻮن ﺧﻠﻔﯿﺔ اﻟﻨﻤﻮذج ﻣﻊ ﻛﻞ ﻣﺮة ﯾﺘﻢ اﻟﻀﻐﻂ ﻋﻠﻰ زر اﻻﻣﺮ ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (3-5‬ﺻﻤﻢ ﻧﺎﻓﺬة ﻻﯾﺠﺎد ﻣﺴﺎﺣﺔ ﻣﺴﺘﻄﯿﻞ ﺑﺎﺳﺘﺨﺪام ﺻﻨﺪوﻗﻲ ﻧﺺ اﻻول ﻻدﺧﺎل اﻟﻄﻮل واﻟﺜﺎﻧﻲ‬
‫ﻻدﺧﺎل اﻟﻌﺮض واﻇﮭﺎر اﻟﻨﺘﯿﺠﺔ ﻋﻠﻰ اداة اﻟﻌﻨﻮان ‪ label‬ﻋﻦ ﻃﺮﯾﻖ اﻟﻀﻐﻂ ﻋﻠﻰ زر اﻣﺮ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫)‪l = Val(Text1.Text‬‬
‫)‪w = Val(Text2.Text‬‬
‫‪a=l*w‬‬
‫‪Label1.Caption = a‬‬
‫‪End Sub‬‬
‫س‪ /‬اﻋﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﺑﺈﻇﮭﺎر ﺷﻜﻞ اﻟﻤﺴﺘﻄﯿﻞ ﺣﺴﺐ اﻻﺑﻌﺎد ﺑﻌﺪ ﺣﺴﺎب اﻟﻤﺴﺎﺣﺔ ‪.‬‬
‫‪5-2‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫ وارﺑﻌﺔ ازرار اﻣﺮ ﺛﻢ اﻛﺘﺐ‬text box ‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺛﻼث ﻣﻦ ﺻﻨﺎدﯾﻖ اﻻدﺧﺎل‬-:(4-5) ‫اﻟﺘﻄﺒﯿﻖ‬
-: ‫اﻟﺸﻔﺮة اﻟﻼزﻣﺔ ﻻﻧﺠﺎز ﻋﻤﻠﯿﺎت اﻟﺠﻤﻊ واﻟﻄﺮح واﻟﻀﺮب واﻟﻘﺴﻤﺔ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ اﻻزرار‬

Private x1 As Double
Private x2 As Double
Private Sub Command1_Click()
x3 = x1 + x2
Text3.Text = x3
End Sub
Private Sub Command2_Click()
x3 = x1 - x2
Text3.Text = x3
End Sub
Private Sub Command3_Click()
x3 = x1 * x2
Text3.Text = x3
End Sub
Private Sub Command4_Click()
x3 = x1 / x2
Text3.Text = x3
End Sub
Private Sub Form_Load()
Text1.Text ="" : Text2.Text ="" : Text3.Text =""
End Sub
Private Sub Text1_Change()
x = Text1.Text
x1 = Val(x)
End Sub
Private Sub Text2_Change()
x = Text2.Text
x2 = Val(x)
End Sub

. ‫ ﻓﻲ ﺻﻨﺪوق ﻗﺎﺋﻤﺔ‬y ‫ و‬x ‫ ﻗﻢ ﺑﺎﻋﺎدة ﺗﻨﻔﯿﺬ اﻟﺘﻄﺒﯿﻖ ﺑﺈﻇﮭﺎر اﻟﻨﺘﯿﺠﺔ ﻟﻜﻞ ﻋﻤﻠﯿﺔ ﺑﯿﻦ‬/‫س‬

5-3
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (5-5‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ أرﺑﻊ ﺻﻨﺎدﯾﻖ ﻧﺺ وزر أﻣﺮ ﻟﻠﻘﯿﺎم ﺑﻤﺎﯾﻠﻲ ‪:‬‬
‫‪ ‬ﻋﻨﺪ اﻟﺘﻨﻔﯿﺬ ﯾﻜﻮن ﻧﺺ اﻟﺼﻨﺪوق اﻻول )‪ (electrical electronic department‬اﻣﺎ ﺑﺎﻗﻲ ﺻﻨﺎدﯾﻖ‬
‫اﻟﻨﺺ ﻓﺘﻜﻮن ﻓﺎرﻏﺔ ‪.‬‬
‫‪ ‬ﻋﻨﺪ اﻟﻀﻐﺪ ﻋﻠﻰ ‪ command1‬ﯾﻮزع اﻟﻨﺺ اﻟﻤﻜﺘﻮب ﻓﻲ اﻟﺼﻨﺪوق اﻻول ﻋﻠﻰ ﺑﺎﻗﻲ اﻟﺼﻨﺎدﯾﻖ اﻟﻔﺎرﻏﺔ ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫)‪Text2.Text = Left(Text1.Text, 10‬‬
‫)‪Text3.Text = Mid(Text1.Text, 12, 10‬‬
‫)‪Text4.Text = Right(Text1.Text, 10‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Form_Load‬‬
‫"‪Text1.Text = "Electrical Electronic department‬‬
‫""= ‪Text2.Text‬‬
‫""= ‪Text3.Text‬‬
‫""=‪Text4.Text‬‬
‫‪End Sub‬‬

‫س‪ /‬أﻋﺪ ﺗﻨﻔﯿﺬ اﻟﺘﻄﺒﯿﻖ ﺑﺸﻜﻞ ﻋﻜﺴﻲ اي ﻋﻨﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﺗﻜﻮن اﻟﻨﺼﻮص اﻟﺜﻼﺛﺔ ﻓﯿﮭﺎ ﻣﺤﺘﻮﯾﺎت وﻋﻨﺪ اﻟﻀﻐﻂ‬
‫ﻋﻠﻰ زر اﻣﺮ ﯾﺠﻌﻞ ﻣﺤﺘﻮﯾﺎت اﻟﻨﺼﻮص اﻟﺜﻼﺛﺔ ﯾﺠﻤﻌﮭﺎ ﻓﻲ اﻟﻨﺺ اﻻول ‪.‬‬

‫ﺗﻤﺎرﯾﻦ وﺗﺪرﯾﺒﺎت ‪-:‬‬


‫ﯾﻘﻮم اﻟﻤﺸﺮف ﻋﻠﻰ اﻟﺤﺼﺔ اﻟﻤﺨﺘﺒﺮﯾﺔ ﺑﺎﺧﺘﺒﺎر اﻟﻄﻠﺒﺔ ﺑﻌﺪد ﻣﻦ اﻟﺘﻤﺎرﯾﻦ اﻟﻤﺘﻌﻠﻘﺔ ﺑﻤﻮﺿﻮع اﻟﺘﺠﺮﺑﺔ ﻧﻀﺮﯾﺎ"‬
‫وﻣﻦ ﺛﻢ ﺑﺘﻄﺒﯿﻘﮭﺎ ﻓﻲ اﻟﺤﺎﺳﻮب ‪.‬‬

‫‪5-4‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻐﺮض ﻣﻦ اﻟﺘﺠﺮﺑﺔ ‪-:‬‬


‫اﻟﺘﻌﺮف ﻋﻠﻰ ﺑﻌﺾ ﺟﻤﻞ اﻟﺘﺤﻜﻢ واﻟﺘﻔﺮع وﺟﻤﻞ اﻟﺪوران واﻟﺘﻜﺮار ‪ ،‬وﻟﺪراﺳﺔ وﻇﺎﺋﻒ ھﺬه اﻟﺠﻤﻞ ﺛﻢ‬
‫اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﻋﺪد ﻣﻦ اﻟﺘﻄﺒﯿﻘﺎت‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (1-6‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺻﻨﺪوﻗﻲ ﻧﺺ اﻻول ﻻدﺧﺎل ﻧﺺ واﻟﺜﺎﻧﻲ ادﺧﺎل ﺣﺮف وﻋﻨﺪ اﻟﻀﻐﻂ‬
‫ﻋﻠﻰ زر اﻣﺮ ﯾﻘﻮم ﺑﺤﺴﺎب ﻋﺪد ﻣﺮات ﺗﻜﺮار اﻟﺤﺮف ﻓﻲ اﻟﻨﺺ وﻃﺒﺎﻋﺔ اﻟﻨﺘﯿﺠﺔ ﻋﻠﻰ اداة ﻋﻨﻮان ‪-:‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪s = Text1.Text‬‬
‫)‪For i = 1 To Len(s‬‬
‫)‪m = Mid(s, i, 1‬‬
‫‪If m = Text2.Text Then x = x + 1‬‬
‫‪Next‬‬
‫‪Label1.Caption = " no. of char is " & x‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Form_Load‬‬
‫"" = ‪Text1.Text‬‬
‫"" = ‪Text2.Text‬‬
‫‪End Sub‬‬

‫س‪ /‬أﻋﺪ ﺗﻨﻔﯿﺬ اﻟﺘﻄﺒﯿﻖ ﻟﻠﺒﺤﺚ ﻋﻦ ﺗﻜﺮار وﺟﻮد ﺣﺮﻓﯿﻦ ﻣﺘﺘﺎﻟﯿﺔ و ﻛﺬﻟﻚ اﻻﻣﺮ ﻻﻛﺜﺮ ﻣﻦ ﺣﺮﻓﯿﻦ ‪.‬‬

‫‪6-1‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (2-6‬ﺻﻤﻢ ﻧﺎﻓﺬة ﻟﻄﺒﺎﻋﺔ اﻟﺤﺮوف ﻣﻦ ‪ A‬اﻟﻰ ‪ Z‬ﻋﻠﻰ ﺻﻨﺪوق ﻗﺎﺋﻤﺔ ﺑﺎﺳﺘﺨﺪام زر اﻣﺮ وﻋﺮض ال‬
‫‪ Asci code‬اﻟﺨﺎص ﺑﻜﻞ ﺣﺮف ﻋﻠﻰ اداة ﻋﻨﻮان ﺑﻌﺪ اﺧﺘﯿﺎره ﻣﻦ اﻟﻘﺎﺋﻤﺔ ‪-:‬‬

‫)(‪Private Sub Command1_Click‬‬


‫)"‪For i = Asc("A") To Asc("Z‬‬
‫)‪List1.AddItem Chr(i‬‬
‫‪Next‬‬
‫‪End Sub‬‬
‫)(‪Private Sub List1_Click‬‬
‫)‪If List1.ListIndex <> -1 Then Label1.Caption = Asc(List1.Text‬‬
‫‪End Sub‬‬

‫س‪ /‬أﻋﺪ ﺗﻨﻔﯿﺬ اﻟﺘﻄﺒﯿﻖ ﺑﺎﺿﺎﻓﺔ ﺻﻨﺪوق ﻧﺺ ﻋﻨﺪ اﺧﺘﯿﺎر اي ﺣﺮف ﻣﻦ اﻟﻘﺎﺋﻤﺔ ﯾﻀﺎف اﻟﻰ ﺻﻨﺪوق اﻟﻨﺺ واﺿﺎﻓﺔ‬
‫زر اﻣﺮ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﯿﮫ ﯾﻘﻮم ﺑﺎﺿﺎﻓﺔ ﻓﺮاغ ﺑﯿﻦ اﻟﺤﺮوف ﻓﻲ ﺻﻨﺪوق اﻟﻨﺺ ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (3-6‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ اداة ﻋﻨﻮان ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ زر أﻣﺮ ﺗﻈﮭﺮ اﻟﻜﺘﺎﺑﺔ ﻋﻠﻰ اداة اﻟﻌﻨﻮان‬
‫ﺑﺸﻜﻞ ﻋﻤﻮدي ‪-:‬‬

‫‪6-2‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫)(‪Private Sub Command1_Click‬‬


‫‪Dim s As String‬‬
‫)‪For i = 1 To Len(Label1‬‬
‫‪s = s & Mid(Label1, i, 1) & vbCrLf‬‬
‫‪Next‬‬
‫‪Label1 = s‬‬
‫‪End Sub‬‬
‫س‪ /‬ﻗﻢ ﺑﺎﻋﺎدة ﺗﻨﻔﯿﺬ اﻟﺘﻄﺒﯿﻖ ﺑﺎﻇﮭﺎر اﻟﻜﻠﻤﺔ ﻣﻜﺮرة ﻣﺮﺗﯿﻦ وﺑﺸﻜﻞ ﻋﻤﻮدي اﯾﻀًﺎ ‪ -‬وﻣﺎھﻲ ﻧﺘﯿﺠﺔ اﻟﺘﻨﻔﯿﺬ اﻟﺘﻲ ﺳﺘﻈﮭﺮ‬
‫ﻓﻲ ﺣﺎﻟﺔ ﺣﺬف اﻟﺪاﻟﺔ ‪ vbCrLf‬؟؟‬

‫اﻟﺘﻄﺒﯿﻖ )‪ : (4-6‬ﺻﻤﻢ ﺑﺮﻧﺎﻣﺞ ﻹدﺧﺎل رﻗﻢ ﻓﻲ ﺻﻨﺪوق ﻧﺺ وﻣﻌﺮﻓﺔ إن ﻛﺎن اﻟﺮﻗﻢ اﻟﻤﺪﺧﻞ أوﻟﻲ أو ﻏﯿﺮ أوﻟﻲ ‪-:‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪Dim s As Integer‬‬
‫‪Dim a As Integer‬‬
‫)‪s = Val(Text1.Text‬‬
‫)‪For i = 2 To (s - 1‬‬
‫‪If (s / i) = Int(s / i) Then‬‬
‫‪a=a+1‬‬
‫‪Else‬‬
‫‪a=a‬‬
‫‪End If‬‬
‫‪Next i‬‬
‫‪If a = 0 Then‬‬
‫"ﻋﺪد اوﻟﻲ" = ‪Label1.Caption‬‬
‫‪Else‬‬
‫"ﻋﺪد ﻏﯿﺮ اوﻟﻲ" = ‪Label1.Caption‬‬
‫‪End If‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Form_Load‬‬
‫"" = ‪Text1.Text‬‬
‫‪End Sub‬‬
‫س‪ /‬اﻋﺪ ﺗﻨﻔﯿﺬ اﻟﺘﻄﺒﯿﻖ ﺑﺎﺳﺘﺒﺪال ‪ If‬اﻟﺸﺮﻃﯿﺔ ﺑﺎﻻداة اﻟﺒﺪﯾﻠﺔ ‪. Select Case‬‬

‫‪6-3‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (5-6‬ﺻﻤﻢ ﻧﺎﻓﺬة ﻟﺤﺴﺎب ﻧﺘﯿﺠﺔ اﻟﻤﺘﺴﻠﺴﻠﺔ اﻟﺘﺎﻟﯿﺔ ‪-:‬‬


‫‪Y= X + X^2/2 + X^3/6 +X^4/24 + X^5/120 + X^6/720 + ….‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪s=0‬‬
‫‪f=1‬‬
‫)‪x = Val(Text1.Text‬‬
‫)‪n = Val(Text2.Text‬‬
‫‪For i = 1 To n‬‬
‫‪For m = 1 To i‬‬
‫‪f=f*m‬‬
‫‪Next m‬‬
‫)‪s = s + ((x ^ i) / f‬‬
‫‪Next i‬‬
‫‪Text3.Text = s‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Form_Load‬‬
‫"" = ‪Text1.Text‬‬
‫"" = ‪Text2.Text‬‬
‫"" = ‪Text3.Text‬‬
‫‪End Sub‬‬

‫س‪ /‬ﻗﻢ ﺑﺘﻐﯿﯿﺮاﻟﺘﻄﺒﯿﻖ ﻟﺤﻞ اﻟﻤﻌﺎدﻟﺔ اﻟﺘﺎﻟﯿﺔ ‪-:‬‬


‫‪Y=2x +3x^2 + 5X^3 + 9X^4 + 17X^5 + ….‬‬

‫ﺗﻤﺎرﯾﻦ وﺗﺪرﯾﺒﺎت ‪-:‬‬


‫ﯾﻘﻮم اﻟﻤﺸﺮف ﻋﻠﻰ اﻟﺤﺼﺔ اﻟﻤﺨﺘﺒﺮﯾﺔ ﺑﺎﺧﺘﺒﺎر اﻟﻄﻠﺒﺔ ﺑﻌﺪد ﻣﻦ اﻟﺘﻤﺎرﯾﻦ اﻟﻤﺘﻌﻠﻘﺔ ﺑﻤﻮﺿﻮع اﻟﺘﺠﺮﺑﺔ ﻧﻀﺮﯾﺎ"‬
‫وﻣﻦ ﺛﻢ ﺑﺘﻄﺒﯿﻘﮭﺎ ﻓﻲ اﻟﺤﺎﺳﻮب ‪.‬‬
‫‪6-4‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻐﺮض ﻣﻦ اﻟﺘﺠﺮﺑﺔ ‪-:‬‬


‫ﺗﮭﺪف ھﺬه اﻟﺘﺠﺮﺑﺔ اﻟﻰ ﺗﻌﻠﯿﻢ اﻟﻄﺎﻟﺐ ﻛﯿﻔﯿﺔ ﻃﺒﺎﻋﺔ اﻟﻤﺼﻔﻮﻓﺔ اﻻﺣﺎدﯾﺔ اﻻﺑﻌﺎد واﻟﺜﻨﺎﺋﯿﺔ وإﺟﺮاء ﺑﻌﺾ‬
‫اﻟﺘﻄﺒﯿﻘﺎت ﻋﻠﯿﮭﺎ ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (1-7‬ﺻﻤﻢ ﻧﺎﻓﺬة ﻟﺘﻜﻮﯾﻦ وﻃﺒﺎﻋﺔ ﻣﺼﻔﻮﻓﺔ أﺣﺎدﯾﺔ اﻷﺑﻌﺎد ﺑﻌﺪ ﺗﺮﺗﯿﺐ ﻋﻨﺎﺻﺮھﺎ ﺑﺸﻜﻞ ﺗﺼﺎﻋﺪي ﻋﻨﺪ‬
‫اﻟﻀﻐﻂ ﻋﻠﻰ زر أﻣﺮ ﻣﻌﯿﻦ ‪-:‬‬

‫‪Dim x(1 To 10) As Integer‬‬


‫)(‪Private Sub Command1_Click‬‬
‫‪For i = 1 To 10‬‬
‫‪x(i) = Rnd * 10‬‬
‫‪Next i‬‬
‫‪For i = 1 To 9‬‬
‫‪For j = i + 1 To 10‬‬
‫‪If x(i) > x(j) Then‬‬
‫)‪m = x(i‬‬
‫)‪x(i) = x(j‬‬
‫‪x(j) = m‬‬
‫‪End If‬‬
‫‪Next j‬‬
‫;)‪Print x(i‬‬
‫‪Next i‬‬
‫‪End Sub‬‬
‫س‪ /‬ﻗﻢ ﺑﺎﻋﺎدة ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﺑﻄﺒﺎﻋﺔ اﻻﻋﺪاد اﻟﻔﺮدﯾﺔ ﻓﻲ ﻣﺼﻔﻮﻓﺔ واﻻﻋﺪاد اﻟﺰوﺟﯿﺔ ﻓﻲ ﻣﺼﻔﻮﻓﺔ اﺧﺮى ‪.‬‬

‫‪7-1‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (2-7‬اﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﻟﻄﺒﺎﻋﺔ اﻟﻤﺼﻔﻮﻓﺔ اﻟﺘﺎﻟﯿﺔ ‪-:‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬


‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪3‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪Dim x(1 To 6 , 1 To 6) As Integer‬‬
‫‪For i = 1 To 6‬‬
‫‪For j = 1 To 6‬‬
‫‪If i <= 3 And j <= 3 Then x(i, j) = 0‬‬
‫‪If i <= 3 And j > 3 Then x(i, j) = 1‬‬
‫‪If i > 3 And j <= 3 Then x(i, j) = 2‬‬
‫‪If i > 3 And j > 3 Then x(i, j) = 3‬‬
‫‪x(6, 6) = 5‬‬
‫;)‪Print x(i, j‬‬
‫‪Next‬‬
‫‪Print‬‬
‫‪Next‬‬
‫‪End Sub‬‬

‫س‪ /‬اﻋﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻟﻄﺒﺎﻋﺔ اﻟﻤﺼﻔﻮﻓﺔ ﺑﺪون اﺳﺘﺨﺪام )ﻋﺒﺎرة ‪ if‬اﻟﺸﺮﻃﯿﺔ او ﻋﺒﺎرة ‪. ( select case‬‬

‫‪7-2‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

: ‫ اﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﻟﺘﻜﻮﯾﻦ وﻃﺒﺎﻋﺔ اﻟﻤﺼﻔﻮﻓﺔ اﻟﺘﺎﻟﯿﺔ‬-: (3-7) ‫اﻟﺘﻄﺒﯿﻖ‬


1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7

Private Sub Command1_Click()


Dim x(6, 6) As Integer
For i = 1 To 4
For j = 1 To 4
If i + j = 2 Then x(i, j) = 1
If i + j = 3 Then x(i, j) = 2
If i + j = 4 Then x(i, j) = 3
If i + j = 5 Then x(i, j) = 4
If i + j = 6 Then x(i, j) = 5
If i + j = 7 Then x(i, j) = 6
If i + j = 8 Then x(i, j) = 7
Print x(i, j);
Next : Print : Next
End Sub

-: ‫ﻃﺮﯾﻘﺔ أﺧﺮى ﻟﻠﺤﻞ‬


Private Sub Command1_Click()
Dim x(1 To 4 , 1 To 4) As Integer
For i = 1 To 4
For j = 1 To 4
x(i, j) = i + (j - 1)
Print x(i, j);
Next
Print
Next
End Sub
. ‫ اﻋﺪ ﺗﻨﻔﯿﺬ اﻟﺘﻄﺒﯿﻖ ﻟﺘﻜﻮﯾﻦ ﻣﺼﻔﻮﻓﺎت أﺧﺮى ﻣﺘﻨﺎﺳﻘﺔ ﺑﺄﺷﻜﺎل ﻣﺨﺘﻠﻔﺔ‬/‫س‬

7-3
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

-: ‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﻟﻄﺒﺎﻋﺔ اﻟﺸﻜﻠﯿﻦ أدﻧﺎه‬-: (4-7) ‫اﻟﺘﻄﺒﯿﻖ‬

* * *
* * * *
* * * *
* * * * * *
* * * * * * *

Dim x(1 To 5, 1 To 5) As Variant


Private Sub Command1_Click()
For i = 1 To 5
For j = 1 To 5
If i >= j Then
x(i, j) = " * "
Else
x(i, j) = " "
End If
Print x(i, j);
Next : Print : Next
End Sub
Private Sub Command2_Click()
For i = 1 To 5
For j = 1 To 5
If (i = j) Or (i + j = 6) Then
x(i, j) = " * "
Else
x(i, j) = " "
End If
Print x(i, j);
Next : Print : Next
End Sub
. ‫ ﻛﻮن اي ﺷﻜﻠﯿﻦ اﺧﺮﯾﻦ واﻛﺘﺐ اﻟﺸﻔﺮة اﻟﻼزﻣﺔ ﻟﻄﺒﺎﻋﺘﮭﻤﺎ ﻛﻤﺎ ھﻮ اﻟﺤﺎل ﻓﻲ اﻟﺘﻄﺒﯿﻖ‬/‫س‬

7-4
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

-: ‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﻟﻄﺒﺎﻋﺔ ﻣﺼﻔﻮﻓﺔ ﻧﺎﺗﺠﺔ ﻣﻦ ﺿﺮب ﻣﺼﻔﻮﻓﺘﺎن ﺛﻨﺎﺋﯿﺔ اﻷﺑﻌﺎد‬-: (5-7) ‫اﻟﺘﻄﺒﯿﻖ‬

Dim a(5, 5) As Integer


Dim b(5, 5) As Integer
Dim c(5, 5) As Integer
Private Sub Command1_Click()
For i = 1 To 5
For j = 1 To 5
a(i, j) = 10 * Rnd
Print a(i, j);
Next j
Print
Next i
End Sub
Private Sub Command2_Click()
For i = 1 To 5
For j = 1 To 5
b(i, j) = 10 * Rnd
Print a(i, j);
Next j
Print
Next i
End Sub
Private Sub Command3_Click()
c(i, j) = 0
For i = 1 To 5
For j = 1 To 5
For k = 1 To 5
c(i, j) = c(i, j) + (a(i, k) * b(k, j))
Next k
7-5
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫;)‪Print c(i, j‬‬


‫‪Next j‬‬
‫‪Print‬‬
‫‪Next i‬‬
‫‪End Sub‬‬

‫س‪ /‬اﻋﺪ ﺗﻨﻔﯿﺬ اﻟﺘﻄﺒﯿﻖ ﺑﻮﺿﻊ ﺷﺮط ﻗﺒﻮل ﻋﻤﻠﯿﺔ اﻟﻀﺮب وﺗﻄﺒﯿﻘﮫ ﻋﻠﻰ ﺗﻜﻮﯾﻦ اﻟﻤﺼﻔﻮﻓﺘﺎن ‪ a‬و ‪. b‬‬

‫ﺗﻤﺎرﯾﻦ وﺗﺪرﯾﺒﺎت ‪-:‬‬


‫ﯾﻘﻮم اﻟﻤﺸﺮف ﻋﻠﻰ اﻟﺤﺼﺔ اﻟﻤﺨﺘﺒﺮﯾﺔ ﺑﺎﺧﺘﺒﺎر اﻟﻄﻠﺒﺔ ﺑﻌﺪد ﻣﻦ اﻟﺘﻤﺎرﯾﻦ اﻟﻤﺘﻌﻠﻘﺔ ﺑﻤﻮﺿﻮع اﻟﺘﺠﺮﺑﺔ ﻧﻀﺮﯾﺎ"‬
‫وﻣﻦ ﺛﻢ ﺑﺘﻄﺒﯿﻘﮭﺎ ﻓﻲ اﻟﺤﺎﺳﻮب ‪.‬‬

‫‪7-6‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻐﺮض ﻣﻦ اﻟﺘﺠﺮﺑﺔ‪-:‬‬
‫ﺗﮭﺪف ھﺬه اﻟﺘﺠﺮﺑﺔ إﻟﻰ ﺗﻌﻠﯿﻢ اﻟﻄﺎﻟﺐ ﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺘﻄﺒﯿﻘﺎت ﻣﺘﻌﺪدة اﻟﻨﻤﺎذج واﻟﺘﻌﺮف ﻋﻠﻰ ﻃﺮق‬
‫إﻇﮭﺎر وإﺧﻔﺎء اﻟﻨﻤﺎذج وﺗﻌﻠﻢ إﻋﺪاد اﻟﺮﺳﻮﻣﺎت اﻟﻤﺨﺘﻠﻔﺔ ﻋﻠﻰ اﻟﻨﻤﻮذج ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ : (1-8‬ﺑﺎﺳﺘﺨﺪام ﻃﺮق اﻟﺮﺳﻢ ﻋﻠﻰ اﻟﻨﻤﻮذج أرﺳﻢ ﺷﻜﻞ ﯾﺸﺎﺑﮫ ﺷﻜﻞ ﻣﺮوﺣﺔ ﻣﻨﻀﺪﯾﺔ ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪x = ScaleWidth / 2‬‬
‫‪y = ScaleHeight / 2‬‬
‫‪DrawWidth = 5‬‬
‫)‪Circle (x, y), 2000, , -0.75 * (4 * Atn(1) / 2), -1.25 * (4 * Atn(1) / 2‬‬
‫)‪Circle (x, y), 2000, , -2 * (4 * Atn(1) / 2), -2.5 * (4 * Atn(1) / 2‬‬
‫)‪Circle (x, y), 2000, , -3.5 * (4 * Atn(1) / 2), -4 * (4 * Atn(1) / 2‬‬
‫‪DrawWidth = 30‬‬
‫)‪PSet (x, y‬‬
‫‪DrawWidth = 10‬‬
‫)‪Line (x, y)-(x, ScaleHeight‬‬
‫‪End Sub‬‬

‫س‪ /‬ﺣﺎول إﻋﺎدة اﻟﺮﺳﻢ ﺑﺎﺳﺘﺨﺪام ﻃﺮق اﻟﺮﺳﻢ اﻻﺧﺮى ﻣﻦ ﻧﻘﺎط وﺧﻄﻮط واﻟﺼﯿﻎ اﻻﺧﺮى ﻣﻦ اﻟﻄﺮﯾﻘﺔ ‪. circle‬‬

‫‪8-1‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﻟﺘﻤﻜﯿﻦ اﻟﻤﺴﺘﺨﺪم ﻣﻦ ﻛﺘﺎﺑﺔ ﻣﺠﻤﻮﻋﺔ ﻣﺨﺘﻠﻔﺔ ﻣﻦ اﻟﻘﯿﻢ اﻟﺼﺤﯿﺤﺔ ﻓﻲ ﻣﻮاﻗﻊ ﻋﺸﻮاﺋﯿﺔ‬-: (2-8) ‫اﻟﺘﻄﺒﯿﻖ‬
. Command1 ‫ﻋﻠﻰ اﻟﻨﻤﻮذج ﻋﻨﺪ ﻛﻞ ﺿﻐﻄﺔ ﻋﻠﻰ زر اﻷﻣﺮ‬

Private Sub Command1_Click()


CurrentX = Rnd * ScaleWidth
CurrentY = Rnd * ScaleHeight
Print Int(Rnd * 1000)
CurrentX = Rnd * ScaleWidth
CurrentY = Rnd * ScaleHeight
Print Int(Rnd * 1000)
CurrentX = Rnd * ScaleWidth
CurrentY = Rnd * ScaleHeight
Print Int(Rnd * 1000)
CurrentX = Rnd * ScaleWidth
CurrentY = Rnd * ScaleHeight
Print Int(Rnd * 1000)
End Sub

. ‫ أﺿﻒ زر اﻷﻣﺮ ﻣﺆﻗﺖ و ﺷﺮﯾﻂ زﺣﻠﻘﺔ ﻟﻠﺘﺤﻜﻢ ﺑﺴﺮﻋﺔ اﻟﻤﺆﻗﺖ ﻓﻲ إﻇﮭﺎر اﻟﻘﯿﻢ‬/‫س‬

8-2
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ - : (3-8‬ﺻﻤﻢ ﻧﺎﻓﺬة ﻣﺸﺮوع ﺗﻘﻮم ﺑﺮﺳﻢ دواﺋﺮ ﻣﺘﺪاﺧﻠﺔ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ زر أﻣﺮ ﺗﺒﺪأ ﺑﺄﺻﻐﺮھﺎ ﻋﻨﺪ‬
‫اﻟﻤﺮﻛﺰ ﺛﻢ ﯾﺰداد ﻗﻄﺮھﺎ ﺗﺪرﯾﺠﯿﺎ ﺣﺘﻰ ﺗﻜﻮن أﻛﺒﺮھﺎ ﻋﻠﻰ ﺣﺠﻢ ﻧﺎﻓﺬة ال ‪ form‬واﺟﻌﻞ ﻟﻜﻞ داﺋﺮة ﻟﻮن ﯾﺨﺘﻠﻒ ﻋﻦ‬
‫اﻻﺧﺮى ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪Timer1.Enabled = True‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Form_Load‬‬
‫‪Timer1.Enabled = False‬‬
‫‪Timer1.interval=1000‬‬
‫‪End Sub‬‬
‫)(‪Private Sub Timer1_Timer‬‬
‫‪x = ScaleWidth / 2‬‬
‫‪y = ScaleHeight / 2‬‬
‫‪If x > y Then‬‬
‫‪q=y‬‬
‫‪Else‬‬
‫‪q=x‬‬
‫‪End If‬‬
‫‪For i = 1 To q Step 80‬‬
‫)‪Circle (x, y), i, RGB(Rnd * 255, Rnd * 255, Rnd * 255‬‬
‫‪Next i‬‬
‫‪End Sub‬‬

‫س‪ /‬أﺿﻒ اﻟﻰ اﻟﺒﺮﻧﺎﻣﺞ ﺷﻔﺮة ﻟﺮﺳﻢ ﺧﻄﻮط ﻓﻮق اﻟﺪواﺋﺮ ﺗﻠﺘﻘﻲ ﻓﻲ اﻟﻤﺮﻛﺰ وﺗﻨﺘﮭﻲ ﻋﻠﻰ اﻃﺮاف اﻟﺪاﺋﺮة اﻟﻜﺒﯿﺮة‪.‬‬

‫‪8-3‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

. ‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﻟﺮﺳﻢ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻨﻘﺎط و اﻟﺪواﺋﺮ ﺑﺎﻟﻮان وأﺣﺠﺎم ﻣﺨﺘﻠﻔﺔ‬: (4-8) ‫اﻟﺘﻄﺒﯿﻖ‬

Dim X1 As String
Private Sub Command1_Click()
X1 = vbRed
Form1.DrawWidth = 6
For i = 100 To ScaleWidth / 2
Circle (i / 2, i / 2), i / 2, RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (i, i), X1 * Rnd
Next
End Sub
Private Sub Command2_Click()
X1 = vbGreen
Form1.DrawWidth = 1
For i = 80 To ScaleHeight
Circle (i * 2, Y * 2), i, RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (i, i), X1 * Rnd
Next
End Sub
Private Sub Command3_Click()
X1 = vbBlue
Form1.DrawWidth = 3
For i = 50 To ScaleWidth
Circle (0, 0), i, RGB(Rnd * 255, Rnd * 255, Rnd * 255)
PSet (i, i), X1 * Rnd
Next
End Sub

. ‫ أﻋﺪ ﻛﺘﺎﺑﺔ اﻟﺸﻔﺮة ﺑﺎﻛﺜﺮ ﻣﻦ ﺗﻐﯿﯿﺮ ﻟﺘﻜﻮﯾﻦ ﻧﻤﺎذج أﺧﺮى ﻣﻦ اﻟﺪواﺋﺮ واﻟﻨﻘﺎط ﻣﺮﺗﯿﻦ او ﺛﻼﺛﺔ ﻋﻠﻰ اﻻﻗﻞ‬/‫س‬

8-4
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ)‪ -: (5-8‬ﺑﺎﺳﺘﺨﺪام ﺣﻠﻘﺔ ال ‪ do-while‬إرﺳﻢ ﻋﺸﺮة ﻧﻘﺎط ﺑﺸﻜﻞ ﺧﻂ ﻣﺎﺋﻞ ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪Form1.DrawWidth = 5‬‬
‫‪i=0‬‬
‫‪Do While i < 10‬‬
‫‪PSet (i * 200, i * 200), Rnd * 255‬‬
‫‪i=i+1‬‬
‫‪Loop‬‬
‫‪End Sub‬‬

‫س‪ /‬ﻣﺎ ھﻮ اﻟﺘﻐﯿﯿﺮ اﻟﻤﻄﻠﻮب ﻓﻲ اﻟﺸﻔﺮة ﻻﻇﮭﺎرﻣﺎ ﯾﻠﻲ ‪-:‬‬


‫أ‪ -‬اﻟﻨﻘﺎط ﺑﺸﻜﻞ ﺧﻂ أﻓﻘﻲ‬
‫ب‪ -‬اﻟﻨﻘﺎط ﺑﺸﻜﻞ ﺧﻂ ﻋﻤﻮدي‬
‫ج‪ -‬ﺗﺤﺪﯾﺪ ﻧﻘﻄﺔ اﻟﺒﺪاﯾﺔ واﻟﻨﮭﺎﯾﺔ‬
‫د‪-‬اﻟﺒﺪاﯾﺔ ﻣﻦ اﻟﺠﮭﺔ اﻟﻌﻠﯿﺎ اﻟﯿﺴﺮى واﻟﻨﮭﺎﯾﺔ ﻓﻲ ﻣﻨﺘﺼﻒ اﻟﻨﻤﻮذج‬

‫ﺗﻤﺎرﯾﻦ وﺗﺪرﯾﺒﺎت ‪:‬‬

‫ﯾﻘﻮم اﻟﻤﺸﺮف ﻋﻠﻰ اﻟﺤﺼﺔ اﻟﻤﺨﺘﺒﺮﯾﺔ ﺑﺎﺧﺘﺒﺎر اﻟﻄﻠﺒﺔ ﺑﻌﺪد ﻣﻦ اﻟﺘﻤﺎرﯾﻦ اﻟﻤﺘﻌﻠﻘﺔ ﺑﻤﻮﺿﻮع اﻟﺘﺠﺮﺑﺔ ﻧﻀﺮﯾﺎً‬
‫وﻣﻦ ﺛﻢ ﺑﺘﻄﺒﯿﻘﮭﺎ ﻓﻲ اﻟﺤﺎﺳﻮب ‪.‬‬

‫‪8-5‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻐﺮض ﻣﻦ اﻟﺘﺠﺮﺑﺔ ‪- :‬‬


‫ﺗﮭﺪف ھﺬه اﻟﺘﺠﺮﺑﺔ إﻟﻰ أن ﯾﺘﻌﺮف اﻟﻄﺎﻟﺐ ﻋﻠﻰ ﺻﻨﺎدﯾﻖ اﻟﺤﻮار اﻟﻤﮭﻤﺔ ﻣﺜﻞ ﺻﻨﺎدﯾﻖ اﻹدﺧﺎل واﻟﺮﺳﺎﺋﻞ‬
‫وﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (1-9‬أﻛﺘﺐ ﺷﻔﺮة ﺑﺮﻣﺠﯿﺔ ﻟﻤﺤﺎورة ﺷﺨﺺ ﺗﻄﻠﺐ ﻣﻨﮫ إدﺧﺎل أﺣﺪ اﻟﺒﯿﺎﻧﺎت ﻷﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﻋﻤﻠﯿﺔ‬
‫ﺣﺴﺎﺑﯿﺔ ﺛﻢ ﺗﺴﺄﻟﮫ ﻟﯿﺠﯿﺐ ﺑﻨﻌﻢ أو ﻻ ﺑﻌﺪ ذﻟﻚ ﺗﻌﻄﯿﮫ إﺣﺪى ﻣﻌﻠﻮﻣﺘﯿﻦ ﻣﺨﺘﻠﻔﺘﯿﻦ ﺣﺴﺐ إﺧﺘﯿﺎره )إﺟﺎﺑﺘﮫ( ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫)"‪n = InputBox("Enter any value", "Input", "Type the value here‬‬
‫‪y=n^2‬‬
‫‪Print "Square of", n, "is", y‬‬
‫")‪z = MsgBox("Is it a right answer", vbYesNo, "Test‬‬
‫‪If z = vbYes Then‬‬
‫)"‪MsgBox ("Ok‬‬
‫‪Else‬‬
‫)"‪MsgBox ("Wrong‬‬
‫‪End If‬‬
‫‪End Sub‬‬

‫س‪ /‬أﻛﺘﺐ ﺷﻔﺮة ﺗﺨﺘﻠﻒ ﻋﻦ اﻟﻤﻮﺟﻮدة ﻓﻲ اﻟﺘﻄﺒﯿﻖ ﻣﻦ ﻧﺎﺣﯿﺔ اﻹدﺧﺎل واﻟﻌﻤﻠﯿﺔ اﻟﺤﺴﺎﺑﯿﺔ واﻹﺧﺮاج ‪.‬‬

‫‪9-1‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (2-9‬ﺻﻤﻢ ﻧﺎﻓﺬة ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ زر أﻣﺮ ‪ Command Button‬ﯾﺘﻢ ﺣﺴﺎب اﻟﻤﻌﺪل ‪Average‬‬
‫ﻟﺮﻗﻤﯿﻦ ﺻﺤﯿﺤﯿﻦ ﯾﺘﻢ إدﺧﺎﻟﮭﻤﺎ ﻋﻦ ﻃﺮﯾﻖ ﺻﻨﺪوﻗﻲ إدﺧﺎل ‪ InputBox‬وﻋﺮض اﻟﻨﺎﺗﺞ ﻋﻠﻰ أداة ﻋﻨﻮان ‪.Label‬‬
‫ﻣﻊ ﻋﺮض رﺳﺎﻟﺔ ‪ Message Box‬ﻟﺘﻤﻜﯿﻦ اﻟﻤﺴﺘﺨﺪم ﻣﻦ ﺗﻜﺮار اﻟﻌﻤﻠﯿﺔ ﻋﻨﺪ ﻛﻞ ﻣﺮة ﯾﺒﺪي رﻏﺒﺘﮫ ﻓﯿﮭﺎ أو إﻧﮭﺎء‬
‫اﻟﻌﻤﻞ ﻋﻨﺪ ﻋﺪم رﻏﺒﺘﮫ ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪Do‬‬
‫)"‪n1 = InputBox("Enter Any Value", "No.1", "Type the value here‬‬
‫)"‪n2 = InputBox("Enter Any Value", "No.2", "Type the value here‬‬
‫‪Avg = (Val(n1) + Val(n2)) / 2‬‬
‫‪label1.Caption = Avg‬‬
‫)"‪r = MsgBox("Are you want another calculation", vbYesNo, "Again‬‬
‫)‪Loop Until (r = 7‬‬
‫‪End Sub‬‬

‫س ‪/‬إﺳﺘﺨﺪم ال ‪ do-while‬ﻟﺘﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻊ ﺗﻮﺿﯿﺢ اﻟﻔﺮق ﻋﻨﺪ اﺳﺘﺨﺪام ال ‪. for-next‬‬

‫‪ Command‬ﺘﻢ ﺣ ﺴﺎب اﻟﻤﻌ ﺪل ‪Average‬‬


‫ﯾ‬ ‫ﺻﻤﻢ ﻧﺎﻓ ﺬة ﻋﻨ ﺪ اﻟ ﻀﻐﻂ ﻋﻠ ﻰ زر أﻣ ﺮ ‪Button‬‬ ‫اﻟﺘﻄﺒﯿﻖ )‪-:(3-9‬‬
‫وﻋ ﺮض اﻟﻨ ﺎﺗﺞ ﻋﻠ ﻰ أداة ﻋﻨ ﻮان ‪ .Label‬ﯾ ﺘﻢ‬
‫ﻷرﻗﺎم ﺻﺤﯿﺤﺔ ﯾﺘﻢ إدﺧﺎﻟﮭﺎ ﻋﻦ ﻃﺮﯾﻖ ﺻﻨﺎدﯾﻖ إدﺧﺎل ‪InputBox‬‬
‫إﯾﻘﺎف إدﺧﺎل اﻻرﻗﺎم ﺑﺎدﺧﺎل اﻟﻘﯿﻤﺔ ﺻﻔﺮ دون اﺣﺘﺴﺎﺑﮭﺎ ﻓﻲ اﻟﻤﻌﺪل ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫‪9-2‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫‪Static c As Integer, sum As Single‬‬


‫‪c=0‬‬
‫‪sum = 0‬‬
‫‪Do‬‬
‫)"‪n = InputBox("Enter Any Value", "Numbers", "Type the value here‬‬
‫‪c=c+1‬‬
‫‪sum = sum + n‬‬
‫)‪Loop Until (n = 0‬‬
‫)‪Avg = sum / (c - 1‬‬
‫‪Label1.Caption = Avg‬‬
‫‪End Sub‬‬
‫س‪ /‬إﺟﻌﻞ اﯾﻘﺎف اﻟﺒﺮﻧﺎﻣﺞ ﯾﺘﻢ ‪-:‬‬
‫أ‪ -‬ﺑﻌﺪ ادﺧﺎل ﻋﺸﺮة ارﻗﺎم ‪.‬‬
‫ب‪ -‬ﻋﻨﺪ ادﺧﺎل ﻗﯿﻤﺔ ﻏﯿﺮ ﻋﺪدﯾﺔ ‪.‬‬
‫ج‪ -‬ﻋﻨﺪ ادﺧﺎل ﻗﯿﻤﺔ ﺳﺎﻟﺒﺔ ‪.‬‬
‫اﻟﺘﻄﺒﯿﻖ )‪ -: (4-9‬اﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﯾﻘﻮم ﺑﺎدﺧﺎل ﺧﻤﺴﺔ ﻗﯿﻢ ﻋﺸﻮاﺋﯿﺔ ﻣﺤﺼﻮرة ﺑﯿﻦ )‪ (100-10‬ﻟﻤﺼﻔﻮﻓﺔ اﺣﺎدﯾﺔ‬
‫اﻻﺑﻌﺎد ﻋﻦ ﻃﺮﯾﻖ ﺻﻨﺪوق ادﺧﺎل وﺣﺴﺎب اﻟﻘﯿﻢ اﻟﻤﺤﺼﻮرة ﺑﯿﻦ )‪ (60-50‬وﺑﯿﻦ )‪ (80-40‬وﻋﺮض اﻟﻨﺘﺎﺋﺞ ﻋﻠﻰ‬
‫ﺻﻨﺪوق رﺳﺎﻟﺔ ‪.‬‬

‫‪Dim x(5) As Single‬‬


‫‪Dim a As Single‬‬
‫)(‪Private Sub Form_Load‬‬
‫‪Form1.Show‬‬
‫‪Do‬‬
‫‪n1 = 0‬‬
‫‪n2 = 0‬‬
‫‪For i = 1 To 5‬‬
‫‪a = InputBox("Enter Any Value Between (10 and 100)", "Numbers", "Type the value‬‬
‫)"‪here‬‬
‫‪x(i) = a‬‬
‫)‪Print x(i‬‬

‫‪9-3‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫‪If x(i) > 50 And x(i) < 60 Then n1 = n1 + 1‬‬


‫‪If x(i) > 80 And x(i) < 90 Then n2 = n2 + 1‬‬
‫‪Next‬‬
‫)‪MsgBox ("n1 = " & n1 & " n2 =" & n2‬‬
‫‪End Sub‬‬
‫س‪ /‬إﺟﻌﻞ اﻟﺒﺮﻧﺎﻣﺞ ﯾﺘﻮﻗﻒ ﻋﻨﺪﻣﺎ ﯾﺤﺼﻞ ﻋﻠﻰ ﺛﻼث أرﻗﺎم ﻣﺤﺼﻮرة ﺑﯿﻦ ال‪ 50‬وال ‪ 60‬دون إﻛﻤﺎل ﺑﻘﯿﺔ‬
‫اﻹدﺧﺎﻻت ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (5-9‬اﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﯾﻘﻮم ﺑﺎدﺧﺎل ﻗﯿﻢ ﻣﺼﻔﻮﻓﺔ اﺣﺎدﯾﺔ اﻻﺑﻌﺎد ﻋﻦ ﻃﺮﯾﻖ ﺻﻨﺪوق ادﺧﺎل وﻋﺮض اﻟﻘﯿﻤﺔ‬
‫اﻻﻛﺒﺮ ﻋﻦ ﻃﺮﯾﻖ ﺻﻨﺪوق رﺳﺎﻟﺔ ‪.‬‬

‫‪Dim x(5) As Single‬‬


‫)(‪Private Sub Form_Load‬‬
‫‪Form1.Show‬‬
‫‪Max = 0‬‬
‫‪For i = 1 To 5‬‬
‫)"‪x(i) = InputBox("Enter any value", "Input", "Type the value here‬‬
‫)‪Print x(i‬‬
‫‪Next i‬‬
‫‪For i = 1 To 5‬‬
‫)‪If x(i) > Max Then Max = x(i‬‬
‫‪Next i‬‬
‫‪MsgBox ("the max number is ") & Max‬‬
‫‪End Sub‬‬
‫س‪ /‬اﺿﻒ اﻟﻰ اﻟﺒﺮﻧﺎﻣﺞ ﺷﻔﺮة ﻻﻋﻄﺎء رﺳﺎﻟﺔ إدﺧﺎل ﺗﻄﻠﺐ ﻗﯿﻤﺔ ال ‪ max‬ﻟﻐﺮض اﻻﻧﮭﺎء ﻣﻊ ﺻﻨﺪوق رﺳﺎﻟﺔ ﻟﺘﺄﻛﯿﺪ‬
‫ﺻﺤﺔ او ﺧﻄﺄ اﻹدﺧﺎل ‪.‬‬

‫ﺗﻤﺎرﯾﻦ وﺗﺪرﯾﺒﺎت ‪-:‬‬


‫ﯾﻘﻮم اﻟﻤﺸﺮف ﻋﻠﻰ اﻟﺤﺼﺔ اﻟﻤﺨﺘﺒﺮﯾﺔ ﺑﺎﺧﺘﺒﺎر اﻟﻄﻠﺒﺔ ﺑﻌﺪد ﻣﻦ اﻟﺘﻤﺎرﯾﻦ اﻟﻤﺘﻌﻠﻘﺔ ﺑﻤﻮﺿﻮع اﻟﺘﺠﺮﺑﺔ ﻧﻀﺮﯾﺎً‬
‫وﻣﻦ ﺛﻢ ﺑﺘﻄﺒﯿﻘﮭﺎ ﻓﻲ اﻟﺤﺎﺳﻮب ‪.‬‬
‫‪9-4‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻐﺮض ﻣﻦ اﻟﺘﺠﺮﺑﺔ ‪- :‬‬

‫ﺗﮭﺪف اﻟﺘﺠﺮﺑﺔ اﻟﻰ ﺗﻌﻠﻢ اﻟﻄﺎﻟﺐ ﻛﯿﻔﯿﺔ ﺗﻜﻮﯾﻦ اﻟﻘﻮاﺋﻢ )اﻟﻤﻨﺴﺪﻟﺔ واﻟﻤﺨﺘﺼﺮة( اﻟﻤﻮﺟﻮدة ﻓﻲ ال ‪windows‬‬
‫ﻣﻊ ﺗﻜﻮﯾﻦ ﺑﻌﺾ اﻟﺘﻄﺒﯿﻘﺎت ﻟﺘﻨﻔﯿﺬ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻘﻮاﺋﻢ اﻟﺸﺎﺋﻌﺔ اﻻﺳﺘﺨﺪام وﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺻﻨﺎدﯾﻖ ﺣﻔﻆ اﻟﻤﻠﻔﺎت‬
‫واﻟﺨﻄﻮط واﻟﻠﻮن ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ)‪ -: (1-10‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺻﻨﺪوق ﻧﺺ وﺷﺮﯾﻂ ﻗﺎﺋﻤﺔ ﻣﺘﻜﻮن ﻣﻦ ﺛﻼث ﻗﻮاﺋﻢ اﻟﻘﺎﺋﻤﺔ اﻻوﻟﻰ‬
‫‪ file‬ﻣﺘﻜﻮﻧﺔ ﻣﻦ اﻻﻣﺮ اﻟﻔﺮﻋﻲ ‪ new‬واﻻﻣﺮ اﻟﻔﺮﻋﻲ ‪ exit‬اﻣﺎ اﻟﻘﺎﺋﻤﺔ اﻟﺜﺎﻧﯿﺔ ‪ edit‬ﻣﺘﻜﻮﻧﺔ ﻣﻦ اﻻﻣﺮ اﻟﻔﺮﻋﻲ‬
‫‪ copy‬واﻻﻣﺮ اﻟﻔﺮﻋﻲ ‪ cut‬واﻻﻣﺮ اﻟﻔﺮﻋﻲ ‪ paste‬اﻣﺎ اﻟﻘﺎﺋﻤﺔ اﻟﺜﺎﻟﺜﺔ ‪ format‬ﻣﺘﻜﻮﻧﺔ ﻣﻦ اﻻﻣﺮ اﻟﻔﺮﻋﻲ ‪bold‬‬
‫واﻻﻣﺮ اﻟﻔﺮﻋﻲ ‪ italic‬واﻻﻣﺮ اﻟﻔﺮﻋﻲ ‪. underline‬‬

‫)(‪Private Sub bold_Click‬‬


‫)‪bold.Checked = Not (bold.Checked‬‬
‫)‪Text1.FontBold = Not (Text1.FontBold‬‬
‫‪End Sub‬‬
‫)(‪Private Sub copy_Click‬‬
‫‪Clipboard.Clear‬‬
‫‪Clipboard.SetText Form1.Text1.SelText‬‬
‫‪End Sub‬‬
‫)(‪Private Sub cut_Click‬‬
‫‪Clipboard.Clear‬‬
‫‪Clipboard.SetText Form1.Text1.SelText‬‬
‫""=‪Form1.Text1.SelText‬‬
‫‪End Sub‬‬
‫‪10-1‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

Private Sub exit_Click()


s = MsgBox("are you sure you want to exit?", vbYesNo + vbDefaultButton2, "exit")
If s = vbYes Then End
End Sub
Private Sub italic_Click()
italic.Checked = Not (italic.Checked)
Text1.FontItalic = Not (Text1.FontItalic)
End Sub
Private Sub new_Click()
Dim s As Integer
s = MsgBox("are you sure you want to start a new file?", vbYesNo + vbQuestion,
newfile")"
If s = vbYes Then Text1.Text=""
End Sub
Private Sub paste_Click()
Form1.Text1.SelText = Clipboard.GetText
End Sub
Private Sub underline_Click()
underline.Checked = Not (underline.Checked)
Text1.FontUnderline = Not (Text1.FontUnderline)
End Sub

‫ ﻣﻊ ﻗﺎﺋﻤﺔ ﻋﺎﺋﻤﺔ ﻟﻜﻞ ﺻﻨﺪوق ﻟﻠﻘﯿﺎم ﺑﻌﻤﻠﯿﺎت‬text box ‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺻﻨﺪوﻗﻲ ﻧﺺ‬-: (2-10) ‫اﻟﺘﻄﺒﯿﻖ‬
. ‫ ﻟﻜﻼ اﻟﺼﻨﺪوﻗﯿﻦ‬paste‫ و‬cut‫ و‬copy

Private Sub mncopy_Click()


Clipboard.Clear
Clipboard.SetText (Text1.SelText)
10-2
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

End Sub
Private Sub mncopy2_Click()
Clipboard.Clear
Clipboard.SetText (Text2.SelText)
End Sub
Private Sub mncut_Click()
Clipboard.Clear
Clipboard.SetText (Text1.SelText)
Text1.SelText = ""
End Sub
Private Sub mncut2_Click()
Clipboard.Clear
Clipboard.SetText (Text1.SelText)
Text2.SelText = ""
End Sub
Private Sub mnpaste_Click()
Text1.Text = Text1.Text & Clipboard.GetText
End Sub
Private Sub mnpaste2_Click()
Text2.Text = Text2.Text & Clipboard.GetText
End Sub
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y
As Single)
If Button = 2 Then PopupMenu aaa
End Sub
Private Sub Text2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y
As Single)
If Button = 2 Then PopupMenu bbb
End Sub

. cut ‫ أو‬copy ‫ ﻓﻲ ﺑﺪاﯾﺔ اﻟﺘﺸﻐﯿﻞ ﻏﯿﺮ ﻓﻌﺎل وﻻﯾﺘﻢ ﺗﻔﻌﯿﻠﮭﺎ اﻻ ﺑﻌﺪ اﺧﺘﯿﺎر اﻻﻣﺮ‬paste ‫ إﺟﻌﻞ ال‬/‫س‬

10-3
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫ﻗﺎﺋﻤ ﺔ ﻋﺎﺋﻤ ﺔ ﻟﻜ ﻞ ﺻ ﻨﺪوق ﻗﺎﺋﻤ ﺔ‬ListBox


‫ﺬة ﺗﺤﺘ ﻮي ﻋﻠ ﻰ ﺻ ﻨﺪوق ﻗﺎﺋﻤ ﺔ ﻣ ﻊ‬
‫ﻧﺎﻓ ﻤﻢ‬
‫ﺻ‬-: (3-10) ‫اﻟﺘﻄﺒﯿ ﻖ‬
. ‫ ﻟﻜﻼ ﺻﻨﺪوﻗﻲ اﻟﻘﺎﺋﻤﺔ‬Removeitem-Additem-Clear ‫ ﻟﻠﻘﯿﺎم ﺑﻌﻤﻠﯿﺎت‬listbox

Private Sub add1_Click()


List1.AddItem Text1.Text
Text1 = ""
End Sub
Private Sub add2_Click()
List2.AddItem Text1.Text
Text1 = ""
End Sub
Private Sub clear1_Click()
List1.Clear
End Sub
Private Sub clear2_Click()
List2.Clear
End Sub
Private Sub Form_Load()
List1.AddItem "ali"
List1.AddItem "ahmed"
List1.AddItem "sara"
List2.AddItem "mohamad"
List2.AddItem "samer"
List2.AddItem "noor"
End Sub
Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single,
Y As Single)
If Button = 2 Then PopupMenu aaa
End Sub
Private Sub List2_MouseDown(Button As Integer, Shift As Integer, X As Single,
Y As Single)
If Button = 2 Then PopupMenu bbb
10-4
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

End Sub
Private Sub remove1_Click()
If List1.ListIndex <> -1 Then List1.RemoveItem List1.ListIndex
End Sub
Private Sub remove2_Click()
If List2.ListIndex <> -1 Then List2.RemoveItem List2.ListIndex
End Sub

‫ اﻟﻤﻮﺟﻮدة ﻓﻲ‬AddItem‫ و‬RemoveItem ‫ أﺿﻒ اﻟﻰ اﻟﺘﻄﺒﯿﻖ إﻣﻜﺎﻧﯿﺔ ﻧﻘﻞ اﻟﻌﻨﺎﺻﺮ ﺑﯿﻦ اﻟﻘﺎﺋﻤﺘﯿﻦ ﻣﻦ ﺧﻼل‬/‫س‬
. ‫اﻟﻘﻮاﺋﻢ‬

‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ أﺣﺪ اﻟﻌﻨﺎﺻﺮ ﻣﻦ ﺻﻨﺪوق اﻻدوات ﻣﻊ ﻗﺎﺋﻤﺔ ﻋﺎﺋﻤﺔ ﺗﺤﺘﻮي ﻋﻠﻰ ﻋﺪد‬-: (4-10)‫اﻟﺘﻄﺒﯿﻖ‬
. ‫ﻣﻦ ﺧﺼﺎﺋﺺ ھﺬا اﻟﻌﻨﺼﺮ‬

Private Sub Command1_Click()


Command1.Enabled = True
End Sub
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single,
Y As Single)
If Button = 2 Then PopupMenu aaa
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
If Button = 2 Then PopupMenu aaa
End Sub
Private Sub mnback_Click()
cd1.ShowColor
Command1.BackColor = cd1.Color
End Sub
Private Sub mncaption_Click()
X = InputBox("enter caption", "caption")
10-5
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

Command1.Caption = X
End Sub
Private Sub mnf_Click()
Command1.Enabled = False
End Sub
Private Sub mnfont_Click()
cd1.Flags = 1
cd1.ShowFont
Command1.FontName = cd1.FontName
Command1.FontBold = cd1.FontBold
Command1.FontSize = cd1.FontSize
End Sub
Private Sub mnfv_Click()
Command1.Visible = False
End Sub
Private Sub mnt_Click()
Command1.Enabled = True
End Sub
Private Sub mntruev_Click()
Command1.Visible = True
End Sub
. ‫ أﺿﻒ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ اﻻﺧﺮى اﻟﻐﯿﺮ ﻣﻮﺟﻮدة ﻓﻲ اﻟﺘﻄﺒﯿﻖ‬/‫س‬

File ‫ اﻟﻘﺎﺋﻤﺔ اﻻوﻟﻰ‬، ‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺻﻨﺪوق ﻧﺺ وﺷﺮﯾﻂ ﻗﺎﺋﻤﺔ ﻣﺘﻜﻮن ﻣﻦ ﻗﺎﺋﻤﺘﺎن‬-: (5-10) ‫اﻟﺘﻄﺒﯿﻖ‬
‫ اﻟﺬي ﯾﻘﻮم‬Save ‫ واﻻﻣﺮ اﻟﻔﺮﻋﻲ‬Open Dialog Box ‫ اﻟﺬي ﯾﻘﻮم ﺑﻌﺮض‬Open ‫ﻣﺘﻜﻮﻧﺔ ﻣﻦ اﻻﻣﺮ اﻟﻔﺮﻋﻲ‬
‫ ﻣﺘﻜﻮﻧﺔ‬Edit ‫ أﻣﺎ اﻟﻘﺎﺋﻤﺔ اﻟﺜﺎﻧﯿﺔ‬، ‫ ﯾﻘﻮم ﺑﺎﻟﺨﺮوج ﻣﻦ اﻟﺘﻨﻔﯿﺬ‬Exit ‫ واﻻﻣﺮ اﻟﻔﺮﻋﻲ‬Save Dialog Box ‫ﺑﺈﻇﮭﺎر‬
‫ واﻻﻣﺮ اﻟﻔﺮﻋﻲ‬، ‫ ﻟﺘﻐﯿﯿﺮ ﻟﻮن اﻟﺨﻂ اﻟﻤﺴﺘﺨﺪم‬Color Dialog Box ‫ اﻟﺬي ﯾﻘﻮم ﺑﻔﺘﺢ‬Color ‫ﻣﻦ اﻻﻣﺮ اﻟﻔﺮﻋﻲ‬
. ‫ ﻟﻠﺘﺤﻜﻢ ﺑﺈﻋﺪادات اﻟﺨﻂ اﻟﻤﺴﺘﺨﺪم‬Font Dialog Box ‫ اﻟﺬي ﯾﻘﻮم ﺑﻔﺘﺢ ال‬Font

10-6
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫)(‪Private Sub mncolor_Click‬‬


‫‪cd1.ShowColor‬‬
‫‪Text1.ForeColor = cd1.Color‬‬
‫‪End Sub‬‬
‫)(‪Private Sub mnexit_Click‬‬
‫‪End‬‬
‫‪End Sub‬‬
‫)(‪Private Sub mnfont_Click‬‬
‫‪cd1.Flags = 1‬‬
‫‪cd1.ShowFont‬‬
‫‪Text1.FontName = cd1.FontName‬‬
‫‪Text1.FontBold = cd1.FontBold‬‬
‫‪Text1.FontSize = cd1.FontSize‬‬
‫‪Text1.FontItalic = cd1.FontItalic‬‬
‫‪Text1.FontUnderline = cd1.FontUnderline‬‬
‫‪End Sub‬‬
‫)(‪Private Sub mnopen_Click‬‬
‫‪cd1.Flags = cd1fnhidereadonly‬‬
‫"\‪cd1.InitDir = "c:‬‬
‫‪cd1.ShowOpen‬‬
‫‪End Sub‬‬
‫)(‪Private Sub mnsave_Click‬‬
‫‪cd1.ShowSave‬‬
‫‪End Sub‬‬

‫س‪ /‬إﺿﺎﻓﺔ ﻗﺎﺋﻤﺔ ﺛﺎﻟﺜﺔ ﺑﺈﺳﻢ ‪ Option‬ﺗﺘﺤﻜﻢ ﺑﺨﺼﺎﺋﺺ ﺻﻨﺪوق اﻟﻨﺺ ﻣﻦ ﻋﺮض وارﺗﻔﺎع وﺗﻌﺪد أﺳﻄﺮ وﻏﯿﺮھﺎ‬
‫‪ ،‬وإﺿﺎﻓﺔ ﻗﺎﺋﻤﺔ راﺑﻌﺔ ﺑﺈﺳﻢ ‪ Help‬ﺗﺘﻀﻤﻦ ﻗﺎﺋﻤﺘﯿﻦ ﻓﺮﻋﯿﺔ ‪ ،‬اﻻوﻟﻰ ﻻﻇﮭﺎر ﺻﻨﺪوق رﺳﺎﻟﺔ ﯾﺤﺘﻮي ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎت‬
‫ﻋﻦ ﺑﺮﻧﺎﻣﺞ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ واﻟﻘﺎﺋﻤﺔ اﻟﻔﺮﻋﯿﺔ اﻟﺜﺎﻧﯿﺔ ﺗﺘﻀﻤﻦ ﺻﻨﺪوق رﺳﺎﻟﺔ ﯾﺤﺘﻮي ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎت ﻋﻦ ال ‪. text‬‬

‫ﺗﻤﺎرﯾﻦ وﺗﺪرﯾﺒﺎت‪:‬‬

‫ﯾﻘﻮم اﻟﻤﺸﺮف ﻋﻠﻰ اﻟﺤﺼﺔ اﻟﻤﺨﺘﺒﺮﯾﺔ ﺑﺎﺧﺘﺒﺎر اﻟﻄﻠﺒﺔ ﺑﻌﺪد ﻣﻦ اﻟﺘﻤﺎرﯾﻦ اﻟﻤﺘﻌﻠﻘﺔ ﺑﻤﻮﺿﻮع اﻟﺘﺠﺮﺑﺔ ﻧﻀﺮﯾﺎً‬
‫وﻣﻦ ﺛﻢ ﺑﺘﻄﺒﯿﻘﮭﺎ ﻓﻲ اﻟﺤﺎﺳﻮب ‪.‬‬

‫‪10-7‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻐﺮض ﻣﻦ اﻟﺘﺠﺮﺑﺔ ‪-:‬‬


‫ﺗﻜﻮﯾﻦ ﻋﺪد ﻣﻦ اﻟﺘﻄﺒﯿﻘﺎت اﻟﺘﻲ ﺗﻌﺘﻤﺪ ﻋﻠﻰ أﺣﺪاث اﻟﻔﺄرة وﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ وﻣﺤﺎﻛﺎة إﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﻧﻈﺎم‬
‫اﻟﺘﺸﻐﯿﻞ ‪. widows‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (1-11‬ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ زر أﻣﺮ ﻻ ﯾﺴﻤﺢ ﻟﻤﺆﺷﺮ اﻟﻔﺄرة ﺑﺎﻟﻤﺮور ﻓﻮﻗﮫ ) ﯾﻐﯿﺮ ﻣﻜﺎﻧﮫ ﻛﻠﻤﺎ ﺟﻌﻠﻨﺎ‬
‫ﻣﺆﺷﺮ اﻟﻔﺄرة ﻓﻮﻗﮫ ( ‪.‬‬
‫‪Private Sub‬‬
‫‪Command1_MouseMove(Button As Integer,‬‬
‫)‪Shift As Integer, X As Single, Y As Single‬‬
‫‪Command1.Left = Rnd * ScaleWidth‬‬
‫‪Command1.Top = Rnd * ScaleHeight‬‬
‫‪End Sub‬‬

‫س‪ /‬ﺣﺎول ﻛﺘﺎﺑﺔ ﺷﻔﺮة ﺗﻤﻨﻊ ال ‪ command‬ﻣﻦ اﻟﺤﺮﻛﺔ وﺗﺴﻤﺢ ﻟﻤﺆﺷﺮ اﻟﻔﺄرة ﺑﺎﻟﻤﺮور ﻓﻮﻗﮫ ﺑﺎﻻﻋﺘﻤﺎد ﻋﻠﻰ‬
‫اﻻدﺧﺎﻻت ‪ button &shift‬ﻣﺜﻼ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺰر اﻻﯾﻤﻦ واﻟﻤﻔﺘﺎح ‪. ALT‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (2-11‬ﺻﻤﻢ ﻧﺎﻓﺬة ﻟﺮﺳﻢ ﺛﻼث دواﺋﺮ ﻣﺘﺪاﺧﻠﺔ ﺗﺘﺤﺮك ﻣﻊ ﺣﺮﻛﺔ اﻟﻔﺄرة ‪.‬‬
‫‪Private Sub Form_MouseMove(Button‬‬
‫‪As Integer, Shift As Integer, X As‬‬
‫‪(Single, Y As Single‬‬
‫‪Me.Cls‬‬
‫‪Circle (X, Y), 100, vbRed‬‬
‫‪Circle (X, Y), 150, vbBlue‬‬
‫‪Circle (X, Y), 50, vbYellow‬‬
‫‪End Sub‬‬

‫س‬

‫س‪ /‬إﺳﺘﺒﺪل اﻟﺪواﺋﺮ ﺑﺄﺷﻜﺎل ﺑﯿﻀﻮﯾﺔ ﻣﺘﻐﯿﺮة ﻣﻊ ﻛﻞ ﺣﺮﻛﺔ ‪.‬‬

‫‪12-1‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ -: (3-11‬أﻛﺘﺐ ﺷﻔﺮة ﺑﺮﻣﺠﯿﺔ ﻋﻨﺪ اﻟﻀﻐﻂ ﻟﻼﺳﻔﻞ ﻋﻠﻰ أﺣﺪ ﻣﻔﺎﺗﯿﺢ اﻟﺤﺮوف ) ‪ ( A to Y‬ﻓﻲ ﻟﻮﺣﺔ‬
‫اﻟﻤﻔﺎﺗﯿﺢ ﯾﺘﻢ ﻃﺒﺎﻋﺔ ھﺬا اﻟﺤﺮف ﻋﻠﻰ اﻟﻨﻤﻮذج وﺑﺄﻓﻼت اﻟﻤﻔﺘﺎح ﯾﺘﻢ ﻃﺒﺎﻋﺔ اﻟﺤﺮف اﻟﺘﺎﻟﻲ ﻟﻠﺤﺮف اﻟﻤﻄﺒﻮع اﻟﻰ ﺟﺎﻧﺒﮫ‬

‫)‪Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer‬‬


‫;)‪Print Chr(KeyCode‬‬
‫‪End Sub‬‬
‫)‪Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer‬‬
‫))‪Print Chr((KeyCode + 1‬‬
‫‪End Sub‬‬
‫س‪ /‬إﺟﻌﻞ اﻟﻄﺒﺎﻋﺔ ﺑﻌﺪ اﻓﻼت اﻟﻤﻔﺘﺎح ﺗﻜﻮن ﻟﻠﺤﺮف ﻧﻔﺴﮫ ﻣﻊ ﺛﻼث ﺣﺮوف ﺗﺘﺒﻌﮫ ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ)‪ -: (4-11‬ﺑﺎﺳﺘﺨﺪام ﻃﺮق اﻟﺮﺳﻢ ﻋﻠﻰ اﻟﻨﻤﻮذج إرﺳﻢ ﺧﻂ ﻣﺴﺘﻘﯿﻢ ﻣﻦ اﻟﻨﻘﻄﺔ اﻟﺘﻲ ﯾﺒﺪأ ال ‪MOUSE‬‬
‫ﺑﺎﻟﻀﻐﻂ ﻋﻠﯿﮭﺎ اﻟﻰ ﻧﻘﻄﺔ اﻓﻼت اﻟﻀﻐﻂ ﻓﻲ ﻣﻜﺎن اﺧﺮ ﻋﻠﻰ اﻟﻨﻤﻮذج ﻣﻊ ﺻﻨﺎدﯾﻖ ﻧﺺ ﺗﻌﺮض ﻗﯿﻢ إﺣﺪاﺛﯿﺎت ﻧﻘﺎط‬
‫اﻟﺮﺳﻢ ‪.‬‬

‫‪Dim X1 As Single‬‬
‫‪Dim Y1 As Single‬‬
‫‪12-2‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As


Single)
X1 = X
Y1 = Y
Text1.Text = X1
Text2.Text = Y1
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Text3.Text = X
Text4.Text = Y
X2 = X
Y2 = Y
Line (X1, Y1)-(X2, Y2)
End Sub
. line ‫ أﺿﻒ اﻟﻰ اﻟﺒﺮﻧﺎﻣﺞ ﺷﺮﯾﻂ زﺣﻠﻘﺔ ﻟﺘﺤﺪﯾﺪ ﺳﻤﻚ ال‬/‫س‬

‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﻟﺮﺳﻢ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻨﻘﺎط إﻋﺘﻤﺎداً ﻋﻠﻰ ﺣﺮﻛﺔ اﻟﻔﺄرة واﻟﺘﺤﻜﻢ ﺑﺎﻟﻠﻮن واﻟﺤﺠﻢ ﻋﻦ‬-: (5-11) ‫اﻟﺘﻄﺒﯿﻖ‬
. ‫ﻃﺮﯾﻖ أزرار اﻻﻣﺮ‬

Dim P As Boolean
Dim X1 As String
Private Sub Command1_Click()
X1 = vbRed
Form1.DrawWidth = 6
End Sub
Private Sub Command2_Click()
X1 = vbGreen
Form1.DrawWidth = 1
End Sub
12-3
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

Private Sub Command3_Click()


X1 = vbBlue
Form1.DrawWidth = 3
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
Single)
P = True
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
If P Then PSet (X, Y), X1
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
P = False
End Sub
. ‫ أﺿﻒ ﺛﻼث ازرار اﺧﺘﯿﺎر ﻟﺠﻌﻞ اﻟﺮﺳﻢ ﻧﻘﺎط او ﺧﻄﻮط او دواﺋﺮ‬/‫س‬

. ‫ ﺻﻤﻢ ﻧﺎﻓﺬة ﺗﺤﺘﻮي ﻋﻠﻰ ﺷﻜﻞ داﺋﺮة ﺗﺘﺴﺒﺐ ﻓﻲ اﺧﺘﻔﺎء اي ﻋﻨﺼﺮ ﯾﺘﻢ ﺳﺤﺒﮫ واﻓﻼﺗﮫ ﻋﻠﯿﮭﺎ‬-: (6-11) ‫اﻟﺘﻄﺒﯿﻖ‬

Private Sub Label1_DragDrop(Source As Control, X As Single, Y As Single)


Source.Visible = False
End Sub
‫ ؟‬label1 ‫ ﻋﻠﯿﮫ ؟ ﺣﺎول ﻛﺘﺎﺑﺔ ﺷﻔﺮة ﺛﺎﻧﯿﺔ ﺑﻌﺪ ﺣﺬف‬drag-drop ‫ وﻛﺘﺎﺑﺔ ﺷﻔﺮة‬label1 ‫ﻟﻤﺎذا ﺗﻢ وﺿﻊ‬/ ‫س‬

: ‫ﺗﻤﺎرﯾﻦ وﺗﺪرﯾﺒﺎت‬
ً‫ﯾﻘﻮم اﻟﻤﺸﺮف ﻋﻠﻰ اﻟﺤﺼﺔ اﻟﻤﺨﺘﺒﺮﯾﺔ ﺑﺎﺧﺘﺒﺎر اﻟﻄﻠﺒﺔ ﺑﻌﺪد ﻣﻦ اﻟﺘﻤﺎرﯾﻦ اﻟﻤﺘﻌﻠﻘﺔ ﺑﻤﻮﺿﻮع اﻟﺘﺠﺮﺑﺔ ﻧﻀﺮﯾﺎ‬
. ‫وﻣﻦ ﺛﻢ ﺑﺘﻄﺒﯿﻘﮭﺎ ﻓﻲ اﻟﺤﺎﺳﻮب‬

12-4
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﻐﺮض ﻣﻦ اﻟﺘﺠﺮﺑﺔ ‪-:‬‬


‫ﻟﺘﻌﻠﯿﻢ اﻟﻄﺎﻟﺐ ﻛﯿﻔﯿﺔ ﺗﻜﻮﯾﻦ اﻟﺪوال اﻟﻮﻇﯿﻔﯿﺔ واﻟﺒﺮاﻣﺞ اﻟﻔﺮﻋﯿﺔ وإﺳﺘﺪﻋﺎﺋﮭﺎ ﻓﻲ اﻟﺒﺮاﻣﺞ ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ )‪ : (1-12‬أﻛﺘﺐ ﺑﺮﻧﺎﻣﺠﺎً ﯾﻘﻮم ﺑﺘﺨﺼﯿﺺ ﺛﻼث ﻗﯿﻢ ﺛﻢ ﻛﻮن ﺑﺮﻧﺎﻣﺠﺎً ﻓﺮﻋﯿﺎً ‪ Subroutine‬ﯾﻌﯿﺪ ﺣﺎﺻﻞ‬
‫ﺟﻤﻊ اﻟﻘﯿﻢ اﻟﺜﻼث ‪ ،‬ﺛﻢ إﺳﺘﺪع إﺟﺮاء داﻟﺔ ‪ Function Procedure‬ﻟﺤﺴﺎب اﻟﻤﻌﺪل ‪ Average‬ﻟﻠﻘﯿﻢ اﻟﺜﻼث‬
‫ﺑﺎﻹﻋﺘﻤﺎد ﻋﻠﻰ ﺣﺎﺻﻞ ﺟﻤﻊ اﻟﻘﯿﻢ اﻟﺜﻼث ﻣﻦ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻔﺮﻋﻲ واﻃﺒﻊ اﻟﻨﺘﺎﺋﺞ ‪.‬‬

‫‪Dim a, b, c, s As Single‬‬
‫)(‪Private Sub Command1_Click‬‬
‫‪a=5‬‬
‫‪b=4‬‬
‫‪c = 12‬‬
‫))‪av = Avg((a), (b), (c‬‬
‫‪Print s‬‬
‫‪Print av‬‬
‫‪End Sub‬‬
‫)‪Private Sub sum(x As Single, y As Single, z As Single‬‬
‫‪s=x+y+z‬‬
‫‪End Sub‬‬
‫‪Private Function Avg(x As Single, y As Single, z As Single) As Single‬‬
‫)‪Call sum(x, y, z‬‬
‫‪Avg = s / 3‬‬
‫‪End Function‬‬
‫س‪ /‬اﺟﻌﻞ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻔﺮﻋﻲ ال ‪ subroutine‬ﯾﺠﻤﻊ اﻟﻘﯿﻢ اﻟﻤﻮﺟﺒﺔ ﻓﻘﻂ واﻟﻘﯿﻢ اﻟﺴﺎﻟﺒﺔ ﻻ ﺗﺪﺧﻞ ﻓﻲ ﺣﺴﺎب اﻟﻤﻌﺪل ‪.‬‬

‫‪13-1‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ : (2-12‬أﻛﺘﺐ أﺟﺮاء داﻟﺔ ‪ Function Procedure‬ﯾﻌﻜﺲ اﻻرﻗﺎم )‪ (0-9‬ﺑﺤﯿﺚ أن اﻟﺮﻗﻢ ‪ 0‬ﯾﺼﺒﺢ ‪9‬‬
‫و اﻟﺮﻗﻢ ‪ 1‬ﯾﺼﺒﺢ ‪ 8‬وھﻜﺬا اﻟﻰ اﻟﺮﻗﻢ ‪ 9‬ﯾﺼﺒﺢ ‪ ، 0‬ﺛﻢ اﺳﺘﺪع ھﺬه اﻟﺪاﻟﺔ ﻟﻌﻜﺲ أرﻗﺎم اﻟﻘﯿﻢ اﻟﺘﻲ ﯾﺘﻢ ادﺧﺎﻟﮭﺎ ﻓﻲ‬
‫ﺻﻨﺪوق اﻟﻨﺺ ‪ Text1‬وﻃﺒﺎﻋﺔ اﻟﻨﺎﺗﺞ ﻋﻠﻰ اﻟﻨﻤﻮذج ﺑﻌﺪ اﻟﻀﻐﻂ ﻋﻠﻰ زر أﻣﺮ‪.‬‬

‫)(‪Private Sub Command1_Click‬‬


‫)‪For i = 1 To Len(Text1.Text‬‬
‫)‪x = Mid(Text1.Text, i, 1‬‬
‫))‪f = NineInv((x‬‬
‫‪y=y&f‬‬
‫‪Label1 = y‬‬
‫‪Next i‬‬
‫‪Print y‬‬
‫‪End Sub‬‬
‫‪Private Function NineInv(x As Integer) As Integer‬‬
‫‪NineInv = 9 - x‬‬
‫‪End Function‬‬
‫س‪ /‬اﺟﻌﻞ ﻋﺪد اﻻرﻗﺎم اﻟﺘﻲ ﺗﺤﻮل ﻓﻲ اﻟﺪاﻟﺔ ﺑﻤﻘﺪار ﺧﻤﺲ ارﻗﺎم ﻓﻘﻂ ﺑﻄﺮﯾﻘﺘﯿﻦ ﻣﺨﺘﻠﻔﺘﯿﻦ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ : (3-12‬أﻛﺘﺐ إﺟﺮاء داﻟﺔ ‪ Function Procedure‬ﺗﺄﺧﺬ ﻗﯿﻤﺘﯿﻦ ﺻﺤﯿﺤﺘﯿﻦ وﺗﺤﺴﺐ ﻣﺠﻤﻮع اﻷرﻗﺎم‬
‫اﻟﻔﺮدﯾﺔ اﻟﻤﺤﺼﻮرة ﺑﯿﻨﮭﻤﺎ ﺛﻢ اﺳﺘﺪﻋﻲ ھﺬه اﻟﺪاﻟﺔ ﻣﺮﺗﯿﻦ ﻟﻘﯿﻢ ﻣﺨﺘﻠﻔﺔ وﻃﺒﺎﻋﺔ اﻟﻨﺘﺎﺋﺞ ﺑﻀﻐﻄﮫ واﺣﺪة ﻋﻠﻰ زر أﻣﺮ‪.‬‬

‫‪13-2‬‬
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

Private Sub Command1_Click()


v1 = OddSum(2, 7)
v2 = OddSum(1, 9)
Print v1; v2
End Sub
Private Function OddSum(x As Single, y As Single) As Single
OddSum = 0
For i = x To y
If i Mod 2 = 1 Then OddSum = OddSum + i
Next
End Function
. v1=odd(8,3) ‫ إﺟﻌﻞ اﻟﺪاﻟﺔ ﺗﻌﻤﻞ ﻋﻨﺪﻣﺎ ﯾﻜﻮن اﻟﺮﻗﻢ اﻻول اﻛﺒﺮ ﻣﻦ اﻟﺮﻗﻢ اﻟﺜﺎﻧﻲ ﻣﺜﻼ ادﺧﺎل‬/‫س‬

‫ ﯾﺄﺧﺬ ﻗﯿﻤﺘﯿﻦ ﺻﺤﯿﺤﺘﯿﻦ ﻣﻦ ﺧﻼل ﺻﻨﺪوﻗﻲ إدﺧﺎل‬Subroutine ً‫ أﻛﺘﺐ ﺑﺮﻧﺎﻣﺠﺎً ﻓﺮﻋﯿﺎ‬: (4-12)‫اﻟﺘﻄﺒﯿﻖ‬
. ‫وﯾﺤﺴﺐ اﻟﻘﯿﻤﺔ اﻻﻛﺒﺮ وﯾﻌﺮض اﻟﻨﺘﯿﺠﺔ ﻋﻠﻰ ﺻﻨﺪوق رﺳﺎﻟﺔ ﺑﻌﺪ اﻟﻀﻐﻂ ﻋﻠﻰ زر أﻣﺮ‬

Private Sub Command1_Click()


c = InputBox("Enter any value", "Input", "Type the value here")
s = InputBox("Enter any value", "Input", "Type the value here")
Call max(c, s, x)
MsgBox ("the large number is " & x)
End Sub
Private Sub max(c, s, x)
m=0
If c > m Then x = c
If s > m Then x = s
End Sub
. ‫ إﺟﻌﻞ اﻟﺒﺮﻧﺎﻣﺞ ﯾﺤﺴﺐ اﻻﻛﺒﺮ ﻟﻌﺪد ﻣﻦ اﻻدﺧﺎﻻت ﯾﺘﻢ ﺗﺤﺪﯾﺪه ﻋﻦ ﻃﺮﯾﻖ ﺻﻨﺪوق ﻧﺺ‬/‫س‬

13-3
‫ﻣﺨﺘﺒﺮ ﺣﺎﺳﺒﺎت \ ﻓﯿﺠﻮال ﺑﯿﺴﻚ‬ ‫اﻟﺠﺎﻣﻌﺔ اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺔ \ ﻗﺴﻢ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻷﻟﻜﺘﺮوﻧﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ )‪ : (5-12‬أﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﻓﺮﻋﻲ ‪ Subroutine Procedure‬ﻟﺤﺴﺎب اﻟﻤﻌﺎدﻟﺔ اﻟﺘﺎﻟﯿﺔ ‪t=c*10+c*100‬‬


‫ﺣﯿﺚ ﯾﺘﻢ إدﺧﺎل ﻗﯿﻤﺔ ‪ c‬ﻋﻦ ﻃﺮﯾﻖ ﺻﻨﺪوق إدﺧﺎل ‪.‬‬

‫)(‪Private Sub Form_Load‬‬


‫‪Form1.Show‬‬
‫)"‪c = InputBox("Enter any value", "Input", "Type the value here‬‬
‫)‪Call total(c, t‬‬
‫‪Print t‬‬
‫‪End Sub‬‬
‫)‪Private Sub total(c, t‬‬
‫‪c1 = c * 10‬‬
‫‪c2 = c * 100‬‬
‫‪t = c1 + c2‬‬
‫‪End Sub‬‬
‫س‪ /‬إﺳﺘﺒﺪل اﻹﺟﺮاء اﻟﻔﺮﻋﻲ ﺑﺈﺟﺮاء داﻟﺔ وإﺟﻌﻠﮭﺎ ﺗﻘﺒﻞ اﻟﻘﯿﻢ اﻟﻤﻮﺟﺒﺔ ﻟﻞ ‪ c‬ﻓﻘﻂ ‪.‬‬

‫ﺗﻤﺎرﯾﻦ وﺗﺪرﯾﺒﺎت ‪:‬‬


‫ﯾﻘﻮم اﻟﻤﺸﺮف ﻋﻠﻰ اﻟﺤﺼﺔ اﻟﻤﺨﺘﺒﺮﯾﺔ ﺑﺎﺧﺘﺒﺎر اﻟﻄﻠﺒﺔ ﺑﻌﺪد ﻣﻦ اﻟﺘﻤﺎرﯾﻦ اﻟﻤﺘﻌﻠﻘﺔ ﺑﻤﻮﺿﻮع اﻟﺘﺠﺮﺑﺔ ﻧﻀﺮﯾﺎً‬
‫وﻣﻦ ﺛﻢ ﺑﺘﻄﺒﯿﻘﮭﺎ ﻓﻲ اﻟﺤﺎﺳﻮب ‪.‬‬

‫‪13-4‬‬

You might also like