SlideShare a Scribd company logo
‫‪ Visual Basic‬ﻟﻠﺠﻤﻴﻊ‬
       ‫ﻧﺤﻮ ﺑﺮﻣﺠﺔ آﺎﺋﻨﻴﺔ اﻟﺘﻮﺟﻪ ‪OOP‬‬




                           ‫ﺑﻘﻠﻢ‬
                   ‫ﺗﺮآﻲ اﻟﻌﺴﻴﺮي‬
‫ﺑﺴﻢ اﷲ اﻟﺮﺣﻤﻦ اﻟﺮﺣﻴﻢ‬




‫ُ ْﺤ ﻧﻚ ﻟ ﻋ ْ َ ﻟﻨ إﻟ ﻣ ﻋﻠ ْﺘﻨ إﻧﻚ أ ْﺖ‬
‫)) ﺳﺒ َﺎ َ َ َﺎ ِﻠﻢ َ َﺎ ِ ﱠﺎ َﺎ َ ﱠﻤ َ َﺎ ِ ﱠ َ َﻧ َ‬
                  ‫اﻟ َ ِﻴﻢ اﻟ َ ِﻴﻢ ((‬
                     ‫ْﻌﻠ ُ ْﺤﻜ ُ‬
‫اهﺪاء‬
               ‫اهﺪي هﺬا اﻟﻜﺘﺎب ﺑﺒﺎﻗﺔ ورد ﻣﻌﻄﺮة اﻟﻰ اﻟﺤﺒﻴﺒﺔ اﻟﻐﺎﻟﻴﺔ،‬
                                          ‫اﻟﺘﻲ وﻗﻒ اﻟﻘﻠﻢ ﺣﺎﺋﺮا ﻋﻨﺪهﺎ‬
                                                  ‫ﻣﺤﺎوﻻ ﺗﺮﺗﻴﺐ اﻟﺤﺮوف‬
                                                    ‫ﻟﻴﻜﻮن ﻣﻨﻬﺎ آﻠﻤﺎت‬
                                      ‫ﺗﺼﻒ ﺷﺮارة ﻣﻦ ﻟﻬﻴﺐ ﺣﺒﻲ ﻟﻬﺎ،‬
                                                    ‫واﻟﺘﻲ ﻣﻬﻤﺎ ﺻﻨﻌﺖ‬
                                           ‫ﻣﺎ وﻓﻴﺖ وﻻ آﻔﻴﺖ ﻓﻲ ﺣﻘﻬﺎ‬
                                              ‫وﻟﻮ ﺑﻘﺪر اﺧﻤﺺ ﻗﺪﻣﻬﺎ...‬

                             ‫اﻟﻴﻚ ﻳﺎ اﻣﻲ اﻟﺤﺒﻴﺒﺔ اهﺪي هﺬا اﻟﻜﺘﺎب...‬




‫اﺑﻨﻚ اﻟﻤﺨﻠﺺ،‬
‫‪ Visual Basic‬ﻟﻠﺠﻤﻴﻊ‬
                                             ‫ﻧﺤﻮ ﺑﺮﻣﺠﺔ آﺎﺋﻨﻴﺔ اﻟﺘﻮﺟﻪ ‪OOP‬‬
                                                                   ‫اﻟﻄﺒﻌﺔ اﻻوﻟﻰ 2002‬



‫* ﺣﻘﻮق آﺘﺎب "‪ Visual Basic‬ﻟﻠﺠﻤﻴﻊ – ﻧﺤﻮ ﺑﺮﻣﺠﺔ آﺎﺋﻨﻴﺔ اﻟﺘﻮﺟﻪ ‪ "OOP‬ﻣﺤﻔﻮﻇﺔ ﻟﻠﻤﺆﻟﻒ وﻻ ﻳﺤﻖ‬
‫ﻷي ﺷﺨﺺ او ﺟﻬﺔ رﺳﻤﻴﺔ إﻋﺎدة ﻧﺸﺮ هﺬا اﻟﻜﺘﺎب او ﺟﺰء ﻣﻨﻪ ﺑﺄي وﺳـﻴﻠﺔ دون اﻻذن اﻟﺨﻄـﻲ ﻣـﻦ‬
                                                                              ‫اﻟﻤﺆﻟﻒ.‬


‫* اﺳﻤﺎء اﻟﺒﺮاﻣﺞ اﻟﻤـﺬآﻮرة ﻓـﻲ هـﺬا اﻟﻜﺘـﺎب ﻣﺜـﻞ ‪ Windows ،Visual Basic‬وﻏﻴﺮهـﺎ هـﻲ ﻋﻼﻣـﺎت‬
‫ﺗﺠﺎرﻳﺔ ﻣﺴﺠﻠﺔ ﻻﺻﺤﺎﺑﻬﺎ، واﻟﻤﺆﻟﻒ ﻳﺤﺘـﺮم هـﺬﻩ اﻟﻌﻼﻣـﺎت وﻳﻘـﺮ ﺑﻬـﺎ ﻟﻤﺎﻟﻴﻜﻬـﺎ ﺳـﻮاء آـﺎﻧﻮا اﻓـﺮاد او‬
                                               ‫ﺷﺮآﺎت او أي ﺟﻬﺔ ﺗﻨﻈﻴﻤﻴﺔ، وﻟﻢ ﻳﺘﻢ ذآﺮهﺎ ﻟﻼﺧﺘﺼﺎر.‬

‫* ﺗﻢ اﺧﺘﺒﺎر اﻟﻤﺎدة اﻟﻌﻠﻤﻴﺔ ﻓﻲ هﺬا اﻟﻜﺘﺎب واﻟﺘﺤﻘـﻖ ﻣﻨﻬـﺎ وﻣﺮاﺟﻌﺘﻬـﺎ، اﻻ ان اﻟﻤﺆﻟـﻒ ﻏﻴـﺮ ﻣﺴـﺌﻮل‬
‫ﺑﺄي ﺷﻜﻞ ﻣﻦ اﻻﺷﻜﺎل ﻋﻦ اﻻﺿﺮار اﻟﻨﺎﺗﺠﺔ ﺳﻮاء ﺑﺘﻄﺒﻴﻖ اﻟﻤﻌﻠﻮﻣﺎت ﻓﻲ هﺬا اﻟﻜﺘﺎب، او اﺳـﺘﺨﺪام‬
                                                                 ‫اﻻآﻮاد او اﻟﺒﺮاﻣﺞ اﻟﺘﺎﺑﻌﺔ ﻟﻪ.‬

‫* ﺟﻤﻴﻊ اﻻراء اﻟﻤﻮﺟﻮدة ﻓﻲ هﺬا اﻟﻜﺘﺎب ﺗﻌﺒﺮ ﻋﻦ رأي اﻟﻤﺆﻟﻒ اﻟﺸﺨﺼﻲ ﺣﺘﻰ ﻟﻮ ﻟﻢ ﺗﻮﺛﻖ ﺑﺎﻣﺜﻠﺔ او‬
                                                                           ‫ادﻟﺔ ﺣﺴﻴﺔ.‬

                ‫* اﻟﻜﺘﺎب ﻣﺠﺎﻧﻲ 001% وﻻ ﻳﺤﻖ ﻻي ﺷﺨﺺ ﺑﻴﻌﻪ او اﺳﺘﻐﻼﻟﻪ ﺑﺄي ﺷﻜﻞ ﺗﺠﺎري.‬
‫اﻟﻤﺤﺘﻮﻳﺎت‬
‫ﺷﻜﺮ وﺗﻘﺪﻳﺮ ----------------------------------------------------- ا‬
‫---------------------------------------------------- ب‬     ‫اﻟﻤﻘﺪﻣﺔ‬

                                                           ‫اﻟﺠﺰء اﻻول: اﻻﺳﺎﺳﻴﺎت‬
‫اﻟﻔﺼﻞ اﻻول: ﺗﻌﺮف ﻋﻠﻰ ‪2 -------------------------- Visual Basic‬‬
‫ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ ‪2 ------------------------------------------- IDE‬‬
‫ﻧﻮاﻓﺬ ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ --------------------------------- 3‬
‫ﻗﻮاﺋﻢ ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ --------------------------------- 9‬
‫اﺷﺮﻃﺔ اﻻدوات --------------------------------------------- 21‬
‫آﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺠﻚ اﻻول ------------------------------------------------ 21‬
‫اﻟﺨﻄﻮة اﻻوﻟﻰ: ﻓﻜﺮة اﻟﺒﺮﻧﺎﻣﺞ ----------------------------- 21‬
‫اﻟﺨﻄﻮة اﻟﺜﺎﻧﻴﺔ: إﻧﺸﺎء اﻟﻤﺸﺮوع --------------------------- 21‬
‫اﻟﺨﻄﻮة اﻟﺜﺎﻟﺜﺔ: ﺗﺼﻤﻴﻢ اﻟﻮاﺟﻬﺔ ---------------------------- 31‬
‫اﻟﺨﻄﻮة اﻟﺮاﺑﻌﺔ: آﺘﺎﺑﺔ اﻟﺘﻌﻠﻴﻤﺎت --------------------------- 41‬
‫اﻟﺨﻄﻮة اﻟﺨﺎﻣﺴﺔ: اﻟﺘﺠﺮﺑﺔ واﻟﺘﻌﺪﻳﻞ ----------------------- 51‬
‫اﻟﺨﻄﻮة اﻟﺴﺎدﺳﺔ: اﻟﺘﺮﺟﻤﺔ -------------------------------- 61‬
‫اﻟﻔﺼﻞ اﻟﺜﺎﻧﻲ: اﻟﻨﻤﺎذج واﻻدوات --------------------------------71‬
‫اﻟﺨﺼﺎﺋﺺ اﻟﻤﺸﺘﺮآﺔ ------------------------------------------------ 71‬
‫ﺧﺎﺻﻴﺔ اﻻﺳﻢ ‪19 ------------------------------------- Name‬‬
‫ﺧﺼﺎﺋﺺ اﻟﻤﻮﻗﻊ واﻟﺤﺠﻢ ------------------------------------ 91‬
‫ﺧﺼﺎﺋﺺ اﻻﺣﺘﻀﺎن ------------------------------------------ 02‬
‫ﺧﺎﺻﻴﺔ اﻟﺨﻂ ‪21 ------------------------------------------ Font‬‬
‫ﺧﺼﺎﺋﺺ اﻟﻠﻮن ---------------------------------------------- 22‬
‫ﺧﺼﺎﺋﺺ اﻟﺠﺪوﻟﺔ -------------------------------------------- 32‬
‫ﺧﺼﺎﺋﺺ ﻣﺆﺷﺮ اﻟﻔﺄرة --------------------------------------- 42‬
‫ﺧﺎﺻﻴﺔ اﻟﺘﻌﺮﻳﺐ ‪25 ------------------------------ RightToLeft‬‬
‫ﺧﺎﺻﻴﺔ اﻟﻤﻘﺒﺾ ‪27 -------------------------------------hWnd‬‬
‫ﺧﺼﺎﺋﺺ اﺧﺮى ---------------------------------------------- 72‬
‫اﻟﻄﺮق اﻟﻤﺸﺘﺮآﺔ --------------------------------------------------- 82‬
‫اﻟﻄﺮﻳﻘﺔ ‪28 ---------------------------------------------- Move‬‬
‫اﻟﻄﺮﻳﻘﺔ ‪29 ----------------------------------------- SetFocus‬‬
‫اﻟﻄﺮﻳﻘﺔ ‪30 -------------------------------------------- ZOrder‬‬
‫اﻟﻄﺮﻳﻘﺔ ‪30 ------------------------------------------- Refresh‬‬
‫اﻻﺣﺪاث اﻟﻤﺸﺘﺮآﺔ ------------------------------------------------- 13‬
‫اﺣﺪاث اﻟﻔﺄرة ------------------------------------------------ 23‬
‫اﺣﺪاث اﻟﺘﺮآﻴﺰ ----------------------------------------------- 43‬
‫اﺣﺪاث ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ -------------------------------------- 53‬
‫ﺣﺪث اﻟﺘﻐﻴﻴﺮ ‪37 ------------------------------------- Change‬‬
‫ﻧﺎﻓﺬة اﻟﻨﻤﻮذج ------------------------------------------------------- 73‬
‫ﺧﺼﺎﺋﺺ اﻟﻨﻤﻮذج -------------------------------------------- 73‬
‫ﻃﺮق اﻟﻨﻤﻮذج ----------------------------------------------- 34‬
‫اﺣﺪاث اﻟﻨﻤﻮذج --------------------------------------------- 84‬
‫اﻟﻘﻮاﺋﻢ ‪52 --------------------------------------------- Menus‬‬
‫اﻻدوات اﻟﺪاﺧﻠﻴﺔ ---------------------------------------------------- 35‬
‫أداة اﻟﻌﻨﻮان ‪53 ------------------------------------------ Label‬‬
‫أداة اﻟﻨﺺ ‪54 ---------------------------------------- TextBox‬‬
‫زر اﻻواﻣﺮ ‪60 ------------------------------ Command Button‬‬
‫أداة اﻻﺧﺘﻴﺎر ‪60 ------------------------------------ CheckBox‬‬
‫زر اﻻﺧﺘﻴﺎر ‪61 ---------------------------------- OptionButton‬‬
‫أداة اﻟﻘﺎﺋﻤﺔ ‪61 --------------------------------------- ListBox‬‬
‫أداة اﻟﻘﺎﺋﻤﺔ ‪64 ----------------------------------- ComboBox‬‬
‫أداة اﻟﺼﻮرة ‪64 ------------------------------------ PictureBox‬‬
‫أداة اﻟﺼﻮرة ‪64 ------------------------------------------ Image‬‬
‫اﺷﺮﻃﺔ اﻟﺘﻤﺮﻳﺮ ‪65 --------------------------------- ScrollBars‬‬
‫ادوات اﻟﻤﻠﻔﺎت ---------------------------------------------- 66‬
‫ادوات اﺧﺮى ------------------------------------------------- 86‬
‫اﻟﻔﺼﻞ اﻟﺜﺎﻟﺚ: ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ ‪70 ---------------------------- BASIC‬‬
‫اﻟﻤﺘﻐﻴﺮات واﻟﺜﻮاﺑﺖ -------------------------------------------------- 07‬
‫ﻗﺎﺑﻠﻴﺔ اﻟﺮؤﻳﺔ وﻋﻤﺮ اﻟﺤﻴﺎة ---------------------------------- 07‬
‫اﻟﻤﺘﻐﻴﺮات --------------------------------------------------- 57‬
‫اﻟﺜﻮاﺑﺖ ------------------------------------------------------ 38‬
‫اﻟﺘﺮآﻴﺒﺎت واﻟﻤﺼﻔﻮﻓﺎت ---------------------------------------------- 58‬
‫ﺗﺮآﻴﺒﺎت ‪85 -------------------------------------------- Enum‬‬
‫ﺗﺮآﻴﺒﺎت ﻣﻦ اﻟﻨﻮع ‪87 ------------------------------------- UDT‬‬
‫اﻟﻤﺼﻔﻮﻓﺎت -------------------------------------------------- 98‬
‫اﻟﻤﺠﻤﻮﻋﺎت -------------------------------------------------- 39‬
‫اﻻﺟﺮاءات واﻟﺪوال --------------------------------------------------- 69‬
‫اﻻرﺳﺎل ﺑﺎﻟﻤﺮﺟﻊ او اﻟﻘﻴﻤﺔ --------------------------------- 89‬
‫ارﺳﺎل اﻧﻮاع اﺧﺮى ---------------------------------------- 001‬
‫ﺗﺨﺼﻴﺺ اﻟﻤﺘﻐﻴﺮات اﻟﻤﺮﺳﻠﺔ ----------------------------- 101‬
‫اﻟﺘﺤﻜﻢ ﻓﻲ ﺳﻴﺮ اﻟﺒﺮﻧﺎﻣﺞ ---------------------------------------- 301‬
‫اﻟﺘﻔﺮع ﺑﺎﺳﺘﺨﺪام ‪103 -------------------------------------- IF‬‬
‫اﻟﺘﻔﺮع ﺑﺎﺳﺘﺨﺪام ‪105 --------------------------------- Select‬‬
‫اﻟﺤﻠﻘﺎت اﻟﺘﻜﺮارﻳﺔ ----------------------------------------- 701‬
‫ﺗﺤﺴﻴﻦ اﻟﻜﻔﺎءة --------------------------------------------------- 011‬
‫‪ P-Code‬و ‪110 ---------------------------------- Native Code‬‬
‫اﻋﺪادات ‪112 ----------------------- Advanced Optimization‬‬
‫اﻟﻔﺼﻞ اﻟﺮاﺑﻊ: ﻣﻜﺘﺒﺎت ‪ VB‬و ‪114 ------------------------------ VBA‬‬
‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻻﻋﺪاد ------------------------------------------------ 411‬
‫اﻟﻤﻌﺎﻣﻼت اﻟﺮﻳﺎﺿﻴﺔ ---------------------------------------- 411‬
‫اﻟﺪوال اﻟﺮﻳﺎﺿﻴﺔ -------------------------------------------- 711‬
‫ﺗﻨﺴﻴﻖ اﻻﻋﺪاد -------------------------------------------- 811‬
‫دوال اﺧﺮى ------------------------------------------------- 811‬
‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺤﺮوف ----------------------------------------------- 021‬
‫اﻟﻤﻌﺎﻣﻼت اﻟﺤﺮﻓﻴﺔ ---------------------------------------- 021‬
‫اﻟﺒﺤﺚ واﻻﺳﺘﺒﺪال ---------------------------------------- 221‬
‫ﺗﻨﺴﻴﻖ اﻟﺤﺮوف -------------------------------------------- 321‬
‫دوال اﺧﺮى ------------------------------------------------ 321‬
‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻮﻗﺖ واﻟﺘﺎرﻳﺦ ---------------------------------------- 621‬
‫دوال اﻟﻮﻗﺖ واﻟﺘﺎرﻳﺦ -------------------------------------- 621‬
‫ﺗﻨﺴﻴﻖ اﻟﻮﻗﺖ واﻟﺘﺎرﻳﺦ ------------------------------------ 031‬
‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻠﻔﺎت واﻟﻤﺠﻠﺪات ----------------------------------- 031‬
‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻠﻔﺎت --------------------------------------- 131‬
‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﺠﻠﺪات ------------------------------------- 131‬
‫اﻟﺒﺤﺚ ﻋﻦ اﻟﻤﻠﻔﺎت واﻟﻤﺠﻠﺪات --------------------------- 331‬
‫ﺗﺤﺮﻳﺮ اﻟﻤﻠﻔﺎت --------------------------------------------- 331‬
‫آﺎﺋﻨﺎت اﺧﺮى ------------------------------------------------------ 831‬
‫آﺎﺋﻦ اﻟﺒﺮﻧﺎﻣﺞ ‪139 ----------------------------------------- App‬‬
‫آﺎﺋﻦ اﻟﺤﺎﻓﻈﺔ ‪140 --------------------------------- Clipboard‬‬
‫آﺎﺋﻦ اﻟﺸﺎﺷﺔ ‪142 ----------------------------------- Screen‬‬
‫آﺎﺋﻦ اﻟﻄﺎﺑﻌﺔ ‪142 -------------------------------------- Printer‬‬
‫اآﺘﺸﺎف اﻻﺧﻄﺎء -------------------------------------------------- 441‬
‫ﻓﻜﺮة ﻋﺎﻣﺔ ------------------------------------------------- 441‬
‫اﻟﻜﺎﺋﻦ ‪147 -------------------------------------------------- Err‬‬
‫اﻟﻔﺼﻞ اﻟﺨﺎﻣﺲ: اﻟﺒﺮﻣﺠﺔ آﺎﺋﻨﻴﺔ اﻟﺘﻮﺟﻪ ‪149 ---------------- OOP‬‬
‫ﻣﻘﺪﻣﺔ اﻟﻰ ‪149 ------------------------------------------------- OOP‬‬
‫ﻟﻤﺎذا ‪OOP‬؟ ----------------------------------------------- 051‬
‫ﺳﻤﺎت ‪151 ---------------------------------------------- OOP‬‬
‫ﺑﻨﺎء اول ﻓﺌﺔ ﻣﺒﺴﻄﺔ ------------------------------------- 251‬
‫ﺑﻨﺎء اﻟﻔﺌﺎت --------------------------------------------------------- 351‬
‫ﺑﻨﺎء اﻟﺨﺼﺎﺋﺺ --------------------------------------------- 351‬
‫ﺑﻨﺎء اﻟﻄﺮق ------------------------------------------------ 751‬
‫ﺑﻨﺎء اﻻﺣﺪاث ---------------------------------------------- 851‬
‫ﻣﺜﺎل ﺗﻄﺒﻴﻘﻲ ---------------------------------------------- 261‬
‫اﺳﺘﺨﺪام اﻟﻜﺎﺋﻨﺎت ------------------------------------------------ 561‬
‫ﻋﺒﺎرات وآﻠﻤﺎت ﺧﺎﺻﺔ ﺑﺎﻟﻜﺎﺋﻨﺎت -------------------------- 561‬
‫ﻣﺎهﻲ ﺣﻘﻴﻘﺔ اﻟﻜﺎﺋﻦ ؟ ----------------------------------- 761‬
‫ﺻﻮرة اﻟﻜﺎﺋﻦ ﺑﺎﻟﺬاآﺮة ------------------------------------- 861‬
‫اﻟﺮﺑﻂ ‪171 -------------------------------------------- Binding‬‬
‫وﻻدة وﻣﻮت اﻟﻜﺎﺋﻦ ---------------------------------------- 371‬
‫ارﺳﺎل اﻟﻜﺎﺋﻦ ﺑﺎﻟﻤﺮﺟﻊ او اﻟﻘﻴﻤﺔ ------------------------- 471‬
‫اﻟﻔﺼﻞ اﻟﺴﺎدس: ﺗﻌﺪد اﻟﻮاﺟﻬﺎت واﻟﻮراﺛﺔ -------------------- 571‬
‫ﺗﻌﺪد اﻟﻮاﺟﻬﺎت ‪175 ---------------------------------- Polymorphism‬‬
‫ﺗﻄﺒﻴﻖ ﻋﻤﻠﻲ --------------------------------------------- 671‬
‫اﻟﻮراﺛﺔ ‪178 ---------------------------------------------- Inheritance‬‬
‫ﻣﺤﺎآﺎة اﻟﻮراﺛﺔ ﺑـ ‪180 --------------------------- Visual Basic‬‬
‫ﻋﻼﻗﺔ "ﻳﺤﺘﻮي ﻋﻠﻰ" ------------------------------------- 381‬
‫اﻟﺘﻔﻮﻳﺾ ‪184 ------------------------------------- Delegation‬‬
‫وراﺛﺔ اﻟﻮاﺟﻬﺎت -------------------------------------------- 681‬
‫اﻟﺘﺼﻨﻴﻒ اﻟﻔﺮﻋﻲ ‪188 -------------------------- Subclassing‬‬
‫اﻻهﺮام اﻟﻜﺎﺋﻨﻴﺔ --------------------------------------------------- 981‬
‫اﻟﻌﻼﻗﺎت ﺑﻴﻦ اﻟﻔﺌﺎت -------------------------------------- 091‬
‫ﻓﺌﺎت اﻟﻤﺠﻤﻮﻋﺎت ‪194 ------------------ Collection Classes‬‬
‫اﻟﺠﺰء اﻟﺜﺎﻧﻲ: ﺑﺮﻣﺠﺔ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت‬
‫اﻟﻔﺼﻞ اﻟﺴﺎﺑﻊ: ﻣﺪﺧﻠﻚ اﻟﻰ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت --------------------- 0‬
‫ﺗﻘﻨﻴﺎت اﻟﻮﺻﻮل اﻟﻰ اﻟﺒﻴﺎﻧﺎت ----------------------------------------- 0‬
‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت ------------------------------------------- 0‬
‫ﻟﻐﺔ اﻻﺳﺘﻌﻼم ‪0 --------------------------------------------------- SQL‬‬
‫اﻟﻔﺼﻞ اﻟﺜﺎﻣﻦ: اﺳﺘﺨﺪام آﺎﺋﻨﺎت ‪0 --------------------------- ADO‬‬
‫اﻟﻜﺎﺋﻦ ‪0 --------------------------------------------------- Connection‬‬
‫اﻟﻜﺎﺋﻦ ‪0 ---------------------------------------------------- Recordset‬‬
‫اﻟﻜﺎﺋﻦ ‪0 --------------------------------------------------- Command‬‬
‫اﻟﻔﺼﻞ اﻟﺘﺎﺳﻊ: اﻻدوات واﻟﺘﻘﺎرﻳﺮ --------------------------------- 0‬
‫أداة ‪0 -------------------------------------------------------- DataGrid‬‬
‫أداة ‪0 --------------------------------------------------------- FlexGrid‬‬
‫اﻻداﺗﻴﻦ ‪ DataCombo‬و ‪0 ------------------------------------- DataList‬‬
‫ﻣﺼﻤﻢ اﻟﺘﻘﺎرﻳﺮ -------------------------------------------------------- 0‬

                                                       ‫اﻟﺠﺰء اﻟﺜﺎﻟﺚ: ﻣﻮاﺿﻴﻊ ﻣﺘﻘﺪﻣﺔ‬
‫اﻟﻔﺼﻞ اﻟﺤﺎدي ﻋﺸﺮ: اﺟﺮاءات ‪0 ------------------------------ API‬‬
‫اﻟﺒﺮﻣﺠﺔ ﺗﺤﺖ ‪0 --------------------------------------------- Windows‬‬
‫ﺗﻄﺒﻴﻘﺎت ﻋﻤﻠﻴﺔ ------------------------------------------------------- 0‬
‫‪ API‬ﻟﻠﻤﺒﺮﻣﺠﻴﻦ اﻟﺸﺠﻌﺎن ﻓﻘﻂ -------------------------------------- 0‬
‫اﻟﻔﺼﻞ اﻟﻌﺎﺷﺮ: اﻻﺳﺘﺨﺪام اﻟﻤﺘﻘﺪم ﻟﻠﻨﻤﺎذج -------------------- 0‬
‫اﻟﺴﺤﺐ واﻻﻟﻘﺎء ------------------------------------------------------- 0‬
‫اﻹﻧﺸﺎء اﻟﺪﻳﻨﺎﻣﻴﻜﻲ ﻟﻼدوات ------------------------------------------ 0‬
‫اﻟﻨﻤﺎذج آﻔﺌﺎت -------------------------------------------------------- 0‬
‫اﻟﺮدود واﻟﺘﺼﻨﻴﻒ اﻟﻔﺮﻋﻲ ﻟﻠﺮﺳﺎﺋﻞ ----------------------------------- 0‬
‫اﻟﻔﺼﻞ اﻟﺜﺎﻧﻲ ﻋﺸﺮ: ﺑﺮﻣﺠﺔ اﻟﻤﻜﻮﻧﺎت ‪0 ------------------ 1 COM‬‬
‫ﻣﻘﺪﻣﺔ اﻟﻰ ‪0 ----------------------------------------------------- COM‬‬
‫ﻣﺸﺎرﻳﻊ ‪0 ------------------------------------------------ ActiveX EXE‬‬
‫ﻣﺸﺎرﻳﻊ ‪0 ------------------------------------------------ ActiveX DLL‬‬
‫اﻟﻔﺼﻞ اﻟﺜﺎﻟﺚ ﻋﺸﺮ: ﺑﺮﻣﺠﺔ اﻟﻤﻜﻮﻧﺎت ‪0 ------------------- 2 COM‬‬
‫ﻣﺸﺎرﻳﻊ ‪0 ----------------------------------------------- ActiveX OCX‬‬
‫ﻣﺴﺎرات اﻟﺘﻨﻔﻴﺬ ‪0 ----------------------------------------- Threading‬‬
‫اﻟﻤﻜﻮﻧﺎت اﻟﻤﻮزﻋﺔ ‪0 -------------------------------------------- DCOM‬‬
‫اﻟﺠﺰء اﻟﺮاﺑﻊ: ﺑﺮﻣﺠﺔ اﻻﻧﺘﺮﻧﺖ‬
‫اﻟﻔﺼﻞ اﻟﺮاﺑﻊ ﻋﺸﺮ: ﺻﻔﺤﺎت ‪ DHTML‬اﻟﺪﻳﻨﺎﻣﻴﻜﻴﺔ --------------- 0‬
‫ﻣﻘﺪﻣﺔ اﻟﻰ ‪0 ------------------------------------------------ VBScript‬‬
‫ﻣﻘﺪﻣﺔ اﻟﻰ ‪0 -------------------------------------------------- DHTML‬‬
‫اﻟﻔﺼﻞ اﻟﺨﺎﻣﺲ ﻋﺸﺮ: ﺻﻔﺤﺎت ‪ ASP‬ﻟﻠﺨﺎدم -------------------- 0‬
‫ﻣﻘﺪﻣﺔ اﻟﻰ ‪0 ------------------------------------------------------- IIS‬‬
‫آﺎﺋﻨﺎت ‪0 ----------------------------------------------------------- ASP‬‬
‫اﻟﻤﻠﺤﻖ 1: ﻣﺼﺎدر ﻟﻤﺒﺮﻣﺠﻲ ‪0 --------------------- Visual Basic‬‬
‫اﻟﻔﻬﺮس اﻟﻌﺮﺑﻲ ------------------------------------------------- 0‬
‫اﻟﻔﻬﺮس اﻻﻧﺠﻠﻴﺰي ---------------------------------------------- 0‬
‫أ‬


                                                                            ‫ﺷﻜﺮ وﺗﻘﺪﻳﺮ‬
         ‫اذا آﺎﻧﺖ اﻻﺳﻤﺎء اﻟﺘﺎﻟﻴﺔ ﻻ ﺗﻌﻨﻲ ﻟﻚ ﺷﻴﺌﺎ، ﻓﻬﻲ ﺗﻌﻨﻲ اﻟﻜﺜﻴﺮ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻲ:‬

‫ﻓﻲ اﻟﺒﺪاﻳﺔ اود ان اﺷﻜﺮ ﺟﻤﻴﻊ آﺘﺎب ﻣﻮﻗﻌﻲ اﻟﺴﺎﺑﻖ "اﻟﻰ اﻟﻘﻤﺔ ﻣـﻊ ‪"Visual Basic‬‬
‫ﻣﺒﺘﺪﺋﺎ ﺑﻌﺎﺷـﻖ اﻻﺳـﻤﺒﻠﻲ اﺣﻤـﺪ اﻟﺸـﻤﺮي، وﻣـﻦ ﻟﻴﺒﻴـﺎ ﻃـﺎرق ﻣﻮﺳـﻰ، واﻟﻤﺒـﺮﻣﺞ‬
‫اﻟﻤﺨﻀﺮم ﺻﺎﻟﺢ اﻟﻐﺎﻣﺪي، وﺧﺒﻴـﺮ اﻟﻔـﻼش إﻳـﺎد زآـﺮي، واﻟﺰﻣﻴـﻞ رود ﺳـﺘﻴﻔﻦ، واﺧـﻲ‬
                                                            ‫ﻋﺒﺪاﷲ اﻟﻌﺴﻴﺮي.‬

‫آﻤﺎ اود ان اﺗﻘﺪم ﺑﺎﻟﺸﻜﺮ اﻟﺠﺰﻳﻞ اﻟـﻰ ﺟﻤﻴـﻊ ﻣﺸـﺮﻓﻲ ‪ vb4arab.com‬واﻟـﺬي ﻳﻌﺘﺒـﺮ‬
‫اآﺒﺮ ﻣﻮﻗﻊ ﻋﺮﺑﻲ ﻳﺨﺘﺺ ﺑﺎﻟـ ‪ ،Visual Basic‬اﺷﻜﺮ اﻻﺳـﺎﺗﺬة: ﻣﺤﻤـﺪ اﻟﺤﻠﺒـﻲ، ﻣﺤﻤـﺪ‬
‫ﺣﻤﻮد، ﺣﺴﻦ اﻟﺤﺮﺑﻲ، وﻟﻴﺪ ﻋﺒﺪاﷲ، ﻃـﺎرق اﻟﻌﺒﻴـﺪ، ﻋﺎﺻـﻔﺔ، ﺻـﺎﻟﺢ اﻟﻌﻨـﺰي، ﻣﺤﻤـﺪ‬
‫اﻟﺪوﺳﺮي، اوراﻧﻮس، ﺳﺎهﺮ، ﺟﺎد واﻟﻤﺆﺳﺲ ﻋﺒﺪاﷲ اﻟﻌﺘﻴﻖ ﻋﻠﻰ آﻞ ﻣﺎ ﻗـﺪﻣﻮﻩ ﻣـﻦ‬
                                      ‫ﺟﻬﻮد ﺟﺒﺎرة ﻟﻤﺒﺮﻣﺠﻲ ‪ Visual Basic‬اﻟﻌﺮب.‬

‫اﺧﺘﺺ ﺑﺎﻟﺸﻜﺮ اﻟﺠﺰﻳﻞ ﻟﻼﺳﺘﺎذ ﺳﺎﻟﻢ اﻟﻤﺎﻟﻜﻲ –ﻣﺸﺮف ﻋﺎم ﺑﻤﻮﻗﻊ ‪ -vb4arab‬ﻋﻠـﻰ‬
‫ﻣﺮاﺟﻌﺘﻪ اﻟﺪﻗﻴﻘﺔ واﻗﺘﺮاﺣﺎﺗﻪ اﻟﻨﻴـﺮة ﻟﻬـﺬا اﻟﻜﺘـﺎب. واﻻﺳـﺘﺎذ ﻗـﺎروط –ﻣـﺪرس ﻣـﺎدة اﻟــ‬
‫‪ JAVA‬و اﻟـ ++‪ C‬ﺑﺠﺎﻣﻌﺔ اﻟﻤﻠـﻚ ﻓﻬـﺪ ﻟﻠﺒﺘـﺮول واﻟﻤﻌـﺎدن- ﻋﻠـﻰ دروﺳـﻪ اﻟﻘﻮﻳـﺔ ﻓـﻲ‬
‫اﺳــﺎﻟﻴﺐ ﺑﺮﻣﺠــﺔ ‪ .OOP‬واﻻﺳــﺘﺎذ دوﻧﻮﻓﺎﻧــﺪ –اﺳــﺘﺎذ ﻓــﻲ ﺑﺮﻧــﺎﻣﺞ اﻟﻠﻐــﺔ اﻻﻧﺠﻠﻴﺰﻳــﺔ‬
‫ﺑﺎﻟﺠﺎﻣﻌﺔ- ﻋﻠﻰ ﻣﻘﺮر ﻓـﻦ آﺘﺎﺑـﺔ اﻟﻤﻘـﺎﻻت واﻋـﺪاد اﻟﺘﻘـﺎرﻳﺮ وارﺷـﺎدي ﻟﻄﺮﻳﻘـﺔ ﺗـﺄﻟﻴﻒ‬
‫اﻟﻜﺘﺐ. وﺷﻜﺮ ﺟﺰﻳﻞ اﻟﻰ اﺳﻄﻮرة اﻟﻤﺒﺮﻣﺠﻴﻦ اﻟﺴـﻴﺪ ﺑـﺮوس ﻣـﺎآﻴﻨﻲ –ﻣﺆﻟـﻒ آﺘـﺎب‬
‫‪ -Hardcore Visual Basic‬ﻋﻠﻰ اﻻذن واﻟﺴـﻤﺎح ﻟـﻲ ﺑﺘﺮﺟﻤـﺔ ﺑﻌـﺾ اﻟﻤﻘﺘﻄﻔـﺎت ﻣـﻦ‬
                                                        ‫آﺘﺎﺑﻪ وﺗﻄﺒﻴﻖ اآﻮادﻩ اﻻﺣﺘﺮاﻓﻴﺔ.‬

‫وﻻ اﻧﺴﻰ ﺷـﻜﺮ اﻟـﺰﻣﻼء ﻓﻬـﺪ اﻟﻌﻤﻴـﺮ، ﻋﺒـﺪاﷲ اﻟﻘﺤﻄـﺎﻧﻲ، ﺳـﻌﺪ اﻟﺪوﺳـﺮي وﻧـﺎﻳﻒ‬
           ‫اﻟﻌﺘﻴﺒﻲ ﻋﻠﻰ اﺧﺘﺒﺎراﺗﻬﻢ اﻟﻘﻮﻳﺔ ﻻآﻮاد ﺑﺮاﻣﺠﻲ وﺗﺼﺤﻴﺢ ﻣﻌﻈﻢ اﺧﻄﺎﺋﻬﺎ.‬

‫واذا آﺎن ﺷﻜﺮ آﻞ هﺆﻻء ﻓﻲ آﻔـﺔ، ﻓـﺎن ﺷـﻜﺮ اﻋـﺰ واﻏﻠـﻰ اﻟﺒﺸـﺮ ﻋﻨـﺪي ﻓـﻲ آﻔـﺔ‬
                 ‫اﺧﺮى. اﻣﻲ واﺑﻲ اﺷﻜﺮآﻤﺎ ﻋﻠﻰ آﻞ ﻣﺎ ﻗﺪﻣﺘﻮﻩ ﻟﻲ ﻓﻲ ﺣﻴﺎﺗﻲ.‬

‫واﺧﻴﺮا، اﺗﻤﻨﻰ ان ﺗﺴﺘﻤﻌﻮا ﺑﻘﺮاءة هﺬا اﻟﻜﺘﺎب واﺳﺄل اﷲ ﺳﺒﺤﺎﻧﻪ وﺗﻌﺎﻟﻰ ان ﻳﺠﻌﻠـﻪ‬
                            ‫ﻣﻦ اﻟﻌﻠﻢ اﻟﺬي ﻳﻨﺘﻔﻊ ﺑﻪ اﻧﻪ ﺳﻤﻴﻊ ﻣﺠﻴﺐ اﻟﺪﻋﻮات.‬
‫ب‬


                                                                                 ‫اﻟﻤﻘﺪﻣﺔ‬
‫رﺣﻠﺔ ﻋﺸﺮ ﺳﻨﻮات ﻣﻦ ﻋﻤﺮ اﻻﻧﺴﺎن ﻟﻴﺴﺖ آﺮﺣﻠﺔ ﺳﻴﺎﺣﻴﺔ ﺗﺨﺘﻔـﻲ ﺁﺛﺎرهـﺎ ﺑﻤﺠـﺮد‬
‫اﻟﻌﻮدة اﻟﻰ اﻟﻤﻜﺘﺐ ﻓﻲ اﻟﻌﻤﻞ، ﻓﻬﻲ رﺣﻠﺔ ﻃﻮﻳﻠﺔ ﺻـﺎﺣﺒﺘﻬﺎ ﻗـﺮاءات ﻵﻻف اﻟﺼـﻔﺤﺎت‬
‫وﺳﻬﺮات ﺑﻌﺪد اﻟﻨﺠﻮم اﻟﺘﻲ آﻨﺖ اراهﺎ ﺑﻌﺪ اﻧﺼﺎف اﻟﻠﻴـﺎﻟﻲ ﺑﺎﺳـﻄﺎ ﻳـﺪي ﻋﻠـﻰ ﻟﻮﺣـﺔ‬
       ‫اﻟﻤﻔﺎﺗﻴﺢ، ﻣﺘﻮﻏﻼ ﻓﻲ ﺻﺮاﻋﺎت ﻣﻊ اﻟﺴﺎﺣﺮ اﻟﺬي اﺣﺒﺒﺘﻪ وآﺮهﺘﻪ ‪.Visual Basic‬‬
‫ﻋﻼﻗﺔ اﻟﺤﺐ واﻟﻜﺮﻩ ﻟﻴﺴﺖ ﻋﻼﻗﺔ ﺧﻴﺎﻟﻴﺔ آﻤﺎ ﺗﺴﻄﺮهﺎ ﺧﺰﻋﺒﻼت واﺳﺎﻃﻴﺮ اﻟﻌﺸـﺎق،‬
‫ﻓﻤﻨﺬ اﻻﺻﺪار 1‪ VB‬ﺑﺪأ ﻗﻠﺒﻲ ﻳﺨﻔﻖ اﻟﻰ ﺗﻠﻚ اﻟﻠﻐﺔ –ﻣﺒـﺪﺋﻴﺎ- ﺑﺴـﺒﺐ ﻣﺼـﻤﻢ اﻟﻨﻤـﺎذج‬
‫‪ Form Designer‬اﻟﺬي ﺳﺎهﻢ ﻓﻲ ﻧﺴـﻴﺎن اواﻣـﺮ اﻟﻤﺨﺮﺟـﺎت ‪ Locate ،Print‬و ‪Color‬‬
‫ﻟﻜﺘﺎﺑﺔ ﻣﺌﺎت اﻻﺳﻄﺮ -اﺷـﺒﻪ ﺑﺎﻟﻤﺨﻄﻮﻃـﺎت اﻟﻔﺮﻋﻮﻧﻴـﺔ- واﻟﺨﺎﺻـﺔ ﺑﺘﺼـﻤﻴﻢ اﻟﻮاﺟﻬـﺎت.‬
‫وﻟﻜﻦ ﻣﺎ ان ﻟﺒﺜﺖ اﻟﻌﻼﻗﺔ اﻟﻐﺮاﻣﻴﺔ ﺑﺎﻻﺷﺘﻌﺎل، ﺣﺘﻰ ﺑﺪأ ﺷﺮﻳﺎن اﻟﻜﺮﻩ ﻟـ ‪Visual Basic‬‬
‫ﻳﻨﻤﻮ ﺷﻴﺌﺎ ﻓﺸﻴﺌﺎ ﺑﺴـﺒﺐ ﻗﺼـﻮر ‪ Visual Basic‬وﺿـﻌﻔﻪ -اﻟﻌـﺎﺟﺰ ﻋـﻦ اﻟﻤﺮاوﻏـﺔ- ﻋﻨـﺪ‬
‫اﻟﺘﺤﺪث ﻋﻦ ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ ‪ .BASIC‬اﻻ ان ﻋﻼﻗﺔ اﻟﺤﺐ ﺗﻄﻐﻰ ﻋﻠـﻰ ﻋﻼﻗـﺔ اﻟﻜـﺮﻩ ﻣـﻦ‬
‫ﺟﺪﻳﺪ آﻠﻤﺎ اﺳﺘﺨﺪم ﻣﺆﺷﺮ اﻟﻔﺄرة ‪ Mouse‬ﻋﺎﺋﺪا ﻟﺘﺼﻤﻴﻢ اﻟﻮاﺟﻬﺎت ﺑﻤﺼـﻤﻢ اﻟﻨﻤـﺎذج،‬
‫وﺗﻄﻐﻰ ﻋﻼﻗﺔ اﻟﻜﺮﻩ ﻣﺮة اﺧﺮى ﺣـﻴﻦ اﺳـﺘﺨﺪام ﻟﻮﺣـﺔ اﻟﻤﻔـﺎﺗﻴﺢ وآﺘﺎﺑـﺔ اﻻآـﻮاد ﻓـﻲ‬
                                                 ‫ﻧﺎﻓﺬة ﻣﺤﺮر اﻻآﻮاد ‪.Code Window‬‬
‫وآﻤﺎ ﻳﻘﻮﻟـﻮن "اﻟﺤﻴـﺎة ﺗﺠـﺎرب"، ﻓﺒﻌـﺪ ﻋﺸـﺮ ﺳـﻨﻮات ﻣـﻦ اﻟﺒﺮﻣﺠـﺔ ﺑــ ‪،Visual Basic‬‬
‫اآﺘﺸﻔﺖ ان اﻟﻜﻠﻤﺎت -اﻟﺘﻲ ﺑﺪأت ﺑﻬﺎ ﻣﻘﺪﻣﺘﻲ- ﻻ اﺳﺎس ﻟﻬﺎ ﻣﻦ اﻟﺼﺤﺔ! ﻓـ ‪Visual‬‬
‫‪ Basic‬ﻳﻤﻜﻨﻚ ﻣﻦ ﺗﺼﻤﻴﻢ ﻧﻮاﻓﺬ ﺗﻀـﻊ ﻋﻠﻴﻬـﺎ ازرار ‪ Buttons‬وﺧﺎﻧـﺎت ﻧـﺺ ‪،TextBoxes‬‬
‫آﻤﺎ ﻳﻤﻜﻨﻚ ﻣﻦ اﻻﺗﺼﺎل ﺑﻘﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت ‪ DataBases‬ﻟﺤﻔـﻆ اﻟﺒﻴﺎﻧـﺎت ﻋﻠـﻰ اﻻﻗـﺮاص،‬
‫وهﺬا ﺑﺤﺪ ذاﺗﻪ ﻳﻠﺒﻲ رﻏﺒﺔ ﺁﻻف –ان ﻟﻢ ﻳﻜﻦ ﻣﻼﻳﻴﻦ- اﻟﻤﺒﺮﻣﺠﻴﻦ ﺣﻮل اﻟﻌﺎﻟﻢ ﻟﻴﻘﺘﻨﻌـﻮا‬
                    ‫ان ‪ Visual Basic‬اﻓﻀﻞ ﻣﻨﺼﺔ ﺗﻄﻮﻳﺮ اﻟﺘﻄﺒﻴﻘﺎت ﻋﻠﻰ ﻣﺪى اﻟﺘﺎرﻳﺦ.‬
‫ﻣﻦ ﻧﺎﺣﻴﺔ اﺧﺮى، ﻻ ﻳﻤﻜﻨﻚ ‪ Visual Basic‬ﻣـﻦ ادارة اﻟـﺬاآﺮة ‪Memory Management‬‬
‫ﺑﻄﺮﻳﻘ ـﺔ ﺳ ـﻬﻠﺔ –ﻣﻘﻨﻌ ـﺔ ﻟﻠﻤﺒ ـﺮﻣﺠﻴﻦ- وذﻟ ـﻚ ﺑﺴ ـﺒﺐ ﺿ ـﻌﻒ ﺗﻌﺎﻣﻠ ـﻪ ﻣ ـﻊ اﻟﻤﺆﺷ ـﺮات‬
    ‫ـ‬         ‫ـ ـ‬            ‫ـ‬     ‫ـ‬     ‫ـ‬            ‫ـ‬       ‫ـ‬         ‫ـ‬     ‫ـ‬
‫‪ ،Pointers‬و ﻋﻨﺪ اﻟﺤﺪﻳﺚ ﻋﻦ اﻟﻤﺸﺎرﻳﻊ اﻟﻌﻤﻼﻗﺔ، ﻓﻄﺎﻗـﺔ ‪ Visual Basic‬ﻻ ﺗﺴـﺘﻮﻋﺐ‬
‫اآﻮاد ﺣﺠﻤﻬﺎ اآﺜﺮ ﻣـﻦ 46‪ K‬ﻓـﻲ ﻧﺎﻓـﺬة ﻧﻤـﻮذج واﺣـﺪة او اﺟـﺮاء واﺣـﺪ، وهـﺬا اﻟﻘﺼـﻮر‬
‫ﻳﻜﻔﻲ ان ﻳﺠﻌﻞ ‪ Visual Basic‬اﺳﻮأ ﻣﻨﺼـﺔ ﺗﻄـﻮﻳﺮ اﻟﺘﻄﺒﻴﻘـﺎت ﻓـﻲ ﻧﻈـﺮ ﺁﻻف –ان ﻟـﻢ‬
                                           ‫ﻳﻜﻦ ﻣﻼﻳﻴﻦ- اﻟﻤﺒﺮﻣﺠﻴﻦ ﺣﻮل اﻟﻌﺎﻟﻢ اﻳﻀﺎ!‬
‫إﻻ ان اﻟﻤﺒﺮﻣﺠﻴﻦ اﻟﻤﻮاﻟﻴﻦ ﻟــ ‪ Visual Basic‬ﻗـﺪﻣﻮا ﻋﺸـﺮات اﻟﺤﻠـﻮل ﻟﻤﺤﺎوﻟـﺔ ﺗﻐﻄﻴـﺔ‬
‫واﻻﻟﺘﻔﺎف ﺣﻮل ﻗﺼﻮر اﻟﻠﻐﺔ ﻓﻲ اﻟﻘﻀـﺎﻳﺎ اﻟﺴـﺎﺑﻘﺔ، واﻟﻤﺒـﺮﻣﺠﻴﻦ اﻟﻤﻌـﺎدﻳﻦ ﻟــ ‪Visual‬‬
‫‪ Basic‬اﺛﺒﺘﻮا ان ﺗﻠﻚ اﻟﺤﻠﻮل ﻗﺪ أﻋﻤﺖ اﻟﻘﺼـﻮر ﺑـﺪﻻ ﻣـﻦ ﺗﻜﺤﻴﻠﻬـﺎ، ﻓﻬـﻲ ﻗـﺪ اﺿـﻌﻔﺖ‬
                                                  ‫آﻔﺎءة اﻟﺘﻨﻔﻴﺬ وزادت اﻻآﻮاد ﺗﻌﻘﻴﺪا.‬
‫ج‬


‫اﻣﺎ اﻟﻤﺒﺮﻣﺠﻴﻦ اﻟﻤﺤﺎﻳﺪﻳﻦ –واﻟﻤﺆﻟﻒ ﺑﻴﻦ ﺻﻔﻮﻓﻬﻢ- ﻳﻘﻮﻟﻮن ﻟﻚ ﺑﻜـﻞ اﺧﺘﺼـﺎر: اذا آـﺎن‬
‫‪ Visual Basic‬ﻳﻘﺪم ﻟﻚ ﺣﻠﻮل ﻟﻤﺸﺎآﻠﻚ، ﻓﻜﻦ ﻣﺒﺮﻣﺞ ‪ ،Visual Basic‬واذا آﺎن ‪Visual‬‬
                   ‫‪ Basic‬ﻻ ﻳﻘﺪم ﻟﻚ ﺣﻠﻮل ﻟﻤﺸﺎآﻠﻚ، ﻓﻼ ﺗﻜﻦ ﻣﺒﺮﻣﺞ ‪.Visual Basic‬‬
‫وﻣﻦ ﻣﻨﻄﻠﻖ اﻟﻤﺤﺎﻳﺪة، اﻗﺪم ﻟﻚ هﺬا اﻟﻜﺘﺎب ﻟﻴﺸﺮح ﻟـﻚ اﻟﺒﺮﻣﺠـﺔ ﺑﺎﺳـﺘﺨﺪام ‪Visual‬‬
‫‪ Basic‬وﻟﻦ اﺗﻌﺪى هـﺬا اﻟﻨﻄـﺎق اﺑـﺪا، ﻓـﻼ ﺗﺘﻮﻗـﻊ ﻓﺼـﻮل –ﻣﻀـﻴﻌﺔ ﻟﻠﻮﻗـﺖ- ﺗﻘـﺎرن ﻟـﻚ‬
‫‪ Visual Basic‬ﻣﻊ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ اﻻﺧﺮى، او ﻣﺎدﺣﺔ ‪ Visual Basic‬آﻠﻐـﺔ ﺑﺮﻣﺠـﺔ اﻟﻌﻘـﺪ‬
‫اﻻﺧﻴـﺮ، او ﻣﻈﻬـﺮة ﻋﻴـﻮب ‪ Visual Basic‬ﺣﺘـﻰ ﺗﺸـﻮﻩ ﺳـﻤﻌﺘﻪ. ﻓﻬـﺬا اﻟﻜﺘـﺎب ﻳﺤـﺎول‬
‫ﺗﺸﻴﻴﺪ ﺑﻨﻴﺔ ﻗﻮﻳﺔ ﻟﻚ ﺣﺘﻰ ﺗﻤﻜﻨﻚ ﻣﻦ اﻻﻧﻄﻼق ﻓﻲ ﺑﺮﻣﺠﺔ ‪ Visual Basic‬ﻣـﻦ اوﺳـﻊ‬
                                                                          ‫اﺑﻮاﺑﻪ.‬

                                                                 ‫ﻟﻤﻦ هﺬا اﻟﻜﺘﺎب؟‬
‫اذا آﻨﺖ ﺟﺎد ﻓﻲ ان ﺗﻜﻮن ﻣﺒﺮﻣﺞ ‪ ،Visual Basic‬ﻓﻬﺬا اﻟﻜﺘﺎب ﻳﺒﻨـﻲ ﻟـﻚ ﻗﺎﻋـﺪة ﻗﻮﻳـﺔ‬
‫ﺗﺴﺘﻨﺪ ﻋﻠﻴﻬﺎ ﺣﺘﻰ ﺗﺘﻤﻜﻦ ﻣﻦ ﻣﻮاﺟﻬﺔ اﻻآـﻮاد اﻟﻤﻨﺘﺸـﺮة هﻨـﺎ وهﻨـﺎك ﺑـﻴﻦ اﻟﻤﺼـﺎدر‬
‫اﻟﻤﺨﺘﻠﻔﺔ اﻟﻤﺘﻌﻠﻘﺔ ﺑـ ‪ Visual Basic‬آﻤﻮاﻗﻊ اﻻﻧﺘﺮﻧﺖ، ﻣﻜﺘﺒﺔ ‪ MSDN‬او آﺘـﺐ ﻣﺘﻘﺪﻣـﺔ‬
‫اﺧﺮى. اﻣﺎ اذا آﻨﺖ ﻧﺎﻗﺪ –ﻏﻴﺮ هﺎدف- او ﺗﺮﻏﺐ ﻓـﻲ اﻟﺤﺼـﻮل ﻋﻠـﻰ ﺛﻘﺎﻓـﺔ ﺑﺮﻣﺠﻴـﺔ ﻻ‬
‫ﺗﻘﺪم وﻻ ﺗﺆﺧﺮ، ﻓﻴﻜﻔـﻲ ﻣـﺎ ﻗﺮأﺗـﻪ ﻣـﻦ اﻟﺼـﻔﺤﺎت اﻟﺴـﺎﺑﻘﺔ ﻻن اﻟﻜﺘـﺎب ﻻ اﻋﺘﻘـﺪ اﻧـﻪ‬
                                                                               ‫ﻣﻨﺎﺳﺐ ﻟﻚ.‬
‫هﺬا اﻟﻜﺘﺎب ﻣﺨﺘﺺ ﻓﻲ ‪ Visual Basic‬ﻓﻘﻂ وﻟﻴﺲ اﻟﺒﺮﻣﺠﺔ ﺑﺸﻜﻞ ﻋـﺎم، ﻓﻠـﻦ اﺗﻄـﺮق‬
‫اﻟ ـﻰ ﻣﻮاﺿ ـﻴﻊ وﺗﻌ ـﺎرﻳﻒ ﻃﻮﻳﻠ ـﺔ آ ــ ﻣ ـﺎهﻮ اﻟﺒﺮﻧ ـﺎﻣﺞ؟، ﻣ ـﺎهﻲ ﻟﻐ ـﺔ اﻟﺒﺮﻣﺠ ـﺔ؟، ﻣ ـﺎ ه ـﻮ‬
 ‫ـ ـ‬          ‫ـ‬        ‫ـ‬       ‫ـ‬        ‫ـ‬          ‫ـ ـ ـ‬                ‫ـ‬       ‫ـ‬       ‫ـ‬
         ‫اﻟﺨﻮارزم؟ .... اﻟﺦ. ﻣﻊ ذﻟﻚ، ﻓﻬﻮ ﻣﻮﺟﻪ اﻟﻰ آﺂﻓﺔ اﻟﻤﺴﺘﻮﻳﺎت ﻟﻼﺳﺒﺎب اﻟﺘﺎﻟﻴﺔ:‬

‫ﻟﻠﻤﺒﺘﺪﺋﻴﻦ: ﻓﻬﻮ ﻳﻌﺮﻓﻬﻢ ﻋﻠـﻰ ‪ Visual Basic‬وﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ اﻟﺨﺎﺻـﺔ ﺑـﻪ،‬
‫وﻳﺸـﺮح ﻟﻬـﻢ آـﻞ ﻣـﺎ ﻳﺤﺘﺎﺟﻮﻧـﻪ ﻟﻠﺒﺮﻣﺠـﺔ اﻟﻔﻌﻠﻴـﺔ ﺑــ ‪ Visual Basic‬آﺸـﺮح اﻟﻨﻤـﺎذج‬
    ‫ـ‬      ‫ـ‬                      ‫ـ‬           ‫ـ‬                  ‫ـ‬
‫واﻻدوات، ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ ‪ ،BASIC‬ﺣﻠﻮل ﻟﻤﺸﺎآﻠﻬﻢ اﻟﻴﻮﻣﻴـﺔ وزﻳـﺎدة ﺛﻘـﺎﻓﺘﻬﻢ اﻟﺒﺮﻣﺠﻴـﺔ‬
               ‫ﺑﺘﻘﺪﻳﻢ ﻣﻔﻬﻮم اﻟﺒﺮﻣﺠﺔ آﺎﺋﻨﻴﺔ اﻟﺘﻮﺟﻪ ‪ OOP‬وﺗﻄﺒﻴﻘﻬﺎ ﺑـ ‪.Visual Basic‬‬
‫ﻟﻠﻤﺘﻮﺳﻄﻴﻦ: ﻓﻬﻮ ﻳﺤﻘﻖ ﻟﻬﻢ ﻗﻔـﺰة ﻧﻮﻋﻴـﺔ اﻟـﻰ ﻣﻮاﺿـﻴﻊ ﻣﺘﻘﺪﻣـﺔ آﺒﺮﻣﺠـﺔ ﻗﻮاﻋـﺪ‬
‫اﻟﺒﻴﺎﻧــﺎت ‪ ،DataBases‬ﺗﻄﺒﻴﻘــﺎت ﻣﺘﻘﺪﻣــﺔ ﻋﻠــﻰ اﻟﻨﻤــﺎذج، ﻗﻀــﺎﻳﺎ ﺣــﻮل اﺟــﺮاءات ‪API‬‬
                                    ‫وﺑﺮﻣﺠﺔ اﻟﻤﻜﻮﻧﺎت ‪ COM‬واﻟﻤﻜﻮﻧﺎت اﻟﻤﻮزﻋﺔ ‪.DCOM‬‬
‫ﻟﻠﻤﺘﻘﺪﻣﻴﻦ: هﺬا اﻟﻜﺘﺎب ﻻﻳﻘﺪم ﻟﻠﻤﺘﻘﺪﻣﻴﻦ ﺳﻮى اﻋـﺎدة اﻧﻌـﺎش ‪ Refresh‬ذاآـﺮﺗﻬﻢ‬
‫ﻟﻤﻮاﺿﻴﻊ ﺑﺮﻣﺠﻴﺔ ﺧﺎﺻﺔ ﺑـ ‪ ،Visual Basic‬واﻟﺴﺒﺐ اﻟﺬي ﻳﺠﻌﻞ هﺬا اﻟﻜﺘﺎب ﻣﻮﺟﻪ ﻟﻬﻢ‬
‫ﻻ ﻳﻌﺪو ان ﻳﻜﻮن اﻻ ﺳﺒﺐ ﺷﺨﺼﻲ ﻟﻠﻤﺆﻟﻒ، وهﻲ زﻳﺎدة اﻟﺜﻘﺔ ﺑﻨﻔﺴﻪ ﻋﻨﺪﻣﺎ ﻳﻌﻠﻢ ان‬
                             ‫ﻣﺒﺮﻣﺠﻲ ‪ Visual Basic‬اﻟﻤﺘﻘﺪﻣﻴﻦ ﻗﺪ اﻋﺤﺒﻮا ﻓﻲ آﺘﺎﺑﻪ.‬
‫د‬


‫ﻧﻘﻄﺔ اﺧﺮى اود ﺗﻮﺿﻴﺤﻬﺎ هﻲ ان هـﺬا اﻟﻜﺘـﺎب ﻟـﻴﺲ ﻣﺮﺟـﻊ ‪ Reference‬ﻣـﻦ ﻣﺮاﺟـﻊ‬
‫‪ MSDN‬ﺗﺮﺟﻢ اﻟﻰ اﻟﻠﻐﺔ اﻟﻌﺮﺑﻴﺔ. ﻓـﻼ ﺗﺘﻮﻗـﻊ ان اﻗـﻮم ﺑﺸـﺮح ﺟﻤﻴـﻊ اﻟﺜﻮاﺑـﺖ، اﻟـﺪوال،‬
‫اﻟﻜﺎﺋﻨﺎت .... اﻟﺦ ﺷﺮﺣﺎ ﺗﻔﺼﻴﻠﻴﺎ، وذﻟﻚ ﻻﻧﻨﻲ ارﻳﺪ ان اﻧﺘﻬﻲ ﻣﻦ آﺘﺎﺑﺔ اﻟﻜﺘﺎب ﻗﺒـﻞ ان‬
‫ﺗﺸـﻴﺐ ﺷـﻌﺮات رأﺳـﻲ. ﻣـﻊ ذﻟ ـﻚ، ﺗﻌﺮﺿـﺖ –ﺑﺎﺧﺘﺼـﺎر- ﻟﻤﺌـﺎت اﻟـﺪوال، اﻟﺨﺼ ـﺎﺋﺺ،‬
      ‫ـ‬             ‫ـ‬     ‫ـ‬    ‫ـ‬           ‫ـ‬        ‫ـ‬  ‫ـ‬     ‫ـ‬           ‫ـ‬       ‫ـ‬
‫اﻟﻜﺎﺋﻨﺎت .... اﻟﺦ ﺑﻴﻦ ﺻﻔﺤﺎت هﺬا اﻟﻜﺘﺎب. ﻟﺬﻟﻚ، ارﺟﻮ ﻣﻨﻚ اﻟﺤﺼﻮل ﻓﻲ اﻗـﺮب ﻓﺮﺻـﺔ‬
‫ﻋﻠﻰ ﻧﺴﺨﺔ ﻣﻦ اﺳﻄﻮاﻧﺔ ﻣﻜﺘﺒﺔ ‪ MSDN‬ﻟﻠﺤﺼـﻮل ﻋﻠـﻰ اﻟﺘﻌﻠﻴﻤـﺎت اﻟﻔﻮرﻳـﺔ واﻟـﺪﻋﻢ‬
‫اﻟﻔﻨﻲ اﻟﻼزم ﻟﻠﺘﻮﻏﻞ ﻓﻲ ﺗﻔﺎﺻﻴﻞ ﺟﻤﻴﻊ اﻟﺪوال، اﻟﻜﺎﺋﻨﺎت واﻋﻀـﺎﺋﻬﺎ، اﻟﺜﻮاﺑـﺖ .... اﻟـﺦ‬
                                                          ‫ﻗﺒﻞ ان ﺗﺒﺪأ ﺑﻘﺮاءة اﻟﻜﺘﺎب.‬

                                           ‫ﻣﺎذا ﻋﻦ ‪Visual Basic.NET‬؟‬
‫ﻳﺒــﺪو ان اﻟﺤــﺮوف ‪ .NET‬ﺗﺸــﺪ اﻧﺘﺒــﺎﻩ اﻟﻤﺒــﺮﻣﺠﻴﻦ ﺑﻌــﺪﻣﺎ وزﻋــﺖ ‪ Microsoft‬اﻟﻨﺴــﺦ‬
‫اﻟﺘﺠﺮﻳﺒﻴﺔ ‪ Beta‬ﻣـﻦ ﺟﻤﻴـﻊ اﻋﻀـﺎء ‪ .Visual Studio.NET‬ﺣﺴـﻨﺎ، اﻻﺻـﺪار اﻻﺧﻴـﺮ ﻣـﻦ‬
‫‪ Visual Basic‬هﻮ اﻻﺻﺪار اﻟﺴﺎدس 6‪ VB‬واﻟﺬي ﻳﻤﺜﻞ ﻧﻬﺎﻳﺔ اﻻﺳـﻄﻮرة ‪،Visual Basic‬‬
‫اﻣﺎ ‪ Visual Basic.NET‬ﻓﻬﻲ ﻟﻐﺔ ﺑﺮﻣﺠﺔ ﺟﺪﻳﺪة ﻻ ﻳﻜﻤﻦ اﻟﺸﺒﻪ ﺑﻴﻨﻬﺎ وﺑﻴﻦ اﺳـﻄﻮرﺗﻨﺎ‬
‫إﻻ اﻻﺳـﻢ ‪ Visual Basic‬وﺻـﻴﻎ ‪ Syntax‬ﺑﻌـﺾ اﻻواﻣـﺮ. ﻓﺎﻻﺳـﻢ ‪Visual Basic.NET‬‬
                        ‫ـ‬      ‫ـ‬       ‫ـ‬               ‫ـ‬                   ‫ـ‬
‫ﻟﻴﺲ ﺳﻮى ﻟﻌﺒﺔ ﺗﺴﻮﻳﻘﻴﺔ ﻗﺎﻣﺖ ﺑﻬـﺎ ‪ Microsoft‬ﺣﺘـﻰ ﻻ ﺗﺨﺴـﺮ ﺟﻤﻴـﻊ زﺑﺎﺋﻨﻬـﺎ ﻣـﻦ‬
‫ﻣﺒﺮﻣﺠــﻲ 1‪ VB‬ﺣﺘــﻰ 6‪ .VB‬ﻓﻘﺒــﻞ ان ﺗﺸــﺪ اﻟﺮﺣــﺎل اﻟــﻰ ‪ ،Visual Basic.NET‬ﻓﻜــﺮ‬
‫ﺑﺎﻟﻤﻮﺿﻮع ﺟﻴﺪا ﻻن ﺷﺪ اﻟﺮﺣﺎل ﺳﻴﻜﻮن اﻻﻧﺘﻘﺎل اﻟﻰ ﻟﻐـﺔ ﺑﺮﻣﺠـﺔ ﺟﺪﻳـﺪة، آﺎﻻﻧﺘﻘـﺎل‬
‫ﻣﻦ 6‪ VB‬اﻟـﻰ #‪ .C‬ارﺟـﻮ ان ﻻ ﺗﻌﺘﻘـﺪ اﻧﻨـﻲ ارﻓـﺾ ‪ ،Visual Basic.NET‬ﺑـﻞ ﺳـﺄﻋﻴﺪ‬
‫آﺘﺎﺑﺔ اﻟﺠﻤﻠﺔ اﻟﺤﻴﺎدﻳﺔ اﻟﺘﻲ ذآﺮﺗﻬﺎ ﻓﻲ اﻟﻤﻘﺪﻣﺔ ﻣﻊ اﺿﺎﻓﺔ 21 ﺣﺮﻓـﺎ وارﺑـﻊ ﻧﻘـﺎط: اذا‬
‫آﺎن ‪ Visual Basic.NET‬ﻳﻘﺪم ﻟﻚ ﺣﻠﻮل ﻟﻤﺸﺎآﻠﻚ، ﻓﻜـﻦ ﻣﺒـﺮﻣﺞ ‪،Visual Basic.NET‬‬
‫واذا آﺎن ‪ Visual Basic.NET‬ﻻ ﻳﻘﺪم ﻟﻚ ﺣﻠـﻮل ﻟﻤﺸـﺎآﻠﻚ، ﻓـﻼ ﺗﻜـﻦ ﻣﺒـﺮﻣﺞ ‪Visual‬‬
                                                                        ‫‪.Basic.NET‬‬
‫اذا آﻨﺖ ﺳﺘﺴﺘﻤﺮ ﻋﻠﻰ اﺣﺪث اﻻﺻﺪارات 6‪ ،VB‬ﻓﺴﻴﻜﻮن اﻟﻜﺘﺎب ﻣﻨﺎﺳﺐ ﺑﺘﻘﺪﻳﺮ ﺟﻴﺪ‬
‫ﺟﺪا، اﻣﺎ اذا آﻨﺖ ﻗﺪ ﻓﺮﻏﺖ ﻣﺴﺎﺣﺔ ﻓﻲ ﻗﺮﺻـﻚ اﻟﺼـﻠﺐ ‪ HardDisk‬ﻟﺘﻨﺼـﻴﺐ ‪Visual‬‬
‫‪ Basic.NET‬ﻋﻠﻴﻬﺎ، ﻓﻘﺪ ﻳﻜﻮن اﻟﻜﺘـﺎب ﻣﻨﺎﺳـﺐ ﺑﺘﻘـﺪﻳﺮ ﻣﻘﺒـﻮل ﻣﺮﺗﻔـﻊ او ﺟﻴـﺪ –ﻋﻠـﻰ‬
‫اﻻآﺜﺮ، ﻻن اﻟﻔﺎﺋﺪة ﺳﺘﻜﻮن ﻧﻈﺮﻳﺔ وﻟﻴﺲ ﻋﻤﻠﻴﺔ، ﻓﺴﻴﺘﻄﺮق هـﺬا اﻟﻜﺘـﺎب اﻟـﻰ ﺑﻌـﺾ‬
‫اﻟﻤﻮاﺿﻴﻊ اﻟﺘﻲ ﻗﺪ ﺗﻔﻴﺪك –ﻧﻈﺮﻳﺎ- ﻓﻲ ﻟﻐﺘﻚ اﻟﺠﺪﻳـﺪة آﺎﻟﺒﺮﻣﺠـﺔ آﺎﺋﻨﻴـﺔ اﻟﺘﻮﺟـﻪ ‪OOP‬‬
‫واﻟﺘﻄﺒﻴﻘــﺎت ﻣﺘﻌــﺪدة اﻟﻄﺒﻘــﺎت ‪ nTied Applications‬واﻟﻤﻜﻮﻧــﺎت اﻟﻤﻮزﻋــﺔ ‪DCOM‬‬
                                                         ‫واﻟﻘﻠﻴﻞ ﻣﻦ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت.‬
‫ﻩ‬


                                                                  ‫ﻣﻮاﺿﻴﻊ اﻟﻜﺘﺎب‬
‫ﺻﻔﺤﺔ اﻟﻤﺤﺘﻮﻳﺎت اﻋﻄﺘﻚ ﻓﻜﺮة ﻋﺎﻣﺔ ﻋﻦ ﻣﻮاﺿﻴﻊ اﻟﻜﺘﺎب، وهﻨﺎ اﻋﻄﻴﻚ ﻣﻠﺨﺺ ﻻﺟﺰاء‬
                                                          ‫اﻟﻜﺘﺎب اﻻرﺑﻌﺔ:‬

                                                           ‫اﻟﺠﺰء اﻻول: اﻻﺳﺎﺳﻴﺎت‬
‫اﻟﻐﺮض واﺿﺢ ﻣﻦ ﻋﻨﻮان اﻟﺠﺰء، ﻓﻬـﻮ ﻳﺒـﺪأ ﺑﺘﻌﺮﻳﻔـﻚ ﻋﻠـﻰ ﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ ﻟــ‬
‫‪ Visual Basic‬ﻣﻊ آﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺠﻚ اﻻول، ﺛﻢ ﻳﺒﺪأ ﺑﺎﻟﺘﺤﺪث ﻋﻦ اﻟﻨﻤﺎذج واﻻدوات وﺷـﺮح‬
‫ﺟﻤﻴﻊ ﺧﺼﺎﺋﺼﻬﺎ، ﻃﺮﻗﻬﺎ واﺣﺪاﺛﻬﺎ، ﺛﻢ ﻳﻘﻮى ﻣﻬﺎراﺗﻚ اﻟﺒﺮﻣﺠﻴﺔ ﺳـﻮاء آﺎﻧـﺖ ﻓـﻲ ﻟﻐـﺔ‬
‫اﻟﺒﺮﻣﺠﺔ ‪ BASIC‬او وﻇﺎﺋﻒ ﻣﻜﺘﺒـﺎت ‪ VB‬و ‪ .VBA‬اﻟﻤﺰﻳـﺪ اﻳﻀـﺎ، ﻳﻨﻘﻠـﻚ هـﺬا اﻟﺠـﺰء اﻟـﻰ‬
‫اﻟﻤﺮﺣﻠــﺔ اﻟﺜﺎﻧﻴــﺔ وهــﻲ اﻟﺒﺮﻣﺠــﺔ آﺎﺋﻨﻴــﺔ اﻟﺘﻮﺟــﻪ ‪ OOP‬ﻣــﻊ ﺗﻔﺼــﻴﻞ ﻣﺒﺎدﺋﻬــﺎ اﻟــﺜﻼث:‬
       ‫اﻟﺘﻐﻠﻴﻒ ‪ ،Encapsulation‬ﺗﻌﺪد اﻟﻮاﺟﻬﺎت ‪ Polymorphism‬واﻟﻮراﺛﺔ ‪.Inheritance‬‬

                                        ‫اﻟﺠﺰء اﻟﺜﺎﻧﻲ: ﺑﺮﻣﺠﺔ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت‬
‫ﻳﻌﺘﺒـﺮ هـﺬا اﻟﺠـﺰء اﻟﻤـﺪﺧﻞ اﻟـﺮﺋﻴﺲ اﻟـﻰ ﺑﺮﻣﺠـﺔ اﻟﺘﻄﺒﻴﻘـﺎت اﻟﻤﻌﺘﻤـﺪة ﻋﻠـﻰ ﻗﻮاﻋـﺪ‬
 ‫ـ‬      ‫ـ‬     ‫ـ‬          ‫ـ‬        ‫ـ‬      ‫ـ‬         ‫ـ‬       ‫ـ‬     ‫ـ‬     ‫ـ ـ‬
‫اﻟﺒﻴﺎﻧﺎت ‪ DataBases‬ﺣﻴﺚ ﻳﺒﺪأ ﺑﺎﺳﺎﺳﻴﺎت ﻃﺮق اﻟﻮﺻﻮل اﻟـﻰ اﻟﺒﻴﺎﻧـﺎت ‪Data Access‬‬
‫وﻣﻘﺮر ﺳﺮﻳﻊ ﻓﻲ ﻟﻐﺔ اﻻﺳﺘﻌﻼم ‪ ،SQL‬آﻤﺎ ﻳﺨﺘﺺ آﺎﺋﻨﺎت ‪ ADO‬وﻳﺘﻮﻏﻞ ﻓﻲ ﺗﻔﺎﺻـﻴﻞ‬
                                            ‫ﺑﻌﺾ ادوات اﻟﺠﺪاول واﻧﺸﺎء اﻟﺘﻘﺎرﻳﺮ.‬

                                               ‫اﻟﺠﺰء اﻟﺜﺎﻟﺚ: ﻣﻮاﺿﻴﻊ ﻣﺘﻘﺪﻣﺔ‬
‫ﻻ ﺗﻨﺘﻘﻞ اﻟﻰ هﺬا اﻟﺠﺰء ﺣﺘﻰ ﺗﻜﻮن ﻗﺪ اﺳـﺘﻮﻋﺒﺖ اﻟﺠـﺰء اﻻول ﺑﺸـﻜﻞ ﺟﻴـﺪ، ﻓـﺎﻟﺠﺰء‬
‫ﻳﺘﻌﺪى اﻓﺎق ‪ Visual Basic‬اﻟﻰ ان ﻳﺼﻞ اﻟﻰ اﻟﺒﺮﻣﺠﺔ ﺑﺎﺳﺘﺨﺪام اﺟﺮاءات ‪ API‬وﻋـﺮض‬
‫ﺗﻄﺒﻴﻘﺎت ﻋﻤﻠﻴﺔ ﺗﺆدي اﻟﻰ زﻳﺎدة ﻓﺎﻋﻠﻴـﺔ وﻣﺮوﻧـﺔ ﺑﺮاﻣﺠـﻚ، آﻤـﺎ ﻳﺤﺘـﻮي ﻋﻠـﻰ ﻓﺼـﻞ‬
‫ﺑﻌﻨﻮان "اﻻﺳﺘﺨﺪام اﻟﻤﺘﻘﺪم ﻟﻠﻨﻤﺎذج" ﺣﻴـﺚ ﻳﻈﻬـﺮ ﻟـﻚ اﻣﻜﺎﻧﻴـﺎت اﻟﻨﻤـﺎذج ﺑﻄـﺮق ﻟـﻢ‬
‫ﺗﺨﻄـﺮ ﻋﻠـﻰ ﺑﺎﻟـﻚ. واﺧـﺘﻢ اﻟﺠـﺰء ﺑﻔﺼـﻠﻴﻦ ﻟﺒﺮﻣﺠـﺔ اﻟﻜﺎﺋﻨـﺎت اﻟﻤﺮآﺒـﺔ ‪ COM‬وآـﻞ ﻣـﺎ‬
 ‫ـ‬                        ‫ـ‬                              ‫ـ‬
‫ﺗﺤﺘﺎﺟﻪ ﻟﺘﻄـﻮﻳﺮ ﻣﺸـﺎرﻳﻊ ﻣـﻦ ﻧـﻮع ‪ ActiveX DLL ،ActiveX EXE‬و ‪ ActiveX OCX‬ﻣـﻊ‬
                                           ‫ﻣﻘﺪﻣﺔ اﻟﻰ اﻟﻤﻜﻮﻧﺎت اﻟﻤﻮزﻋﺔ ‪.DCOM‬‬

                                                     ‫اﻟﺠﺰء اﻟﺮاﺑﻊ: ﺑﺮﻣﺠﺔ اﻻﻧﺘﺮﻧﺖ‬
‫وهﻮ اﺻﻐﺮ اﺟﺰاء هﺬا اﻟﻜﺘﺎب، ﻓﻬﻮ ﻳﺤﺘﻮي ﻋﻠﻰ ﻓﺼﻠﻴﻦ اﻻول ﻳﺨﺘﺺ ﺑﺒﺮﻣﺠـﺔ ﺻـﻔﺤﺎت‬
‫‪ DHTML‬اﻟﺪﻳﻨﺎﻣﻴﻜﻴﺔ وﻣﻘﺪﻣﺔ اﻟﻰ اﻟﻠﻐﺔ اﻟﺼﻐﻴﺮة ‪ ،VBScript‬واﻟﻔﺼﻞ اﻻﺧﺮ ﻳﻨﻘﻠﻚ ﻣـﻦ‬
‫ﺑﺮﻣﺠــﺔ اﻟﻌﻤﻴــﻞ ‪ Client‬اﻟــﻰ ﺑﺮﻣﺠــﺔ اﻟﺨــﺎدم ‪ Server‬ﺑﺎﺳــﺘﺨﺪام اﻟﺨــﺎدم ‪ IIS‬ﻟﺘﻄــﻮﻳﺮ‬
                                                                       ‫ﺻﻔﺤﺎت ‪.ASP‬‬
‫و‬


                                                            ‫ﻃﺮﻳﻘﺔ ﺗﻨﻈﻴﻢ اﻟﻜﺘﺎب‬
‫ﻟـﻢ اﺳ ـﺘﺨﺪم ﺳـﻮى اﻟﻄ ـﺮق اﻟﺘﻘﻠﻴﺪﻳ ـﺔ ﻟﺘﻨﻈـﻴﻢ وﺗﻨﺴ ـﻴﻖ ﻣﺤﺘﻮﻳـﺎت اﻟﻜﺘ ـﺎب. ﻓﻀ ـﻠﺖ‬
    ‫ـ‬        ‫ـ‬       ‫ـ‬          ‫ـ‬       ‫ـ‬      ‫ـ‬          ‫ـ‬      ‫ـ‬       ‫ـ‬     ‫ـ‬
‫اﺳــﺘﺨﺪام اﻟﺨــﻂ ‪ Tahoma‬ﻟﻮﺿــﻮﺣﻪ ودﻋﻤــﻪ ﻓــﻲ ﺟﻤﻴــﻊ اﻻﺟﻬــﺰة ﻓﻬــﻮ ﻣــﻦ اﻟﻨــﻮع‬
‫‪ ،UNICODE‬وهﻮ ﻧﻔﺲ اﻟﺨﻂ اﻟﻤﺴﺘﺨﺪم ﻓﻲ آﺘﺎﺑﺔ اﻻآﻮاد، واﻟﺤﺪﻳﺚ ﻋﻦ اﻻآﻮاد ﻓـﻲ‬
‫هﺬا اﻟﻜﺘﺎب ﻳﺠﺮﻧﻲ اﻟﻰ اﺧﺒﺎرك اﻧﻚ ﻟﻦ ﺗﺠﺪ اﻻآﻮاد اﻟﻤﺴﺘﺨﺪﻣﻪ ﻓﻲ اﻻﻣﺜﻠـﺔ اﻻ ﺑـﻴﻦ‬
‫ﺻﻔﺤﺎت هﺬا اﻟﻜﺘﺎب، اﻣﺎ ﺑﻌﺾ اﻻﻣﺜﻠﺔ اﻟﻄﻮﻳﻠﺔ او اﻟﺘﻲ ﺗﺘﻄﻠﺐ ﻣﻠﻔﺎت ﻣﺘﻌﺪدة ﻟﺘﻮﺿﻴﺢ‬
‫ﻓﻜﺮﺗﻬﺎ، ﻓﺎﻟﺮﻣﺰ ﺳﻴﻈﻬﺮ ﻓﻲ اﻋﻠﻰ اﻟﻜﻮد ﻣﻮﺿﺤﺎ ان اﻟﻜﻮد اﻟﺘﺎﻟﻲ ﻣﻮﺟﻮد ﻓﻲ داﺧـﻞ‬
‫اﻟﻤﻠﻒ اﻟﻤﻀـﻐﻮط ‪ Codes.ZIP‬واﻟـﺬي ﺗﺴـﺘﻄﻴﻊ اﻧﺰاﻟـﻪ ‪ Download‬ﻣـﻦ ﻧﻔـﺲ اﻟﻤﻮﻗـﻊ‬
‫اﻟﺬي اﻧﺰﻟﺖ اﻟﻜﺘﺎب ﻣﻨﻪ. ﺳﺘﻼﺣﻆ اﻳﻀﺎ اﻧﻨﻲ اﺳﺘﺨﺪم اﻻﻗـﻮاس ] و [ اذا ﻗﺼـﺪت ازرار‬
‫ﻓﻲ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ آـ ]‪... [ESC] ،[ENTER‬اﻟﺦ. وﺑﺎﻟﻨﺴـﺒﺔ ﻟﻼﺷـﻜﺎل اﻟﺘﻮﺿـﻴﺤﻴﺔ، ﻟـﻢ‬
‫اآﺜﺮ ﻣﻦ اﺳﺘﺨﺪاﻣﻬﺎ ﺧﺸﻴﺔ ازدﻳﺎد ﻣﺴﺎﺣﺔ ﻣﻠﻒ اﻟﻜﺘﺎب -واﻟﺬي ﻗﺪ اﻓﺼﻞ اﺟﺰاءﻩ اﻟﻰ‬
‫ﻣﻠﻔﺎت ﻣﺴﺘﻘﻠﺔ رﻏﻢ اﻧﻨﻲ ﻻ اﺣﺒﺬ ذﻟـﻚ، واﻻﺳـﻠﻮب اﻟﻤﻌﺘﻤـﺪ ﻟﺘـﺮﻗﻴﻢ اﻻﺷـﻜﺎل ﻳﺒـﺪأ‬
‫ﺑﺮﻗﻢ اﻟﻔﺼﻞ ﺛﻢ رﻗﻢ اﻟﺸﻜﻞ ﺑﺬﻟﻚ اﻟﻔﺼﻞ، ﻓﻼ اﻋﺘﻘﺪ اﻧـﻚ ﺗﺮﻳـﺪ اﻟﺒﺤـﺚ ﻋـﻦ اﻟﺸـﻜﻞ‬
                                                                    ‫8395849 !‬

                                                                           ‫آﻠﻤﺔ اﺧﻴﺮة‬
‫ﺑﺎﻻﻋﺘﻤﺎد ﻋﻠﻰ ﻣﺠﻬـﻮدي، ﻓﺎﻧـﻪ ﻳﺴـﺘﺤﻴﻞ ﻋﻠـﻲ آﺘﺎﺑـﺔ وﻟـﻮ ﺣـﺮف واﺣـﺪ ﻣـﻦ ﺣـﺮوف‬
‫اﻟﻜﺘﺎب ان ﻟﻢ ﻳﻜﺘﺐ اﷲ ﺳﺒﺤﺎﻧﻪ وﺗﻌﺎﻟﻰ اﻟﺘﻮﻓﻴﻖ اوﻻ واﺧﻴﺮا ﻻﺗﻤﺎﻣﻪ. ﻣـﺎ اود ان اﻗﻮﻟـﻪ‬
‫ﻟ ـﻚ ﻋﺰﻳ ـﺰي اﻟﻘ ـﺎرئ، ان اﻟﻜﺘ ـﺎب اﻟ ـﺬي اﻣ ـﺎم ﻋﻴﻨﻴ ـﻚ ﻗ ـﺪ آﻠﻔﻨ ـﻲ اﻟﻜﺜﻴ ـﺮ واﻟﻜﺜﻴ ـﺮ ﻣ ـﻦ‬
  ‫ـ ـ‬           ‫ـ‬        ‫ـ‬       ‫ـ‬    ‫ـ‬        ‫ـ‬      ‫ـ‬      ‫ـ‬             ‫ـ‬       ‫ـ‬      ‫ـ‬
‫اﻟﻤﺠﻬﻮد اﻟﻌﻘﻠﻲ واﻟﺒﺪﻧﻲ وﻣﺌﺎت ﻣﻦ ﺳـﺎﻋﺎت ﻋﻤـﺮي ﻣﺤـﺎوﻻ ﺗﻘـﺪﻳﻢ ﺷـﺊ ﻟﻠﻤﻜﺘﺒـﺔ‬
‫اﻟﻌﺮﺑﻴﺔ اﻻﻟﻜﺘﺮوﻧﻴﺔ ﻣﻦ ﺧﻼﻟﻪ. اذا آﺎن اﻟﺘﻔﻜﻴﺮ ﻓﻲ ﻧﺠﺎح هﺬا اﻟﻜﺘﺎب اﻣﺮ ﺑﻌﻴﺪ اﻟﻤـﺪى،‬
‫ﻓﺤﺴﺒﻲ ان ﻻ ﻳﻔﺸﻞ، وان ﻓﺸـﻞ ﻓﻠـﻴﺲ ﻟـﻲ ﺳـﻮى ان أﻋـﻮد اﻟـﻰ آﺮاﺳـﻲ اﻟﻘـﺮاء‬
‫ﺑﺎﺣﺜﺎ ﻋﻦ ﻣﺆﻟﻒ ﻋﺮﺑﻲ ﻓﻲ ﻣﻨﺼﺔ اﻟﻜﺘﺎب ﻳﺮﺷﺪﻧﻲ اﻟﻰ ﺿـﺎﻟﺘﻲ ﻓـﻲ ﻣﻮاﺟﻬـﺔ اﻟﻌﺼـﺮ‬
                                                                 ‫اﻟﺤﺎﻟﻲ ﻟﺘﻘﻨﻴﺔ اﻟﻤﻌﻠﻮﻣﺎت.‬
‫اﺧﻴﺮا، اود ان اﻋﺘﺬر ﺷﺪﻳﺪ اﻻﻋﺘﺬار ﻋﻦ ﻋﺪم ارﻓﺎق ﺑﺮﻳﺪي اﻻﻟﻜﺘﺮوﻧـﻲ ﻋﻠـﻰ ﺻـﻔﺤﺎت‬
‫اﻟﻜﺘﺎب -ﻻﺳﺒﺎب ﺷﺨﺼﻴﺔ- رﻏﻢ اﻧﻨﻲ ﻟﺴﺖ ﻣﻠﺰم ﺑﺎرﻓﺎﻗﻪ ﻃﺎﻟﻤﺎ آﻮﻧـﻪ آﺘـﺎب ﻣﺠـﺎﻧﻲ‬
‫ﻟﻠﺠﻤﻴﻊ، ﻓﻼ ﺗﺘﻮﻗﻊ دﻋﻤﺎ ﻓﻨﻴﺎ ﻣﻨﻲ. آﻤﺎ ارﺟﻮ ان ﻻ ﺗﺤﺎول اﻟﻐﺎء اﺳـﻤﻲ ﻣـﻦ ﺻـﻔﺤﺎت‬
‫اﻟﻜﺘﺎب واﺳـﺘﺒﺪاﻟﻪ ﺑﺎﺳـﻤﻚ او اﺳـﻢ ﺷـﺨﺺ ﻋﺰﻳـﺰ ﻋﻠـﻰ ﻗﻠﺒـﻚ، ﻓـﺎن ذﻟـﻚ ﻻ ﻳﺮﺳـﻢ‬
                                                                  ‫اﻻﺑﺘﺴﺎﻣﺔ ﻋﻠﻰ ﺷﻔﺘﺎي.‬


                                                                         ‫ﺗﺮآﻲ اﻟﻌﺴﻴﺮي‬
                                                                     ‫اﻟﻈﻬﺮان – ﻳﻨﺎﻳﺮ 2002‬
‫اﻟﺠﺰء اﻻول‬


‫اﻻﺳﺎﺳﻴﺎت‬
‫2‬


                                      ‫اﻟﻔﺼﻞ اﻻول‬
                  ‫ﺗﻌﺮف ﻋﻠﻰ ‪Visual Basic‬‬


‫ﺑﺴﻢ اﷲ ﻧﺒﺪأ وﻋﻠﻰ ﺑﺮآﺘﻪ ﻧﺴﻴﺮ ﻣﻊ اﻟﺠﻤﻠﺔ ‪ .Visual Basic‬ﺗﺨﺘﻠﻒ وﺟﻬﺎت اﻟﻨﻈﺮ ﺑﻴﻦ‬
‫اﻟﻤﺒﺮﻣﺠﻴﻦ ﺣـﻮل ﺗﻌﺮﻳـﻒ او ﺗﺼـﻨﻴﻒ ‪ ،Visual Basic‬هـﻞ ‪ Visual Basic‬ﻟﻐـﺔ ﺑﺮﻣﺠـﺔ ام‬
‫ﺑﺮﻧﺎﻣﺞ ﺗﺼﻤﻴﻢ ﻧﻮاﻓـﺬ ام ﻣﻨـﺘﺞ ﻣﺘﻜﺎﻣـﻞ؟ ﺗﻘﻨﻴـﺎ، ‪ Visual Basic‬ﻋﺒـﺎرة ﻋـﻦ ﻣﻜﺘﺒـﺔ ﻣـﻦ‬
‫اﻟﻤﻜﺘﺒﺎت ﺗﻮﻓﺮ ﻋﺪة اواﻣﺮ ﺑﺮﻣﺠﻴﺔ ﻣﺘﻜﺎﻣﻠﺔ ﻣﻊ اﺑﻨﺘﻬـﺎ ‪– Visual Basic for Application‬‬
‫ﺗﺨﺘﺼﺮ ‪ .VBA‬اﻻ ان اﻟﻤﺘﻌﺎرف ﻋﻠﻴﻪ ﺑﻴﻦ اﻟﻤﺒـﺮﻣﺠﻴﻦ هـﻮ ان ‪ Visual Basic‬ﻟﻐـﺔ ﺑﺮﻣﺠـﺔ‬
‫وﺑﺮﻧﺎﻣﺞ ﺗﺼﻤﻴﻢ ﻧﻮاﻓﺬ وﻣﻜﺘﺒﺎت ﺗﺸﻐﻴﻠﻴﺔ، أي ﺑﺎﺧﺘﺼﺎر هﻮ ﻣﻨﺘﺞ ﻣﺘﻜﺎﻣﻞ. ﻟﺬﻟﻚ، ﻋﻨﺪﻣﺎ‬
‫اﺗﺤﺪث ﻋﻦ ‪ Visual Basic‬ﻓﻲ هﺬا اﻟﻜﺘﺎب ﻓﺎﻧﻨﻲ اﻗﺼﺪ ﺟﻤﻴﻊ اﻟﺘﻌﺮﻳﻔﺎت اﻟﺴﺎﺑﻘﺔ، ﻓﻠﻮ‬
‫ذآﺮت ﻣﺰاﻳﺎ ﻟﻐﺔ ‪ Visual Basic‬ﻓـﺎﻧﻨﻲ اﻗﺼـﺪ اﻟﻠﻐـﺔ اﻟﺤﻨﻮﻧـﺔ ‪ ،BASIC‬وﻟـﻮ ﺗﺤـﺪﺛﺖ ﻋـﻦ‬
‫دوال واﺟﺮاءات ‪ Visual Basic‬ﻓﺎﻧﻨﻲ اﻟﻤﺢ اﻟﻰ ﻣﻜﺘﺒﺎت ‪ Visual Basic‬اﻟﺘﺸـﻐﻴﻠﻴﺔ، وﻟـﻮ‬
‫ﺗﻄﺮﻗﺖ اﻟﻰ ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ ﻟـ ‪– Visual Basic‬آﻤﺎ ﻓﻲ اﻟﻔﻘـﺮة اﻟﺘﺎﻟﻴـﺔ- ﻓـﺎﻧﻨﻲ‬
                                                       ‫اﻗﺼﺪ ﺑﺮﻧﺎﻣﺞ ﺗﺼﻤﻴﻢ اﻟﻨﻮاﻓﺬ.‬


                                            ‫ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ ‪IDE‬‬
‫ﺑﺮاﻣﺠﻚ وﻣﺸﺎرﻳﻌﻚ ﺗﺴﺘﻄﻴﻊ اﻧﺠﺎزهﺎ ﺑﺎﺳﺘﺨﺪام اﺑﺴـﻂ ﺑﺮﻧـﺎﻣﺞ ﻳـﺄﺗﻲ ﻣـﻊ ‪Windows‬‬
‫واﻟــﺬي ﻳــﺪﻋﻰ ‪ .Notepad‬اﻻ اﻧﻨــﻲ –وﷲ اﻟﺤﻤــﺪ- ﻟــﻢ اﻗﺎﺑــﻞ ذﻟــﻚ اﻟﺸــﺨﺺ اﻟــﺬي‬
‫ﻳﺴﺘﺨﺪم اﻟـ ‪ Notepad‬آﻲ ﻳﺼﻤﻢ ﺑﺮﻧﺎﻣﺞ ﻳﻨﻔﺬ ﺗﺤﺖ ‪ .Visual Basic‬ﻻن ‪Visual Basic‬‬
‫ﻳـﻮﻓﺮ ﻟـﻚ ادوات ﻓـﻲ ﻗﻤـﺔ اﻟﺮوﻋـﺔ ﻣﺠﺘﻤﻌـﺔ ﺗﺤـﺖ ﻣﺴـﻤﻰ ﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ‬
 ‫ـ‬            ‫ـ‬       ‫ـ‬     ‫ـ‬        ‫ـ‬    ‫ـ‬       ‫ـ‬        ‫ـ‬    ‫ـ‬          ‫ـ‬    ‫ـ‬
‫‪– Integrated Development Environment‬ﺗﺨﺘﺼـﺮ ‪ -IDE‬ﺗـﻮﻓﺮ ﻟـﻚ آـﻞ ﻣـﺎ ﺗﺤﺘﺎﺟـﻪ‬
‫ﻟﺘﺼﻤﻴﻢ ﻧﻮاﻓﺬ وآﺘﺎﺑﺔ اآﻮاد ﺑﺮاﻣﺠﻚ. ﺑﻞ ﺗﻘﺪم ﻟـﻚ ﺧـﺪﻣﺎت –ﺧﻤـﺲ ﻧﺠـﻮم- اآﺜـﺮ ﻣـﻦ‬
‫ذﻟﻚ، آﺨﺪﻣـﺔ اﻟﺘﻨﻘـﻴﺢ ‪ ،Debugging‬ادارة ﻣﻠﻔـﺎت ﻣﺸـﺮوﻋﻚ، ﺗﺤﺮﻳـﺮ اﻟﻘـﻮاﺋﻢ، ﺗﻌـﺪﻳﻞ‬
                                           ‫وإﻧﺸﺎء ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت ... اﻟﺦ ﺷﻜﻞ 1-1.‬
‫3‬




                               ‫ﺷﻜﻞ 1-1: ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ ﻟـ ‪.Visual Basic‬‬

‫اذا آﻨﺖ ﺟﺪﻳﺪا ﻋﻠﻰ هﺬﻩ اﻟﺒﻴﺌﺔ –أي ﻟﻢ ﺗﺴﺘﺨﺪم 5‪ -VB‬ﻓﻤﻦ اﻟﻀﺮوري اﻟـﺘﻤﻌﻦ ﻓـﻲ‬
‫آﻠﻤﺎت هﺬا اﻟﻔﺼـﻞ ﺑﺎﻟـﺬات واﻻ ﻓﺎﻧـﻚ ﻟـﻦ ﺗـﺪل اﻟﻄـﺮق اﻟﻤﺆدﻳـﺔ اﻟـﻰ ﺳـﺎﺣﺔ اﻟﻌﻤـﻞ.‬
‫اﻟﻄﺮق ﺳﺘﻜﻮن ﻧﻮاﻓﺬ ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ، واﻟﻌﻤﻞ هﻮ اﻟﺴﺒﺐ اﻟﺬي ﺟﻌﻠﻚ –ﻋﻠﻰ ﻣﺎ اﻋﺘﻘـﺪ-‬
                                                                  ‫ﺗﻘﺮأ هﺬا اﻟﻜﺘﺎب.‬
‫آﻤﺎ ﺗﻼﺣﻆ ﻓﻲ ﺷﻜﻞ 1-1، ﺗﺤﺘﻮي ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ ﻋﻠﻰ اﻟﻜﺜﻴﺮ ﻣـﻦ اﻟﻨﻮاﻓـﺬ اﻟﻤﺤﻀـﻮﻧﺔ‬
‫ﺑﻬــﺎ ‪ Child Windows‬واﻟﻌﺪﻳــﺪ ﻣــﻦ اﻟﻘــﻮاﺋﻢ ‪ Menus‬وﻣﺠﻤﻮﻋــﺎت ﻣــﻦ اﻻزرار ﺗــﺪﻋﻰ‬
                              ‫اﺷﺮﻃﺔ اﻻدوات ‪ ،Toolbars‬واﻟﻴﻚ ﻳﺎ ﺳﻴﺪي ﺗﻔﺎﺻﻴﻠﻬﺎ:‬

                                          ‫ﻧﻮاﻓﺬ ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ‬
‫اذا آﻨﺖ ﻣﻦ ﺟﻴﻞ ﻣﺒﺮﻣﺠﻲ ‪ Visual Basic‬اﻻﺻﺪار اﻟﺨﺎﻣﺲ ﻓﺎﻧﺘﻘﻞ اﻟـﻰ ﻓﻘـﺮة "ﻧﺎﻓـﺬة‬
‫ﻋﺮض اﻟﺒﻴﺎﻧﺎت ‪ "Data View‬ﻻﻧﻪ ﻻ ﻳﻮﺟﺪ أي ﺷﺊ ﺟﺪﻳﺪ اوﺿﺤﻪ ﻟﻚ هﻨﺎ. اﻣﺎ ان آﻨـﺖ‬
‫ﻣﻦ اﻻﺟﻴﺎل اﻻﻗـﺪم، ﻓـﺎول ﺷـﺊ ﻗـﺪ ﻳﺸـﺪ اﻧﺘﺒﺎهـﻚ هـﻮ أن اﻟﻨﺎﻓـﺬة اﻟﺮﺋﻴﺴـﻴﺔ ﻟﺒﻴﺌـﺔ‬
‫اﻟﺘﻄـﻮﻳﺮ اﺻـﺒﺤﺖ ﻣـﻦ اﻟﻨـﻮع ﻣﺘﻌـﺪد اﻟﻤﺴـﺘﻨﺪات ‪– Multiple Document Interface‬‬
‫ﺗﺨﺘﺼﺮ ‪ ،MDI‬وﺳﺘﻼﺣﻆ اﺷـﺘﻤﺎﻟﻬﺎ ﻋﻠـﻰ ﻧﻮاﻓـﺬ ﺟﺪﻳـﺪة، ﺑﺎﻻﺿـﺎﻓﺔ إﻟـﻰ ﺗﻄـﻮﻳﺮ ﺑﻌـﺾ‬
‫اﻟﻨﻮاﻓﺬ اﻟﺴﺎﺑﻘﺔ آﻨﺎﻓﺬة ﻣﺴﺘﻜﺸﻒ اﻟﻤﺸـﺮوع او اﻟﺨﺼـﺎﺋﺺ. واول ﻧﺎﻓـﺬة ﺳـﻨﺒﺪأ ﺑﻬـﺎ‬
                                                        ‫هﻲ ﻣﻦ اﻟﻨﻮاﻓﺬ اﻟﺠﺪﻳﺪة:‬
‫4‬


                                                   ‫ﻧﺎﻓﺬة ﻣﺸﺮوع ﺟﺪﻳﺪ ‪New Project‬‬
‫ﻋﻨﺪﻣﺎ ﺗﻘﻮم ﺑﺘﺸﻐﻴﻞ ﻣﻨﺼﺔ اﻟﻌﻤﻞ ‪ Visual Basic‬ﻻول ﻣﺮة، ﻓﺎن ﻟﻬﺬﻩ اﻟﻨﺎﻓﺬة اﺣﺘﻤـﺎل‬
‫ﻣﺆآ ـﺪ ﻟﻠﻈﻬ ـﻮر. ﻓﻌ ـﻦ ﻃﺮﻳﻘﻬ ـﺎ ﺗﺴ ـﺘﻄﻴﻊ اﻻﺧﺘﻴ ـﺎر ﺑ ـﻴﻦ أﻧ ـﻮاع ﻋ ـﺪة ﻣ ـﻦ اﻟﻤﺸ ـﺎرﻳﻊ آ ــ‬
 ‫ـ‬       ‫ـ‬       ‫ـ‬     ‫ـ‬      ‫ـ‬      ‫ـ ـ‬               ‫ـ‬     ‫ـ‬        ‫ـ‬       ‫ـ‬       ‫ـ‬
‫‪ .... ActiveX DLL ،ActiveX EXE ،Standard EXE‬اﻟﺦ. ﺣﺪد اﻟﻨﻮع ‪ Standard EXE‬ﺛﻢ‬
‫اﻧﻘﺮ ﻋﻠﻰ اﻟﺰر ‪ Open‬او اﺿـﻐﻂ ﻋﻠـﻰ اﻟﻤﻔﺘـﺎح ]‪ .[ENTER‬ﻓﺎﻟﻘﺎﻋـﺪة اﻟﺴـﺎﺋﺪة ﻟﺠﻤﻴـﻊ‬
‫آﺘﺐ ‪ Visual Basic‬اﻟﺘﻌﺮﻳﻔﻴﺔ ﺗﺒﺪأ اﻟﺸﺮح داﺋﻤﺎ ﺑﺎﻟﻨﻮع ‪ Standard EXE‬وﻟـﻦ اﺷـﺬ ﻋـﻦ‬
     ‫هﺬﻩ اﻟﻘﺎﻋﺪة، ﻓﺎﻧﺖ ﻻ ﺗﺮﻳﺪ ﻣﻌﺮﻓﺔ ﻃﺮﻳﻘﺔ ﻃﺒﺦ اﻟﻜﺒﺴﺔ ﻗﺒﻞ ان ﺗﺘﻌﻠﻢ ﻗﻠﻲ اﻟﺒﻴﺾ!‬
‫اذا آﺎﻧﺖ هﺬﻩ اﻟﻨﺎﻓﺬة ﺗﺴﺒﺐ ﻟﻚ ازﻋﺎج -وﻟﻮ ﺑﺴﻴﻂ- ﻓﻲ آﻞ ﻣﺮة ﺗﺸﻐﻞ ﻓﻴﻬـﺎ ‪Visual‬‬
‫‪ ،Basic‬ﺗﺴـﺘﻄﻴﻊ اﻟﻐـﺎء ﻓﻜـﺮة ﻇﻬﻮرهـﺎ ﻋـﻦ ﻃﺮﻳـﻖ ﺗﺤﺪﻳـﺪ اﻟﺨﻴـﺎر ‪Don’t show this‬‬
‫‪ dialog in the future‬اﻟﻤﻮﺟﻮد ﻓﻲ اﺳﻔﻠﻬﺎ ﺣﺘﻰ ﻻ ﺗﻌﻜﺮ ﻣﺰاﺟـﻚ، وﺗﻜـﻮن رﻓﻴﻘـﺎ ﻟـﻲ‬
                                                                      ‫ﺣﺘﻰ ﻧﻬﺎﻳﺔ اﻟﻜﺘﺎب.‬

 ‫إذا ﻟﻢ ﻳﺮق ﻟﻚ هﺬا اﻟﺘﻐﻴﻴﺮ، واردت اﻟﻌﻮدة إﻟﻰ اﻟﻮﺿﻊ اﻟﺴﺎﺑﻖ، ﻓﺎﺧﺘﺮ‬              ‫ﻣﻼﺣﻈﺔ:‬
 ‫اﻷﻣﺮ …‪ Options‬ﻣﻦ ﻗﺎﺋﻤﺔ ‪ ،Tools‬وﻣﻦ ﻣﺮﺑﻊ اﻟﺤﻮار اﻟﺬي ﻳﻈﻬﺮ‬
 ‫اﻣﺎﻣﻚ اﺧﺘﺮ ﺗﺒﻮﻳﺐ ُ‪ ،Environment‬واﻧﻘﺮ ﻋﻠﻰ اﻟﺨﻴﺎر ‪Prompt for‬‬
                                                       ‫‪.project‬‬

                                           ‫ﻧﺎﻓﺬة ﻣﺼﻤﻢ اﻟﻨﻤﺎذج ‪Form Designer‬‬
‫هﺬﻩ اﻟﻨﺎﻓـﺬة ﺗﻌﺘﺒـﺮ ﺳـﺮ ﻧﺠـﺎح ‪ ،Visual Basic‬وهـﻲ اﺷـﻬﺮ ﻧﻮاﻓـﺬ ‪ Visual Basic‬ﻣﻨـﺬ‬
‫اﻻﺻﺪار اﻻول ﻣﻊ اﻟﻌﻨﻮان اﻻﺑﺘﺪاﺋﻲ ﻟﻬﺎ 1‪ .Form‬ﻋﻦ ﻃﺮﻳﻖ هﺬﻩ اﻟﻨﺎﻓﺬة ﺗﻘـﻮم ﺑﻌﻤﻠﻴـﺔ‬
‫ﺗﺼﻤﻴﻢ واﺟﻬﺔ ﺑﺮﻧﺎﻣﺠﻚ اﻣﺎ ﺑﺘﻌﺪﻳﻞ ﺧﺼﺎﺋﺼـﻬﺎ او وﺿـﻊ ﺑﺎﻗـﺔ ادوات ﻋﻠﻴﻬـﺎ ﺑﺎﺳـﺘﺨﺪام‬
‫اﻟﻔـ ـﺄرة ‪ Mouse‬ﻣﺒﻴﻨـ ـﺔ ﻟـ ـﻚ ﻗـ ـﻮة وﻧﺠـ ـﺎح ﻓﻜـ ـﺮة ﻟﻐـ ـﺎت اﻟﺒﺮﻣﺠـ ـﺔ اﻟﻤﺮﺋﻴـ ـﺔ ‪Visual‬‬
           ‫ـ‬         ‫ـ‬         ‫ـ‬       ‫ـ‬        ‫ـ‬       ‫ـ‬     ‫ـ ـ‬                    ‫ـ‬
‫‪ .Programming Languages‬ﻓﻘﺪ اﻧﺘﻬﻰ ﻋﺼﺮ ﺗﺼﻤﻴﻢ اﻟﺸﺎﺷﺎت ﺑﺎﻻآﻮاد او ﺗﻌﻠﻴﻤـﺎت‬
      ‫اﻟﻤﺎآﺮو ‪ Macro‬آﻤﺎ آﻨﺎ ﻧﻔﻌﻞ ﻓﻲ زﻣﻦ اﻗﺮاص 52.5 واﺷﺮﻃﺔ اﻟﺘﺴﺠﻴﻞ ‪.Tapes‬‬
‫ﻃﺮﻳﻘﺔ وﺿﻊ اﻻدوات ﻋﻠﻰ ﻧﺎﻓﺬة اﻟﻨﻤﻮذج اﺷﺒﻪ ﻣـﺎ ﺗﻜـﻮن ﺑﻌﻤﻠﻴـﺔ رﺳـﻢ ﻣﺮﺑﻌـﺎت آﻤـﺎ‬
‫ﻓﻲ ﺑﺮﻧﺎﻣﺞ اﻟﺮﺳﺎم ‪ .Paint‬اﻟﻤﺰﻳـﺪ اﻳﻀـﺎ، ﻋﻤﻠﻴـﺎت اﻟﺘﺤﺮﻳـﺮ آﺎﻟﻨﺴـﺦ واﻟﻠﺼـﻖ واﻟﻘـﺺ‬
                                             ‫ﻣﺪﻋﻮﻣﺔ ﻋﻠﻰ ﺟﻤﻴﻊ اﻻدوات اﻟﺘﻲ ﺗﻀﻌﻬﺎ.‬

 ‫ﻧﺎﻓﺬة اﻟﻨﻤﻮذج هﻲ اﺳﻢ ﻣﺨﺘﺼﺮ ﻣﻦ ﻧﺎﻓﺬة ﻣﺼﻤﻢ اﻟﻨﻤـﺎذج واﻟﻤﻘﺼـﺪ‬                   ‫ﻣﻼﺣﻈﺔ:‬
 ‫واﺣﺪ. ﻟﺬﻟﻚ، ﺳﺘﻼﺣﻆ اﻧﻨﻲ اﺳﺘﺨﺪم اﻟﻤﺼـﻄﻠﺢ ﻧﺎﻓـﺬة اﻟﻨﻤـﻮذج ﻓـﻲ‬
                                            ‫آﺂﻓﺔ ارﺟﺎء اﻟﻜﺘﺎب .‬
‫5‬


                                             ‫ﻧﺎﻓﺬة ﺻﻨﺪوق اﻻدوات ‪Toolbox‬‬
‫ﺑﻌﺪ ان ﺗﻈﻬﺮ ﻟﻨﺎ ﻧﺎﻓﺬة اﻟﻨﻤﻮذج اﻟﺴﺎﺑﻘﺔ، ﻓﺎن ﺷـﻬﻮة وﺿـﻊ اﻻدوات ﻋﻠﻴﻬـﺎ ﺗﺼـﻞ اﻟـﻰ‬
‫ﻗﻤﺘﻬ ـﺎ. واﻻدوات ﻣﻮﺟ ـﻮدة ﻓ ـﻲ ﻧﺎﻓ ـﺬة ﺻ ـﻨﺪوق اﻻدوات ‪ Toolbox‬ﺷ ـﻜﻞ 1-2 اﻟﺘ ـﻲ‬
   ‫ـ‬            ‫ـ‬                        ‫ـ‬    ‫ـ‬     ‫ـ‬     ‫ـ‬             ‫ـ‬
‫ﺗﻌﺮض ﻟﻚ 02 أداة ﻗﻴﺎﺳﻴﺔ ﻣﺪﻣﺠﺔ ﻓﻲ ﺟﻤﻴﻊ ﺑﺮاﻣﺠﻚ اﻟﻤﺼﻤﻤﺔ ﺗﺤﺖ ‪،Visual Basic‬‬
‫وﻗﺪ ﺗﺤﺘﻮي ﻋﻠـﻰ ﻣﺠﻤﻮﻋـﺔ ادوات اﺿـﺎﻓﻴﺔ ﺗـﺪﻋﻰ ‪- ActiveX Controls‬ﻣـﺎزال اﻟﻮﻗـﺖ‬
‫ﻣﺒﻜﺮا ﺟﺪا ﻟﻠﺤﺪﻳﺚ ﻋﻨﻬﺎ. ﻣﻊ ان اﻻدوات ﻋﺪدهﺎ 02 أداة اﻻ اﻧﻪ ﻳﻮﺟـﺪ 12 زر ‪،Buttons‬‬
‫هﺬا اﻟﺰر اﻻﺿﺎﻓﻲ ﻣﻮﺟﻮد ﻓﻲ اﻟﺮآﻦ اﻟﻌﻠﻮي اﻻﻳﺴﺮ ﻣـﻦ اﻻدوات ﻋﻠـﻰ ﺷـﻜﻞ ﻣﺆﺷـﺮ‬
‫‪ Pointer‬وﻇﻴﻔﺘﻪ اﻻﺳﺎﺳﻴﺔ اﻟﻐﺎء ﻋﻤﻠﻴﺔ ﻃﻠﺐ رﺳﻢ أداة. ﻻ ﺗﺸﻐﻞ ﻧﻔﺴﻚ ﺑـﻪ آﺜﻴـﺮا،‬
‫ﻓﻬﻮ ﻳﻀﻐﻂ ﻧﻔﺴﻪ ﺗﻠﻘﺎﺋﻴﺎ ﺑﻤﺠﺮد اﻧﺘﻬﺎﺋﻚ ﻣﻦ ﻋﻤﻠﻴﺔ رﺳـﻢ او وﺿـﻊ اﻷداة ﻋﻠـﻰ ﻧﺎﻓـﺬة‬
                                                                      ‫اﻟﻨﻤﻮذج.‬




                                              ‫ﺷﻜﻞ 1-2: ﺻﻨﺪوق اﻻدوات ‪.Toolbox‬‬

‫اذا آ ـﺎن ﻋ ـﺪد اﻻدوات اﻟﻤﻮﺟ ـﻮدة ﻓ ـﻲ ﺻ ـﻨﺪوق اﻻدوات آﺒﻴ ـﺮا ﺟ ـﺪا، ﻓﻴﻔﻀ ـﻞ ان ﺗﻘ ـﻮم‬
    ‫ـ‬      ‫ـ‬         ‫ـ‬     ‫ـ‬                ‫ـ‬    ‫ـ‬      ‫ـ‬                ‫ـ‬     ‫ـ‬
‫ﺑﻌﻤﻠﻴﺔ ﺗﻘﺴﻴﻢ اﻻدوات اﻟﻰ ﻣﺠﻤﻮﻋـﺎت ﺗﺨﺘﻔـﻲ وﺗﻈﻬـﺮ ﻣﺘـﻰ ﻣـﺎ ﺷـﺌﺖ ﻋـﻦ ﻃﺮﻳـﻖ‬
‫اﻟﻨﻘﺮ ﺑﺰر اﻟﻔـﺄرة اﻻﻳﻤـﻦ ﻋﻠـﻰ ﻧﺎﻓـﺬة ﺻـﻨﺪوق اﻻدوات واﺧﺘﻴـﺎر اﻻﻣـﺮ …‪ Add Tab‬ﻣـﻦ‬
‫اﻟﻘﺎﺋﻤـﺔ اﻟﻤﻨﺴـﺪﻟﺔ وﻣـﻦ ﺛـﻢ آﺘﺎﺑـﺔ اﺳـﻢ اﻟﻤﺠﻤﻮﻋـﺔ. ﻃﺮﻳﻘـﺔ ﺗﻨﻈـﻴﻢ ﻣﺤﺘﻮﻳـﺎت آـﻞ‬
  ‫ـ‬     ‫ـ‬        ‫ـ‬                ‫ـ‬          ‫ـ‬    ‫ـ‬          ‫ـ‬      ‫ـ‬
‫ﻣﺠﻤﻮﻋﺔ ﺗﺘﺒﻊ اﺳـﻠﻮب اﻟﺴـﺤﺐ واﻻﻟﻘـﺎء ‪ Drag & Drop‬وهـﻮ ﻧﻔـﺲ اﻻﺳـﻠﻮب اﻟـﺬي‬
‫ﺗﺘﺒﻌﻪ ﻟﻨﺴﺦ او ﻧﻘﻞ ﻣﻠﻔﺎت ﺟﻬﺎزك. اﺧﻴﺮا، اذا اردت ﺣﺬف اﻟﻤﺠﻤﻮﻋﺔ، ﻗﻢ ﺑﺎﻟﻨﻘﺮ ﻋﻠـﻰ‬
‫اﺳﻢ اﻟﻤﺠﻤﻮﻋﺔ ﺑﺰر اﻟﻔﺄرة اﻻﻳﻤﻦ واﺧﺘﻴﺎر اﻻﻣﺮ ‪ Delete Tab‬ﻣﻦ اﻟﻘﺎﺋﻤـﺔ اﻟﻤﻨﺴـﺪﻟﺔ،‬
      ‫ﻣﻊ اﻟﻌﻠﻢ ان اﻟﻤﺠﻤﻮﻋﺔ اﻟﺮﺋﻴﺴﺔ واﻟﺘﻲ ﺗﺴﻤﻰ ‪ General‬ﻟﻦ ﺗﺘﻤﻜﻦ ﻣﻦ ﺣﺬﻓﻬﺎ.‬
‫ﻳﺒﺪو اﻧﻨﻲ ﻧﺴﻴﺖ ﻧﻘﻄﺔ ﻣﻬﻤﺔ وهﻲ آﻴـﻒ ﺗﻌـﺮض ﻧﺎﻓـﺬة ﺻـﻨﺪوق اﻻدوات ﻓـﻲ ﺣﺎﻟـﺔ‬
                ‫اﻏﻼﻗﻬﺎ، ﻳﺘﻢ ذﻟﻚ ﻋﻦ ﻃﺮﻳﻖ اﺧﺘﻴﺎر اﻻﻣﺮ ‪ Toolbox‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ ‪.View‬‬

                                  ‫ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ ‪Properties Windows‬‬
‫ﺑﻤﺠﺮد اﻧﺘﻬﺎﺋﻚ ﻣﻦ وﺿﻊ اﻷداة ﻋﻠﻰ ﻧﺎﻓﺬة اﻟﻨﻤﻮذج، ﻓﺎن ﻋﻴﻨﻴـﻚ ﺳـﺘﺒﺤﺚ ﻋـﻦ ﻣﻮﻗـﻊ‬
‫ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ واﻟﺘﻲ ﻣﻦ ﺧﻼﻟﻬﺎ ﺳﺘﺘﻤﻜﻦ ﻣﻦ ﺗﻌﺪﻳﻞ ﺧﺼﺎﺋﺺ اﻷداة او ﺣﺘﻰ ﻧﺎﻓـﺬة‬
‫6‬


‫اﻟﻨﻤﻮذج ‪ ،Form‬ﻣﻦ هﺬﻩ اﻟﺨﺼﺎﺋﺺ اﻟﺤﺠﻢ، اﻟﻤﻮﻗﻊ، اﻟﻠﻮن، اﻟﻌﻨﻮان .... اﻟﺦ. اذا آﺎﻧـﺖ‬
‫هﺬﻩ اﻟﻨﺎﻓﺬة ﻣﺨﻔﻴﺔ اﺧﺘﺮ اﻻﻣﺮ ‪ Properties Window‬ﻣﻦ ﻗﺎﺋﻤﺔ ‪ View‬او اﺿـﻐﻂ ﻋﻠـﻰ‬
                                                                    ‫اﻟﻤﻔﺘﺎح ]4‪.[F‬‬
‫ﻓﻲ اﻋﻠﻰ اﻟﻨﺎﻓﺬة ﻳﻮﺟﺪ ﻗﺎﺋﻤﺔ ﺗﺴﻤﻰ ﻓﻲ ﻋﺎﻟﻢ ‪ Visual Basic‬ﺑـﺄداة اﻟــ ‪ComboBox‬‬
‫ﺗﻤﻜﻨﻚ ﻣﻦ ﺗﺤﺪﻳﺪ اﻟﻜﺎﺋﻦ او اﻷداة اﻟﺘﻲ ﺗـﻮد ﻋـﺮض ﺧﺼﺎﺋﺼـﻬﺎ. ﺑﺎﻣﻜﺎﻧـﻚ ﺗﺤﺪﻳـﺪ اﻷداة‬
‫ﻣﺒﺎﺷـﺮة ﺑـﺎﻟﻨﻘﺮ ﻋﻠﻴﻬـﺎ -وهـﻲ ﻋﻠـﻰ ﻧﺎﻓـﺬة اﻟﻨﻤـﻮذج- وﺳـﺘﻼﺣﻆ ان ﻣﺤﺘﻮﻳـﺎت ﻧﺎﻓـﺬة‬
   ‫ـ‬      ‫ـ‬                 ‫ـ‬         ‫ـ‬      ‫ـ‬    ‫ـ‬    ‫ـ‬    ‫ـ‬          ‫ـ ـ‬
‫اﻟﺨﺼﺎﺋﺺ ﻗﺪ ﺗﻐﻴﺮت. اﻟﻤﺰﻳﺪ اﻳﻀﺎ، ﻳﻤﻜﻨﻚ اﺧﺘﻴﺎر ﻃﺮﻳﻘﺔ ﺗﺮﺗﻴـﺐ ﺟـﺪول اﻟﺨﺼـﺎﺋﺺ اﻣـﺎ‬
‫ﺗﺮﺗﻴﺐ اﺑﺠﺪي ‪ Alphabetic‬او ﻣﺼﻨﻒ ‪ .Categorized‬وﺑﺎﻟﻨﺴـﺒﺔ ﻟﻠﺠـﺪول، ﻓـﺎن اﻟﻌﻤـﻮد‬
‫اﻻﻳﺴﺮ ﻳﻌﺮض ﻟﻚ اﻟﺨﺼﺎﺋﺺ اﻟﻤﺘﻮﻓﺮة ﻟﻸداة اﻣﺎ اﻻﻳﻤﻦ ﻓﻴﻌﺮض ﻗﻴﻤﺔ آﻞ ﺧﺎﺻـﻴﺔ ﻣـﻦ‬
‫هﺬﻩ اﻟﺨﺼﺎﺋﺺ. ﺑﻌﺾ اﻟﺨﺼـﺎﺋﺺ ﺗﺴـﺘﻄﻴﻊ ﺗﻌـﺪﻳﻠﻬﺎ ﻣﺒﺎﺷـﺮة ﺑﻜﺘﺎﺑـﺔ ﻗﻴﻤـﺔ ﻋﺪدﻳـﺔ او‬
‫ﺣﺮﻓﻴﺔ آـ ‪ ،Caption‬وﺑﻌﻀﻬﺎ ﻋﻠﻴﻚ اﺧﺘﻴﺎر ﻗﻴﻤﺔ ﻣﻦ ﻋـﺪة ﻗـﻴﻢ آــ ‪ Visible‬او ﻟـﻮن ﻣـﻦ‬
‫ﻣﺠﻤﻮﻋﺔ ﻟﻮح اﻻﻟﻮان آـ ‪ ،BackColor‬وهﻨـﺎك ﻧـﻮع ﻳﻈﻬـﺮ ﻟـﻚ ﻣﺮﺑـﻊ ﺻـﻐﻴﺮ ﻓـﻲ اﻗﺼـﻰ‬
‫ﻳﻤﻴﻦ اﻟﻌﻤﻮد ﻣﻜﺘﻮب ﻋﻠﻴﻪ ﺛـﻼث ﻧﻘـﺎط "..." ﻳﻘﺼـﺪ ﺑـﻪ ﺻـﻨﺪوق ﺣـﻮار ‪ Dialog Box‬ﻟـﻪ‬
                                                    ‫ﺧﻴﺎرات اﺿﺎﻓﻴﺔ آﺎﻟﺨﺎﺻﻴﺔ ‪.Font‬‬

                                 ‫ﻧﺎﻓﺬة ﻣﺴﺘﻜﺸﻒ اﻟﻤﺸﺮوع ‪Project Explorer‬‬
‫ﺗﺰداد اهﻤﻴﺔ هﺬﻩ اﻟﻨﺎﻓﺬة ﺑﺎزدﻳـﺎد ﻋـﺪد اﻟﻤﻠﻔـﺎت اﻟﺘﺎﺑﻌـﺔ ﻟﻤﺸـﺮوﻋﻚ، ﻓﻬـﻲ اﻟﻮﺳـﻴﻠﺔ‬
‫اﻟﻮﺣﻴﺪة اﻟﺘﻲ ﺗﻤﻜﻨﻚ ﻣﻦ ﻋﺮض ﻣﺤﺘﻮﻳﺎت ﻣﺸﺮوﻋﻚ ﻣﺮﺗﺒﺔ ﻋﻠﻰ ﺷﻜﻞ ﺷﺠﺮي ﺑﺮﻣـﻮز‬
‫ﻣﺨﺘﻠﻔﺔ ﺗﺠﺪ ﺷﺮﺣﺎ ﻣﻔﺼﻼ ﻟﻬﺎ ﻓﻲ ﻣﻠﻒ اﻟﺘﻌﻠﻴﻤﺎت. ﺗﺴـﺘﻄﻴﻊ اﻟﻮﺻـﻮل اﻟـﻰ اﻟﺼـﻔﺤﺔ‬
‫اﻟﺘﻲ اﻗﺼﺪهﺎ ﻋﻦ ﻃﺮﻳﻖ ﺗﺤﺪﻳﺪ اﻟﻨﺎﻓﺬة وﻣـﻦ ﺛـﻢ اﻟﻀـﻐﻂ ﻋﻠـﻰ اﻟﻤﻔﺘـﺎح ]1‪ .[F‬ان ﻟـﻢ‬
‫ﺗﻜ ـﻦ ﻧﺎﻓ ـﺬة ﻣﺴﺘﻜﺸ ـﻒ اﻟﻤﺸ ـﺮوع ﻇ ـﺎهﺮة اﻣﺎﻣ ـﻚ، ﺗﺴ ـﺘﻄﻴﻊ ﻋﺮﺿ ـﻬﺎ ﺑﺎﺧﺘﻴ ـﺎر اﻻﻣ ـﺮ‬
 ‫ـ‬       ‫ـ‬         ‫ـ‬         ‫ـ‬      ‫ـ‬          ‫ـ‬      ‫ـ‬       ‫ـ‬         ‫ـ‬      ‫ـ‬
                ‫‪ Project Explorer‬ﻣﻦ ﻗﺎﺋﻤﺔ ‪ View‬او اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﻤﻔﺎﺗﻴﺢ ]‪.[Ctrl +R‬‬

                                             ‫ﻧﺎﻓﺬة ﻣﺤﺮر اﻻآﻮاد ‪Code Window‬‬
‫ﺑﻤﺎ ان ‪ Visual Basic‬ﻟﻐﺔ ﺑﺮﻣﺠﺔ، ﻓﺒﻜﻞ ﺗﺄآﻴﺪ ﻋﻠﻴﻚ آﺘﺎﺑﺔ اآﻮاد وﺗﻌﻠﻴﻤـﺎت اﻟﻠﻐـﺔ. ﻋـﻦ‬
‫ﻃﺮﻳﻖ ﻧﺎﻓﺬة ﻣﺤﺮر اﻻآﻮاد ﻳﻤﻜﻨﻚ ﻋﻤﻞ ذﻟﻚ، ﻓﻬﻲ ﺗﻮﻓﺮ ﻟﻚ ﻣﺤﺮر ﺑﺮﻣﺠـﻲ ذآـﻲ ﺟـﺪا‬
‫وﻣﻨﺴﻖ آﻠﻤﺎت ﻳﻔﺘﺢ ﻧﻔﺲ اﻟﻤﺒﺮﻣﺞ ﻟﻜﺘﺎﺑﺔ اﻻآﻮاد. ﻣـﻦ اﻟﻤﻨﺎﺳـﺐ ان اﻧـﻮﻩ هﻨـﺎ ﺑـﺎن‬
‫ﺑﻌﺾ اﻟﻤﺒﺮﻣﺠﻴﻦ اﻟﻌﺮب اﻟـﺬﻳﻦ ﻳﺴـﺘﺨﺪﻣﻮن ﻧﻈـﻢ ﺗـﺪﻋﻢ ﻣﺠﻤﻮﻋـﺔ ﻣﺤـﺎرف اﻟﺸـﻴﻔﺮة‬
‫اﻟﻤﻮﺣ ـﺪة ‪ Unicode‬آ ــ ‪ Windows 2000, XP‬ﻳﻮاﺟﻬ ـﻮن اﺣﻴﺎﻧ ـﺎ ﻣﺸ ـﺎآﻞ ﻓ ـﻲ آﺘﺎﺑــﺔ‬
          ‫ـ‬      ‫ـ‬    ‫ـ‬         ‫ـ‬                             ‫ـ‬               ‫ـ‬
‫اﻟﺤﺮوف اﻟﻌﺮﺑﻴﺔ، واﻟﺴﺒﺐ ﺧﺎرج ﻧﻈﺎق اﻟﻔﻘﺮة ﻟﻜـﻦ ﺣﻠﻬـﺎ ﻳـﺘﻢ ﻋـﻦ ﻃﺮﻳـﻖ ﺗﻐﻴﻴـﺮ ﻧـﻮع‬
‫اﻟﺨﻂ ‪ Font‬اﻟﻲ ﺧﻂ ﻳـﺪﻋﻢ اﻟﻠﻐـﺔ اﻟﻌﺮﺑﻴـﺔ آــ )‪ .Courier New (Arabic‬ﻳﻤﻜﻨـﻚ ﻋﻤـﻞ‬
‫ذﻟــﻚ ﺑﺎﻟﺘﻮﺟــﻪ اﻟــﻰ ﺧﺎﻧــﺔ اﻟﺘﺒﻮﻳــﺐ ‪ Editor Format‬اﻟﻤﻮﺟــﻮدة ﻓــﻲ ﺻــﻨﺪوق اﻟﺤــﻮار‬
          ‫‪ Options‬واﻟﺬي ﺗﺼﻞ اﻟﻴﻪ ﻋﻦ ﻃﺮﻳﻖ اﺧﺘﻴﺎر اﻻﻣﺮ ‪ Options‬ﻣﻦ ﻗﺎﺋﻤﺔ ‪.Tools‬‬
‫7‬


‫ﺑﺎﻣﻜﺎﻧﻚ ﻣﺸﺎهﺪة ﻧﺎﻓﺬة ﻣﺤﺮر اﻻآﻮاد اﻣﺎ ﺑﺎﻟﻨﻘﺮ اﻟﻤﺰدوج ﺑﺎﻟﻔـﺄرة ﻋﻠـﻰ اﻷداة او ﻧﺎﻓـﺬة‬
‫اﻟﻨﻤـﻮذج، او ﺑﺎﻟﻀـﻐﻂ ﻋﻠـﻰ اﻟﻤﻔﺘـﺎح ]7‪ .[F‬اﺧﻴـﺮا، اذا آﻨـﺖ ﻻ ﺗﺤـﺐ ﻣﺸـﺎهﺪة اﻓـﻼم‬
    ‫ـ‬        ‫ـ‬      ‫ـ‬        ‫ـ‬        ‫ـ‬             ‫ـ‬       ‫ـ‬      ‫ـ‬         ‫ـ‬
‫اﻟﺮﻋﺐ اﻟﺒﺮﻣﺠﻲ اﻟﻤﺘﻤﺜﻠﺔ ﻓﻲ اﻻآﻮاد اﻟﻄﻮﻳﻠﺔ، ﺗﻤﻜﻨﻚ هﺬﻩ اﻟﻨﺎﻓﺬة ﻣـﻦ ﻋـﺮض اﺟـﺮاء‬
‫ﻣﻌﻴﻦ واﺧﻔﺎء ﺳﺎﺋﺮ اﻻآﻮاد ﻋﻦ ﻃﺮﻳﻖ اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ‪ Procedure View‬اﻟﻤﻮﺟﻮد ﻓـﻲ‬
‫اﻟﺮآﻦ اﻟﺴﻔﻠﻲ اﻻﻳﺴﺮ ﻣﻦ اﻟﻨﺎﻓﺬة، ﻟﻜﻦ ﻋﻤﻠﻴﺔ اﻟﺘﻨﻘﻞ ﺑﻴﻦ اﻻﺟﺮاءات ﺳـﺘﻜﻮن ﻣﻤﻠـﺔ‬
‫ﺑﻌﺾ اﻟﺸﺊ ﻋـﻦ ﻃﺮﻳـﻖ اﻟﻘـﺎﺋﻤﺘﻴﻦ ‪ ComboBoxes‬اﻟﻤﻮﺟﻮدﺗـﺎن ﻓـﻲ اﻋﻠـﻰ اﻟﻨﺎﻓـﺬة،‬
‫اﻟﻘﺎﺋﻤﺔ اﻟﻴﺴﺮى ﺗﻌﺮض ﺟﻤﻴﻊ اﻻدوات اﻟﻤﻮﺟﻮدة ﻓﻲ ﻧﺎﻓﺬة اﻟﻨﻤﻮذج اﻟﺤﺎﻟﻴﺔ، ﺑﺎﻻﺿﺎﻓﺔ‬
‫إﻟﻰ اﻟﻨﻤﻮذج ﻧﻔﺴﺔ، وآﺬﻟﻚ اﻟﻌﺒﺎرة )‪ (General‬وهﻲ ﺗﺸﻴﺮ إﻟﻰ ﻗﺴﻢ اﻻﻋﻼﻧﺎت ﻓـﻲ‬
‫اﻟﻨﻤﻮذج وآﺬﻟﻚ اﻻﺟـﺮاءات واﻟـﺪوال اﻟﺘـﻲ ﺗﻘـﻮم ﺑﺎﻧﺸـﺎءهﺎ، واﻟﻘﺎﺋﻤـﺔ اﻟﻴﻤﻨـﻰ ﺗﻌـﺮض‬
               ‫ﺟﻤﻴﻊ اﻻﺟﺮاءات واﻻﺣﺪاث اﻟﻤﺮﺗﺒﻄﺔ ﺑﻤﺎ ﻳﺘﻢ اﺧﺘﻴﺎرة ﻓﻲ اﻟﻘﺎﺋﻤﺔ اﻻوﻟﻰ.‬

                                        ‫ﻧﺎﻓﺬة ﻣﺨﻄﻂ اﻟﻨﻤﻮذج ‪Form Layout‬‬
‫اﺧﺘﻴﺎر اﻻﻣﺮ ‪ Form Layout Window‬اﻟﻤﻮﺟﻮد ﻓﻲ ﻗﺎﺋﻤﺔ ‪ View‬ﻳﺆدي اﻟﻰ ﻇﻬﻮر هـﺬﻩ‬
‫اﻟﻨﺎﻓﺬة واﻟﺘﻲ ﺗﻌﻄﻴﻚ رؤﻳﺔ ﻣﺒﺴﻄﺔ ﻋﻦ ﻣﻮﻗﻊ وﺣﺠـﻢ ﻧﺎﻓـﺬة اﻟﻨﻤـﻮذج اﻟﺘـﻲ ﺗﺼـﻤﻤﻬﺎ‬
‫وﻗﺖ اﻟﺘﻨﻔﻴﺬ ﻣﻦ اﻟﺸﺎﺷﺔ. اﻻ ان اﻟﻔﺎﺋﺪة اﻟﻜﺒﺮى اﻟﺘﻲ ﺗﺠﻨﻴﻬﺎ ﻣﻦ هﺬﻩ اﻟﻨﺎﻓـﺬة ﺗﻜـﻮن‬
‫ﻣﻘﺎرﻧﺔ ﺣﺠﻢ ﻧﺎﻓﺬة اﻟﻨﻤﻮذج ﻣﻊ اﻟﻜﺜﺎﻓﺎت اﻟﻨﻘﻄﻴـﺔ ‪ Resolutions‬اﻟﻤﺨﺘﻠﻔـﺔ ﻟﻠﺸﺎﺷـﺔ.‬
‫ﻟﻌﺮض هﺬﻩ اﻟﻜﺜﺎﻓﺎت، اﻧﻘﺮ ﺑﺰر اﻟﻔﺄرة اﻻﻳﻤـﻦ ﻋﻠـﻰ اﻟﻨﺎﻓـﺬة واﺧﺘـﺮ اﻻﻣـﺮ ‪Resolution‬‬
                                                   ‫‪ Guide‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴﺪﻟﺔ.‬

                                 ‫ﻧﺎﻓﺬة ﻣﻮﺟﺔ اﻻواﻣﺮ ‪Immediate Window‬‬
‫ﺗﻤﻜﻨﻚ هﺬﻩ اﻟﻨﺎﻓﺬة ﻣـﻦ آﺘﺎﺑـﺔ اواﻣـﺮ وﺗﻌﻠﻴﻤـﺎت ﻟﻐـﺔ ‪ Visual Basic‬ﺑﺴـﻴﻄﺔ ﻟﻼﺧﺘﺒـﺎر‬
‫واﻟﺘﺠﺮﺑﺔ، ﻗﺪ ﺗﺤﺘﺎﺟﻬﺎ ﻣﺜﻼ ﻻﺧﺘﺒﺎر اﻣﺮ ﻣﻌﻴﻦ او ﻗﻴﻤﺔ ﻣﺘﻐﻴﺮ ﻣﻌﻴﻦ ﻗﺒﻞ وﺿﻊ اﻟﻜﻮد ﻟـﻪ.‬
‫ﺑﻌﺪ ان ﺗﻜﺘﺐ اﻻﻣﺮ، اﻟﻤﻔﺘﺎح ]‪ [ENTER‬ﻳﺆدي اﻟﻰ اﻟـﻰ ﺗﻨﻔﻴـﺬ اﻻﻣـﺮ. ﺗﺴـﺘﻄﻴﻊ ﻋـﺮض‬
                   ‫هﺬﻩ اﻟﻨﺎﻓﺬة ﺑﺎﺧﺘﻴﺎر اﻻﻣﺮ ‪ Immediate Window‬ﻣﻦ ﻗﺎﺋﻤﺔ ‪.View‬‬

                                   ‫ﻧﺎﻓﺬة ﻣﺴﺘﻌﺮض اﻟﻜﺎﺋﻨﺎت ‪Object Browser‬‬
‫اذا آﻨﺖ ﻣﺒﺘﺪءً ﻓﺈن هﺬﻩ اﻟﻨﺎﻓﺬة ﻟﻦ ﺗﺜﻴﺮ اهﺘﻤﺎﻣـﻚ، وﻟﻜـﻦ ﺑﻌـﺪ ان ﺗﺼـﻞ اﻟـﻰ ﻣﺮﺣﻠـﺔ‬
                                                                  ‫ا‬
‫ﻣﺘﻘﺪﻣﺔ ﻣﻦ اﻟﺒﺮﻣﺠﺔ ﺑـ ‪ Visual Basic‬ﺳـﻴﻜﻮن ﻟﻬـﺬﻩ اﻟﻨﺎﻓـﺬة ﺗﻘـﺪﻳﺮ آﺒﻴـﺮ. ﺗﻌـﺮض ﻟـﻚ‬
‫هﺬﻩ اﻟﻨﺎﻓﺬة ﺟﻤﻴﻊ اﻟﻔﺌﺎت اﻟﻤﻮﺟﻮدة ﻓﻲ اﻟﻤﻜﺘﺒﺎت اﻟﻤﻀﻤﻨﺔ ﻓـﻲ ﺑﺮﻧﺎﻣﺠـﻚ ﻣـﻊ آﺂﻓـﺔ‬
‫ﻃﺮﻗﻬﺎ، ﺧﺼﺎﺋﺼﻬﺎ واﺣﺪاﺛﻬﺎ ﻟﺘﻌﻄﻴﻚ ﻓﻜﺮة ﻋﺎﻣـﺔ ﻋـﻦ ﻣﺤﺘﻮﻳـﺎت هـﺬﻩ اﻟﻤﻜﺘﺒـﺎت. ﻣﻴـﺰة‬
‫اﺧﺮى اﺳﺘﺨﺪﻣﻬﺎ آﺜﻴﺮا هﻲ اﻧﻬﺎ ﺗﺴﻬﻞ ﻋﻠﻴﻚ ﻋﻤﻠﻴﺔ اﻳﺠﺎد ﺻﻔﺤﺔ اﻟﺘﻌﻠﻴﻤﺎت اﻟﺨﺎﺻﺔ‬
‫ﺑﺎﻻﻣﺮ اﻟﺬي ﺗﺮﻳﺪﻩ ﻋﻦ ﻃﺮﻳﻖ اﻟﻨﻘﺮ ﺑﺰر اﻟﻔﺄرة اﻻﻳﻤـﻦ ﻋﻠـﻰ اﻟﻌﻨﺼـﺮ اﻟﻤﻄﻠـﻮب واﺧﺘﻴـﺎر‬
‫اﻻﻣﺮ ‪ Help‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴﺪﻟﺔ. ﺗﺴﺘﻄﻴﻊ ﻋﺮض ﻧﺎﻓﺬة ﻣﺴﺘﻌﺮض اﻟﻜﺎﺋﻨـﺎت ﺑﺎﺧﺘﻴـﺎر‬
                ‫اﻻﻣﺮ ‪ Object Browser‬ﻣﻦ ﻗﺎﺋﻤﺔ ‪ View‬او اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﻤﻔﺘﺎح ]2‪.[F‬‬
‫8‬


                                        ‫ﻧﺎﻓﺬة اﻟﻤﺘﻐﻴﺮات اﻟﻤﺤﻠﻴﺔ ‪Local Window‬‬
‫اﻟﻐﺮض اﻟﺮﺋﻴﺴﻲ ﻣﻦ هﺬﻩ اﻟﻨﺎﻓﺬة ﻳﻈﻬﺮ ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﻴﺬ ‪ ،Run Time‬ﻻﻧﻬﺎ ﻓﻲ وﻗـﺖ‬
‫اﻟﺘﺼﻤﻴﻢ ‪ Design Time‬ﻟـﻴﺲ ﻟﻬـﺎ أي وﻇﻴﻔـﺔ اﻳﺠﺎﺑﻴـﺔ ﻓـﻼ ﺗﻌﺮﺿـﻬﺎ ﺣﺘـﻰ ﻻ ﺗﺘـﺰاﺣﻢ‬
‫اﻟﻨﻮاﻓــﺬ اﻣﺎﻣــﻚ. ﺗﻌــﺮض ﻟــﻚ هــﺬﻩ اﻟﻨﺎﻓــﺬة ﻗــﻴﻢ ﺟﻤﻴــﻊ اﻟﻤﺘﻐﻴــﺮات اﻟﻤﺤﻠﻴــﺔ ‪Local‬‬
‫‪ Variables‬اﻟﻤﻮﺟ ـﻮد ﻓ ـﻲ اﻻﺟ ـﺮاء ‪ Procedure‬اﻟﺤــﺎﻟﻲ واﻟ ـﺬي ﻳ ـﺘﻢ ﺗﻨﻔﻴ ـﺬﻩ اذا ﻗﻤــﺖ‬
            ‫ـ‬        ‫ـ‬     ‫ـ‬                           ‫ـ‬      ‫ـ‬     ‫ـ‬
‫ﺑﻌﻤﻠﻴﺔ اﻻﻳﻘﺎف اﻟﻤﺆﻗﺖ ‪ Pause‬ﻟﻠﺒﺮﻧﺎﻣﺞ. ﻓﻲ ﺣﺎﻟﺔ وﺟﻮد آﺎﺋﻨﺎت ‪ Objects‬ﻣﺤﻠﻴﺔ ﻓﻲ‬
‫اﻻﺟﺮاء، ﻓﺎن اﺳﻢ اﻟﻜﺎﺋﻦ ﺳﻴﻈﻬﺮ ﻓﻲ اﻟﺠﺪول ﻣﻼﺻﻖ ﻟﻌﻼﻣﺔ اﻟﺰاﺋﺪ "+" ﺣﺘـﻰ ﺗﻘـﻮم‬
‫ﺑﺎﻟﻨﻘﺮ ﻋﻠﻴﻪ وﻳﻌﺮض ﻟـﻚ ﺟﻤﻴـﻊ اﻟﺨﺼـﺎﺋﺺ وﻗﻴﻤﻬـﺎ اﻟﺘﺎﺑﻌـﺔ ﻟﻬـﺬا اﻟﻜـﺎﺋﻦ. ﻟﻌـﺮض هـﺬﻩ‬
                                  ‫اﻟﻨﺎﻓﺬة اﺧﺘﺮ اﻻﻣﺮ ‪ Local Window‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ ‪.View‬‬

 ‫وﻗﺖ اﻟﺘﻨﻔﻴﺬ ‪ Run Time‬هﻮ اﻟﻤﺮﺣﻠﺔ اﻟﺘﻲ ﻳﺘﻢ ﺗﻨﻔﻴﺬ ﺑﺮﻧﺎﻣﺠﻚ ﻓﻴﻬﺎ –‬             ‫ﻣﻼﺣﻈﺔ:‬
 ‫ﺑﻌـﺪ اﻟﻀـﻐﻂ ﻋﻠـﻰ اﻟﻤﻔﺘـﺎح ]5‪ ،[F‬اﻣـﺎ وﻗـﺖ اﻟﺘﺼـﻤﻴﻢ ‪Design Time‬‬
 ‫ﻓﻬﻲ اﻟﻤﺮﺣﻠﺔ اﻟﺘـﻲ ﺗﺼـﻤﻢ ﺑﺮﻧﺎﻣﺠـﻚ ﺑﻬـﺎ. ﻳﻮﺟـﺪ وﻗـﺖ ﺧـﺎص ﻳﻌـﺮف‬
 ‫ﺑﺎﻻﻳﻘﺎف اﻟﻤﺆﻗﺖ ‪ Pause Time‬او اﻟﻘﻄﻊ ‪ Break‬وهﻮ ﺑﺎﺧﺘﺼـﺎر ﻋﻤﻠﻴـﺔ‬
                   ‫اﻟﻮﻗﻒ اﻟﻤﺆﻗﺖ ﻟﺘﻨﻔﻴﺬ ﺑﺮﻧﺎﻣﺠﻚ وﻟﻜﻦ ﻟﻴﺲ اﻧﻬﺎﺋﻪ.‬

                                             ‫ﻧﺎﻓﺬة اﻟﻤﺮاﻗﺒﺔ ‪Watches Window‬‬
‫ﺗﻤﻜﻨـﻚ هـﺬﻩ اﻟﻨﺎﻓـﺬة ﻣـﻦ ﻣﺮاﻗﺒـﺔ اﻟﻤﺘﻐﻴـﺮات او اﻟﻌﺒـﺎرات اﻟﺘـﻲ ﺗﻀـﻴﻔﻬﺎ ﺑﻬـﺎ. ﻋﻤﻠﻴـﺔ‬
  ‫ـ‬        ‫ـ‬       ‫ـ‬   ‫ـ‬       ‫ـ‬                    ‫ـ‬       ‫ـ‬     ‫ـ‬       ‫ـ‬
‫اﻟﻤﺮاﻗﺒﺔ ﺗﻜﻮن ﻣﺘﻮاﺻﻠﺔ ودورﻳﺔ اﻟﺘﺤﺪﻳﺚ آﻮزارة اﻻﻋﻼم. ﺑﺎﻣﻜﺎﻧﻚ ﺗﺠﻤﻴﺪ ﻋﻤﻠﻴﺔ ﺗﻨﻔﻴـﺬ‬
‫اﻟﺒﺮﻧﺎﻣﺞ –اﻻﻳﻘﺎف اﻟﻤﺆﻗﺖ- ﻓﻲ ﺣﺎل آـﻮن ﻗﻴﻤـﺔ اﻟﻤﺘﻐﻴـﺮ اﺻـﺒﺤﺖ ﺻـﺤﻴﺤﺔ ‪ ،True‬او‬
‫ﻋﻨﺪ أي ﺗﻐﻴﻴﺮ ﻳﻄﺮأ ﻋﻠﻰ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ. اﻟﻬﺪف ﻣﻦ ﻧﺎﻓﺬة اﻟﻤﺮاﻗﺒﺔ ﻟﻴﺲ آﺎهﺪاف وزراة‬
‫اﻻﻋـﻼم، واﻧﻤـﺎ ﺗﺴـﻬﻴﻞ ﻋﻤﻠﻴـﺔ اﻟﺘﻨﻘـﻴﺢ ‪ Debugging‬وﻣﻌﺮﻓـﺔ ﻗـﻴﻢ اﻟﻤﺘﻐﻴـﺮات اﻟﺘـﻲ‬
    ‫ـ‬        ‫ـ‬         ‫ـ‬                       ‫ـ‬                ‫ـ‬      ‫ـ‬
‫ﺗﺸﻜﻞ ﻧﺴﺒﺔ 09% ﻣﻦ اﺳﺒﺎب ﺷﻮاﺋﺐ ‪ Bugs‬اﻟﺒﺮاﻣﺞ. ﻟﻌﺮض هﺬﻩ اﻟﻨﺎﻓﺬة اﺧﺘﺮ اﻻﻣـﺮ‬
‫‪ Watch Window‬ﻣـﻦ ﻗﺎﺋﻤـﺔ ‪ ،View‬وﻻﺿـﺎﻓﺔ ﻣﺘﻐﻴـﺮ او ﻗﻴﻤـﺔ ﻟﺠﻌﻠﻬـﺎ ﺧﺎﺿـﻌﺔ ﺗﺤـﺖ‬
‫اﻟﻤﺮاﻗﺒـﺔ، اﺧﺘـﺮ اﻻﻣـﺮ …‪ Add Watch‬ﻣـﻦ ﻗﺎﺋﻤـﺔ ‪– Debug‬وﻟـﻴﺲ ‪ -View‬او اﻧﻘـﺮ ﺑـﺰر‬
‫اﻟﻔﺄرة اﻻﻳﻤﻦ ﻋﻠﻰ اﻟﻨﺎﻓﺬة وﻣﻦ ﺛﻢ اﺧﺘﻴﺎر ﻧﻔﺲ اﻻﻣﺮ ﻣﻦ اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴـﺪﻟﺔ. اﻟﻤﻴـﺰة‬
‫اﻟﻤﻮﺟﻮدة ﻓﻲ هﺬﻩ اﻟﻨﺎﻓﺬة ﺗﻐﻄﻰ ﻋﻠﻰ اﻟﻘﺼﻮر اﻟﻤﻮﺟـﻮد ﻓـﻲ اﻟﻨﺎﻓـﺬة اﻟﺴـﺎﺑﻘﺔ، ﻻن‬
                              ‫هﺬﻩ اﻟﻨﺎﻓﺬة ﺗﺴﻤﺢ ﺑﺎﺿﺎﻓﺔ اﻟﻤﺘﻐﻴﺮات اﻟﻌﺎﻣﺔ ‪.Global‬‬

                                        ‫ﻧﺎﻓﺬة اﺳﺘﺪﻋﺎء اﻻﺟﺮاءات ‪Call Stack‬‬
‫ﺗﺘﺸﺎﺑﻪ هﺬﻩ اﻟﻨﺎﻓﺬة ﻣﻊ اﻟﻨﺎﻓﺬﺗﻴﻦ اﻟﺴﺎﺑﻘﺘﻴﻦ ﻓﻲ أﻧﻬﺎ ﻧﻮاﻓﺬ ﺧﺎﺻـﺔ ﺑـﺎﻟﺘﻨﻘﻴﺢ. ﺗﻌـﺮض‬
‫هﺬﻩ اﻟﻨﺎﻓﺬة ﻃﺎﺑﻮر ﻟﻼﺟﺮاءت اﻟﺘﻲ ﺳﻴﺘﻢ اﺳﺘﺪﻋﺎﺋﻬﺎ، ﺗﻔﻴﺪك هـﺬﻩ اﻟﻨﺎﻓـﺬة ﺑﻘـﻮة ﻓـﻲ‬
‫ﺣﺎﻟﺔ اﺳـﺘﺨﺪاﻣﻚ ﻟﻼﺳـﺘﺪﻋﺎءات اﻟﺘﺮاﺟﻌﻴـﺔ ‪ .Recursion‬اﺧﻴـﺮا، ﺑﺎﻣﻜﺎﻧـﻚ ﻋـﺮض هـﺬﻩ‬
‫9‬


‫اﻟﻨﺎﻓﺬة وﻗﺖ اﻻﻳﻘﺎف اﻟﻤﺆﻗﺖ ﻓﻲ ﺣﺎل وﺟﻮد اﺟﺮاءات ﻣﻨﺘﻈـﺮة اﻻﺳـﺘﺪﻋﺎء ﻋـﻦ ﻃﺮﻳـﻖ‬
      ‫اﻻﻣﺮ ‪ Call Stack‬اﻟﻤﻮﺟﻮد ﻓﻲ ﻗﺎﺋﻤﺔ ‪ View‬او اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﻤﻔﺎﺗﻴﺢ ]‪.[Ctrl+L‬‬

                                                ‫ﻧﺎﻓﺬة ﻋﺮض اﻟﺒﻴﺎﻧﺎت ‪Data View‬‬
‫ﺗﺴﺘﻄﻴﻊ ﻋﺮض هﺬﻩ اﻟﻨﺎﻓﺬة ﻋﻦ ﻃﺮﻳﻖ اﺧﺘﻴﺎر اﻻﻣﺮ ‪ Data View Window‬ﻣـﻦ ﻗﺎﺋﻤـﺔ‬
‫‪ View‬او اﻟﻨﻘﺮ ﻋﻠﻰ رﻣﺰهﺎ ﻓـﻲ ﺷـﺮﻳﻂ اﻻدوات اﻟﻘﻴﺎﺳـﻲ ‪ .Standard Toolbar‬ﺗﻌﺘﺒـﺮ‬
‫ﻧﺎﻓﺬة ﻋﺮض اﻟﺒﻴﺎﻧﺎت اﺣﺪث ﻧﺎﻓﺬة دﺧﻠﺖ ﺻـﻨﺪوق ﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ ‪ ،IDE‬ﻓﻠـﻢ‬
‫ﺗﻈﻬﺮ اﻻ ﻓﻲ اﻻﺻﺪار اﻻﺧﻴﺮ ﻣﻦ اﺻﺪارات ‪ Visual Basic‬وهـﻮ اﻟﺴـﺎدس. هـﺬﻩ اﻟﻨﺎﻓـﺬة‬
‫اﻟﺒﺴﻴﻄﺔ ﻓﻲ ﻣﻈﻬﺮهﺎ ﺗﻌﺘﺒﺮ اﻗﻮى ﻧﺎﻓﺬة ﻣﻦ اﻟﻨﻮاﻓﺬ اﻟﺘﻲ ذآﺮﺗﻬﺎ! ﻻﻧﻬﺎ –دون ﻣﺒﺎﻟﻐﺔ-‬
‫ﺗﻌﺘﺒـﺮ ﺑﺮﻧـﺎﻣﺞ آﺎﻣـﻞ ﻟﻤﺮاﻗﺒـﺔ، إﻧﺸـﺎء، ﺗﻌـﺪﻳﻞ، ﺣـﺬف وﻋـﺮض ﺟـﺪاول وﺣﻘـﻮل ﻗﻮاﻋـﺪ‬
  ‫ـ‬        ‫ـ‬         ‫ـ‬               ‫ـ‬     ‫ـ‬     ‫ـ‬               ‫ـ‬       ‫ـ‬
    ‫اﻟﺒﻴﺎﻧﺎت ﺑﺎﺧﺘﻼف أﻧﻮاﻋﻬﺎ ﻣﺜﻞ: ‪ .... ORACLE ،MS-Access ،MS-SQL Server‬اﻟﺦ.‬
‫ﻟﺬﻟﻚ، ﻓﺎﻧﻪ ﻣﻦ اﻟﺒـﺪﻳﻬﻲ ان ﻻ ﻧﻀـﻴﻊ وﻗﺘﻨـﺎ وﻧﻔﺼـﻠﻬﺎ اﻻن، ﻓـﺎﻟﺠﺰء اﻟﺜـﺎﻧﻲ ﻣـﻦ اﺟـﺰاء‬
              ‫اﻟﻜﺘﺎب "ﺑﺮﻣﺠﺔ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت" هﻮ اهﻞ ﻟﻠﺘﻔﺼﻴﻞ -واﻟﺘﻄﺮﻳﺰ اذا آﻨﺖ ﺗﺮﻳﺪ!‬

                                          ‫ﻗﻮاﺋﻢ ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ‬
‫اذا ﺗﺤﺪﺛﺖ ﻋﻦ آﻞ اﻣﺮ ﻣـﻦ اواﻣـﺮ ﻗـﻮاﺋﻢ ﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ ﻓـﻲ هـﺬﻩ اﻟﻔﻘـﺮة،‬
‫ﻓﺴﻴﻜﻮن اﻟﻜﺘﺎب اﺷﺒﻪ ﺑﻤﺮاﺟﻊ ‪ .MSDN‬ﻓﻴﺴﺘﺤﺴﻦ –ﻟﻲ وﻟﻚ- ان ﻳﺘﻢ ﺷـﺮح وﻇﻴﻔـﺔ‬
         ‫اﻻﻣﺮ ﻓﻲ ﺣﻴﻦ اﺳﺘﺨﺪاﻣﻪ، اﻻ اﻧﻨﻲ ﺳﺄﻋﺮﻓﻚ ﻋﻠﻰ اﻟﻘﻮاﺋﻢ ﺑﻄﺮﻳﻘﺔ ﻣﺒﺴﻄﺔ:‬

                                                                   ‫اﻟﻘﺎﺋﻤﺔ ‪:File‬‬
‫ﺗﺤﺘﻮي هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻋﻠـﻰ اواﻣـﺮ اﺳﺎﺳـﻴﺔ ﺧﺎﺻـﺔ ﻟﻠﻤﺸـﺎرﻳﻊ ﺑﺸـﻜﻞ ﻋـﺎم، آﺈﻧﺸـﺎء‬
‫ﻣﺸــﺮوع ﺟﺪﻳــﺪ، ﺣﻔــﻆ ﻣﺤﺘﻮﻳــﺎت اﻟﻤﺸــﺮوع، ﻃﺒﺎﻋــﺔ ﻣﺤﺘﻮﻳــﺎت اﻟﻤﺸــﺮوع وﺗﺮﺟﻤــﺔ‬
‫اﻟﻤﺸﺮوع وﺗﺤﻮﻳﻠﻪ اﻟﻰ ﻣﻠﻒ ﺛﻨﺎﺋﻲ ‪ .Binary‬اﻟﻤﻴﺰة اﻟﺘﻲ اﺿﻴﻔﺖ ﻟـ 6‪ VB‬هﻲ اﻣﻜﺎﻧﻴـﺔ‬
‫ﻓﺘﺢ اآﺜﺮ ﻣﻦ ﻣﺸﺮوع ﻓﻲ ﻧﺴﺨﺔ واﺣـﺪة ﻣـﻦ اﻟﺒﻴﺌـﺔ، وهـﻲ ﻣﻴـﺰة ﺗﻌـﺮف ﺑﺎﻟﻤﺸـﺎرﻳﻊ‬
                                                     ‫اﻟﻤﺘﻌﺪدة ‪.Multiple Projects‬‬

                                                                  ‫اﻟﻘﺎﺋﻤﺔ ‪:Edit‬‬
‫ﺗﺤﻮي هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻋﻠﻰ اواﻣﺮ اﻟﺘﺤﺮﻳﺮ اﻟﻘﻴﺎﺳﻴﺔ آﺎﻟﻘﺺ، اﻟﻨﺴـﺦ واﻟﻠﺼـﻖ. ﺑﺎﻻﺿـﺎﻓﺔ‬
‫اﻟﻰ اواﻣﺮ ﺧﺎﺻﺔ ﺑﻘﻮاﻋـﺪ اﻟﺒﻴﺎﻧـﺎت ﻓـﻲ ﺣﺎﻟـﺔ وﺟـﻮد ﻗﺎﻋـﺪة ﺑﻴﺎﻧـﺎت ﻓـﻲ ﻧﺎﻓـﺬة ﻋـﺮض‬
‫اﻟﺒﻴﺎﻧﺎت ‪ .Data View‬ﻣﻌﻈﻢ اﻻواﻣﺮ اﻟﻮاردة ﻓﻲ اﺳﻔﻞ هـﺬﻩ اﻟﻘﺎﺋﻤـﺔ ﺗﺴـﺘﺨﺪﻣﻬﺎ ﻣـﻊ‬
                                             ‫ﻧﺎﻓﺬة ﻣﺤﺮر اﻻآﻮاد ‪.Code Window‬‬
‫01‬


                                                                  ‫اﻟﻘﺎﺋﻤﺔ ‪:View‬‬
‫ذآﺮت ﻣﻌﻈﻢ ﻣﺤﺘﻮﻳﺎﺗﻬﺎ ﻓﻲ ﻓﻘﺮة "ﻧﻮاﻓﺬ ﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ"، وﺑﺎﻻﻋﺘﻤـﺎد ﻋﻠـﻰ‬
                       ‫ﻧﺒﺎهﺘﻚ وﻣﺪى اﺳﺘﻌﻴﺒﺎك ﻳﻤﻜﻨﻚ ﻣﻌﺮﻓﺔ اﻟﻐﺮض هﺬﻩ اﻟﻘﺎﺋﻤﺔ.‬

                                                           ‫اﻟﻘﺎﺋﻤﺔ ‪:Project‬‬
‫ﻣﻌﻈﻢ اواﻣﺮهﺎ ﺧﺎﺻﺔ ﺑﻤﺤﺘﻮﻳﺎت اﻟﻤﺸﺎرﻳﻊ، ﻓﻬﻲ ﺗﻤﻜﻨﻚ ﻣﻦ اﺿـﺎﻓﺔ ﻋﻨﺼـﺮ او ﻋﻨﺎﺻـﺮ‬
‫ﻣﻦ ﻋﻨﺎﺻﺮ اﻟﻤﺸﺮوع آﻨﻮاﻓﺬ اﻟﻨﻤﺎذج ‪ ،Forms‬ﻣﻠﻔﺎت اﻟﺒﺮﻣﺠﺔ ‪ ،Module‬ﻓﺌﺎت ‪Classes‬‬
‫.... اﻟـﺦ. اﻟﻤﺰﻳـﺪ اﻳﻀـﺎ، ﻳﻤﻜﻨـﻚ اﺿـﺎﻓﺔ ادوات ﺗﺤﻜـﻢ ‪ ActiveX Controls‬اﺿـﺎﻓﻴﺔ ﻋـﻦ‬
  ‫ـ‬      ‫ـ‬                     ‫ـ‬            ‫ـ‬    ‫ـ‬       ‫ـ‬     ‫ـ‬        ‫ـ‬
‫ﻃﺮﻳﻖ اﻻﻣﺮ ‪ Components‬او ﺗﻀﻤﻴﻦ ﻣﻜﺘﺒﺎت ‪ ActiveX DLL‬ﺧﺎرﺟﻴﺔ ﻋﻦ ﻃﺮﻳـﻖ اﻻﻣـﺮ‬
                                                                 ‫‪.References‬‬

                                                             ‫اﻟﻘﺎﺋﻤﺔ ‪:Format‬‬
‫اﻻواﻣﺮ اﻟﻤﻮﺟﻮدة ﻓﻲ هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﺧﺎﺻﺔ ﺑﺘﻨﺴﻴﻖ اﻻدوات اﻟﺘـﻲ ﺗﻀـﻌﻬﺎ ﻋﻠـﻰ ﻧﺎﻓـﺬة‬
‫اﻟﻨﻤﻮذج ﻣﻦ ﻧﺎﺣﻴﺔ ﻣﻮﻗﻌﻬﺎ ﻋﻠﻰ اﻟﻨﺎﻓﺬة، ﻓﺘﻮﺟﺪ اواﻣﺮ ﻣﺮﻧﺔ ﺗـﻮﻓﺮ ﻋﻠﻴـﻚ ﺟﻬـﺪ ﻣﺤـﺎذاة‬
‫اﻻدوات او ﺗﻮﺳﻴﻄﻬﺎ ﻋﻠﻰ اﻟﻨﺎﻓﺬة، ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ ﺗﻐﻴﻴﺮ ﺗﺮﺗﻴﺐ ﻇﻬـﻮر اﻻدوات أي وﺿـﻊ‬
‫أداة ﻓﻮق اﻟﻜﻞ او أداة ﺧﻠـﻒ اﻟﻜـﻞ. اﻻﻣـﺮ اﻻﺧﻴـﺮ ‪ Lock Controls‬ﺗﺴـﺘﺨﺪﻣﻪ اذا آﻨـﺖ‬
‫راﺿﻴﺎ ﻋﻦ ﺗﺼﻤﻴﻢ اﻻدوات وﺗﻮد ﻣﻨﻊ ﻧﻔﺴﻚ ﻣﻦ ﺗﻐﻴﻴـﺮ اﺣﺠﺎﻣﻬـﺎ او ﻣﻮاﻗﻌـﺎ ﻋـﻦ ﻃﺮﻳـﻖ‬
        ‫اﻟﺨﻄﺄ، هﺬا اﻟﻘﻔﻞ ﺗﺴﺘﻄﻴﻊ ﻓﺘﺤﺔ ﺑﻜﻞ ﺑﺴﺎﻃﺔ ﺑﺎﺧﺘﻴﺎر ﻧﻔﺲ اﻻﻣﺮ ﻣﺮة اﺧﺮى.‬

                                                            ‫اﻟﻘﺎﺋﻤﺔ ‪:Debug‬‬
‫ﻣﻌﻈﻢ اواﻣﺮ اﻟﺘﻨﻘﻴﺢ وﺿﻌﺖ اﺳﻔﻞ هﺬﻩ اﻟﻘﺎﺋﻤﺔ. ﻣﻦ هﺬﻩ اﻻواﻣﺮ اﺧﺘﻴﺎر ﻃﺮﻳﻘﺔ ﺗﻨﻔﻴـﺬ‬
‫اﻟﺒﺮﻧﺎﻣﺞ، آﺘﻨﻔﻴﺬ ﺳﻄﺮ واﺣـﺪ ﻣﻨـﻪ ‪ ،Step Into‬اﺟـﺮاء آﺎﻣـﻞ ‪ ،Step Over‬اﻣـﺮ ﺳـﺎﺑﻖ‬
‫‪ Step Out‬او اﻟﺘﻨﻔﻴﺬ ﺣﺘﻰ اﻟﻮﺻﻮل اﻟﻰ اﻟﺴﻄﺮ اﻟﺬي ﻳﻮﺟﺪ ﻋﻠﻴﻪ ﻣﺆﺷﺮ اﻟﻜﺘﺎﺑـﺔ ‪Run‬‬
‫‪ .to Cursor‬وﺑﺎﻟﻨﺴﺒﺔ ﻟﻨﻘﺎط اﻟﻘﻄﻊ ‪ BreakPoints‬ﻓﻬﻲ ﻋﻼﻣـﺎت ﺗﻈﻬـﺮ ﻣﺒـﺪﺋﻴﺎ ﺑـﺎﻟﻠﻮن‬
‫اﻻﺣﻤﺮ ﻋﻠﻰ ﺳﻄﺮ ﻣﻌﻴﻦ ﺑﺤﻴﺚ ﺗﺘﻢ ﻋﻤﻠﻴـﺔ اﻻﻳﻘـﺎف اﻟﻤﺆﻗـﺖ ﻟﻠﺒﺮﻧـﺎﻣﺞ ﻋﻨـﺪ اﻟﻮﺻـﻮل‬
                                                           ‫اﻟﻰ هﺬﻩ اﻟﻌﻼﻣﺎت.‬

                                                                 ‫اﻟﻘﺎﺋﻤﺔ ‪:Run‬‬
‫ﻋﻦ ﻃﺮﻳﻖ هﺬﻩ اﻟﻨﺎﻓﺬة اﻟﺒﺴﻴﻄﺔ ﺗﺴﺘﻄﻴﻊ ﺗﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ وﺗﺘﻤﻜﻨﻚ ﻣﻦ اﺧﺘﻴﺎر اﻻواﻣـﺮ‬
‫اﻻﺧﺮى آﺎﻻﻳﻘﺎف اﻟﻤﺆﻗﺖ ‪ Break‬او اﻧﻬﺎء ﻋﻤﻠﻴﺔ ﺗﻨﻔﻴﺬ اﻟﺒﺮﻧـﺎﻣﺞ ‪ .End‬ﺑﺎﻟﻨﺴـﺒﺔ ﻟﻼﻣـﺮ‬
‫‪ Start with Full Compile‬هﻮ ﻣﺸﺎﺑﻪ ﻻﻣﺮ اﻟﺘﻨﻔﻴﺬ ‪ Start‬وﻟﻦ ﺗﺤﺘﺎﺟـﻪ اﻻ ﻓـﻲ ﺣـﺎﻻت‬
                                            ‫ﻧﺎدرة ﺳﺘﺠﺪهﺎ ﻻﺣﻘﺎ ﻓﻲ هﺬا اﻟﻜﺘﺎب.‬
‫11‬


                                                            ‫اﻟﻘﺎﺋﻤﺔ ‪:Query‬‬
‫هــﺬﻩ اﻟﻘﺎﺋﻤــﺔ ﺟﺪﻳــﺪة ﻋﻠــﻰ ﻣﺒﺮﻣﺠــﻲ 5‪ VB‬وهــﻲ ﻣﺘــﻮﻓﺮة ﻟﻨﺴــﺨﺔ اﻟﻤﺤﺘــﺮﻓﻴﻦ‬
‫‪ Professional Edition‬واﻟﻤﺆﺳﺴـﺎت ‪ Enterprise Edition‬ﻟﻼﺻـﺪار اﻟﺴـﺎدس 6‪.VB‬‬
          ‫ـ‬      ‫ـ‬                          ‫ـ‬
‫اواﻣﺮ هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻏﻴﺮ ﻣﻤﻜﻨﺔ ﺣﺘـﻰ ﺗﻨﺸـﺊ ﺟﻤﻠـﺔ اﺳـﺘﻌﻼم ‪ SQL‬ﺑﺎﺳـﺘﺨﺪام اﻷداة‬
                                                  ‫‪.Microsoft Query Builder‬‬

                                                          ‫اﻟﻘﺎﺋﻤﺔ ‪:Diagram‬‬
‫اﻳﻀﺎ هﺬﻩ ﻗﺎﺋﻤﺔ ﺟﺪﻳﺪة ﻋﻠﻰ ﻣﺒﺮﻣﺠﻲ 5‪ VB‬وﻣﺘـﻮﻓﺮة ﻟـﻨﻔﺲ اﻟﻨﺴـﺦ اﻟﻤـﺬآﻮرة ﻓـﻲ‬
‫اﻟﻔﻘﺮة اﻟﺴﺎﺑﻘﺔ. اواﻣﺮ هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻏﻴﺮ ﻣﻤﻜﻨﺔ اﻻ ﻓﻲ ﺣﺎﻟﺔ ﺗﻌﺎﻣﻠﻚ ﻣﻊ ﻗﺎﻋﺪة ﺑﻴﺎﻧـﺎت‬
                                                      ‫‪ SQL Server‬او ‪.ORACLE‬‬

                                                                 ‫اﻟﻘﺎﺋﻤﺔ ‪:Tools‬‬
‫ﺗﺤﺘﻮي ﻋﻠﻰ اواﻣﺮ ﻣﺨﺘﻠﻔـﺔ اﻟﺘﺼـﺎﻧﻴﻒ آﻤﺤـﺮر اﻟﻘـﻮاﺋﻢ ‪ Menu Editor‬وﻣﺴـﻬﻞ آﺘﺎﺑـﺔ‬
‫اﻻﺟﺮاءات ‪ Add Procedure‬وﻏﻴﺮهﺎ... اذا ادرت ﺗﺨﺼﻴﺺ ﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ ‪IDE‬‬
‫ﻓـﺎﻻﻣﺮ ‪ Options‬ﻳﻤﻜﻨـﻚ ﻣـﻦ اﻟﻮﺻـﻮل اﻟـﻰ ﺻـﻨﺪوق اﻟﺤـﻮار ‪ Options‬اﻟـﺬي ﻳـﻮﻓﺮ ﻟـﻚ‬
  ‫ـ‬     ‫ـ‬   ‫ـ‬               ‫ـ‬              ‫ـ‬    ‫ـ‬       ‫ـ‬   ‫ـ‬
                        ‫ﻋﺸﺮات اﻟﺨﻴﺎرات واﻟﺨﺎﺻﺔ ﺑﺘﻐﻴﻴﺮ اﻋﺪادات ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ ‪.IDE‬‬

                                                             ‫اﻟﻘﺎﺋﻤﺔ ‪:Add-Ins‬‬
‫اﻻواﻣﺮ اﻟﻤﻮﺟﻮدة ﻓﻲ هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻋﺒﺎرة ﻋﻦ ﺑﺮاﻣﺞ ﻣﺴﺘﻘﻠﺔ ﺗﺴﻤﻰ اﻻﺿـﺎﻓﺎت -‪Add‬‬
‫‪ Ins‬هﺪﻓﻬﺎ ﺗﻮﻓﻴﺮ ﺧﺪﻣﺎت اﺿﺎﻓﻴﺔ ﻟﺒﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ ﺗﺰﻳﺪ ﻣﻦ ﻣﺮوﻧﺘﻬﺎ. ﺗﻄﻮﻳﺮ هﺬا اﻟﻨﻮع ﻣـﻦ‬
                                                       ‫اﻟﺒﺮاﻣﺞ ﺧﺎرج ﻧﻄﺎق اﻟﻜﺘﺎب.‬

                                                           ‫اﻟﻘﺎﺋﻤﺔ ‪:Window‬‬
‫اذا آﻨﺖ ﺑﺤﺎﺟﺔ اﻟﻰ ﺷﺮح ﻣﺤﺘﻮﻳﺎت هﺬﻩ اﻟﻘﺎﺋﻤﺔ، ﻓﻴﺒﺪو اﻧﻚ ﺟﺪﻳﺪ ﻟﻴﺲ ﻋﻠﻰ ‪Visual‬‬
‫‪ Basic‬ﻓﺤﺴﺐ واﻧﻤﺎ ﻋﻠﻰ ﺟﻤﻴﻊ ﺗﻄﺒﻴﻘﺎت ﺑﻴﺌﺔ ‪ ،Windows‬ﻓﺎﻓﻀﻞ ﺷﺮح اﺳـﻄﺮﻩ ﻟـﻚ‬
‫هﻮ ﺑﺎن ﺗﻮﻗﻒ ﻗﺮاءة اﻟﻜﺘﺎب –اﻻﻳﻘﺎف اﻟﻤﺆﻗﺖ- ﻓﻲ اﻟﺤﺎل، وﺗﺤﺎول اﻟﺘﻌـﺮف ﻋﻠـﻰ ﺑﻴﺌـﺔ‬
                                       ‫‪ Windows‬وﻣﻦ ﺛﻢ ﺗﻌﻮد ﻟﻤﺘﺎﺑﻌﺔ اﻟﻘﺮاءة.‬

                                                            ‫اﻟﻘﺎﺋﻤﺔ ‪:Help‬‬
‫ﺑﺎﻟﻨﺴﺒﺔ ﻟﻤﺴﺘﺨﺪﻣﻲ اﻻﺻﺪار اﻟﺴﺎدس ﻣﻦ ‪ ،Visual Basic‬ﻓﻠﻦ ﻳﺘﻤﻜﻨﻮا ﻣﻦ اﻟﻮﺻـﻮل‬
‫اﻟﻰ اﻟﺘﻌﻠﻴﻤﺎت اﻟﻔﻮرﻳﺔ اﻻ ﻓﻲ ﺣﺎﻟﺔ اﻧﺰال ﻧﺴـﺨﺔ ﻣـﻦ ﻣﻜﺘﺒـﺔ ‪Microsoft Developer‬‬
                                         ‫‪ Network‬واﻟﻤﺄﻟﻮﻓﺔ ﺑﺎﻻﺧﺘﺼﺎر ‪.MSDN‬‬
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2
Visual basic للجميع 2

More Related Content

More from hassan1488

Organisation entreprises madame jalal
Organisation entreprises madame jalalOrganisation entreprises madame jalal
Organisation entreprises madame jalalhassan1488
 
management_tifawt.com
management_tifawt.commanagement_tifawt.com
management_tifawt.com
hassan1488
 
Cours suite
Cours suiteCours suite
Cours suite
hassan1488
 
Suite exercice
Suite exerciceSuite exercice
Suite exercice
hassan1488
 
Compta25 no restriction
Compta25 no restrictionCompta25 no restriction
Compta25 no restriction
hassan1488
 
Compta24 no restriction
Compta24 no restrictionCompta24 no restriction
Compta24 no restriction
hassan1488
 
Compta23 no restriction
Compta23 no restrictionCompta23 no restriction
Compta23 no restrictionhassan1488
 
Compta22 no restriction
Compta22 no restrictionCompta22 no restriction
Compta22 no restrictionhassan1488
 
Compta21 no restriction
Compta21 no restrictionCompta21 no restriction
Compta21 no restrictionhassan1488
 
Compta20 no restriction
Compta20 no restrictionCompta20 no restriction
Compta20 no restrictionhassan1488
 
Compta19 no restriction
Compta19 no restrictionCompta19 no restriction
Compta19 no restrictionhassan1488
 
Compta18 no restriction
Compta18 no restrictionCompta18 no restriction
Compta18 no restrictionhassan1488
 
Compta17 no restriction
Compta17 no restrictionCompta17 no restriction
Compta17 no restrictionhassan1488
 
Compta16 no restriction
Compta16 no restrictionCompta16 no restriction
Compta16 no restrictionhassan1488
 
Compta15 no restriction
Compta15 no restrictionCompta15 no restriction
Compta15 no restrictionhassan1488
 
Compta14 no restriction
Compta14 no restrictionCompta14 no restriction
Compta14 no restrictionhassan1488
 
Compta13 no restriction
Compta13 no restrictionCompta13 no restriction
Compta13 no restrictionhassan1488
 
Compta12 no restriction
Compta12 no restrictionCompta12 no restriction
Compta12 no restrictionhassan1488
 
Compta11 no restriction
Compta11 no restrictionCompta11 no restriction
Compta11 no restrictionhassan1488
 
Compta10 no restriction
Compta10 no restrictionCompta10 no restriction
Compta10 no restrictionhassan1488
 

More from hassan1488 (20)

Organisation entreprises madame jalal
Organisation entreprises madame jalalOrganisation entreprises madame jalal
Organisation entreprises madame jalal
 
management_tifawt.com
management_tifawt.commanagement_tifawt.com
management_tifawt.com
 
Cours suite
Cours suiteCours suite
Cours suite
 
Suite exercice
Suite exerciceSuite exercice
Suite exercice
 
Compta25 no restriction
Compta25 no restrictionCompta25 no restriction
Compta25 no restriction
 
Compta24 no restriction
Compta24 no restrictionCompta24 no restriction
Compta24 no restriction
 
Compta23 no restriction
Compta23 no restrictionCompta23 no restriction
Compta23 no restriction
 
Compta22 no restriction
Compta22 no restrictionCompta22 no restriction
Compta22 no restriction
 
Compta21 no restriction
Compta21 no restrictionCompta21 no restriction
Compta21 no restriction
 
Compta20 no restriction
Compta20 no restrictionCompta20 no restriction
Compta20 no restriction
 
Compta19 no restriction
Compta19 no restrictionCompta19 no restriction
Compta19 no restriction
 
Compta18 no restriction
Compta18 no restrictionCompta18 no restriction
Compta18 no restriction
 
Compta17 no restriction
Compta17 no restrictionCompta17 no restriction
Compta17 no restriction
 
Compta16 no restriction
Compta16 no restrictionCompta16 no restriction
Compta16 no restriction
 
Compta15 no restriction
Compta15 no restrictionCompta15 no restriction
Compta15 no restriction
 
Compta14 no restriction
Compta14 no restrictionCompta14 no restriction
Compta14 no restriction
 
Compta13 no restriction
Compta13 no restrictionCompta13 no restriction
Compta13 no restriction
 
Compta12 no restriction
Compta12 no restrictionCompta12 no restriction
Compta12 no restriction
 
Compta11 no restriction
Compta11 no restrictionCompta11 no restriction
Compta11 no restriction
 
Compta10 no restriction
Compta10 no restrictionCompta10 no restriction
Compta10 no restriction
 

Visual basic للجميع 2

  • 1. ‫‪ Visual Basic‬ﻟﻠﺠﻤﻴﻊ‬ ‫ﻧﺤﻮ ﺑﺮﻣﺠﺔ آﺎﺋﻨﻴﺔ اﻟﺘﻮﺟﻪ ‪OOP‬‬ ‫ﺑﻘﻠﻢ‬ ‫ﺗﺮآﻲ اﻟﻌﺴﻴﺮي‬
  • 2. ‫ﺑﺴﻢ اﷲ اﻟﺮﺣﻤﻦ اﻟﺮﺣﻴﻢ‬ ‫ُ ْﺤ ﻧﻚ ﻟ ﻋ ْ َ ﻟﻨ إﻟ ﻣ ﻋﻠ ْﺘﻨ إﻧﻚ أ ْﺖ‬ ‫)) ﺳﺒ َﺎ َ َ َﺎ ِﻠﻢ َ َﺎ ِ ﱠﺎ َﺎ َ ﱠﻤ َ َﺎ ِ ﱠ َ َﻧ َ‬ ‫اﻟ َ ِﻴﻢ اﻟ َ ِﻴﻢ ((‬ ‫ْﻌﻠ ُ ْﺤﻜ ُ‬
  • 3. ‫اهﺪاء‬ ‫اهﺪي هﺬا اﻟﻜﺘﺎب ﺑﺒﺎﻗﺔ ورد ﻣﻌﻄﺮة اﻟﻰ اﻟﺤﺒﻴﺒﺔ اﻟﻐﺎﻟﻴﺔ،‬ ‫اﻟﺘﻲ وﻗﻒ اﻟﻘﻠﻢ ﺣﺎﺋﺮا ﻋﻨﺪهﺎ‬ ‫ﻣﺤﺎوﻻ ﺗﺮﺗﻴﺐ اﻟﺤﺮوف‬ ‫ﻟﻴﻜﻮن ﻣﻨﻬﺎ آﻠﻤﺎت‬ ‫ﺗﺼﻒ ﺷﺮارة ﻣﻦ ﻟﻬﻴﺐ ﺣﺒﻲ ﻟﻬﺎ،‬ ‫واﻟﺘﻲ ﻣﻬﻤﺎ ﺻﻨﻌﺖ‬ ‫ﻣﺎ وﻓﻴﺖ وﻻ آﻔﻴﺖ ﻓﻲ ﺣﻘﻬﺎ‬ ‫وﻟﻮ ﺑﻘﺪر اﺧﻤﺺ ﻗﺪﻣﻬﺎ...‬ ‫اﻟﻴﻚ ﻳﺎ اﻣﻲ اﻟﺤﺒﻴﺒﺔ اهﺪي هﺬا اﻟﻜﺘﺎب...‬ ‫اﺑﻨﻚ اﻟﻤﺨﻠﺺ،‬
  • 4. ‫‪ Visual Basic‬ﻟﻠﺠﻤﻴﻊ‬ ‫ﻧﺤﻮ ﺑﺮﻣﺠﺔ آﺎﺋﻨﻴﺔ اﻟﺘﻮﺟﻪ ‪OOP‬‬ ‫اﻟﻄﺒﻌﺔ اﻻوﻟﻰ 2002‬ ‫* ﺣﻘﻮق آﺘﺎب "‪ Visual Basic‬ﻟﻠﺠﻤﻴﻊ – ﻧﺤﻮ ﺑﺮﻣﺠﺔ آﺎﺋﻨﻴﺔ اﻟﺘﻮﺟﻪ ‪ "OOP‬ﻣﺤﻔﻮﻇﺔ ﻟﻠﻤﺆﻟﻒ وﻻ ﻳﺤﻖ‬ ‫ﻷي ﺷﺨﺺ او ﺟﻬﺔ رﺳﻤﻴﺔ إﻋﺎدة ﻧﺸﺮ هﺬا اﻟﻜﺘﺎب او ﺟﺰء ﻣﻨﻪ ﺑﺄي وﺳـﻴﻠﺔ دون اﻻذن اﻟﺨﻄـﻲ ﻣـﻦ‬ ‫اﻟﻤﺆﻟﻒ.‬ ‫* اﺳﻤﺎء اﻟﺒﺮاﻣﺞ اﻟﻤـﺬآﻮرة ﻓـﻲ هـﺬا اﻟﻜﺘـﺎب ﻣﺜـﻞ ‪ Windows ،Visual Basic‬وﻏﻴﺮهـﺎ هـﻲ ﻋﻼﻣـﺎت‬ ‫ﺗﺠﺎرﻳﺔ ﻣﺴﺠﻠﺔ ﻻﺻﺤﺎﺑﻬﺎ، واﻟﻤﺆﻟﻒ ﻳﺤﺘـﺮم هـﺬﻩ اﻟﻌﻼﻣـﺎت وﻳﻘـﺮ ﺑﻬـﺎ ﻟﻤﺎﻟﻴﻜﻬـﺎ ﺳـﻮاء آـﺎﻧﻮا اﻓـﺮاد او‬ ‫ﺷﺮآﺎت او أي ﺟﻬﺔ ﺗﻨﻈﻴﻤﻴﺔ، وﻟﻢ ﻳﺘﻢ ذآﺮهﺎ ﻟﻼﺧﺘﺼﺎر.‬ ‫* ﺗﻢ اﺧﺘﺒﺎر اﻟﻤﺎدة اﻟﻌﻠﻤﻴﺔ ﻓﻲ هﺬا اﻟﻜﺘﺎب واﻟﺘﺤﻘـﻖ ﻣﻨﻬـﺎ وﻣﺮاﺟﻌﺘﻬـﺎ، اﻻ ان اﻟﻤﺆﻟـﻒ ﻏﻴـﺮ ﻣﺴـﺌﻮل‬ ‫ﺑﺄي ﺷﻜﻞ ﻣﻦ اﻻﺷﻜﺎل ﻋﻦ اﻻﺿﺮار اﻟﻨﺎﺗﺠﺔ ﺳﻮاء ﺑﺘﻄﺒﻴﻖ اﻟﻤﻌﻠﻮﻣﺎت ﻓﻲ هﺬا اﻟﻜﺘﺎب، او اﺳـﺘﺨﺪام‬ ‫اﻻآﻮاد او اﻟﺒﺮاﻣﺞ اﻟﺘﺎﺑﻌﺔ ﻟﻪ.‬ ‫* ﺟﻤﻴﻊ اﻻراء اﻟﻤﻮﺟﻮدة ﻓﻲ هﺬا اﻟﻜﺘﺎب ﺗﻌﺒﺮ ﻋﻦ رأي اﻟﻤﺆﻟﻒ اﻟﺸﺨﺼﻲ ﺣﺘﻰ ﻟﻮ ﻟﻢ ﺗﻮﺛﻖ ﺑﺎﻣﺜﻠﺔ او‬ ‫ادﻟﺔ ﺣﺴﻴﺔ.‬ ‫* اﻟﻜﺘﺎب ﻣﺠﺎﻧﻲ 001% وﻻ ﻳﺤﻖ ﻻي ﺷﺨﺺ ﺑﻴﻌﻪ او اﺳﺘﻐﻼﻟﻪ ﺑﺄي ﺷﻜﻞ ﺗﺠﺎري.‬
  • 5. ‫اﻟﻤﺤﺘﻮﻳﺎت‬ ‫ﺷﻜﺮ وﺗﻘﺪﻳﺮ ----------------------------------------------------- ا‬ ‫---------------------------------------------------- ب‬ ‫اﻟﻤﻘﺪﻣﺔ‬ ‫اﻟﺠﺰء اﻻول: اﻻﺳﺎﺳﻴﺎت‬ ‫اﻟﻔﺼﻞ اﻻول: ﺗﻌﺮف ﻋﻠﻰ ‪2 -------------------------- Visual Basic‬‬ ‫ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ ‪2 ------------------------------------------- IDE‬‬ ‫ﻧﻮاﻓﺬ ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ --------------------------------- 3‬ ‫ﻗﻮاﺋﻢ ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ --------------------------------- 9‬ ‫اﺷﺮﻃﺔ اﻻدوات --------------------------------------------- 21‬ ‫آﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺠﻚ اﻻول ------------------------------------------------ 21‬ ‫اﻟﺨﻄﻮة اﻻوﻟﻰ: ﻓﻜﺮة اﻟﺒﺮﻧﺎﻣﺞ ----------------------------- 21‬ ‫اﻟﺨﻄﻮة اﻟﺜﺎﻧﻴﺔ: إﻧﺸﺎء اﻟﻤﺸﺮوع --------------------------- 21‬ ‫اﻟﺨﻄﻮة اﻟﺜﺎﻟﺜﺔ: ﺗﺼﻤﻴﻢ اﻟﻮاﺟﻬﺔ ---------------------------- 31‬ ‫اﻟﺨﻄﻮة اﻟﺮاﺑﻌﺔ: آﺘﺎﺑﺔ اﻟﺘﻌﻠﻴﻤﺎت --------------------------- 41‬ ‫اﻟﺨﻄﻮة اﻟﺨﺎﻣﺴﺔ: اﻟﺘﺠﺮﺑﺔ واﻟﺘﻌﺪﻳﻞ ----------------------- 51‬ ‫اﻟﺨﻄﻮة اﻟﺴﺎدﺳﺔ: اﻟﺘﺮﺟﻤﺔ -------------------------------- 61‬ ‫اﻟﻔﺼﻞ اﻟﺜﺎﻧﻲ: اﻟﻨﻤﺎذج واﻻدوات --------------------------------71‬ ‫اﻟﺨﺼﺎﺋﺺ اﻟﻤﺸﺘﺮآﺔ ------------------------------------------------ 71‬ ‫ﺧﺎﺻﻴﺔ اﻻﺳﻢ ‪19 ------------------------------------- Name‬‬ ‫ﺧﺼﺎﺋﺺ اﻟﻤﻮﻗﻊ واﻟﺤﺠﻢ ------------------------------------ 91‬ ‫ﺧﺼﺎﺋﺺ اﻻﺣﺘﻀﺎن ------------------------------------------ 02‬ ‫ﺧﺎﺻﻴﺔ اﻟﺨﻂ ‪21 ------------------------------------------ Font‬‬ ‫ﺧﺼﺎﺋﺺ اﻟﻠﻮن ---------------------------------------------- 22‬ ‫ﺧﺼﺎﺋﺺ اﻟﺠﺪوﻟﺔ -------------------------------------------- 32‬ ‫ﺧﺼﺎﺋﺺ ﻣﺆﺷﺮ اﻟﻔﺄرة --------------------------------------- 42‬ ‫ﺧﺎﺻﻴﺔ اﻟﺘﻌﺮﻳﺐ ‪25 ------------------------------ RightToLeft‬‬ ‫ﺧﺎﺻﻴﺔ اﻟﻤﻘﺒﺾ ‪27 -------------------------------------hWnd‬‬ ‫ﺧﺼﺎﺋﺺ اﺧﺮى ---------------------------------------------- 72‬ ‫اﻟﻄﺮق اﻟﻤﺸﺘﺮآﺔ --------------------------------------------------- 82‬ ‫اﻟﻄﺮﻳﻘﺔ ‪28 ---------------------------------------------- Move‬‬ ‫اﻟﻄﺮﻳﻘﺔ ‪29 ----------------------------------------- SetFocus‬‬
  • 6. ‫اﻟﻄﺮﻳﻘﺔ ‪30 -------------------------------------------- ZOrder‬‬ ‫اﻟﻄﺮﻳﻘﺔ ‪30 ------------------------------------------- Refresh‬‬ ‫اﻻﺣﺪاث اﻟﻤﺸﺘﺮآﺔ ------------------------------------------------- 13‬ ‫اﺣﺪاث اﻟﻔﺄرة ------------------------------------------------ 23‬ ‫اﺣﺪاث اﻟﺘﺮآﻴﺰ ----------------------------------------------- 43‬ ‫اﺣﺪاث ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ -------------------------------------- 53‬ ‫ﺣﺪث اﻟﺘﻐﻴﻴﺮ ‪37 ------------------------------------- Change‬‬ ‫ﻧﺎﻓﺬة اﻟﻨﻤﻮذج ------------------------------------------------------- 73‬ ‫ﺧﺼﺎﺋﺺ اﻟﻨﻤﻮذج -------------------------------------------- 73‬ ‫ﻃﺮق اﻟﻨﻤﻮذج ----------------------------------------------- 34‬ ‫اﺣﺪاث اﻟﻨﻤﻮذج --------------------------------------------- 84‬ ‫اﻟﻘﻮاﺋﻢ ‪52 --------------------------------------------- Menus‬‬ ‫اﻻدوات اﻟﺪاﺧﻠﻴﺔ ---------------------------------------------------- 35‬ ‫أداة اﻟﻌﻨﻮان ‪53 ------------------------------------------ Label‬‬ ‫أداة اﻟﻨﺺ ‪54 ---------------------------------------- TextBox‬‬ ‫زر اﻻواﻣﺮ ‪60 ------------------------------ Command Button‬‬ ‫أداة اﻻﺧﺘﻴﺎر ‪60 ------------------------------------ CheckBox‬‬ ‫زر اﻻﺧﺘﻴﺎر ‪61 ---------------------------------- OptionButton‬‬ ‫أداة اﻟﻘﺎﺋﻤﺔ ‪61 --------------------------------------- ListBox‬‬ ‫أداة اﻟﻘﺎﺋﻤﺔ ‪64 ----------------------------------- ComboBox‬‬ ‫أداة اﻟﺼﻮرة ‪64 ------------------------------------ PictureBox‬‬ ‫أداة اﻟﺼﻮرة ‪64 ------------------------------------------ Image‬‬ ‫اﺷﺮﻃﺔ اﻟﺘﻤﺮﻳﺮ ‪65 --------------------------------- ScrollBars‬‬ ‫ادوات اﻟﻤﻠﻔﺎت ---------------------------------------------- 66‬ ‫ادوات اﺧﺮى ------------------------------------------------- 86‬ ‫اﻟﻔﺼﻞ اﻟﺜﺎﻟﺚ: ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ ‪70 ---------------------------- BASIC‬‬ ‫اﻟﻤﺘﻐﻴﺮات واﻟﺜﻮاﺑﺖ -------------------------------------------------- 07‬ ‫ﻗﺎﺑﻠﻴﺔ اﻟﺮؤﻳﺔ وﻋﻤﺮ اﻟﺤﻴﺎة ---------------------------------- 07‬ ‫اﻟﻤﺘﻐﻴﺮات --------------------------------------------------- 57‬ ‫اﻟﺜﻮاﺑﺖ ------------------------------------------------------ 38‬ ‫اﻟﺘﺮآﻴﺒﺎت واﻟﻤﺼﻔﻮﻓﺎت ---------------------------------------------- 58‬ ‫ﺗﺮآﻴﺒﺎت ‪85 -------------------------------------------- Enum‬‬ ‫ﺗﺮآﻴﺒﺎت ﻣﻦ اﻟﻨﻮع ‪87 ------------------------------------- UDT‬‬ ‫اﻟﻤﺼﻔﻮﻓﺎت -------------------------------------------------- 98‬
  • 7. ‫اﻟﻤﺠﻤﻮﻋﺎت -------------------------------------------------- 39‬ ‫اﻻﺟﺮاءات واﻟﺪوال --------------------------------------------------- 69‬ ‫اﻻرﺳﺎل ﺑﺎﻟﻤﺮﺟﻊ او اﻟﻘﻴﻤﺔ --------------------------------- 89‬ ‫ارﺳﺎل اﻧﻮاع اﺧﺮى ---------------------------------------- 001‬ ‫ﺗﺨﺼﻴﺺ اﻟﻤﺘﻐﻴﺮات اﻟﻤﺮﺳﻠﺔ ----------------------------- 101‬ ‫اﻟﺘﺤﻜﻢ ﻓﻲ ﺳﻴﺮ اﻟﺒﺮﻧﺎﻣﺞ ---------------------------------------- 301‬ ‫اﻟﺘﻔﺮع ﺑﺎﺳﺘﺨﺪام ‪103 -------------------------------------- IF‬‬ ‫اﻟﺘﻔﺮع ﺑﺎﺳﺘﺨﺪام ‪105 --------------------------------- Select‬‬ ‫اﻟﺤﻠﻘﺎت اﻟﺘﻜﺮارﻳﺔ ----------------------------------------- 701‬ ‫ﺗﺤﺴﻴﻦ اﻟﻜﻔﺎءة --------------------------------------------------- 011‬ ‫‪ P-Code‬و ‪110 ---------------------------------- Native Code‬‬ ‫اﻋﺪادات ‪112 ----------------------- Advanced Optimization‬‬ ‫اﻟﻔﺼﻞ اﻟﺮاﺑﻊ: ﻣﻜﺘﺒﺎت ‪ VB‬و ‪114 ------------------------------ VBA‬‬ ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻻﻋﺪاد ------------------------------------------------ 411‬ ‫اﻟﻤﻌﺎﻣﻼت اﻟﺮﻳﺎﺿﻴﺔ ---------------------------------------- 411‬ ‫اﻟﺪوال اﻟﺮﻳﺎﺿﻴﺔ -------------------------------------------- 711‬ ‫ﺗﻨﺴﻴﻖ اﻻﻋﺪاد -------------------------------------------- 811‬ ‫دوال اﺧﺮى ------------------------------------------------- 811‬ ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺤﺮوف ----------------------------------------------- 021‬ ‫اﻟﻤﻌﺎﻣﻼت اﻟﺤﺮﻓﻴﺔ ---------------------------------------- 021‬ ‫اﻟﺒﺤﺚ واﻻﺳﺘﺒﺪال ---------------------------------------- 221‬ ‫ﺗﻨﺴﻴﻖ اﻟﺤﺮوف -------------------------------------------- 321‬ ‫دوال اﺧﺮى ------------------------------------------------ 321‬ ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻮﻗﺖ واﻟﺘﺎرﻳﺦ ---------------------------------------- 621‬ ‫دوال اﻟﻮﻗﺖ واﻟﺘﺎرﻳﺦ -------------------------------------- 621‬ ‫ﺗﻨﺴﻴﻖ اﻟﻮﻗﺖ واﻟﺘﺎرﻳﺦ ------------------------------------ 031‬ ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻠﻔﺎت واﻟﻤﺠﻠﺪات ----------------------------------- 031‬ ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻠﻔﺎت --------------------------------------- 131‬ ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﺠﻠﺪات ------------------------------------- 131‬ ‫اﻟﺒﺤﺚ ﻋﻦ اﻟﻤﻠﻔﺎت واﻟﻤﺠﻠﺪات --------------------------- 331‬ ‫ﺗﺤﺮﻳﺮ اﻟﻤﻠﻔﺎت --------------------------------------------- 331‬ ‫آﺎﺋﻨﺎت اﺧﺮى ------------------------------------------------------ 831‬ ‫آﺎﺋﻦ اﻟﺒﺮﻧﺎﻣﺞ ‪139 ----------------------------------------- App‬‬ ‫آﺎﺋﻦ اﻟﺤﺎﻓﻈﺔ ‪140 --------------------------------- Clipboard‬‬
  • 8. ‫آﺎﺋﻦ اﻟﺸﺎﺷﺔ ‪142 ----------------------------------- Screen‬‬ ‫آﺎﺋﻦ اﻟﻄﺎﺑﻌﺔ ‪142 -------------------------------------- Printer‬‬ ‫اآﺘﺸﺎف اﻻﺧﻄﺎء -------------------------------------------------- 441‬ ‫ﻓﻜﺮة ﻋﺎﻣﺔ ------------------------------------------------- 441‬ ‫اﻟﻜﺎﺋﻦ ‪147 -------------------------------------------------- Err‬‬ ‫اﻟﻔﺼﻞ اﻟﺨﺎﻣﺲ: اﻟﺒﺮﻣﺠﺔ آﺎﺋﻨﻴﺔ اﻟﺘﻮﺟﻪ ‪149 ---------------- OOP‬‬ ‫ﻣﻘﺪﻣﺔ اﻟﻰ ‪149 ------------------------------------------------- OOP‬‬ ‫ﻟﻤﺎذا ‪OOP‬؟ ----------------------------------------------- 051‬ ‫ﺳﻤﺎت ‪151 ---------------------------------------------- OOP‬‬ ‫ﺑﻨﺎء اول ﻓﺌﺔ ﻣﺒﺴﻄﺔ ------------------------------------- 251‬ ‫ﺑﻨﺎء اﻟﻔﺌﺎت --------------------------------------------------------- 351‬ ‫ﺑﻨﺎء اﻟﺨﺼﺎﺋﺺ --------------------------------------------- 351‬ ‫ﺑﻨﺎء اﻟﻄﺮق ------------------------------------------------ 751‬ ‫ﺑﻨﺎء اﻻﺣﺪاث ---------------------------------------------- 851‬ ‫ﻣﺜﺎل ﺗﻄﺒﻴﻘﻲ ---------------------------------------------- 261‬ ‫اﺳﺘﺨﺪام اﻟﻜﺎﺋﻨﺎت ------------------------------------------------ 561‬ ‫ﻋﺒﺎرات وآﻠﻤﺎت ﺧﺎﺻﺔ ﺑﺎﻟﻜﺎﺋﻨﺎت -------------------------- 561‬ ‫ﻣﺎهﻲ ﺣﻘﻴﻘﺔ اﻟﻜﺎﺋﻦ ؟ ----------------------------------- 761‬ ‫ﺻﻮرة اﻟﻜﺎﺋﻦ ﺑﺎﻟﺬاآﺮة ------------------------------------- 861‬ ‫اﻟﺮﺑﻂ ‪171 -------------------------------------------- Binding‬‬ ‫وﻻدة وﻣﻮت اﻟﻜﺎﺋﻦ ---------------------------------------- 371‬ ‫ارﺳﺎل اﻟﻜﺎﺋﻦ ﺑﺎﻟﻤﺮﺟﻊ او اﻟﻘﻴﻤﺔ ------------------------- 471‬ ‫اﻟﻔﺼﻞ اﻟﺴﺎدس: ﺗﻌﺪد اﻟﻮاﺟﻬﺎت واﻟﻮراﺛﺔ -------------------- 571‬ ‫ﺗﻌﺪد اﻟﻮاﺟﻬﺎت ‪175 ---------------------------------- Polymorphism‬‬ ‫ﺗﻄﺒﻴﻖ ﻋﻤﻠﻲ --------------------------------------------- 671‬ ‫اﻟﻮراﺛﺔ ‪178 ---------------------------------------------- Inheritance‬‬ ‫ﻣﺤﺎآﺎة اﻟﻮراﺛﺔ ﺑـ ‪180 --------------------------- Visual Basic‬‬ ‫ﻋﻼﻗﺔ "ﻳﺤﺘﻮي ﻋﻠﻰ" ------------------------------------- 381‬ ‫اﻟﺘﻔﻮﻳﺾ ‪184 ------------------------------------- Delegation‬‬ ‫وراﺛﺔ اﻟﻮاﺟﻬﺎت -------------------------------------------- 681‬ ‫اﻟﺘﺼﻨﻴﻒ اﻟﻔﺮﻋﻲ ‪188 -------------------------- Subclassing‬‬ ‫اﻻهﺮام اﻟﻜﺎﺋﻨﻴﺔ --------------------------------------------------- 981‬ ‫اﻟﻌﻼﻗﺎت ﺑﻴﻦ اﻟﻔﺌﺎت -------------------------------------- 091‬ ‫ﻓﺌﺎت اﻟﻤﺠﻤﻮﻋﺎت ‪194 ------------------ Collection Classes‬‬
  • 9. ‫اﻟﺠﺰء اﻟﺜﺎﻧﻲ: ﺑﺮﻣﺠﺔ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت‬ ‫اﻟﻔﺼﻞ اﻟﺴﺎﺑﻊ: ﻣﺪﺧﻠﻚ اﻟﻰ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت --------------------- 0‬ ‫ﺗﻘﻨﻴﺎت اﻟﻮﺻﻮل اﻟﻰ اﻟﺒﻴﺎﻧﺎت ----------------------------------------- 0‬ ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت ------------------------------------------- 0‬ ‫ﻟﻐﺔ اﻻﺳﺘﻌﻼم ‪0 --------------------------------------------------- SQL‬‬ ‫اﻟﻔﺼﻞ اﻟﺜﺎﻣﻦ: اﺳﺘﺨﺪام آﺎﺋﻨﺎت ‪0 --------------------------- ADO‬‬ ‫اﻟﻜﺎﺋﻦ ‪0 --------------------------------------------------- Connection‬‬ ‫اﻟﻜﺎﺋﻦ ‪0 ---------------------------------------------------- Recordset‬‬ ‫اﻟﻜﺎﺋﻦ ‪0 --------------------------------------------------- Command‬‬ ‫اﻟﻔﺼﻞ اﻟﺘﺎﺳﻊ: اﻻدوات واﻟﺘﻘﺎرﻳﺮ --------------------------------- 0‬ ‫أداة ‪0 -------------------------------------------------------- DataGrid‬‬ ‫أداة ‪0 --------------------------------------------------------- FlexGrid‬‬ ‫اﻻداﺗﻴﻦ ‪ DataCombo‬و ‪0 ------------------------------------- DataList‬‬ ‫ﻣﺼﻤﻢ اﻟﺘﻘﺎرﻳﺮ -------------------------------------------------------- 0‬ ‫اﻟﺠﺰء اﻟﺜﺎﻟﺚ: ﻣﻮاﺿﻴﻊ ﻣﺘﻘﺪﻣﺔ‬ ‫اﻟﻔﺼﻞ اﻟﺤﺎدي ﻋﺸﺮ: اﺟﺮاءات ‪0 ------------------------------ API‬‬ ‫اﻟﺒﺮﻣﺠﺔ ﺗﺤﺖ ‪0 --------------------------------------------- Windows‬‬ ‫ﺗﻄﺒﻴﻘﺎت ﻋﻤﻠﻴﺔ ------------------------------------------------------- 0‬ ‫‪ API‬ﻟﻠﻤﺒﺮﻣﺠﻴﻦ اﻟﺸﺠﻌﺎن ﻓﻘﻂ -------------------------------------- 0‬ ‫اﻟﻔﺼﻞ اﻟﻌﺎﺷﺮ: اﻻﺳﺘﺨﺪام اﻟﻤﺘﻘﺪم ﻟﻠﻨﻤﺎذج -------------------- 0‬ ‫اﻟﺴﺤﺐ واﻻﻟﻘﺎء ------------------------------------------------------- 0‬ ‫اﻹﻧﺸﺎء اﻟﺪﻳﻨﺎﻣﻴﻜﻲ ﻟﻼدوات ------------------------------------------ 0‬ ‫اﻟﻨﻤﺎذج آﻔﺌﺎت -------------------------------------------------------- 0‬ ‫اﻟﺮدود واﻟﺘﺼﻨﻴﻒ اﻟﻔﺮﻋﻲ ﻟﻠﺮﺳﺎﺋﻞ ----------------------------------- 0‬ ‫اﻟﻔﺼﻞ اﻟﺜﺎﻧﻲ ﻋﺸﺮ: ﺑﺮﻣﺠﺔ اﻟﻤﻜﻮﻧﺎت ‪0 ------------------ 1 COM‬‬ ‫ﻣﻘﺪﻣﺔ اﻟﻰ ‪0 ----------------------------------------------------- COM‬‬ ‫ﻣﺸﺎرﻳﻊ ‪0 ------------------------------------------------ ActiveX EXE‬‬ ‫ﻣﺸﺎرﻳﻊ ‪0 ------------------------------------------------ ActiveX DLL‬‬ ‫اﻟﻔﺼﻞ اﻟﺜﺎﻟﺚ ﻋﺸﺮ: ﺑﺮﻣﺠﺔ اﻟﻤﻜﻮﻧﺎت ‪0 ------------------- 2 COM‬‬ ‫ﻣﺸﺎرﻳﻊ ‪0 ----------------------------------------------- ActiveX OCX‬‬ ‫ﻣﺴﺎرات اﻟﺘﻨﻔﻴﺬ ‪0 ----------------------------------------- Threading‬‬ ‫اﻟﻤﻜﻮﻧﺎت اﻟﻤﻮزﻋﺔ ‪0 -------------------------------------------- DCOM‬‬
  • 10. ‫اﻟﺠﺰء اﻟﺮاﺑﻊ: ﺑﺮﻣﺠﺔ اﻻﻧﺘﺮﻧﺖ‬ ‫اﻟﻔﺼﻞ اﻟﺮاﺑﻊ ﻋﺸﺮ: ﺻﻔﺤﺎت ‪ DHTML‬اﻟﺪﻳﻨﺎﻣﻴﻜﻴﺔ --------------- 0‬ ‫ﻣﻘﺪﻣﺔ اﻟﻰ ‪0 ------------------------------------------------ VBScript‬‬ ‫ﻣﻘﺪﻣﺔ اﻟﻰ ‪0 -------------------------------------------------- DHTML‬‬ ‫اﻟﻔﺼﻞ اﻟﺨﺎﻣﺲ ﻋﺸﺮ: ﺻﻔﺤﺎت ‪ ASP‬ﻟﻠﺨﺎدم -------------------- 0‬ ‫ﻣﻘﺪﻣﺔ اﻟﻰ ‪0 ------------------------------------------------------- IIS‬‬ ‫آﺎﺋﻨﺎت ‪0 ----------------------------------------------------------- ASP‬‬ ‫اﻟﻤﻠﺤﻖ 1: ﻣﺼﺎدر ﻟﻤﺒﺮﻣﺠﻲ ‪0 --------------------- Visual Basic‬‬ ‫اﻟﻔﻬﺮس اﻟﻌﺮﺑﻲ ------------------------------------------------- 0‬ ‫اﻟﻔﻬﺮس اﻻﻧﺠﻠﻴﺰي ---------------------------------------------- 0‬
  • 11. ‫أ‬ ‫ﺷﻜﺮ وﺗﻘﺪﻳﺮ‬ ‫اذا آﺎﻧﺖ اﻻﺳﻤﺎء اﻟﺘﺎﻟﻴﺔ ﻻ ﺗﻌﻨﻲ ﻟﻚ ﺷﻴﺌﺎ، ﻓﻬﻲ ﺗﻌﻨﻲ اﻟﻜﺜﻴﺮ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻲ:‬ ‫ﻓﻲ اﻟﺒﺪاﻳﺔ اود ان اﺷﻜﺮ ﺟﻤﻴﻊ آﺘﺎب ﻣﻮﻗﻌﻲ اﻟﺴﺎﺑﻖ "اﻟﻰ اﻟﻘﻤﺔ ﻣـﻊ ‪"Visual Basic‬‬ ‫ﻣﺒﺘﺪﺋﺎ ﺑﻌﺎﺷـﻖ اﻻﺳـﻤﺒﻠﻲ اﺣﻤـﺪ اﻟﺸـﻤﺮي، وﻣـﻦ ﻟﻴﺒﻴـﺎ ﻃـﺎرق ﻣﻮﺳـﻰ، واﻟﻤﺒـﺮﻣﺞ‬ ‫اﻟﻤﺨﻀﺮم ﺻﺎﻟﺢ اﻟﻐﺎﻣﺪي، وﺧﺒﻴـﺮ اﻟﻔـﻼش إﻳـﺎد زآـﺮي، واﻟﺰﻣﻴـﻞ رود ﺳـﺘﻴﻔﻦ، واﺧـﻲ‬ ‫ﻋﺒﺪاﷲ اﻟﻌﺴﻴﺮي.‬ ‫آﻤﺎ اود ان اﺗﻘﺪم ﺑﺎﻟﺸﻜﺮ اﻟﺠﺰﻳﻞ اﻟـﻰ ﺟﻤﻴـﻊ ﻣﺸـﺮﻓﻲ ‪ vb4arab.com‬واﻟـﺬي ﻳﻌﺘﺒـﺮ‬ ‫اآﺒﺮ ﻣﻮﻗﻊ ﻋﺮﺑﻲ ﻳﺨﺘﺺ ﺑﺎﻟـ ‪ ،Visual Basic‬اﺷﻜﺮ اﻻﺳـﺎﺗﺬة: ﻣﺤﻤـﺪ اﻟﺤﻠﺒـﻲ، ﻣﺤﻤـﺪ‬ ‫ﺣﻤﻮد، ﺣﺴﻦ اﻟﺤﺮﺑﻲ، وﻟﻴﺪ ﻋﺒﺪاﷲ، ﻃـﺎرق اﻟﻌﺒﻴـﺪ، ﻋﺎﺻـﻔﺔ، ﺻـﺎﻟﺢ اﻟﻌﻨـﺰي، ﻣﺤﻤـﺪ‬ ‫اﻟﺪوﺳﺮي، اوراﻧﻮس، ﺳﺎهﺮ، ﺟﺎد واﻟﻤﺆﺳﺲ ﻋﺒﺪاﷲ اﻟﻌﺘﻴﻖ ﻋﻠﻰ آﻞ ﻣﺎ ﻗـﺪﻣﻮﻩ ﻣـﻦ‬ ‫ﺟﻬﻮد ﺟﺒﺎرة ﻟﻤﺒﺮﻣﺠﻲ ‪ Visual Basic‬اﻟﻌﺮب.‬ ‫اﺧﺘﺺ ﺑﺎﻟﺸﻜﺮ اﻟﺠﺰﻳﻞ ﻟﻼﺳﺘﺎذ ﺳﺎﻟﻢ اﻟﻤﺎﻟﻜﻲ –ﻣﺸﺮف ﻋﺎم ﺑﻤﻮﻗﻊ ‪ -vb4arab‬ﻋﻠـﻰ‬ ‫ﻣﺮاﺟﻌﺘﻪ اﻟﺪﻗﻴﻘﺔ واﻗﺘﺮاﺣﺎﺗﻪ اﻟﻨﻴـﺮة ﻟﻬـﺬا اﻟﻜﺘـﺎب. واﻻﺳـﺘﺎذ ﻗـﺎروط –ﻣـﺪرس ﻣـﺎدة اﻟــ‬ ‫‪ JAVA‬و اﻟـ ++‪ C‬ﺑﺠﺎﻣﻌﺔ اﻟﻤﻠـﻚ ﻓﻬـﺪ ﻟﻠﺒﺘـﺮول واﻟﻤﻌـﺎدن- ﻋﻠـﻰ دروﺳـﻪ اﻟﻘﻮﻳـﺔ ﻓـﻲ‬ ‫اﺳــﺎﻟﻴﺐ ﺑﺮﻣﺠــﺔ ‪ .OOP‬واﻻﺳــﺘﺎذ دوﻧﻮﻓﺎﻧــﺪ –اﺳــﺘﺎذ ﻓــﻲ ﺑﺮﻧــﺎﻣﺞ اﻟﻠﻐــﺔ اﻻﻧﺠﻠﻴﺰﻳــﺔ‬ ‫ﺑﺎﻟﺠﺎﻣﻌﺔ- ﻋﻠﻰ ﻣﻘﺮر ﻓـﻦ آﺘﺎﺑـﺔ اﻟﻤﻘـﺎﻻت واﻋـﺪاد اﻟﺘﻘـﺎرﻳﺮ وارﺷـﺎدي ﻟﻄﺮﻳﻘـﺔ ﺗـﺄﻟﻴﻒ‬ ‫اﻟﻜﺘﺐ. وﺷﻜﺮ ﺟﺰﻳﻞ اﻟﻰ اﺳﻄﻮرة اﻟﻤﺒﺮﻣﺠﻴﻦ اﻟﺴـﻴﺪ ﺑـﺮوس ﻣـﺎآﻴﻨﻲ –ﻣﺆﻟـﻒ آﺘـﺎب‬ ‫‪ -Hardcore Visual Basic‬ﻋﻠﻰ اﻻذن واﻟﺴـﻤﺎح ﻟـﻲ ﺑﺘﺮﺟﻤـﺔ ﺑﻌـﺾ اﻟﻤﻘﺘﻄﻔـﺎت ﻣـﻦ‬ ‫آﺘﺎﺑﻪ وﺗﻄﺒﻴﻖ اآﻮادﻩ اﻻﺣﺘﺮاﻓﻴﺔ.‬ ‫وﻻ اﻧﺴﻰ ﺷـﻜﺮ اﻟـﺰﻣﻼء ﻓﻬـﺪ اﻟﻌﻤﻴـﺮ، ﻋﺒـﺪاﷲ اﻟﻘﺤﻄـﺎﻧﻲ، ﺳـﻌﺪ اﻟﺪوﺳـﺮي وﻧـﺎﻳﻒ‬ ‫اﻟﻌﺘﻴﺒﻲ ﻋﻠﻰ اﺧﺘﺒﺎراﺗﻬﻢ اﻟﻘﻮﻳﺔ ﻻآﻮاد ﺑﺮاﻣﺠﻲ وﺗﺼﺤﻴﺢ ﻣﻌﻈﻢ اﺧﻄﺎﺋﻬﺎ.‬ ‫واذا آﺎن ﺷﻜﺮ آﻞ هﺆﻻء ﻓﻲ آﻔـﺔ، ﻓـﺎن ﺷـﻜﺮ اﻋـﺰ واﻏﻠـﻰ اﻟﺒﺸـﺮ ﻋﻨـﺪي ﻓـﻲ آﻔـﺔ‬ ‫اﺧﺮى. اﻣﻲ واﺑﻲ اﺷﻜﺮآﻤﺎ ﻋﻠﻰ آﻞ ﻣﺎ ﻗﺪﻣﺘﻮﻩ ﻟﻲ ﻓﻲ ﺣﻴﺎﺗﻲ.‬ ‫واﺧﻴﺮا، اﺗﻤﻨﻰ ان ﺗﺴﺘﻤﻌﻮا ﺑﻘﺮاءة هﺬا اﻟﻜﺘﺎب واﺳﺄل اﷲ ﺳﺒﺤﺎﻧﻪ وﺗﻌﺎﻟﻰ ان ﻳﺠﻌﻠـﻪ‬ ‫ﻣﻦ اﻟﻌﻠﻢ اﻟﺬي ﻳﻨﺘﻔﻊ ﺑﻪ اﻧﻪ ﺳﻤﻴﻊ ﻣﺠﻴﺐ اﻟﺪﻋﻮات.‬
  • 12. ‫ب‬ ‫اﻟﻤﻘﺪﻣﺔ‬ ‫رﺣﻠﺔ ﻋﺸﺮ ﺳﻨﻮات ﻣﻦ ﻋﻤﺮ اﻻﻧﺴﺎن ﻟﻴﺴﺖ آﺮﺣﻠﺔ ﺳﻴﺎﺣﻴﺔ ﺗﺨﺘﻔـﻲ ﺁﺛﺎرهـﺎ ﺑﻤﺠـﺮد‬ ‫اﻟﻌﻮدة اﻟﻰ اﻟﻤﻜﺘﺐ ﻓﻲ اﻟﻌﻤﻞ، ﻓﻬﻲ رﺣﻠﺔ ﻃﻮﻳﻠﺔ ﺻـﺎﺣﺒﺘﻬﺎ ﻗـﺮاءات ﻵﻻف اﻟﺼـﻔﺤﺎت‬ ‫وﺳﻬﺮات ﺑﻌﺪد اﻟﻨﺠﻮم اﻟﺘﻲ آﻨﺖ اراهﺎ ﺑﻌﺪ اﻧﺼﺎف اﻟﻠﻴـﺎﻟﻲ ﺑﺎﺳـﻄﺎ ﻳـﺪي ﻋﻠـﻰ ﻟﻮﺣـﺔ‬ ‫اﻟﻤﻔﺎﺗﻴﺢ، ﻣﺘﻮﻏﻼ ﻓﻲ ﺻﺮاﻋﺎت ﻣﻊ اﻟﺴﺎﺣﺮ اﻟﺬي اﺣﺒﺒﺘﻪ وآﺮهﺘﻪ ‪.Visual Basic‬‬ ‫ﻋﻼﻗﺔ اﻟﺤﺐ واﻟﻜﺮﻩ ﻟﻴﺴﺖ ﻋﻼﻗﺔ ﺧﻴﺎﻟﻴﺔ آﻤﺎ ﺗﺴﻄﺮهﺎ ﺧﺰﻋﺒﻼت واﺳﺎﻃﻴﺮ اﻟﻌﺸـﺎق،‬ ‫ﻓﻤﻨﺬ اﻻﺻﺪار 1‪ VB‬ﺑﺪأ ﻗﻠﺒﻲ ﻳﺨﻔﻖ اﻟﻰ ﺗﻠﻚ اﻟﻠﻐﺔ –ﻣﺒـﺪﺋﻴﺎ- ﺑﺴـﺒﺐ ﻣﺼـﻤﻢ اﻟﻨﻤـﺎذج‬ ‫‪ Form Designer‬اﻟﺬي ﺳﺎهﻢ ﻓﻲ ﻧﺴـﻴﺎن اواﻣـﺮ اﻟﻤﺨﺮﺟـﺎت ‪ Locate ،Print‬و ‪Color‬‬ ‫ﻟﻜﺘﺎﺑﺔ ﻣﺌﺎت اﻻﺳﻄﺮ -اﺷـﺒﻪ ﺑﺎﻟﻤﺨﻄﻮﻃـﺎت اﻟﻔﺮﻋﻮﻧﻴـﺔ- واﻟﺨﺎﺻـﺔ ﺑﺘﺼـﻤﻴﻢ اﻟﻮاﺟﻬـﺎت.‬ ‫وﻟﻜﻦ ﻣﺎ ان ﻟﺒﺜﺖ اﻟﻌﻼﻗﺔ اﻟﻐﺮاﻣﻴﺔ ﺑﺎﻻﺷﺘﻌﺎل، ﺣﺘﻰ ﺑﺪأ ﺷﺮﻳﺎن اﻟﻜﺮﻩ ﻟـ ‪Visual Basic‬‬ ‫ﻳﻨﻤﻮ ﺷﻴﺌﺎ ﻓﺸﻴﺌﺎ ﺑﺴـﺒﺐ ﻗﺼـﻮر ‪ Visual Basic‬وﺿـﻌﻔﻪ -اﻟﻌـﺎﺟﺰ ﻋـﻦ اﻟﻤﺮاوﻏـﺔ- ﻋﻨـﺪ‬ ‫اﻟﺘﺤﺪث ﻋﻦ ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ ‪ .BASIC‬اﻻ ان ﻋﻼﻗﺔ اﻟﺤﺐ ﺗﻄﻐﻰ ﻋﻠـﻰ ﻋﻼﻗـﺔ اﻟﻜـﺮﻩ ﻣـﻦ‬ ‫ﺟﺪﻳﺪ آﻠﻤﺎ اﺳﺘﺨﺪم ﻣﺆﺷﺮ اﻟﻔﺄرة ‪ Mouse‬ﻋﺎﺋﺪا ﻟﺘﺼﻤﻴﻢ اﻟﻮاﺟﻬﺎت ﺑﻤﺼـﻤﻢ اﻟﻨﻤـﺎذج،‬ ‫وﺗﻄﻐﻰ ﻋﻼﻗﺔ اﻟﻜﺮﻩ ﻣﺮة اﺧﺮى ﺣـﻴﻦ اﺳـﺘﺨﺪام ﻟﻮﺣـﺔ اﻟﻤﻔـﺎﺗﻴﺢ وآﺘﺎﺑـﺔ اﻻآـﻮاد ﻓـﻲ‬ ‫ﻧﺎﻓﺬة ﻣﺤﺮر اﻻآﻮاد ‪.Code Window‬‬ ‫وآﻤﺎ ﻳﻘﻮﻟـﻮن "اﻟﺤﻴـﺎة ﺗﺠـﺎرب"، ﻓﺒﻌـﺪ ﻋﺸـﺮ ﺳـﻨﻮات ﻣـﻦ اﻟﺒﺮﻣﺠـﺔ ﺑــ ‪،Visual Basic‬‬ ‫اآﺘﺸﻔﺖ ان اﻟﻜﻠﻤﺎت -اﻟﺘﻲ ﺑﺪأت ﺑﻬﺎ ﻣﻘﺪﻣﺘﻲ- ﻻ اﺳﺎس ﻟﻬﺎ ﻣﻦ اﻟﺼﺤﺔ! ﻓـ ‪Visual‬‬ ‫‪ Basic‬ﻳﻤﻜﻨﻚ ﻣﻦ ﺗﺼﻤﻴﻢ ﻧﻮاﻓﺬ ﺗﻀـﻊ ﻋﻠﻴﻬـﺎ ازرار ‪ Buttons‬وﺧﺎﻧـﺎت ﻧـﺺ ‪،TextBoxes‬‬ ‫آﻤﺎ ﻳﻤﻜﻨﻚ ﻣﻦ اﻻﺗﺼﺎل ﺑﻘﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت ‪ DataBases‬ﻟﺤﻔـﻆ اﻟﺒﻴﺎﻧـﺎت ﻋﻠـﻰ اﻻﻗـﺮاص،‬ ‫وهﺬا ﺑﺤﺪ ذاﺗﻪ ﻳﻠﺒﻲ رﻏﺒﺔ ﺁﻻف –ان ﻟﻢ ﻳﻜﻦ ﻣﻼﻳﻴﻦ- اﻟﻤﺒﺮﻣﺠﻴﻦ ﺣﻮل اﻟﻌﺎﻟﻢ ﻟﻴﻘﺘﻨﻌـﻮا‬ ‫ان ‪ Visual Basic‬اﻓﻀﻞ ﻣﻨﺼﺔ ﺗﻄﻮﻳﺮ اﻟﺘﻄﺒﻴﻘﺎت ﻋﻠﻰ ﻣﺪى اﻟﺘﺎرﻳﺦ.‬ ‫ﻣﻦ ﻧﺎﺣﻴﺔ اﺧﺮى، ﻻ ﻳﻤﻜﻨﻚ ‪ Visual Basic‬ﻣـﻦ ادارة اﻟـﺬاآﺮة ‪Memory Management‬‬ ‫ﺑﻄﺮﻳﻘ ـﺔ ﺳ ـﻬﻠﺔ –ﻣﻘﻨﻌ ـﺔ ﻟﻠﻤﺒ ـﺮﻣﺠﻴﻦ- وذﻟ ـﻚ ﺑﺴ ـﺒﺐ ﺿ ـﻌﻒ ﺗﻌﺎﻣﻠ ـﻪ ﻣ ـﻊ اﻟﻤﺆﺷ ـﺮات‬ ‫ـ‬ ‫ـ ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫‪ ،Pointers‬و ﻋﻨﺪ اﻟﺤﺪﻳﺚ ﻋﻦ اﻟﻤﺸﺎرﻳﻊ اﻟﻌﻤﻼﻗﺔ، ﻓﻄﺎﻗـﺔ ‪ Visual Basic‬ﻻ ﺗﺴـﺘﻮﻋﺐ‬ ‫اآﻮاد ﺣﺠﻤﻬﺎ اآﺜﺮ ﻣـﻦ 46‪ K‬ﻓـﻲ ﻧﺎﻓـﺬة ﻧﻤـﻮذج واﺣـﺪة او اﺟـﺮاء واﺣـﺪ، وهـﺬا اﻟﻘﺼـﻮر‬ ‫ﻳﻜﻔﻲ ان ﻳﺠﻌﻞ ‪ Visual Basic‬اﺳﻮأ ﻣﻨﺼـﺔ ﺗﻄـﻮﻳﺮ اﻟﺘﻄﺒﻴﻘـﺎت ﻓـﻲ ﻧﻈـﺮ ﺁﻻف –ان ﻟـﻢ‬ ‫ﻳﻜﻦ ﻣﻼﻳﻴﻦ- اﻟﻤﺒﺮﻣﺠﻴﻦ ﺣﻮل اﻟﻌﺎﻟﻢ اﻳﻀﺎ!‬ ‫إﻻ ان اﻟﻤﺒﺮﻣﺠﻴﻦ اﻟﻤﻮاﻟﻴﻦ ﻟــ ‪ Visual Basic‬ﻗـﺪﻣﻮا ﻋﺸـﺮات اﻟﺤﻠـﻮل ﻟﻤﺤﺎوﻟـﺔ ﺗﻐﻄﻴـﺔ‬ ‫واﻻﻟﺘﻔﺎف ﺣﻮل ﻗﺼﻮر اﻟﻠﻐﺔ ﻓﻲ اﻟﻘﻀـﺎﻳﺎ اﻟﺴـﺎﺑﻘﺔ، واﻟﻤﺒـﺮﻣﺠﻴﻦ اﻟﻤﻌـﺎدﻳﻦ ﻟــ ‪Visual‬‬ ‫‪ Basic‬اﺛﺒﺘﻮا ان ﺗﻠﻚ اﻟﺤﻠﻮل ﻗﺪ أﻋﻤﺖ اﻟﻘﺼـﻮر ﺑـﺪﻻ ﻣـﻦ ﺗﻜﺤﻴﻠﻬـﺎ، ﻓﻬـﻲ ﻗـﺪ اﺿـﻌﻔﺖ‬ ‫آﻔﺎءة اﻟﺘﻨﻔﻴﺬ وزادت اﻻآﻮاد ﺗﻌﻘﻴﺪا.‬
  • 13. ‫ج‬ ‫اﻣﺎ اﻟﻤﺒﺮﻣﺠﻴﻦ اﻟﻤﺤﺎﻳﺪﻳﻦ –واﻟﻤﺆﻟﻒ ﺑﻴﻦ ﺻﻔﻮﻓﻬﻢ- ﻳﻘﻮﻟﻮن ﻟﻚ ﺑﻜـﻞ اﺧﺘﺼـﺎر: اذا آـﺎن‬ ‫‪ Visual Basic‬ﻳﻘﺪم ﻟﻚ ﺣﻠﻮل ﻟﻤﺸﺎآﻠﻚ، ﻓﻜﻦ ﻣﺒﺮﻣﺞ ‪ ،Visual Basic‬واذا آﺎن ‪Visual‬‬ ‫‪ Basic‬ﻻ ﻳﻘﺪم ﻟﻚ ﺣﻠﻮل ﻟﻤﺸﺎآﻠﻚ، ﻓﻼ ﺗﻜﻦ ﻣﺒﺮﻣﺞ ‪.Visual Basic‬‬ ‫وﻣﻦ ﻣﻨﻄﻠﻖ اﻟﻤﺤﺎﻳﺪة، اﻗﺪم ﻟﻚ هﺬا اﻟﻜﺘﺎب ﻟﻴﺸﺮح ﻟـﻚ اﻟﺒﺮﻣﺠـﺔ ﺑﺎﺳـﺘﺨﺪام ‪Visual‬‬ ‫‪ Basic‬وﻟﻦ اﺗﻌﺪى هـﺬا اﻟﻨﻄـﺎق اﺑـﺪا، ﻓـﻼ ﺗﺘﻮﻗـﻊ ﻓﺼـﻮل –ﻣﻀـﻴﻌﺔ ﻟﻠﻮﻗـﺖ- ﺗﻘـﺎرن ﻟـﻚ‬ ‫‪ Visual Basic‬ﻣﻊ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ اﻻﺧﺮى، او ﻣﺎدﺣﺔ ‪ Visual Basic‬آﻠﻐـﺔ ﺑﺮﻣﺠـﺔ اﻟﻌﻘـﺪ‬ ‫اﻻﺧﻴـﺮ، او ﻣﻈﻬـﺮة ﻋﻴـﻮب ‪ Visual Basic‬ﺣﺘـﻰ ﺗﺸـﻮﻩ ﺳـﻤﻌﺘﻪ. ﻓﻬـﺬا اﻟﻜﺘـﺎب ﻳﺤـﺎول‬ ‫ﺗﺸﻴﻴﺪ ﺑﻨﻴﺔ ﻗﻮﻳﺔ ﻟﻚ ﺣﺘﻰ ﺗﻤﻜﻨﻚ ﻣﻦ اﻻﻧﻄﻼق ﻓﻲ ﺑﺮﻣﺠﺔ ‪ Visual Basic‬ﻣـﻦ اوﺳـﻊ‬ ‫اﺑﻮاﺑﻪ.‬ ‫ﻟﻤﻦ هﺬا اﻟﻜﺘﺎب؟‬ ‫اذا آﻨﺖ ﺟﺎد ﻓﻲ ان ﺗﻜﻮن ﻣﺒﺮﻣﺞ ‪ ،Visual Basic‬ﻓﻬﺬا اﻟﻜﺘﺎب ﻳﺒﻨـﻲ ﻟـﻚ ﻗﺎﻋـﺪة ﻗﻮﻳـﺔ‬ ‫ﺗﺴﺘﻨﺪ ﻋﻠﻴﻬﺎ ﺣﺘﻰ ﺗﺘﻤﻜﻦ ﻣﻦ ﻣﻮاﺟﻬﺔ اﻻآـﻮاد اﻟﻤﻨﺘﺸـﺮة هﻨـﺎ وهﻨـﺎك ﺑـﻴﻦ اﻟﻤﺼـﺎدر‬ ‫اﻟﻤﺨﺘﻠﻔﺔ اﻟﻤﺘﻌﻠﻘﺔ ﺑـ ‪ Visual Basic‬آﻤﻮاﻗﻊ اﻻﻧﺘﺮﻧﺖ، ﻣﻜﺘﺒﺔ ‪ MSDN‬او آﺘـﺐ ﻣﺘﻘﺪﻣـﺔ‬ ‫اﺧﺮى. اﻣﺎ اذا آﻨﺖ ﻧﺎﻗﺪ –ﻏﻴﺮ هﺎدف- او ﺗﺮﻏﺐ ﻓـﻲ اﻟﺤﺼـﻮل ﻋﻠـﻰ ﺛﻘﺎﻓـﺔ ﺑﺮﻣﺠﻴـﺔ ﻻ‬ ‫ﺗﻘﺪم وﻻ ﺗﺆﺧﺮ، ﻓﻴﻜﻔـﻲ ﻣـﺎ ﻗﺮأﺗـﻪ ﻣـﻦ اﻟﺼـﻔﺤﺎت اﻟﺴـﺎﺑﻘﺔ ﻻن اﻟﻜﺘـﺎب ﻻ اﻋﺘﻘـﺪ اﻧـﻪ‬ ‫ﻣﻨﺎﺳﺐ ﻟﻚ.‬ ‫هﺬا اﻟﻜﺘﺎب ﻣﺨﺘﺺ ﻓﻲ ‪ Visual Basic‬ﻓﻘﻂ وﻟﻴﺲ اﻟﺒﺮﻣﺠﺔ ﺑﺸﻜﻞ ﻋـﺎم، ﻓﻠـﻦ اﺗﻄـﺮق‬ ‫اﻟ ـﻰ ﻣﻮاﺿ ـﻴﻊ وﺗﻌ ـﺎرﻳﻒ ﻃﻮﻳﻠ ـﺔ آ ــ ﻣ ـﺎهﻮ اﻟﺒﺮﻧ ـﺎﻣﺞ؟، ﻣ ـﺎهﻲ ﻟﻐ ـﺔ اﻟﺒﺮﻣﺠ ـﺔ؟، ﻣ ـﺎ ه ـﻮ‬ ‫ـ ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ ـ ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫اﻟﺨﻮارزم؟ .... اﻟﺦ. ﻣﻊ ذﻟﻚ، ﻓﻬﻮ ﻣﻮﺟﻪ اﻟﻰ آﺂﻓﺔ اﻟﻤﺴﺘﻮﻳﺎت ﻟﻼﺳﺒﺎب اﻟﺘﺎﻟﻴﺔ:‬ ‫ﻟﻠﻤﺒﺘﺪﺋﻴﻦ: ﻓﻬﻮ ﻳﻌﺮﻓﻬﻢ ﻋﻠـﻰ ‪ Visual Basic‬وﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ اﻟﺨﺎﺻـﺔ ﺑـﻪ،‬ ‫وﻳﺸـﺮح ﻟﻬـﻢ آـﻞ ﻣـﺎ ﻳﺤﺘﺎﺟﻮﻧـﻪ ﻟﻠﺒﺮﻣﺠـﺔ اﻟﻔﻌﻠﻴـﺔ ﺑــ ‪ Visual Basic‬آﺸـﺮح اﻟﻨﻤـﺎذج‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫واﻻدوات، ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ ‪ ،BASIC‬ﺣﻠﻮل ﻟﻤﺸﺎآﻠﻬﻢ اﻟﻴﻮﻣﻴـﺔ وزﻳـﺎدة ﺛﻘـﺎﻓﺘﻬﻢ اﻟﺒﺮﻣﺠﻴـﺔ‬ ‫ﺑﺘﻘﺪﻳﻢ ﻣﻔﻬﻮم اﻟﺒﺮﻣﺠﺔ آﺎﺋﻨﻴﺔ اﻟﺘﻮﺟﻪ ‪ OOP‬وﺗﻄﺒﻴﻘﻬﺎ ﺑـ ‪.Visual Basic‬‬ ‫ﻟﻠﻤﺘﻮﺳﻄﻴﻦ: ﻓﻬﻮ ﻳﺤﻘﻖ ﻟﻬﻢ ﻗﻔـﺰة ﻧﻮﻋﻴـﺔ اﻟـﻰ ﻣﻮاﺿـﻴﻊ ﻣﺘﻘﺪﻣـﺔ آﺒﺮﻣﺠـﺔ ﻗﻮاﻋـﺪ‬ ‫اﻟﺒﻴﺎﻧــﺎت ‪ ،DataBases‬ﺗﻄﺒﻴﻘــﺎت ﻣﺘﻘﺪﻣــﺔ ﻋﻠــﻰ اﻟﻨﻤــﺎذج، ﻗﻀــﺎﻳﺎ ﺣــﻮل اﺟــﺮاءات ‪API‬‬ ‫وﺑﺮﻣﺠﺔ اﻟﻤﻜﻮﻧﺎت ‪ COM‬واﻟﻤﻜﻮﻧﺎت اﻟﻤﻮزﻋﺔ ‪.DCOM‬‬ ‫ﻟﻠﻤﺘﻘﺪﻣﻴﻦ: هﺬا اﻟﻜﺘﺎب ﻻﻳﻘﺪم ﻟﻠﻤﺘﻘﺪﻣﻴﻦ ﺳﻮى اﻋـﺎدة اﻧﻌـﺎش ‪ Refresh‬ذاآـﺮﺗﻬﻢ‬ ‫ﻟﻤﻮاﺿﻴﻊ ﺑﺮﻣﺠﻴﺔ ﺧﺎﺻﺔ ﺑـ ‪ ،Visual Basic‬واﻟﺴﺒﺐ اﻟﺬي ﻳﺠﻌﻞ هﺬا اﻟﻜﺘﺎب ﻣﻮﺟﻪ ﻟﻬﻢ‬ ‫ﻻ ﻳﻌﺪو ان ﻳﻜﻮن اﻻ ﺳﺒﺐ ﺷﺨﺼﻲ ﻟﻠﻤﺆﻟﻒ، وهﻲ زﻳﺎدة اﻟﺜﻘﺔ ﺑﻨﻔﺴﻪ ﻋﻨﺪﻣﺎ ﻳﻌﻠﻢ ان‬ ‫ﻣﺒﺮﻣﺠﻲ ‪ Visual Basic‬اﻟﻤﺘﻘﺪﻣﻴﻦ ﻗﺪ اﻋﺤﺒﻮا ﻓﻲ آﺘﺎﺑﻪ.‬
  • 14. ‫د‬ ‫ﻧﻘﻄﺔ اﺧﺮى اود ﺗﻮﺿﻴﺤﻬﺎ هﻲ ان هـﺬا اﻟﻜﺘـﺎب ﻟـﻴﺲ ﻣﺮﺟـﻊ ‪ Reference‬ﻣـﻦ ﻣﺮاﺟـﻊ‬ ‫‪ MSDN‬ﺗﺮﺟﻢ اﻟﻰ اﻟﻠﻐﺔ اﻟﻌﺮﺑﻴﺔ. ﻓـﻼ ﺗﺘﻮﻗـﻊ ان اﻗـﻮم ﺑﺸـﺮح ﺟﻤﻴـﻊ اﻟﺜﻮاﺑـﺖ، اﻟـﺪوال،‬ ‫اﻟﻜﺎﺋﻨﺎت .... اﻟﺦ ﺷﺮﺣﺎ ﺗﻔﺼﻴﻠﻴﺎ، وذﻟﻚ ﻻﻧﻨﻲ ارﻳﺪ ان اﻧﺘﻬﻲ ﻣﻦ آﺘﺎﺑﺔ اﻟﻜﺘﺎب ﻗﺒـﻞ ان‬ ‫ﺗﺸـﻴﺐ ﺷـﻌﺮات رأﺳـﻲ. ﻣـﻊ ذﻟ ـﻚ، ﺗﻌﺮﺿـﺖ –ﺑﺎﺧﺘﺼـﺎر- ﻟﻤﺌـﺎت اﻟـﺪوال، اﻟﺨﺼ ـﺎﺋﺺ،‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫اﻟﻜﺎﺋﻨﺎت .... اﻟﺦ ﺑﻴﻦ ﺻﻔﺤﺎت هﺬا اﻟﻜﺘﺎب. ﻟﺬﻟﻚ، ارﺟﻮ ﻣﻨﻚ اﻟﺤﺼﻮل ﻓﻲ اﻗـﺮب ﻓﺮﺻـﺔ‬ ‫ﻋﻠﻰ ﻧﺴﺨﺔ ﻣﻦ اﺳﻄﻮاﻧﺔ ﻣﻜﺘﺒﺔ ‪ MSDN‬ﻟﻠﺤﺼـﻮل ﻋﻠـﻰ اﻟﺘﻌﻠﻴﻤـﺎت اﻟﻔﻮرﻳـﺔ واﻟـﺪﻋﻢ‬ ‫اﻟﻔﻨﻲ اﻟﻼزم ﻟﻠﺘﻮﻏﻞ ﻓﻲ ﺗﻔﺎﺻﻴﻞ ﺟﻤﻴﻊ اﻟﺪوال، اﻟﻜﺎﺋﻨﺎت واﻋﻀـﺎﺋﻬﺎ، اﻟﺜﻮاﺑـﺖ .... اﻟـﺦ‬ ‫ﻗﺒﻞ ان ﺗﺒﺪأ ﺑﻘﺮاءة اﻟﻜﺘﺎب.‬ ‫ﻣﺎذا ﻋﻦ ‪Visual Basic.NET‬؟‬ ‫ﻳﺒــﺪو ان اﻟﺤــﺮوف ‪ .NET‬ﺗﺸــﺪ اﻧﺘﺒــﺎﻩ اﻟﻤﺒــﺮﻣﺠﻴﻦ ﺑﻌــﺪﻣﺎ وزﻋــﺖ ‪ Microsoft‬اﻟﻨﺴــﺦ‬ ‫اﻟﺘﺠﺮﻳﺒﻴﺔ ‪ Beta‬ﻣـﻦ ﺟﻤﻴـﻊ اﻋﻀـﺎء ‪ .Visual Studio.NET‬ﺣﺴـﻨﺎ، اﻻﺻـﺪار اﻻﺧﻴـﺮ ﻣـﻦ‬ ‫‪ Visual Basic‬هﻮ اﻻﺻﺪار اﻟﺴﺎدس 6‪ VB‬واﻟﺬي ﻳﻤﺜﻞ ﻧﻬﺎﻳﺔ اﻻﺳـﻄﻮرة ‪،Visual Basic‬‬ ‫اﻣﺎ ‪ Visual Basic.NET‬ﻓﻬﻲ ﻟﻐﺔ ﺑﺮﻣﺠﺔ ﺟﺪﻳﺪة ﻻ ﻳﻜﻤﻦ اﻟﺸﺒﻪ ﺑﻴﻨﻬﺎ وﺑﻴﻦ اﺳـﻄﻮرﺗﻨﺎ‬ ‫إﻻ اﻻﺳـﻢ ‪ Visual Basic‬وﺻـﻴﻎ ‪ Syntax‬ﺑﻌـﺾ اﻻواﻣـﺮ. ﻓﺎﻻﺳـﻢ ‪Visual Basic.NET‬‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ﻟﻴﺲ ﺳﻮى ﻟﻌﺒﺔ ﺗﺴﻮﻳﻘﻴﺔ ﻗﺎﻣﺖ ﺑﻬـﺎ ‪ Microsoft‬ﺣﺘـﻰ ﻻ ﺗﺨﺴـﺮ ﺟﻤﻴـﻊ زﺑﺎﺋﻨﻬـﺎ ﻣـﻦ‬ ‫ﻣﺒﺮﻣﺠــﻲ 1‪ VB‬ﺣﺘــﻰ 6‪ .VB‬ﻓﻘﺒــﻞ ان ﺗﺸــﺪ اﻟﺮﺣــﺎل اﻟــﻰ ‪ ،Visual Basic.NET‬ﻓﻜــﺮ‬ ‫ﺑﺎﻟﻤﻮﺿﻮع ﺟﻴﺪا ﻻن ﺷﺪ اﻟﺮﺣﺎل ﺳﻴﻜﻮن اﻻﻧﺘﻘﺎل اﻟﻰ ﻟﻐـﺔ ﺑﺮﻣﺠـﺔ ﺟﺪﻳـﺪة، آﺎﻻﻧﺘﻘـﺎل‬ ‫ﻣﻦ 6‪ VB‬اﻟـﻰ #‪ .C‬ارﺟـﻮ ان ﻻ ﺗﻌﺘﻘـﺪ اﻧﻨـﻲ ارﻓـﺾ ‪ ،Visual Basic.NET‬ﺑـﻞ ﺳـﺄﻋﻴﺪ‬ ‫آﺘﺎﺑﺔ اﻟﺠﻤﻠﺔ اﻟﺤﻴﺎدﻳﺔ اﻟﺘﻲ ذآﺮﺗﻬﺎ ﻓﻲ اﻟﻤﻘﺪﻣﺔ ﻣﻊ اﺿﺎﻓﺔ 21 ﺣﺮﻓـﺎ وارﺑـﻊ ﻧﻘـﺎط: اذا‬ ‫آﺎن ‪ Visual Basic.NET‬ﻳﻘﺪم ﻟﻚ ﺣﻠﻮل ﻟﻤﺸﺎآﻠﻚ، ﻓﻜـﻦ ﻣﺒـﺮﻣﺞ ‪،Visual Basic.NET‬‬ ‫واذا آﺎن ‪ Visual Basic.NET‬ﻻ ﻳﻘﺪم ﻟﻚ ﺣﻠـﻮل ﻟﻤﺸـﺎآﻠﻚ، ﻓـﻼ ﺗﻜـﻦ ﻣﺒـﺮﻣﺞ ‪Visual‬‬ ‫‪.Basic.NET‬‬ ‫اذا آﻨﺖ ﺳﺘﺴﺘﻤﺮ ﻋﻠﻰ اﺣﺪث اﻻﺻﺪارات 6‪ ،VB‬ﻓﺴﻴﻜﻮن اﻟﻜﺘﺎب ﻣﻨﺎﺳﺐ ﺑﺘﻘﺪﻳﺮ ﺟﻴﺪ‬ ‫ﺟﺪا، اﻣﺎ اذا آﻨﺖ ﻗﺪ ﻓﺮﻏﺖ ﻣﺴﺎﺣﺔ ﻓﻲ ﻗﺮﺻـﻚ اﻟﺼـﻠﺐ ‪ HardDisk‬ﻟﺘﻨﺼـﻴﺐ ‪Visual‬‬ ‫‪ Basic.NET‬ﻋﻠﻴﻬﺎ، ﻓﻘﺪ ﻳﻜﻮن اﻟﻜﺘـﺎب ﻣﻨﺎﺳـﺐ ﺑﺘﻘـﺪﻳﺮ ﻣﻘﺒـﻮل ﻣﺮﺗﻔـﻊ او ﺟﻴـﺪ –ﻋﻠـﻰ‬ ‫اﻻآﺜﺮ، ﻻن اﻟﻔﺎﺋﺪة ﺳﺘﻜﻮن ﻧﻈﺮﻳﺔ وﻟﻴﺲ ﻋﻤﻠﻴﺔ، ﻓﺴﻴﺘﻄﺮق هـﺬا اﻟﻜﺘـﺎب اﻟـﻰ ﺑﻌـﺾ‬ ‫اﻟﻤﻮاﺿﻴﻊ اﻟﺘﻲ ﻗﺪ ﺗﻔﻴﺪك –ﻧﻈﺮﻳﺎ- ﻓﻲ ﻟﻐﺘﻚ اﻟﺠﺪﻳـﺪة آﺎﻟﺒﺮﻣﺠـﺔ آﺎﺋﻨﻴـﺔ اﻟﺘﻮﺟـﻪ ‪OOP‬‬ ‫واﻟﺘﻄﺒﻴﻘــﺎت ﻣﺘﻌــﺪدة اﻟﻄﺒﻘــﺎت ‪ nTied Applications‬واﻟﻤﻜﻮﻧــﺎت اﻟﻤﻮزﻋــﺔ ‪DCOM‬‬ ‫واﻟﻘﻠﻴﻞ ﻣﻦ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت.‬
  • 15. ‫ﻩ‬ ‫ﻣﻮاﺿﻴﻊ اﻟﻜﺘﺎب‬ ‫ﺻﻔﺤﺔ اﻟﻤﺤﺘﻮﻳﺎت اﻋﻄﺘﻚ ﻓﻜﺮة ﻋﺎﻣﺔ ﻋﻦ ﻣﻮاﺿﻴﻊ اﻟﻜﺘﺎب، وهﻨﺎ اﻋﻄﻴﻚ ﻣﻠﺨﺺ ﻻﺟﺰاء‬ ‫اﻟﻜﺘﺎب اﻻرﺑﻌﺔ:‬ ‫اﻟﺠﺰء اﻻول: اﻻﺳﺎﺳﻴﺎت‬ ‫اﻟﻐﺮض واﺿﺢ ﻣﻦ ﻋﻨﻮان اﻟﺠﺰء، ﻓﻬـﻮ ﻳﺒـﺪأ ﺑﺘﻌﺮﻳﻔـﻚ ﻋﻠـﻰ ﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ ﻟــ‬ ‫‪ Visual Basic‬ﻣﻊ آﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺠﻚ اﻻول، ﺛﻢ ﻳﺒﺪأ ﺑﺎﻟﺘﺤﺪث ﻋﻦ اﻟﻨﻤﺎذج واﻻدوات وﺷـﺮح‬ ‫ﺟﻤﻴﻊ ﺧﺼﺎﺋﺼﻬﺎ، ﻃﺮﻗﻬﺎ واﺣﺪاﺛﻬﺎ، ﺛﻢ ﻳﻘﻮى ﻣﻬﺎراﺗﻚ اﻟﺒﺮﻣﺠﻴﺔ ﺳـﻮاء آﺎﻧـﺖ ﻓـﻲ ﻟﻐـﺔ‬ ‫اﻟﺒﺮﻣﺠﺔ ‪ BASIC‬او وﻇﺎﺋﻒ ﻣﻜﺘﺒـﺎت ‪ VB‬و ‪ .VBA‬اﻟﻤﺰﻳـﺪ اﻳﻀـﺎ، ﻳﻨﻘﻠـﻚ هـﺬا اﻟﺠـﺰء اﻟـﻰ‬ ‫اﻟﻤﺮﺣﻠــﺔ اﻟﺜﺎﻧﻴــﺔ وهــﻲ اﻟﺒﺮﻣﺠــﺔ آﺎﺋﻨﻴــﺔ اﻟﺘﻮﺟــﻪ ‪ OOP‬ﻣــﻊ ﺗﻔﺼــﻴﻞ ﻣﺒﺎدﺋﻬــﺎ اﻟــﺜﻼث:‬ ‫اﻟﺘﻐﻠﻴﻒ ‪ ،Encapsulation‬ﺗﻌﺪد اﻟﻮاﺟﻬﺎت ‪ Polymorphism‬واﻟﻮراﺛﺔ ‪.Inheritance‬‬ ‫اﻟﺠﺰء اﻟﺜﺎﻧﻲ: ﺑﺮﻣﺠﺔ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت‬ ‫ﻳﻌﺘﺒـﺮ هـﺬا اﻟﺠـﺰء اﻟﻤـﺪﺧﻞ اﻟـﺮﺋﻴﺲ اﻟـﻰ ﺑﺮﻣﺠـﺔ اﻟﺘﻄﺒﻴﻘـﺎت اﻟﻤﻌﺘﻤـﺪة ﻋﻠـﻰ ﻗﻮاﻋـﺪ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ ـ‬ ‫اﻟﺒﻴﺎﻧﺎت ‪ DataBases‬ﺣﻴﺚ ﻳﺒﺪأ ﺑﺎﺳﺎﺳﻴﺎت ﻃﺮق اﻟﻮﺻﻮل اﻟـﻰ اﻟﺒﻴﺎﻧـﺎت ‪Data Access‬‬ ‫وﻣﻘﺮر ﺳﺮﻳﻊ ﻓﻲ ﻟﻐﺔ اﻻﺳﺘﻌﻼم ‪ ،SQL‬آﻤﺎ ﻳﺨﺘﺺ آﺎﺋﻨﺎت ‪ ADO‬وﻳﺘﻮﻏﻞ ﻓﻲ ﺗﻔﺎﺻـﻴﻞ‬ ‫ﺑﻌﺾ ادوات اﻟﺠﺪاول واﻧﺸﺎء اﻟﺘﻘﺎرﻳﺮ.‬ ‫اﻟﺠﺰء اﻟﺜﺎﻟﺚ: ﻣﻮاﺿﻴﻊ ﻣﺘﻘﺪﻣﺔ‬ ‫ﻻ ﺗﻨﺘﻘﻞ اﻟﻰ هﺬا اﻟﺠﺰء ﺣﺘﻰ ﺗﻜﻮن ﻗﺪ اﺳـﺘﻮﻋﺒﺖ اﻟﺠـﺰء اﻻول ﺑﺸـﻜﻞ ﺟﻴـﺪ، ﻓـﺎﻟﺠﺰء‬ ‫ﻳﺘﻌﺪى اﻓﺎق ‪ Visual Basic‬اﻟﻰ ان ﻳﺼﻞ اﻟﻰ اﻟﺒﺮﻣﺠﺔ ﺑﺎﺳﺘﺨﺪام اﺟﺮاءات ‪ API‬وﻋـﺮض‬ ‫ﺗﻄﺒﻴﻘﺎت ﻋﻤﻠﻴﺔ ﺗﺆدي اﻟﻰ زﻳﺎدة ﻓﺎﻋﻠﻴـﺔ وﻣﺮوﻧـﺔ ﺑﺮاﻣﺠـﻚ، آﻤـﺎ ﻳﺤﺘـﻮي ﻋﻠـﻰ ﻓﺼـﻞ‬ ‫ﺑﻌﻨﻮان "اﻻﺳﺘﺨﺪام اﻟﻤﺘﻘﺪم ﻟﻠﻨﻤﺎذج" ﺣﻴـﺚ ﻳﻈﻬـﺮ ﻟـﻚ اﻣﻜﺎﻧﻴـﺎت اﻟﻨﻤـﺎذج ﺑﻄـﺮق ﻟـﻢ‬ ‫ﺗﺨﻄـﺮ ﻋﻠـﻰ ﺑﺎﻟـﻚ. واﺧـﺘﻢ اﻟﺠـﺰء ﺑﻔﺼـﻠﻴﻦ ﻟﺒﺮﻣﺠـﺔ اﻟﻜﺎﺋﻨـﺎت اﻟﻤﺮآﺒـﺔ ‪ COM‬وآـﻞ ﻣـﺎ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ﺗﺤﺘﺎﺟﻪ ﻟﺘﻄـﻮﻳﺮ ﻣﺸـﺎرﻳﻊ ﻣـﻦ ﻧـﻮع ‪ ActiveX DLL ،ActiveX EXE‬و ‪ ActiveX OCX‬ﻣـﻊ‬ ‫ﻣﻘﺪﻣﺔ اﻟﻰ اﻟﻤﻜﻮﻧﺎت اﻟﻤﻮزﻋﺔ ‪.DCOM‬‬ ‫اﻟﺠﺰء اﻟﺮاﺑﻊ: ﺑﺮﻣﺠﺔ اﻻﻧﺘﺮﻧﺖ‬ ‫وهﻮ اﺻﻐﺮ اﺟﺰاء هﺬا اﻟﻜﺘﺎب، ﻓﻬﻮ ﻳﺤﺘﻮي ﻋﻠﻰ ﻓﺼﻠﻴﻦ اﻻول ﻳﺨﺘﺺ ﺑﺒﺮﻣﺠـﺔ ﺻـﻔﺤﺎت‬ ‫‪ DHTML‬اﻟﺪﻳﻨﺎﻣﻴﻜﻴﺔ وﻣﻘﺪﻣﺔ اﻟﻰ اﻟﻠﻐﺔ اﻟﺼﻐﻴﺮة ‪ ،VBScript‬واﻟﻔﺼﻞ اﻻﺧﺮ ﻳﻨﻘﻠﻚ ﻣـﻦ‬ ‫ﺑﺮﻣﺠــﺔ اﻟﻌﻤﻴــﻞ ‪ Client‬اﻟــﻰ ﺑﺮﻣﺠــﺔ اﻟﺨــﺎدم ‪ Server‬ﺑﺎﺳــﺘﺨﺪام اﻟﺨــﺎدم ‪ IIS‬ﻟﺘﻄــﻮﻳﺮ‬ ‫ﺻﻔﺤﺎت ‪.ASP‬‬
  • 16. ‫و‬ ‫ﻃﺮﻳﻘﺔ ﺗﻨﻈﻴﻢ اﻟﻜﺘﺎب‬ ‫ﻟـﻢ اﺳ ـﺘﺨﺪم ﺳـﻮى اﻟﻄ ـﺮق اﻟﺘﻘﻠﻴﺪﻳ ـﺔ ﻟﺘﻨﻈـﻴﻢ وﺗﻨﺴ ـﻴﻖ ﻣﺤﺘﻮﻳـﺎت اﻟﻜﺘ ـﺎب. ﻓﻀ ـﻠﺖ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫اﺳــﺘﺨﺪام اﻟﺨــﻂ ‪ Tahoma‬ﻟﻮﺿــﻮﺣﻪ ودﻋﻤــﻪ ﻓــﻲ ﺟﻤﻴــﻊ اﻻﺟﻬــﺰة ﻓﻬــﻮ ﻣــﻦ اﻟﻨــﻮع‬ ‫‪ ،UNICODE‬وهﻮ ﻧﻔﺲ اﻟﺨﻂ اﻟﻤﺴﺘﺨﺪم ﻓﻲ آﺘﺎﺑﺔ اﻻآﻮاد، واﻟﺤﺪﻳﺚ ﻋﻦ اﻻآﻮاد ﻓـﻲ‬ ‫هﺬا اﻟﻜﺘﺎب ﻳﺠﺮﻧﻲ اﻟﻰ اﺧﺒﺎرك اﻧﻚ ﻟﻦ ﺗﺠﺪ اﻻآﻮاد اﻟﻤﺴﺘﺨﺪﻣﻪ ﻓﻲ اﻻﻣﺜﻠـﺔ اﻻ ﺑـﻴﻦ‬ ‫ﺻﻔﺤﺎت هﺬا اﻟﻜﺘﺎب، اﻣﺎ ﺑﻌﺾ اﻻﻣﺜﻠﺔ اﻟﻄﻮﻳﻠﺔ او اﻟﺘﻲ ﺗﺘﻄﻠﺐ ﻣﻠﻔﺎت ﻣﺘﻌﺪدة ﻟﺘﻮﺿﻴﺢ‬ ‫ﻓﻜﺮﺗﻬﺎ، ﻓﺎﻟﺮﻣﺰ ﺳﻴﻈﻬﺮ ﻓﻲ اﻋﻠﻰ اﻟﻜﻮد ﻣﻮﺿﺤﺎ ان اﻟﻜﻮد اﻟﺘﺎﻟﻲ ﻣﻮﺟﻮد ﻓﻲ داﺧـﻞ‬ ‫اﻟﻤﻠﻒ اﻟﻤﻀـﻐﻮط ‪ Codes.ZIP‬واﻟـﺬي ﺗﺴـﺘﻄﻴﻊ اﻧﺰاﻟـﻪ ‪ Download‬ﻣـﻦ ﻧﻔـﺲ اﻟﻤﻮﻗـﻊ‬ ‫اﻟﺬي اﻧﺰﻟﺖ اﻟﻜﺘﺎب ﻣﻨﻪ. ﺳﺘﻼﺣﻆ اﻳﻀﺎ اﻧﻨﻲ اﺳﺘﺨﺪم اﻻﻗـﻮاس ] و [ اذا ﻗﺼـﺪت ازرار‬ ‫ﻓﻲ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ آـ ]‪... [ESC] ،[ENTER‬اﻟﺦ. وﺑﺎﻟﻨﺴـﺒﺔ ﻟﻼﺷـﻜﺎل اﻟﺘﻮﺿـﻴﺤﻴﺔ، ﻟـﻢ‬ ‫اآﺜﺮ ﻣﻦ اﺳﺘﺨﺪاﻣﻬﺎ ﺧﺸﻴﺔ ازدﻳﺎد ﻣﺴﺎﺣﺔ ﻣﻠﻒ اﻟﻜﺘﺎب -واﻟﺬي ﻗﺪ اﻓﺼﻞ اﺟﺰاءﻩ اﻟﻰ‬ ‫ﻣﻠﻔﺎت ﻣﺴﺘﻘﻠﺔ رﻏﻢ اﻧﻨﻲ ﻻ اﺣﺒﺬ ذﻟـﻚ، واﻻﺳـﻠﻮب اﻟﻤﻌﺘﻤـﺪ ﻟﺘـﺮﻗﻴﻢ اﻻﺷـﻜﺎل ﻳﺒـﺪأ‬ ‫ﺑﺮﻗﻢ اﻟﻔﺼﻞ ﺛﻢ رﻗﻢ اﻟﺸﻜﻞ ﺑﺬﻟﻚ اﻟﻔﺼﻞ، ﻓﻼ اﻋﺘﻘﺪ اﻧـﻚ ﺗﺮﻳـﺪ اﻟﺒﺤـﺚ ﻋـﻦ اﻟﺸـﻜﻞ‬ ‫8395849 !‬ ‫آﻠﻤﺔ اﺧﻴﺮة‬ ‫ﺑﺎﻻﻋﺘﻤﺎد ﻋﻠﻰ ﻣﺠﻬـﻮدي، ﻓﺎﻧـﻪ ﻳﺴـﺘﺤﻴﻞ ﻋﻠـﻲ آﺘﺎﺑـﺔ وﻟـﻮ ﺣـﺮف واﺣـﺪ ﻣـﻦ ﺣـﺮوف‬ ‫اﻟﻜﺘﺎب ان ﻟﻢ ﻳﻜﺘﺐ اﷲ ﺳﺒﺤﺎﻧﻪ وﺗﻌﺎﻟﻰ اﻟﺘﻮﻓﻴﻖ اوﻻ واﺧﻴﺮا ﻻﺗﻤﺎﻣﻪ. ﻣـﺎ اود ان اﻗﻮﻟـﻪ‬ ‫ﻟ ـﻚ ﻋﺰﻳ ـﺰي اﻟﻘ ـﺎرئ، ان اﻟﻜﺘ ـﺎب اﻟ ـﺬي اﻣ ـﺎم ﻋﻴﻨﻴ ـﻚ ﻗ ـﺪ آﻠﻔﻨ ـﻲ اﻟﻜﺜﻴ ـﺮ واﻟﻜﺜﻴ ـﺮ ﻣ ـﻦ‬ ‫ـ ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫اﻟﻤﺠﻬﻮد اﻟﻌﻘﻠﻲ واﻟﺒﺪﻧﻲ وﻣﺌﺎت ﻣﻦ ﺳـﺎﻋﺎت ﻋﻤـﺮي ﻣﺤـﺎوﻻ ﺗﻘـﺪﻳﻢ ﺷـﺊ ﻟﻠﻤﻜﺘﺒـﺔ‬ ‫اﻟﻌﺮﺑﻴﺔ اﻻﻟﻜﺘﺮوﻧﻴﺔ ﻣﻦ ﺧﻼﻟﻪ. اذا آﺎن اﻟﺘﻔﻜﻴﺮ ﻓﻲ ﻧﺠﺎح هﺬا اﻟﻜﺘﺎب اﻣﺮ ﺑﻌﻴﺪ اﻟﻤـﺪى،‬ ‫ﻓﺤﺴﺒﻲ ان ﻻ ﻳﻔﺸﻞ، وان ﻓﺸـﻞ ﻓﻠـﻴﺲ ﻟـﻲ ﺳـﻮى ان أﻋـﻮد اﻟـﻰ آﺮاﺳـﻲ اﻟﻘـﺮاء‬ ‫ﺑﺎﺣﺜﺎ ﻋﻦ ﻣﺆﻟﻒ ﻋﺮﺑﻲ ﻓﻲ ﻣﻨﺼﺔ اﻟﻜﺘﺎب ﻳﺮﺷﺪﻧﻲ اﻟﻰ ﺿـﺎﻟﺘﻲ ﻓـﻲ ﻣﻮاﺟﻬـﺔ اﻟﻌﺼـﺮ‬ ‫اﻟﺤﺎﻟﻲ ﻟﺘﻘﻨﻴﺔ اﻟﻤﻌﻠﻮﻣﺎت.‬ ‫اﺧﻴﺮا، اود ان اﻋﺘﺬر ﺷﺪﻳﺪ اﻻﻋﺘﺬار ﻋﻦ ﻋﺪم ارﻓﺎق ﺑﺮﻳﺪي اﻻﻟﻜﺘﺮوﻧـﻲ ﻋﻠـﻰ ﺻـﻔﺤﺎت‬ ‫اﻟﻜﺘﺎب -ﻻﺳﺒﺎب ﺷﺨﺼﻴﺔ- رﻏﻢ اﻧﻨﻲ ﻟﺴﺖ ﻣﻠﺰم ﺑﺎرﻓﺎﻗﻪ ﻃﺎﻟﻤﺎ آﻮﻧـﻪ آﺘـﺎب ﻣﺠـﺎﻧﻲ‬ ‫ﻟﻠﺠﻤﻴﻊ، ﻓﻼ ﺗﺘﻮﻗﻊ دﻋﻤﺎ ﻓﻨﻴﺎ ﻣﻨﻲ. آﻤﺎ ارﺟﻮ ان ﻻ ﺗﺤﺎول اﻟﻐﺎء اﺳـﻤﻲ ﻣـﻦ ﺻـﻔﺤﺎت‬ ‫اﻟﻜﺘﺎب واﺳـﺘﺒﺪاﻟﻪ ﺑﺎﺳـﻤﻚ او اﺳـﻢ ﺷـﺨﺺ ﻋﺰﻳـﺰ ﻋﻠـﻰ ﻗﻠﺒـﻚ، ﻓـﺎن ذﻟـﻚ ﻻ ﻳﺮﺳـﻢ‬ ‫اﻻﺑﺘﺴﺎﻣﺔ ﻋﻠﻰ ﺷﻔﺘﺎي.‬ ‫ﺗﺮآﻲ اﻟﻌﺴﻴﺮي‬ ‫اﻟﻈﻬﺮان – ﻳﻨﺎﻳﺮ 2002‬
  • 18. ‫2‬ ‫اﻟﻔﺼﻞ اﻻول‬ ‫ﺗﻌﺮف ﻋﻠﻰ ‪Visual Basic‬‬ ‫ﺑﺴﻢ اﷲ ﻧﺒﺪأ وﻋﻠﻰ ﺑﺮآﺘﻪ ﻧﺴﻴﺮ ﻣﻊ اﻟﺠﻤﻠﺔ ‪ .Visual Basic‬ﺗﺨﺘﻠﻒ وﺟﻬﺎت اﻟﻨﻈﺮ ﺑﻴﻦ‬ ‫اﻟﻤﺒﺮﻣﺠﻴﻦ ﺣـﻮل ﺗﻌﺮﻳـﻒ او ﺗﺼـﻨﻴﻒ ‪ ،Visual Basic‬هـﻞ ‪ Visual Basic‬ﻟﻐـﺔ ﺑﺮﻣﺠـﺔ ام‬ ‫ﺑﺮﻧﺎﻣﺞ ﺗﺼﻤﻴﻢ ﻧﻮاﻓـﺬ ام ﻣﻨـﺘﺞ ﻣﺘﻜﺎﻣـﻞ؟ ﺗﻘﻨﻴـﺎ، ‪ Visual Basic‬ﻋﺒـﺎرة ﻋـﻦ ﻣﻜﺘﺒـﺔ ﻣـﻦ‬ ‫اﻟﻤﻜﺘﺒﺎت ﺗﻮﻓﺮ ﻋﺪة اواﻣﺮ ﺑﺮﻣﺠﻴﺔ ﻣﺘﻜﺎﻣﻠﺔ ﻣﻊ اﺑﻨﺘﻬـﺎ ‪– Visual Basic for Application‬‬ ‫ﺗﺨﺘﺼﺮ ‪ .VBA‬اﻻ ان اﻟﻤﺘﻌﺎرف ﻋﻠﻴﻪ ﺑﻴﻦ اﻟﻤﺒـﺮﻣﺠﻴﻦ هـﻮ ان ‪ Visual Basic‬ﻟﻐـﺔ ﺑﺮﻣﺠـﺔ‬ ‫وﺑﺮﻧﺎﻣﺞ ﺗﺼﻤﻴﻢ ﻧﻮاﻓﺬ وﻣﻜﺘﺒﺎت ﺗﺸﻐﻴﻠﻴﺔ، أي ﺑﺎﺧﺘﺼﺎر هﻮ ﻣﻨﺘﺞ ﻣﺘﻜﺎﻣﻞ. ﻟﺬﻟﻚ، ﻋﻨﺪﻣﺎ‬ ‫اﺗﺤﺪث ﻋﻦ ‪ Visual Basic‬ﻓﻲ هﺬا اﻟﻜﺘﺎب ﻓﺎﻧﻨﻲ اﻗﺼﺪ ﺟﻤﻴﻊ اﻟﺘﻌﺮﻳﻔﺎت اﻟﺴﺎﺑﻘﺔ، ﻓﻠﻮ‬ ‫ذآﺮت ﻣﺰاﻳﺎ ﻟﻐﺔ ‪ Visual Basic‬ﻓـﺎﻧﻨﻲ اﻗﺼـﺪ اﻟﻠﻐـﺔ اﻟﺤﻨﻮﻧـﺔ ‪ ،BASIC‬وﻟـﻮ ﺗﺤـﺪﺛﺖ ﻋـﻦ‬ ‫دوال واﺟﺮاءات ‪ Visual Basic‬ﻓﺎﻧﻨﻲ اﻟﻤﺢ اﻟﻰ ﻣﻜﺘﺒﺎت ‪ Visual Basic‬اﻟﺘﺸـﻐﻴﻠﻴﺔ، وﻟـﻮ‬ ‫ﺗﻄﺮﻗﺖ اﻟﻰ ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ ﻟـ ‪– Visual Basic‬آﻤﺎ ﻓﻲ اﻟﻔﻘـﺮة اﻟﺘﺎﻟﻴـﺔ- ﻓـﺎﻧﻨﻲ‬ ‫اﻗﺼﺪ ﺑﺮﻧﺎﻣﺞ ﺗﺼﻤﻴﻢ اﻟﻨﻮاﻓﺬ.‬ ‫ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ ‪IDE‬‬ ‫ﺑﺮاﻣﺠﻚ وﻣﺸﺎرﻳﻌﻚ ﺗﺴﺘﻄﻴﻊ اﻧﺠﺎزهﺎ ﺑﺎﺳﺘﺨﺪام اﺑﺴـﻂ ﺑﺮﻧـﺎﻣﺞ ﻳـﺄﺗﻲ ﻣـﻊ ‪Windows‬‬ ‫واﻟــﺬي ﻳــﺪﻋﻰ ‪ .Notepad‬اﻻ اﻧﻨــﻲ –وﷲ اﻟﺤﻤــﺪ- ﻟــﻢ اﻗﺎﺑــﻞ ذﻟــﻚ اﻟﺸــﺨﺺ اﻟــﺬي‬ ‫ﻳﺴﺘﺨﺪم اﻟـ ‪ Notepad‬آﻲ ﻳﺼﻤﻢ ﺑﺮﻧﺎﻣﺞ ﻳﻨﻔﺬ ﺗﺤﺖ ‪ .Visual Basic‬ﻻن ‪Visual Basic‬‬ ‫ﻳـﻮﻓﺮ ﻟـﻚ ادوات ﻓـﻲ ﻗﻤـﺔ اﻟﺮوﻋـﺔ ﻣﺠﺘﻤﻌـﺔ ﺗﺤـﺖ ﻣﺴـﻤﻰ ﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫‪– Integrated Development Environment‬ﺗﺨﺘﺼـﺮ ‪ -IDE‬ﺗـﻮﻓﺮ ﻟـﻚ آـﻞ ﻣـﺎ ﺗﺤﺘﺎﺟـﻪ‬ ‫ﻟﺘﺼﻤﻴﻢ ﻧﻮاﻓﺬ وآﺘﺎﺑﺔ اآﻮاد ﺑﺮاﻣﺠﻚ. ﺑﻞ ﺗﻘﺪم ﻟـﻚ ﺧـﺪﻣﺎت –ﺧﻤـﺲ ﻧﺠـﻮم- اآﺜـﺮ ﻣـﻦ‬ ‫ذﻟﻚ، آﺨﺪﻣـﺔ اﻟﺘﻨﻘـﻴﺢ ‪ ،Debugging‬ادارة ﻣﻠﻔـﺎت ﻣﺸـﺮوﻋﻚ، ﺗﺤﺮﻳـﺮ اﻟﻘـﻮاﺋﻢ، ﺗﻌـﺪﻳﻞ‬ ‫وإﻧﺸﺎء ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت ... اﻟﺦ ﺷﻜﻞ 1-1.‬
  • 19. ‫3‬ ‫ﺷﻜﻞ 1-1: ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ ﻟـ ‪.Visual Basic‬‬ ‫اذا آﻨﺖ ﺟﺪﻳﺪا ﻋﻠﻰ هﺬﻩ اﻟﺒﻴﺌﺔ –أي ﻟﻢ ﺗﺴﺘﺨﺪم 5‪ -VB‬ﻓﻤﻦ اﻟﻀﺮوري اﻟـﺘﻤﻌﻦ ﻓـﻲ‬ ‫آﻠﻤﺎت هﺬا اﻟﻔﺼـﻞ ﺑﺎﻟـﺬات واﻻ ﻓﺎﻧـﻚ ﻟـﻦ ﺗـﺪل اﻟﻄـﺮق اﻟﻤﺆدﻳـﺔ اﻟـﻰ ﺳـﺎﺣﺔ اﻟﻌﻤـﻞ.‬ ‫اﻟﻄﺮق ﺳﺘﻜﻮن ﻧﻮاﻓﺬ ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ، واﻟﻌﻤﻞ هﻮ اﻟﺴﺒﺐ اﻟﺬي ﺟﻌﻠﻚ –ﻋﻠﻰ ﻣﺎ اﻋﺘﻘـﺪ-‬ ‫ﺗﻘﺮأ هﺬا اﻟﻜﺘﺎب.‬ ‫آﻤﺎ ﺗﻼﺣﻆ ﻓﻲ ﺷﻜﻞ 1-1، ﺗﺤﺘﻮي ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ ﻋﻠﻰ اﻟﻜﺜﻴﺮ ﻣـﻦ اﻟﻨﻮاﻓـﺬ اﻟﻤﺤﻀـﻮﻧﺔ‬ ‫ﺑﻬــﺎ ‪ Child Windows‬واﻟﻌﺪﻳــﺪ ﻣــﻦ اﻟﻘــﻮاﺋﻢ ‪ Menus‬وﻣﺠﻤﻮﻋــﺎت ﻣــﻦ اﻻزرار ﺗــﺪﻋﻰ‬ ‫اﺷﺮﻃﺔ اﻻدوات ‪ ،Toolbars‬واﻟﻴﻚ ﻳﺎ ﺳﻴﺪي ﺗﻔﺎﺻﻴﻠﻬﺎ:‬ ‫ﻧﻮاﻓﺬ ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ‬ ‫اذا آﻨﺖ ﻣﻦ ﺟﻴﻞ ﻣﺒﺮﻣﺠﻲ ‪ Visual Basic‬اﻻﺻﺪار اﻟﺨﺎﻣﺲ ﻓﺎﻧﺘﻘﻞ اﻟـﻰ ﻓﻘـﺮة "ﻧﺎﻓـﺬة‬ ‫ﻋﺮض اﻟﺒﻴﺎﻧﺎت ‪ "Data View‬ﻻﻧﻪ ﻻ ﻳﻮﺟﺪ أي ﺷﺊ ﺟﺪﻳﺪ اوﺿﺤﻪ ﻟﻚ هﻨﺎ. اﻣﺎ ان آﻨـﺖ‬ ‫ﻣﻦ اﻻﺟﻴﺎل اﻻﻗـﺪم، ﻓـﺎول ﺷـﺊ ﻗـﺪ ﻳﺸـﺪ اﻧﺘﺒﺎهـﻚ هـﻮ أن اﻟﻨﺎﻓـﺬة اﻟﺮﺋﻴﺴـﻴﺔ ﻟﺒﻴﺌـﺔ‬ ‫اﻟﺘﻄـﻮﻳﺮ اﺻـﺒﺤﺖ ﻣـﻦ اﻟﻨـﻮع ﻣﺘﻌـﺪد اﻟﻤﺴـﺘﻨﺪات ‪– Multiple Document Interface‬‬ ‫ﺗﺨﺘﺼﺮ ‪ ،MDI‬وﺳﺘﻼﺣﻆ اﺷـﺘﻤﺎﻟﻬﺎ ﻋﻠـﻰ ﻧﻮاﻓـﺬ ﺟﺪﻳـﺪة، ﺑﺎﻻﺿـﺎﻓﺔ إﻟـﻰ ﺗﻄـﻮﻳﺮ ﺑﻌـﺾ‬ ‫اﻟﻨﻮاﻓﺬ اﻟﺴﺎﺑﻘﺔ آﻨﺎﻓﺬة ﻣﺴﺘﻜﺸﻒ اﻟﻤﺸـﺮوع او اﻟﺨﺼـﺎﺋﺺ. واول ﻧﺎﻓـﺬة ﺳـﻨﺒﺪأ ﺑﻬـﺎ‬ ‫هﻲ ﻣﻦ اﻟﻨﻮاﻓﺬ اﻟﺠﺪﻳﺪة:‬
  • 20. ‫4‬ ‫ﻧﺎﻓﺬة ﻣﺸﺮوع ﺟﺪﻳﺪ ‪New Project‬‬ ‫ﻋﻨﺪﻣﺎ ﺗﻘﻮم ﺑﺘﺸﻐﻴﻞ ﻣﻨﺼﺔ اﻟﻌﻤﻞ ‪ Visual Basic‬ﻻول ﻣﺮة، ﻓﺎن ﻟﻬﺬﻩ اﻟﻨﺎﻓﺬة اﺣﺘﻤـﺎل‬ ‫ﻣﺆآ ـﺪ ﻟﻠﻈﻬ ـﻮر. ﻓﻌ ـﻦ ﻃﺮﻳﻘﻬ ـﺎ ﺗﺴ ـﺘﻄﻴﻊ اﻻﺧﺘﻴ ـﺎر ﺑ ـﻴﻦ أﻧ ـﻮاع ﻋ ـﺪة ﻣ ـﻦ اﻟﻤﺸ ـﺎرﻳﻊ آ ــ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫‪ .... ActiveX DLL ،ActiveX EXE ،Standard EXE‬اﻟﺦ. ﺣﺪد اﻟﻨﻮع ‪ Standard EXE‬ﺛﻢ‬ ‫اﻧﻘﺮ ﻋﻠﻰ اﻟﺰر ‪ Open‬او اﺿـﻐﻂ ﻋﻠـﻰ اﻟﻤﻔﺘـﺎح ]‪ .[ENTER‬ﻓﺎﻟﻘﺎﻋـﺪة اﻟﺴـﺎﺋﺪة ﻟﺠﻤﻴـﻊ‬ ‫آﺘﺐ ‪ Visual Basic‬اﻟﺘﻌﺮﻳﻔﻴﺔ ﺗﺒﺪأ اﻟﺸﺮح داﺋﻤﺎ ﺑﺎﻟﻨﻮع ‪ Standard EXE‬وﻟـﻦ اﺷـﺬ ﻋـﻦ‬ ‫هﺬﻩ اﻟﻘﺎﻋﺪة، ﻓﺎﻧﺖ ﻻ ﺗﺮﻳﺪ ﻣﻌﺮﻓﺔ ﻃﺮﻳﻘﺔ ﻃﺒﺦ اﻟﻜﺒﺴﺔ ﻗﺒﻞ ان ﺗﺘﻌﻠﻢ ﻗﻠﻲ اﻟﺒﻴﺾ!‬ ‫اذا آﺎﻧﺖ هﺬﻩ اﻟﻨﺎﻓﺬة ﺗﺴﺒﺐ ﻟﻚ ازﻋﺎج -وﻟﻮ ﺑﺴﻴﻂ- ﻓﻲ آﻞ ﻣﺮة ﺗﺸﻐﻞ ﻓﻴﻬـﺎ ‪Visual‬‬ ‫‪ ،Basic‬ﺗﺴـﺘﻄﻴﻊ اﻟﻐـﺎء ﻓﻜـﺮة ﻇﻬﻮرهـﺎ ﻋـﻦ ﻃﺮﻳـﻖ ﺗﺤﺪﻳـﺪ اﻟﺨﻴـﺎر ‪Don’t show this‬‬ ‫‪ dialog in the future‬اﻟﻤﻮﺟﻮد ﻓﻲ اﺳﻔﻠﻬﺎ ﺣﺘﻰ ﻻ ﺗﻌﻜﺮ ﻣﺰاﺟـﻚ، وﺗﻜـﻮن رﻓﻴﻘـﺎ ﻟـﻲ‬ ‫ﺣﺘﻰ ﻧﻬﺎﻳﺔ اﻟﻜﺘﺎب.‬ ‫إذا ﻟﻢ ﻳﺮق ﻟﻚ هﺬا اﻟﺘﻐﻴﻴﺮ، واردت اﻟﻌﻮدة إﻟﻰ اﻟﻮﺿﻊ اﻟﺴﺎﺑﻖ، ﻓﺎﺧﺘﺮ‬ ‫ﻣﻼﺣﻈﺔ:‬ ‫اﻷﻣﺮ …‪ Options‬ﻣﻦ ﻗﺎﺋﻤﺔ ‪ ،Tools‬وﻣﻦ ﻣﺮﺑﻊ اﻟﺤﻮار اﻟﺬي ﻳﻈﻬﺮ‬ ‫اﻣﺎﻣﻚ اﺧﺘﺮ ﺗﺒﻮﻳﺐ ُ‪ ،Environment‬واﻧﻘﺮ ﻋﻠﻰ اﻟﺨﻴﺎر ‪Prompt for‬‬ ‫‪.project‬‬ ‫ﻧﺎﻓﺬة ﻣﺼﻤﻢ اﻟﻨﻤﺎذج ‪Form Designer‬‬ ‫هﺬﻩ اﻟﻨﺎﻓـﺬة ﺗﻌﺘﺒـﺮ ﺳـﺮ ﻧﺠـﺎح ‪ ،Visual Basic‬وهـﻲ اﺷـﻬﺮ ﻧﻮاﻓـﺬ ‪ Visual Basic‬ﻣﻨـﺬ‬ ‫اﻻﺻﺪار اﻻول ﻣﻊ اﻟﻌﻨﻮان اﻻﺑﺘﺪاﺋﻲ ﻟﻬﺎ 1‪ .Form‬ﻋﻦ ﻃﺮﻳﻖ هﺬﻩ اﻟﻨﺎﻓﺬة ﺗﻘـﻮم ﺑﻌﻤﻠﻴـﺔ‬ ‫ﺗﺼﻤﻴﻢ واﺟﻬﺔ ﺑﺮﻧﺎﻣﺠﻚ اﻣﺎ ﺑﺘﻌﺪﻳﻞ ﺧﺼﺎﺋﺼـﻬﺎ او وﺿـﻊ ﺑﺎﻗـﺔ ادوات ﻋﻠﻴﻬـﺎ ﺑﺎﺳـﺘﺨﺪام‬ ‫اﻟﻔـ ـﺄرة ‪ Mouse‬ﻣﺒﻴﻨـ ـﺔ ﻟـ ـﻚ ﻗـ ـﻮة وﻧﺠـ ـﺎح ﻓﻜـ ـﺮة ﻟﻐـ ـﺎت اﻟﺒﺮﻣﺠـ ـﺔ اﻟﻤﺮﺋﻴـ ـﺔ ‪Visual‬‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ ـ‬ ‫ـ‬ ‫‪ .Programming Languages‬ﻓﻘﺪ اﻧﺘﻬﻰ ﻋﺼﺮ ﺗﺼﻤﻴﻢ اﻟﺸﺎﺷﺎت ﺑﺎﻻآﻮاد او ﺗﻌﻠﻴﻤـﺎت‬ ‫اﻟﻤﺎآﺮو ‪ Macro‬آﻤﺎ آﻨﺎ ﻧﻔﻌﻞ ﻓﻲ زﻣﻦ اﻗﺮاص 52.5 واﺷﺮﻃﺔ اﻟﺘﺴﺠﻴﻞ ‪.Tapes‬‬ ‫ﻃﺮﻳﻘﺔ وﺿﻊ اﻻدوات ﻋﻠﻰ ﻧﺎﻓﺬة اﻟﻨﻤﻮذج اﺷﺒﻪ ﻣـﺎ ﺗﻜـﻮن ﺑﻌﻤﻠﻴـﺔ رﺳـﻢ ﻣﺮﺑﻌـﺎت آﻤـﺎ‬ ‫ﻓﻲ ﺑﺮﻧﺎﻣﺞ اﻟﺮﺳﺎم ‪ .Paint‬اﻟﻤﺰﻳـﺪ اﻳﻀـﺎ، ﻋﻤﻠﻴـﺎت اﻟﺘﺤﺮﻳـﺮ آﺎﻟﻨﺴـﺦ واﻟﻠﺼـﻖ واﻟﻘـﺺ‬ ‫ﻣﺪﻋﻮﻣﺔ ﻋﻠﻰ ﺟﻤﻴﻊ اﻻدوات اﻟﺘﻲ ﺗﻀﻌﻬﺎ.‬ ‫ﻧﺎﻓﺬة اﻟﻨﻤﻮذج هﻲ اﺳﻢ ﻣﺨﺘﺼﺮ ﻣﻦ ﻧﺎﻓﺬة ﻣﺼﻤﻢ اﻟﻨﻤـﺎذج واﻟﻤﻘﺼـﺪ‬ ‫ﻣﻼﺣﻈﺔ:‬ ‫واﺣﺪ. ﻟﺬﻟﻚ، ﺳﺘﻼﺣﻆ اﻧﻨﻲ اﺳﺘﺨﺪم اﻟﻤﺼـﻄﻠﺢ ﻧﺎﻓـﺬة اﻟﻨﻤـﻮذج ﻓـﻲ‬ ‫آﺂﻓﺔ ارﺟﺎء اﻟﻜﺘﺎب .‬
  • 21. ‫5‬ ‫ﻧﺎﻓﺬة ﺻﻨﺪوق اﻻدوات ‪Toolbox‬‬ ‫ﺑﻌﺪ ان ﺗﻈﻬﺮ ﻟﻨﺎ ﻧﺎﻓﺬة اﻟﻨﻤﻮذج اﻟﺴﺎﺑﻘﺔ، ﻓﺎن ﺷـﻬﻮة وﺿـﻊ اﻻدوات ﻋﻠﻴﻬـﺎ ﺗﺼـﻞ اﻟـﻰ‬ ‫ﻗﻤﺘﻬ ـﺎ. واﻻدوات ﻣﻮﺟ ـﻮدة ﻓ ـﻲ ﻧﺎﻓ ـﺬة ﺻ ـﻨﺪوق اﻻدوات ‪ Toolbox‬ﺷ ـﻜﻞ 1-2 اﻟﺘ ـﻲ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ﺗﻌﺮض ﻟﻚ 02 أداة ﻗﻴﺎﺳﻴﺔ ﻣﺪﻣﺠﺔ ﻓﻲ ﺟﻤﻴﻊ ﺑﺮاﻣﺠﻚ اﻟﻤﺼﻤﻤﺔ ﺗﺤﺖ ‪،Visual Basic‬‬ ‫وﻗﺪ ﺗﺤﺘﻮي ﻋﻠـﻰ ﻣﺠﻤﻮﻋـﺔ ادوات اﺿـﺎﻓﻴﺔ ﺗـﺪﻋﻰ ‪- ActiveX Controls‬ﻣـﺎزال اﻟﻮﻗـﺖ‬ ‫ﻣﺒﻜﺮا ﺟﺪا ﻟﻠﺤﺪﻳﺚ ﻋﻨﻬﺎ. ﻣﻊ ان اﻻدوات ﻋﺪدهﺎ 02 أداة اﻻ اﻧﻪ ﻳﻮﺟـﺪ 12 زر ‪،Buttons‬‬ ‫هﺬا اﻟﺰر اﻻﺿﺎﻓﻲ ﻣﻮﺟﻮد ﻓﻲ اﻟﺮآﻦ اﻟﻌﻠﻮي اﻻﻳﺴﺮ ﻣـﻦ اﻻدوات ﻋﻠـﻰ ﺷـﻜﻞ ﻣﺆﺷـﺮ‬ ‫‪ Pointer‬وﻇﻴﻔﺘﻪ اﻻﺳﺎﺳﻴﺔ اﻟﻐﺎء ﻋﻤﻠﻴﺔ ﻃﻠﺐ رﺳﻢ أداة. ﻻ ﺗﺸﻐﻞ ﻧﻔﺴﻚ ﺑـﻪ آﺜﻴـﺮا،‬ ‫ﻓﻬﻮ ﻳﻀﻐﻂ ﻧﻔﺴﻪ ﺗﻠﻘﺎﺋﻴﺎ ﺑﻤﺠﺮد اﻧﺘﻬﺎﺋﻚ ﻣﻦ ﻋﻤﻠﻴﺔ رﺳـﻢ او وﺿـﻊ اﻷداة ﻋﻠـﻰ ﻧﺎﻓـﺬة‬ ‫اﻟﻨﻤﻮذج.‬ ‫ﺷﻜﻞ 1-2: ﺻﻨﺪوق اﻻدوات ‪.Toolbox‬‬ ‫اذا آ ـﺎن ﻋ ـﺪد اﻻدوات اﻟﻤﻮﺟ ـﻮدة ﻓ ـﻲ ﺻ ـﻨﺪوق اﻻدوات آﺒﻴ ـﺮا ﺟ ـﺪا، ﻓﻴﻔﻀ ـﻞ ان ﺗﻘ ـﻮم‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ﺑﻌﻤﻠﻴﺔ ﺗﻘﺴﻴﻢ اﻻدوات اﻟﻰ ﻣﺠﻤﻮﻋـﺎت ﺗﺨﺘﻔـﻲ وﺗﻈﻬـﺮ ﻣﺘـﻰ ﻣـﺎ ﺷـﺌﺖ ﻋـﻦ ﻃﺮﻳـﻖ‬ ‫اﻟﻨﻘﺮ ﺑﺰر اﻟﻔـﺄرة اﻻﻳﻤـﻦ ﻋﻠـﻰ ﻧﺎﻓـﺬة ﺻـﻨﺪوق اﻻدوات واﺧﺘﻴـﺎر اﻻﻣـﺮ …‪ Add Tab‬ﻣـﻦ‬ ‫اﻟﻘﺎﺋﻤـﺔ اﻟﻤﻨﺴـﺪﻟﺔ وﻣـﻦ ﺛـﻢ آﺘﺎﺑـﺔ اﺳـﻢ اﻟﻤﺠﻤﻮﻋـﺔ. ﻃﺮﻳﻘـﺔ ﺗﻨﻈـﻴﻢ ﻣﺤﺘﻮﻳـﺎت آـﻞ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ﻣﺠﻤﻮﻋﺔ ﺗﺘﺒﻊ اﺳـﻠﻮب اﻟﺴـﺤﺐ واﻻﻟﻘـﺎء ‪ Drag & Drop‬وهـﻮ ﻧﻔـﺲ اﻻﺳـﻠﻮب اﻟـﺬي‬ ‫ﺗﺘﺒﻌﻪ ﻟﻨﺴﺦ او ﻧﻘﻞ ﻣﻠﻔﺎت ﺟﻬﺎزك. اﺧﻴﺮا، اذا اردت ﺣﺬف اﻟﻤﺠﻤﻮﻋﺔ، ﻗﻢ ﺑﺎﻟﻨﻘﺮ ﻋﻠـﻰ‬ ‫اﺳﻢ اﻟﻤﺠﻤﻮﻋﺔ ﺑﺰر اﻟﻔﺄرة اﻻﻳﻤﻦ واﺧﺘﻴﺎر اﻻﻣﺮ ‪ Delete Tab‬ﻣﻦ اﻟﻘﺎﺋﻤـﺔ اﻟﻤﻨﺴـﺪﻟﺔ،‬ ‫ﻣﻊ اﻟﻌﻠﻢ ان اﻟﻤﺠﻤﻮﻋﺔ اﻟﺮﺋﻴﺴﺔ واﻟﺘﻲ ﺗﺴﻤﻰ ‪ General‬ﻟﻦ ﺗﺘﻤﻜﻦ ﻣﻦ ﺣﺬﻓﻬﺎ.‬ ‫ﻳﺒﺪو اﻧﻨﻲ ﻧﺴﻴﺖ ﻧﻘﻄﺔ ﻣﻬﻤﺔ وهﻲ آﻴـﻒ ﺗﻌـﺮض ﻧﺎﻓـﺬة ﺻـﻨﺪوق اﻻدوات ﻓـﻲ ﺣﺎﻟـﺔ‬ ‫اﻏﻼﻗﻬﺎ، ﻳﺘﻢ ذﻟﻚ ﻋﻦ ﻃﺮﻳﻖ اﺧﺘﻴﺎر اﻻﻣﺮ ‪ Toolbox‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ ‪.View‬‬ ‫ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ ‪Properties Windows‬‬ ‫ﺑﻤﺠﺮد اﻧﺘﻬﺎﺋﻚ ﻣﻦ وﺿﻊ اﻷداة ﻋﻠﻰ ﻧﺎﻓﺬة اﻟﻨﻤﻮذج، ﻓﺎن ﻋﻴﻨﻴـﻚ ﺳـﺘﺒﺤﺚ ﻋـﻦ ﻣﻮﻗـﻊ‬ ‫ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ واﻟﺘﻲ ﻣﻦ ﺧﻼﻟﻬﺎ ﺳﺘﺘﻤﻜﻦ ﻣﻦ ﺗﻌﺪﻳﻞ ﺧﺼﺎﺋﺺ اﻷداة او ﺣﺘﻰ ﻧﺎﻓـﺬة‬
  • 22. ‫6‬ ‫اﻟﻨﻤﻮذج ‪ ،Form‬ﻣﻦ هﺬﻩ اﻟﺨﺼﺎﺋﺺ اﻟﺤﺠﻢ، اﻟﻤﻮﻗﻊ، اﻟﻠﻮن، اﻟﻌﻨﻮان .... اﻟﺦ. اذا آﺎﻧـﺖ‬ ‫هﺬﻩ اﻟﻨﺎﻓﺬة ﻣﺨﻔﻴﺔ اﺧﺘﺮ اﻻﻣﺮ ‪ Properties Window‬ﻣﻦ ﻗﺎﺋﻤﺔ ‪ View‬او اﺿـﻐﻂ ﻋﻠـﻰ‬ ‫اﻟﻤﻔﺘﺎح ]4‪.[F‬‬ ‫ﻓﻲ اﻋﻠﻰ اﻟﻨﺎﻓﺬة ﻳﻮﺟﺪ ﻗﺎﺋﻤﺔ ﺗﺴﻤﻰ ﻓﻲ ﻋﺎﻟﻢ ‪ Visual Basic‬ﺑـﺄداة اﻟــ ‪ComboBox‬‬ ‫ﺗﻤﻜﻨﻚ ﻣﻦ ﺗﺤﺪﻳﺪ اﻟﻜﺎﺋﻦ او اﻷداة اﻟﺘﻲ ﺗـﻮد ﻋـﺮض ﺧﺼﺎﺋﺼـﻬﺎ. ﺑﺎﻣﻜﺎﻧـﻚ ﺗﺤﺪﻳـﺪ اﻷداة‬ ‫ﻣﺒﺎﺷـﺮة ﺑـﺎﻟﻨﻘﺮ ﻋﻠﻴﻬـﺎ -وهـﻲ ﻋﻠـﻰ ﻧﺎﻓـﺬة اﻟﻨﻤـﻮذج- وﺳـﺘﻼﺣﻆ ان ﻣﺤﺘﻮﻳـﺎت ﻧﺎﻓـﺬة‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ ـ‬ ‫اﻟﺨﺼﺎﺋﺺ ﻗﺪ ﺗﻐﻴﺮت. اﻟﻤﺰﻳﺪ اﻳﻀﺎ، ﻳﻤﻜﻨﻚ اﺧﺘﻴﺎر ﻃﺮﻳﻘﺔ ﺗﺮﺗﻴـﺐ ﺟـﺪول اﻟﺨﺼـﺎﺋﺺ اﻣـﺎ‬ ‫ﺗﺮﺗﻴﺐ اﺑﺠﺪي ‪ Alphabetic‬او ﻣﺼﻨﻒ ‪ .Categorized‬وﺑﺎﻟﻨﺴـﺒﺔ ﻟﻠﺠـﺪول، ﻓـﺎن اﻟﻌﻤـﻮد‬ ‫اﻻﻳﺴﺮ ﻳﻌﺮض ﻟﻚ اﻟﺨﺼﺎﺋﺺ اﻟﻤﺘﻮﻓﺮة ﻟﻸداة اﻣﺎ اﻻﻳﻤﻦ ﻓﻴﻌﺮض ﻗﻴﻤﺔ آﻞ ﺧﺎﺻـﻴﺔ ﻣـﻦ‬ ‫هﺬﻩ اﻟﺨﺼﺎﺋﺺ. ﺑﻌﺾ اﻟﺨﺼـﺎﺋﺺ ﺗﺴـﺘﻄﻴﻊ ﺗﻌـﺪﻳﻠﻬﺎ ﻣﺒﺎﺷـﺮة ﺑﻜﺘﺎﺑـﺔ ﻗﻴﻤـﺔ ﻋﺪدﻳـﺔ او‬ ‫ﺣﺮﻓﻴﺔ آـ ‪ ،Caption‬وﺑﻌﻀﻬﺎ ﻋﻠﻴﻚ اﺧﺘﻴﺎر ﻗﻴﻤﺔ ﻣﻦ ﻋـﺪة ﻗـﻴﻢ آــ ‪ Visible‬او ﻟـﻮن ﻣـﻦ‬ ‫ﻣﺠﻤﻮﻋﺔ ﻟﻮح اﻻﻟﻮان آـ ‪ ،BackColor‬وهﻨـﺎك ﻧـﻮع ﻳﻈﻬـﺮ ﻟـﻚ ﻣﺮﺑـﻊ ﺻـﻐﻴﺮ ﻓـﻲ اﻗﺼـﻰ‬ ‫ﻳﻤﻴﻦ اﻟﻌﻤﻮد ﻣﻜﺘﻮب ﻋﻠﻴﻪ ﺛـﻼث ﻧﻘـﺎط "..." ﻳﻘﺼـﺪ ﺑـﻪ ﺻـﻨﺪوق ﺣـﻮار ‪ Dialog Box‬ﻟـﻪ‬ ‫ﺧﻴﺎرات اﺿﺎﻓﻴﺔ آﺎﻟﺨﺎﺻﻴﺔ ‪.Font‬‬ ‫ﻧﺎﻓﺬة ﻣﺴﺘﻜﺸﻒ اﻟﻤﺸﺮوع ‪Project Explorer‬‬ ‫ﺗﺰداد اهﻤﻴﺔ هﺬﻩ اﻟﻨﺎﻓﺬة ﺑﺎزدﻳـﺎد ﻋـﺪد اﻟﻤﻠﻔـﺎت اﻟﺘﺎﺑﻌـﺔ ﻟﻤﺸـﺮوﻋﻚ، ﻓﻬـﻲ اﻟﻮﺳـﻴﻠﺔ‬ ‫اﻟﻮﺣﻴﺪة اﻟﺘﻲ ﺗﻤﻜﻨﻚ ﻣﻦ ﻋﺮض ﻣﺤﺘﻮﻳﺎت ﻣﺸﺮوﻋﻚ ﻣﺮﺗﺒﺔ ﻋﻠﻰ ﺷﻜﻞ ﺷﺠﺮي ﺑﺮﻣـﻮز‬ ‫ﻣﺨﺘﻠﻔﺔ ﺗﺠﺪ ﺷﺮﺣﺎ ﻣﻔﺼﻼ ﻟﻬﺎ ﻓﻲ ﻣﻠﻒ اﻟﺘﻌﻠﻴﻤﺎت. ﺗﺴـﺘﻄﻴﻊ اﻟﻮﺻـﻮل اﻟـﻰ اﻟﺼـﻔﺤﺔ‬ ‫اﻟﺘﻲ اﻗﺼﺪهﺎ ﻋﻦ ﻃﺮﻳﻖ ﺗﺤﺪﻳﺪ اﻟﻨﺎﻓﺬة وﻣـﻦ ﺛـﻢ اﻟﻀـﻐﻂ ﻋﻠـﻰ اﻟﻤﻔﺘـﺎح ]1‪ .[F‬ان ﻟـﻢ‬ ‫ﺗﻜ ـﻦ ﻧﺎﻓ ـﺬة ﻣﺴﺘﻜﺸ ـﻒ اﻟﻤﺸ ـﺮوع ﻇ ـﺎهﺮة اﻣﺎﻣ ـﻚ، ﺗﺴ ـﺘﻄﻴﻊ ﻋﺮﺿ ـﻬﺎ ﺑﺎﺧﺘﻴ ـﺎر اﻻﻣ ـﺮ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫‪ Project Explorer‬ﻣﻦ ﻗﺎﺋﻤﺔ ‪ View‬او اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﻤﻔﺎﺗﻴﺢ ]‪.[Ctrl +R‬‬ ‫ﻧﺎﻓﺬة ﻣﺤﺮر اﻻآﻮاد ‪Code Window‬‬ ‫ﺑﻤﺎ ان ‪ Visual Basic‬ﻟﻐﺔ ﺑﺮﻣﺠﺔ، ﻓﺒﻜﻞ ﺗﺄآﻴﺪ ﻋﻠﻴﻚ آﺘﺎﺑﺔ اآﻮاد وﺗﻌﻠﻴﻤـﺎت اﻟﻠﻐـﺔ. ﻋـﻦ‬ ‫ﻃﺮﻳﻖ ﻧﺎﻓﺬة ﻣﺤﺮر اﻻآﻮاد ﻳﻤﻜﻨﻚ ﻋﻤﻞ ذﻟﻚ، ﻓﻬﻲ ﺗﻮﻓﺮ ﻟﻚ ﻣﺤﺮر ﺑﺮﻣﺠـﻲ ذآـﻲ ﺟـﺪا‬ ‫وﻣﻨﺴﻖ آﻠﻤﺎت ﻳﻔﺘﺢ ﻧﻔﺲ اﻟﻤﺒﺮﻣﺞ ﻟﻜﺘﺎﺑﺔ اﻻآﻮاد. ﻣـﻦ اﻟﻤﻨﺎﺳـﺐ ان اﻧـﻮﻩ هﻨـﺎ ﺑـﺎن‬ ‫ﺑﻌﺾ اﻟﻤﺒﺮﻣﺠﻴﻦ اﻟﻌﺮب اﻟـﺬﻳﻦ ﻳﺴـﺘﺨﺪﻣﻮن ﻧﻈـﻢ ﺗـﺪﻋﻢ ﻣﺠﻤﻮﻋـﺔ ﻣﺤـﺎرف اﻟﺸـﻴﻔﺮة‬ ‫اﻟﻤﻮﺣ ـﺪة ‪ Unicode‬آ ــ ‪ Windows 2000, XP‬ﻳﻮاﺟﻬ ـﻮن اﺣﻴﺎﻧ ـﺎ ﻣﺸ ـﺎآﻞ ﻓ ـﻲ آﺘﺎﺑــﺔ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫اﻟﺤﺮوف اﻟﻌﺮﺑﻴﺔ، واﻟﺴﺒﺐ ﺧﺎرج ﻧﻈﺎق اﻟﻔﻘﺮة ﻟﻜـﻦ ﺣﻠﻬـﺎ ﻳـﺘﻢ ﻋـﻦ ﻃﺮﻳـﻖ ﺗﻐﻴﻴـﺮ ﻧـﻮع‬ ‫اﻟﺨﻂ ‪ Font‬اﻟﻲ ﺧﻂ ﻳـﺪﻋﻢ اﻟﻠﻐـﺔ اﻟﻌﺮﺑﻴـﺔ آــ )‪ .Courier New (Arabic‬ﻳﻤﻜﻨـﻚ ﻋﻤـﻞ‬ ‫ذﻟــﻚ ﺑﺎﻟﺘﻮﺟــﻪ اﻟــﻰ ﺧﺎﻧــﺔ اﻟﺘﺒﻮﻳــﺐ ‪ Editor Format‬اﻟﻤﻮﺟــﻮدة ﻓــﻲ ﺻــﻨﺪوق اﻟﺤــﻮار‬ ‫‪ Options‬واﻟﺬي ﺗﺼﻞ اﻟﻴﻪ ﻋﻦ ﻃﺮﻳﻖ اﺧﺘﻴﺎر اﻻﻣﺮ ‪ Options‬ﻣﻦ ﻗﺎﺋﻤﺔ ‪.Tools‬‬
  • 23. ‫7‬ ‫ﺑﺎﻣﻜﺎﻧﻚ ﻣﺸﺎهﺪة ﻧﺎﻓﺬة ﻣﺤﺮر اﻻآﻮاد اﻣﺎ ﺑﺎﻟﻨﻘﺮ اﻟﻤﺰدوج ﺑﺎﻟﻔـﺄرة ﻋﻠـﻰ اﻷداة او ﻧﺎﻓـﺬة‬ ‫اﻟﻨﻤـﻮذج، او ﺑﺎﻟﻀـﻐﻂ ﻋﻠـﻰ اﻟﻤﻔﺘـﺎح ]7‪ .[F‬اﺧﻴـﺮا، اذا آﻨـﺖ ﻻ ﺗﺤـﺐ ﻣﺸـﺎهﺪة اﻓـﻼم‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫اﻟﺮﻋﺐ اﻟﺒﺮﻣﺠﻲ اﻟﻤﺘﻤﺜﻠﺔ ﻓﻲ اﻻآﻮاد اﻟﻄﻮﻳﻠﺔ، ﺗﻤﻜﻨﻚ هﺬﻩ اﻟﻨﺎﻓﺬة ﻣـﻦ ﻋـﺮض اﺟـﺮاء‬ ‫ﻣﻌﻴﻦ واﺧﻔﺎء ﺳﺎﺋﺮ اﻻآﻮاد ﻋﻦ ﻃﺮﻳﻖ اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ‪ Procedure View‬اﻟﻤﻮﺟﻮد ﻓـﻲ‬ ‫اﻟﺮآﻦ اﻟﺴﻔﻠﻲ اﻻﻳﺴﺮ ﻣﻦ اﻟﻨﺎﻓﺬة، ﻟﻜﻦ ﻋﻤﻠﻴﺔ اﻟﺘﻨﻘﻞ ﺑﻴﻦ اﻻﺟﺮاءات ﺳـﺘﻜﻮن ﻣﻤﻠـﺔ‬ ‫ﺑﻌﺾ اﻟﺸﺊ ﻋـﻦ ﻃﺮﻳـﻖ اﻟﻘـﺎﺋﻤﺘﻴﻦ ‪ ComboBoxes‬اﻟﻤﻮﺟﻮدﺗـﺎن ﻓـﻲ اﻋﻠـﻰ اﻟﻨﺎﻓـﺬة،‬ ‫اﻟﻘﺎﺋﻤﺔ اﻟﻴﺴﺮى ﺗﻌﺮض ﺟﻤﻴﻊ اﻻدوات اﻟﻤﻮﺟﻮدة ﻓﻲ ﻧﺎﻓﺬة اﻟﻨﻤﻮذج اﻟﺤﺎﻟﻴﺔ، ﺑﺎﻻﺿﺎﻓﺔ‬ ‫إﻟﻰ اﻟﻨﻤﻮذج ﻧﻔﺴﺔ، وآﺬﻟﻚ اﻟﻌﺒﺎرة )‪ (General‬وهﻲ ﺗﺸﻴﺮ إﻟﻰ ﻗﺴﻢ اﻻﻋﻼﻧﺎت ﻓـﻲ‬ ‫اﻟﻨﻤﻮذج وآﺬﻟﻚ اﻻﺟـﺮاءات واﻟـﺪوال اﻟﺘـﻲ ﺗﻘـﻮم ﺑﺎﻧﺸـﺎءهﺎ، واﻟﻘﺎﺋﻤـﺔ اﻟﻴﻤﻨـﻰ ﺗﻌـﺮض‬ ‫ﺟﻤﻴﻊ اﻻﺟﺮاءات واﻻﺣﺪاث اﻟﻤﺮﺗﺒﻄﺔ ﺑﻤﺎ ﻳﺘﻢ اﺧﺘﻴﺎرة ﻓﻲ اﻟﻘﺎﺋﻤﺔ اﻻوﻟﻰ.‬ ‫ﻧﺎﻓﺬة ﻣﺨﻄﻂ اﻟﻨﻤﻮذج ‪Form Layout‬‬ ‫اﺧﺘﻴﺎر اﻻﻣﺮ ‪ Form Layout Window‬اﻟﻤﻮﺟﻮد ﻓﻲ ﻗﺎﺋﻤﺔ ‪ View‬ﻳﺆدي اﻟﻰ ﻇﻬﻮر هـﺬﻩ‬ ‫اﻟﻨﺎﻓﺬة واﻟﺘﻲ ﺗﻌﻄﻴﻚ رؤﻳﺔ ﻣﺒﺴﻄﺔ ﻋﻦ ﻣﻮﻗﻊ وﺣﺠـﻢ ﻧﺎﻓـﺬة اﻟﻨﻤـﻮذج اﻟﺘـﻲ ﺗﺼـﻤﻤﻬﺎ‬ ‫وﻗﺖ اﻟﺘﻨﻔﻴﺬ ﻣﻦ اﻟﺸﺎﺷﺔ. اﻻ ان اﻟﻔﺎﺋﺪة اﻟﻜﺒﺮى اﻟﺘﻲ ﺗﺠﻨﻴﻬﺎ ﻣﻦ هﺬﻩ اﻟﻨﺎﻓـﺬة ﺗﻜـﻮن‬ ‫ﻣﻘﺎرﻧﺔ ﺣﺠﻢ ﻧﺎﻓﺬة اﻟﻨﻤﻮذج ﻣﻊ اﻟﻜﺜﺎﻓﺎت اﻟﻨﻘﻄﻴـﺔ ‪ Resolutions‬اﻟﻤﺨﺘﻠﻔـﺔ ﻟﻠﺸﺎﺷـﺔ.‬ ‫ﻟﻌﺮض هﺬﻩ اﻟﻜﺜﺎﻓﺎت، اﻧﻘﺮ ﺑﺰر اﻟﻔﺄرة اﻻﻳﻤـﻦ ﻋﻠـﻰ اﻟﻨﺎﻓـﺬة واﺧﺘـﺮ اﻻﻣـﺮ ‪Resolution‬‬ ‫‪ Guide‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴﺪﻟﺔ.‬ ‫ﻧﺎﻓﺬة ﻣﻮﺟﺔ اﻻواﻣﺮ ‪Immediate Window‬‬ ‫ﺗﻤﻜﻨﻚ هﺬﻩ اﻟﻨﺎﻓﺬة ﻣـﻦ آﺘﺎﺑـﺔ اواﻣـﺮ وﺗﻌﻠﻴﻤـﺎت ﻟﻐـﺔ ‪ Visual Basic‬ﺑﺴـﻴﻄﺔ ﻟﻼﺧﺘﺒـﺎر‬ ‫واﻟﺘﺠﺮﺑﺔ، ﻗﺪ ﺗﺤﺘﺎﺟﻬﺎ ﻣﺜﻼ ﻻﺧﺘﺒﺎر اﻣﺮ ﻣﻌﻴﻦ او ﻗﻴﻤﺔ ﻣﺘﻐﻴﺮ ﻣﻌﻴﻦ ﻗﺒﻞ وﺿﻊ اﻟﻜﻮد ﻟـﻪ.‬ ‫ﺑﻌﺪ ان ﺗﻜﺘﺐ اﻻﻣﺮ، اﻟﻤﻔﺘﺎح ]‪ [ENTER‬ﻳﺆدي اﻟﻰ اﻟـﻰ ﺗﻨﻔﻴـﺬ اﻻﻣـﺮ. ﺗﺴـﺘﻄﻴﻊ ﻋـﺮض‬ ‫هﺬﻩ اﻟﻨﺎﻓﺬة ﺑﺎﺧﺘﻴﺎر اﻻﻣﺮ ‪ Immediate Window‬ﻣﻦ ﻗﺎﺋﻤﺔ ‪.View‬‬ ‫ﻧﺎﻓﺬة ﻣﺴﺘﻌﺮض اﻟﻜﺎﺋﻨﺎت ‪Object Browser‬‬ ‫اذا آﻨﺖ ﻣﺒﺘﺪءً ﻓﺈن هﺬﻩ اﻟﻨﺎﻓﺬة ﻟﻦ ﺗﺜﻴﺮ اهﺘﻤﺎﻣـﻚ، وﻟﻜـﻦ ﺑﻌـﺪ ان ﺗﺼـﻞ اﻟـﻰ ﻣﺮﺣﻠـﺔ‬ ‫ا‬ ‫ﻣﺘﻘﺪﻣﺔ ﻣﻦ اﻟﺒﺮﻣﺠﺔ ﺑـ ‪ Visual Basic‬ﺳـﻴﻜﻮن ﻟﻬـﺬﻩ اﻟﻨﺎﻓـﺬة ﺗﻘـﺪﻳﺮ آﺒﻴـﺮ. ﺗﻌـﺮض ﻟـﻚ‬ ‫هﺬﻩ اﻟﻨﺎﻓﺬة ﺟﻤﻴﻊ اﻟﻔﺌﺎت اﻟﻤﻮﺟﻮدة ﻓﻲ اﻟﻤﻜﺘﺒﺎت اﻟﻤﻀﻤﻨﺔ ﻓـﻲ ﺑﺮﻧﺎﻣﺠـﻚ ﻣـﻊ آﺂﻓـﺔ‬ ‫ﻃﺮﻗﻬﺎ، ﺧﺼﺎﺋﺼﻬﺎ واﺣﺪاﺛﻬﺎ ﻟﺘﻌﻄﻴﻚ ﻓﻜﺮة ﻋﺎﻣـﺔ ﻋـﻦ ﻣﺤﺘﻮﻳـﺎت هـﺬﻩ اﻟﻤﻜﺘﺒـﺎت. ﻣﻴـﺰة‬ ‫اﺧﺮى اﺳﺘﺨﺪﻣﻬﺎ آﺜﻴﺮا هﻲ اﻧﻬﺎ ﺗﺴﻬﻞ ﻋﻠﻴﻚ ﻋﻤﻠﻴﺔ اﻳﺠﺎد ﺻﻔﺤﺔ اﻟﺘﻌﻠﻴﻤﺎت اﻟﺨﺎﺻﺔ‬ ‫ﺑﺎﻻﻣﺮ اﻟﺬي ﺗﺮﻳﺪﻩ ﻋﻦ ﻃﺮﻳﻖ اﻟﻨﻘﺮ ﺑﺰر اﻟﻔﺄرة اﻻﻳﻤـﻦ ﻋﻠـﻰ اﻟﻌﻨﺼـﺮ اﻟﻤﻄﻠـﻮب واﺧﺘﻴـﺎر‬ ‫اﻻﻣﺮ ‪ Help‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴﺪﻟﺔ. ﺗﺴﺘﻄﻴﻊ ﻋﺮض ﻧﺎﻓﺬة ﻣﺴﺘﻌﺮض اﻟﻜﺎﺋﻨـﺎت ﺑﺎﺧﺘﻴـﺎر‬ ‫اﻻﻣﺮ ‪ Object Browser‬ﻣﻦ ﻗﺎﺋﻤﺔ ‪ View‬او اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﻤﻔﺘﺎح ]2‪.[F‬‬
  • 24. ‫8‬ ‫ﻧﺎﻓﺬة اﻟﻤﺘﻐﻴﺮات اﻟﻤﺤﻠﻴﺔ ‪Local Window‬‬ ‫اﻟﻐﺮض اﻟﺮﺋﻴﺴﻲ ﻣﻦ هﺬﻩ اﻟﻨﺎﻓﺬة ﻳﻈﻬﺮ ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﻴﺬ ‪ ،Run Time‬ﻻﻧﻬﺎ ﻓﻲ وﻗـﺖ‬ ‫اﻟﺘﺼﻤﻴﻢ ‪ Design Time‬ﻟـﻴﺲ ﻟﻬـﺎ أي وﻇﻴﻔـﺔ اﻳﺠﺎﺑﻴـﺔ ﻓـﻼ ﺗﻌﺮﺿـﻬﺎ ﺣﺘـﻰ ﻻ ﺗﺘـﺰاﺣﻢ‬ ‫اﻟﻨﻮاﻓــﺬ اﻣﺎﻣــﻚ. ﺗﻌــﺮض ﻟــﻚ هــﺬﻩ اﻟﻨﺎﻓــﺬة ﻗــﻴﻢ ﺟﻤﻴــﻊ اﻟﻤﺘﻐﻴــﺮات اﻟﻤﺤﻠﻴــﺔ ‪Local‬‬ ‫‪ Variables‬اﻟﻤﻮﺟ ـﻮد ﻓ ـﻲ اﻻﺟ ـﺮاء ‪ Procedure‬اﻟﺤــﺎﻟﻲ واﻟ ـﺬي ﻳ ـﺘﻢ ﺗﻨﻔﻴ ـﺬﻩ اذا ﻗﻤــﺖ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ﺑﻌﻤﻠﻴﺔ اﻻﻳﻘﺎف اﻟﻤﺆﻗﺖ ‪ Pause‬ﻟﻠﺒﺮﻧﺎﻣﺞ. ﻓﻲ ﺣﺎﻟﺔ وﺟﻮد آﺎﺋﻨﺎت ‪ Objects‬ﻣﺤﻠﻴﺔ ﻓﻲ‬ ‫اﻻﺟﺮاء، ﻓﺎن اﺳﻢ اﻟﻜﺎﺋﻦ ﺳﻴﻈﻬﺮ ﻓﻲ اﻟﺠﺪول ﻣﻼﺻﻖ ﻟﻌﻼﻣﺔ اﻟﺰاﺋﺪ "+" ﺣﺘـﻰ ﺗﻘـﻮم‬ ‫ﺑﺎﻟﻨﻘﺮ ﻋﻠﻴﻪ وﻳﻌﺮض ﻟـﻚ ﺟﻤﻴـﻊ اﻟﺨﺼـﺎﺋﺺ وﻗﻴﻤﻬـﺎ اﻟﺘﺎﺑﻌـﺔ ﻟﻬـﺬا اﻟﻜـﺎﺋﻦ. ﻟﻌـﺮض هـﺬﻩ‬ ‫اﻟﻨﺎﻓﺬة اﺧﺘﺮ اﻻﻣﺮ ‪ Local Window‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ ‪.View‬‬ ‫وﻗﺖ اﻟﺘﻨﻔﻴﺬ ‪ Run Time‬هﻮ اﻟﻤﺮﺣﻠﺔ اﻟﺘﻲ ﻳﺘﻢ ﺗﻨﻔﻴﺬ ﺑﺮﻧﺎﻣﺠﻚ ﻓﻴﻬﺎ –‬ ‫ﻣﻼﺣﻈﺔ:‬ ‫ﺑﻌـﺪ اﻟﻀـﻐﻂ ﻋﻠـﻰ اﻟﻤﻔﺘـﺎح ]5‪ ،[F‬اﻣـﺎ وﻗـﺖ اﻟﺘﺼـﻤﻴﻢ ‪Design Time‬‬ ‫ﻓﻬﻲ اﻟﻤﺮﺣﻠﺔ اﻟﺘـﻲ ﺗﺼـﻤﻢ ﺑﺮﻧﺎﻣﺠـﻚ ﺑﻬـﺎ. ﻳﻮﺟـﺪ وﻗـﺖ ﺧـﺎص ﻳﻌـﺮف‬ ‫ﺑﺎﻻﻳﻘﺎف اﻟﻤﺆﻗﺖ ‪ Pause Time‬او اﻟﻘﻄﻊ ‪ Break‬وهﻮ ﺑﺎﺧﺘﺼـﺎر ﻋﻤﻠﻴـﺔ‬ ‫اﻟﻮﻗﻒ اﻟﻤﺆﻗﺖ ﻟﺘﻨﻔﻴﺬ ﺑﺮﻧﺎﻣﺠﻚ وﻟﻜﻦ ﻟﻴﺲ اﻧﻬﺎﺋﻪ.‬ ‫ﻧﺎﻓﺬة اﻟﻤﺮاﻗﺒﺔ ‪Watches Window‬‬ ‫ﺗﻤﻜﻨـﻚ هـﺬﻩ اﻟﻨﺎﻓـﺬة ﻣـﻦ ﻣﺮاﻗﺒـﺔ اﻟﻤﺘﻐﻴـﺮات او اﻟﻌﺒـﺎرات اﻟﺘـﻲ ﺗﻀـﻴﻔﻬﺎ ﺑﻬـﺎ. ﻋﻤﻠﻴـﺔ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫اﻟﻤﺮاﻗﺒﺔ ﺗﻜﻮن ﻣﺘﻮاﺻﻠﺔ ودورﻳﺔ اﻟﺘﺤﺪﻳﺚ آﻮزارة اﻻﻋﻼم. ﺑﺎﻣﻜﺎﻧﻚ ﺗﺠﻤﻴﺪ ﻋﻤﻠﻴﺔ ﺗﻨﻔﻴـﺬ‬ ‫اﻟﺒﺮﻧﺎﻣﺞ –اﻻﻳﻘﺎف اﻟﻤﺆﻗﺖ- ﻓﻲ ﺣﺎل آـﻮن ﻗﻴﻤـﺔ اﻟﻤﺘﻐﻴـﺮ اﺻـﺒﺤﺖ ﺻـﺤﻴﺤﺔ ‪ ،True‬او‬ ‫ﻋﻨﺪ أي ﺗﻐﻴﻴﺮ ﻳﻄﺮأ ﻋﻠﻰ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ. اﻟﻬﺪف ﻣﻦ ﻧﺎﻓﺬة اﻟﻤﺮاﻗﺒﺔ ﻟﻴﺲ آﺎهﺪاف وزراة‬ ‫اﻻﻋـﻼم، واﻧﻤـﺎ ﺗﺴـﻬﻴﻞ ﻋﻤﻠﻴـﺔ اﻟﺘﻨﻘـﻴﺢ ‪ Debugging‬وﻣﻌﺮﻓـﺔ ﻗـﻴﻢ اﻟﻤﺘﻐﻴـﺮات اﻟﺘـﻲ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ﺗﺸﻜﻞ ﻧﺴﺒﺔ 09% ﻣﻦ اﺳﺒﺎب ﺷﻮاﺋﺐ ‪ Bugs‬اﻟﺒﺮاﻣﺞ. ﻟﻌﺮض هﺬﻩ اﻟﻨﺎﻓﺬة اﺧﺘﺮ اﻻﻣـﺮ‬ ‫‪ Watch Window‬ﻣـﻦ ﻗﺎﺋﻤـﺔ ‪ ،View‬وﻻﺿـﺎﻓﺔ ﻣﺘﻐﻴـﺮ او ﻗﻴﻤـﺔ ﻟﺠﻌﻠﻬـﺎ ﺧﺎﺿـﻌﺔ ﺗﺤـﺖ‬ ‫اﻟﻤﺮاﻗﺒـﺔ، اﺧﺘـﺮ اﻻﻣـﺮ …‪ Add Watch‬ﻣـﻦ ﻗﺎﺋﻤـﺔ ‪– Debug‬وﻟـﻴﺲ ‪ -View‬او اﻧﻘـﺮ ﺑـﺰر‬ ‫اﻟﻔﺄرة اﻻﻳﻤﻦ ﻋﻠﻰ اﻟﻨﺎﻓﺬة وﻣﻦ ﺛﻢ اﺧﺘﻴﺎر ﻧﻔﺲ اﻻﻣﺮ ﻣﻦ اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴـﺪﻟﺔ. اﻟﻤﻴـﺰة‬ ‫اﻟﻤﻮﺟﻮدة ﻓﻲ هﺬﻩ اﻟﻨﺎﻓﺬة ﺗﻐﻄﻰ ﻋﻠﻰ اﻟﻘﺼﻮر اﻟﻤﻮﺟـﻮد ﻓـﻲ اﻟﻨﺎﻓـﺬة اﻟﺴـﺎﺑﻘﺔ، ﻻن‬ ‫هﺬﻩ اﻟﻨﺎﻓﺬة ﺗﺴﻤﺢ ﺑﺎﺿﺎﻓﺔ اﻟﻤﺘﻐﻴﺮات اﻟﻌﺎﻣﺔ ‪.Global‬‬ ‫ﻧﺎﻓﺬة اﺳﺘﺪﻋﺎء اﻻﺟﺮاءات ‪Call Stack‬‬ ‫ﺗﺘﺸﺎﺑﻪ هﺬﻩ اﻟﻨﺎﻓﺬة ﻣﻊ اﻟﻨﺎﻓﺬﺗﻴﻦ اﻟﺴﺎﺑﻘﺘﻴﻦ ﻓﻲ أﻧﻬﺎ ﻧﻮاﻓﺬ ﺧﺎﺻـﺔ ﺑـﺎﻟﺘﻨﻘﻴﺢ. ﺗﻌـﺮض‬ ‫هﺬﻩ اﻟﻨﺎﻓﺬة ﻃﺎﺑﻮر ﻟﻼﺟﺮاءت اﻟﺘﻲ ﺳﻴﺘﻢ اﺳﺘﺪﻋﺎﺋﻬﺎ، ﺗﻔﻴﺪك هـﺬﻩ اﻟﻨﺎﻓـﺬة ﺑﻘـﻮة ﻓـﻲ‬ ‫ﺣﺎﻟﺔ اﺳـﺘﺨﺪاﻣﻚ ﻟﻼﺳـﺘﺪﻋﺎءات اﻟﺘﺮاﺟﻌﻴـﺔ ‪ .Recursion‬اﺧﻴـﺮا، ﺑﺎﻣﻜﺎﻧـﻚ ﻋـﺮض هـﺬﻩ‬
  • 25. ‫9‬ ‫اﻟﻨﺎﻓﺬة وﻗﺖ اﻻﻳﻘﺎف اﻟﻤﺆﻗﺖ ﻓﻲ ﺣﺎل وﺟﻮد اﺟﺮاءات ﻣﻨﺘﻈـﺮة اﻻﺳـﺘﺪﻋﺎء ﻋـﻦ ﻃﺮﻳـﻖ‬ ‫اﻻﻣﺮ ‪ Call Stack‬اﻟﻤﻮﺟﻮد ﻓﻲ ﻗﺎﺋﻤﺔ ‪ View‬او اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﻤﻔﺎﺗﻴﺢ ]‪.[Ctrl+L‬‬ ‫ﻧﺎﻓﺬة ﻋﺮض اﻟﺒﻴﺎﻧﺎت ‪Data View‬‬ ‫ﺗﺴﺘﻄﻴﻊ ﻋﺮض هﺬﻩ اﻟﻨﺎﻓﺬة ﻋﻦ ﻃﺮﻳﻖ اﺧﺘﻴﺎر اﻻﻣﺮ ‪ Data View Window‬ﻣـﻦ ﻗﺎﺋﻤـﺔ‬ ‫‪ View‬او اﻟﻨﻘﺮ ﻋﻠﻰ رﻣﺰهﺎ ﻓـﻲ ﺷـﺮﻳﻂ اﻻدوات اﻟﻘﻴﺎﺳـﻲ ‪ .Standard Toolbar‬ﺗﻌﺘﺒـﺮ‬ ‫ﻧﺎﻓﺬة ﻋﺮض اﻟﺒﻴﺎﻧﺎت اﺣﺪث ﻧﺎﻓﺬة دﺧﻠﺖ ﺻـﻨﺪوق ﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ ‪ ،IDE‬ﻓﻠـﻢ‬ ‫ﺗﻈﻬﺮ اﻻ ﻓﻲ اﻻﺻﺪار اﻻﺧﻴﺮ ﻣﻦ اﺻﺪارات ‪ Visual Basic‬وهـﻮ اﻟﺴـﺎدس. هـﺬﻩ اﻟﻨﺎﻓـﺬة‬ ‫اﻟﺒﺴﻴﻄﺔ ﻓﻲ ﻣﻈﻬﺮهﺎ ﺗﻌﺘﺒﺮ اﻗﻮى ﻧﺎﻓﺬة ﻣﻦ اﻟﻨﻮاﻓﺬ اﻟﺘﻲ ذآﺮﺗﻬﺎ! ﻻﻧﻬﺎ –دون ﻣﺒﺎﻟﻐﺔ-‬ ‫ﺗﻌﺘﺒـﺮ ﺑﺮﻧـﺎﻣﺞ آﺎﻣـﻞ ﻟﻤﺮاﻗﺒـﺔ، إﻧﺸـﺎء، ﺗﻌـﺪﻳﻞ، ﺣـﺬف وﻋـﺮض ﺟـﺪاول وﺣﻘـﻮل ﻗﻮاﻋـﺪ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫اﻟﺒﻴﺎﻧﺎت ﺑﺎﺧﺘﻼف أﻧﻮاﻋﻬﺎ ﻣﺜﻞ: ‪ .... ORACLE ،MS-Access ،MS-SQL Server‬اﻟﺦ.‬ ‫ﻟﺬﻟﻚ، ﻓﺎﻧﻪ ﻣﻦ اﻟﺒـﺪﻳﻬﻲ ان ﻻ ﻧﻀـﻴﻊ وﻗﺘﻨـﺎ وﻧﻔﺼـﻠﻬﺎ اﻻن، ﻓـﺎﻟﺠﺰء اﻟﺜـﺎﻧﻲ ﻣـﻦ اﺟـﺰاء‬ ‫اﻟﻜﺘﺎب "ﺑﺮﻣﺠﺔ ﻗﻮاﻋﺪ اﻟﺒﻴﺎﻧﺎت" هﻮ اهﻞ ﻟﻠﺘﻔﺼﻴﻞ -واﻟﺘﻄﺮﻳﺰ اذا آﻨﺖ ﺗﺮﻳﺪ!‬ ‫ﻗﻮاﺋﻢ ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ‬ ‫اذا ﺗﺤﺪﺛﺖ ﻋﻦ آﻞ اﻣﺮ ﻣـﻦ اواﻣـﺮ ﻗـﻮاﺋﻢ ﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ ﻓـﻲ هـﺬﻩ اﻟﻔﻘـﺮة،‬ ‫ﻓﺴﻴﻜﻮن اﻟﻜﺘﺎب اﺷﺒﻪ ﺑﻤﺮاﺟﻊ ‪ .MSDN‬ﻓﻴﺴﺘﺤﺴﻦ –ﻟﻲ وﻟﻚ- ان ﻳﺘﻢ ﺷـﺮح وﻇﻴﻔـﺔ‬ ‫اﻻﻣﺮ ﻓﻲ ﺣﻴﻦ اﺳﺘﺨﺪاﻣﻪ، اﻻ اﻧﻨﻲ ﺳﺄﻋﺮﻓﻚ ﻋﻠﻰ اﻟﻘﻮاﺋﻢ ﺑﻄﺮﻳﻘﺔ ﻣﺒﺴﻄﺔ:‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:File‬‬ ‫ﺗﺤﺘﻮي هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻋﻠـﻰ اواﻣـﺮ اﺳﺎﺳـﻴﺔ ﺧﺎﺻـﺔ ﻟﻠﻤﺸـﺎرﻳﻊ ﺑﺸـﻜﻞ ﻋـﺎم، آﺈﻧﺸـﺎء‬ ‫ﻣﺸــﺮوع ﺟﺪﻳــﺪ، ﺣﻔــﻆ ﻣﺤﺘﻮﻳــﺎت اﻟﻤﺸــﺮوع، ﻃﺒﺎﻋــﺔ ﻣﺤﺘﻮﻳــﺎت اﻟﻤﺸــﺮوع وﺗﺮﺟﻤــﺔ‬ ‫اﻟﻤﺸﺮوع وﺗﺤﻮﻳﻠﻪ اﻟﻰ ﻣﻠﻒ ﺛﻨﺎﺋﻲ ‪ .Binary‬اﻟﻤﻴﺰة اﻟﺘﻲ اﺿﻴﻔﺖ ﻟـ 6‪ VB‬هﻲ اﻣﻜﺎﻧﻴـﺔ‬ ‫ﻓﺘﺢ اآﺜﺮ ﻣﻦ ﻣﺸﺮوع ﻓﻲ ﻧﺴﺨﺔ واﺣـﺪة ﻣـﻦ اﻟﺒﻴﺌـﺔ، وهـﻲ ﻣﻴـﺰة ﺗﻌـﺮف ﺑﺎﻟﻤﺸـﺎرﻳﻊ‬ ‫اﻟﻤﺘﻌﺪدة ‪.Multiple Projects‬‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:Edit‬‬ ‫ﺗﺤﻮي هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻋﻠﻰ اواﻣﺮ اﻟﺘﺤﺮﻳﺮ اﻟﻘﻴﺎﺳﻴﺔ آﺎﻟﻘﺺ، اﻟﻨﺴـﺦ واﻟﻠﺼـﻖ. ﺑﺎﻻﺿـﺎﻓﺔ‬ ‫اﻟﻰ اواﻣﺮ ﺧﺎﺻﺔ ﺑﻘﻮاﻋـﺪ اﻟﺒﻴﺎﻧـﺎت ﻓـﻲ ﺣﺎﻟـﺔ وﺟـﻮد ﻗﺎﻋـﺪة ﺑﻴﺎﻧـﺎت ﻓـﻲ ﻧﺎﻓـﺬة ﻋـﺮض‬ ‫اﻟﺒﻴﺎﻧﺎت ‪ .Data View‬ﻣﻌﻈﻢ اﻻواﻣﺮ اﻟﻮاردة ﻓﻲ اﺳﻔﻞ هـﺬﻩ اﻟﻘﺎﺋﻤـﺔ ﺗﺴـﺘﺨﺪﻣﻬﺎ ﻣـﻊ‬ ‫ﻧﺎﻓﺬة ﻣﺤﺮر اﻻآﻮاد ‪.Code Window‬‬
  • 26. ‫01‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:View‬‬ ‫ذآﺮت ﻣﻌﻈﻢ ﻣﺤﺘﻮﻳﺎﺗﻬﺎ ﻓﻲ ﻓﻘﺮة "ﻧﻮاﻓﺬ ﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ"، وﺑﺎﻻﻋﺘﻤـﺎد ﻋﻠـﻰ‬ ‫ﻧﺒﺎهﺘﻚ وﻣﺪى اﺳﺘﻌﻴﺒﺎك ﻳﻤﻜﻨﻚ ﻣﻌﺮﻓﺔ اﻟﻐﺮض هﺬﻩ اﻟﻘﺎﺋﻤﺔ.‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:Project‬‬ ‫ﻣﻌﻈﻢ اواﻣﺮهﺎ ﺧﺎﺻﺔ ﺑﻤﺤﺘﻮﻳﺎت اﻟﻤﺸﺎرﻳﻊ، ﻓﻬﻲ ﺗﻤﻜﻨﻚ ﻣﻦ اﺿـﺎﻓﺔ ﻋﻨﺼـﺮ او ﻋﻨﺎﺻـﺮ‬ ‫ﻣﻦ ﻋﻨﺎﺻﺮ اﻟﻤﺸﺮوع آﻨﻮاﻓﺬ اﻟﻨﻤﺎذج ‪ ،Forms‬ﻣﻠﻔﺎت اﻟﺒﺮﻣﺠﺔ ‪ ،Module‬ﻓﺌﺎت ‪Classes‬‬ ‫.... اﻟـﺦ. اﻟﻤﺰﻳـﺪ اﻳﻀـﺎ، ﻳﻤﻜﻨـﻚ اﺿـﺎﻓﺔ ادوات ﺗﺤﻜـﻢ ‪ ActiveX Controls‬اﺿـﺎﻓﻴﺔ ﻋـﻦ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ﻃﺮﻳﻖ اﻻﻣﺮ ‪ Components‬او ﺗﻀﻤﻴﻦ ﻣﻜﺘﺒﺎت ‪ ActiveX DLL‬ﺧﺎرﺟﻴﺔ ﻋﻦ ﻃﺮﻳـﻖ اﻻﻣـﺮ‬ ‫‪.References‬‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:Format‬‬ ‫اﻻواﻣﺮ اﻟﻤﻮﺟﻮدة ﻓﻲ هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﺧﺎﺻﺔ ﺑﺘﻨﺴﻴﻖ اﻻدوات اﻟﺘـﻲ ﺗﻀـﻌﻬﺎ ﻋﻠـﻰ ﻧﺎﻓـﺬة‬ ‫اﻟﻨﻤﻮذج ﻣﻦ ﻧﺎﺣﻴﺔ ﻣﻮﻗﻌﻬﺎ ﻋﻠﻰ اﻟﻨﺎﻓﺬة، ﻓﺘﻮﺟﺪ اواﻣﺮ ﻣﺮﻧﺔ ﺗـﻮﻓﺮ ﻋﻠﻴـﻚ ﺟﻬـﺪ ﻣﺤـﺎذاة‬ ‫اﻻدوات او ﺗﻮﺳﻴﻄﻬﺎ ﻋﻠﻰ اﻟﻨﺎﻓﺬة، ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ ﺗﻐﻴﻴﺮ ﺗﺮﺗﻴﺐ ﻇﻬـﻮر اﻻدوات أي وﺿـﻊ‬ ‫أداة ﻓﻮق اﻟﻜﻞ او أداة ﺧﻠـﻒ اﻟﻜـﻞ. اﻻﻣـﺮ اﻻﺧﻴـﺮ ‪ Lock Controls‬ﺗﺴـﺘﺨﺪﻣﻪ اذا آﻨـﺖ‬ ‫راﺿﻴﺎ ﻋﻦ ﺗﺼﻤﻴﻢ اﻻدوات وﺗﻮد ﻣﻨﻊ ﻧﻔﺴﻚ ﻣﻦ ﺗﻐﻴﻴـﺮ اﺣﺠﺎﻣﻬـﺎ او ﻣﻮاﻗﻌـﺎ ﻋـﻦ ﻃﺮﻳـﻖ‬ ‫اﻟﺨﻄﺄ، هﺬا اﻟﻘﻔﻞ ﺗﺴﺘﻄﻴﻊ ﻓﺘﺤﺔ ﺑﻜﻞ ﺑﺴﺎﻃﺔ ﺑﺎﺧﺘﻴﺎر ﻧﻔﺲ اﻻﻣﺮ ﻣﺮة اﺧﺮى.‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:Debug‬‬ ‫ﻣﻌﻈﻢ اواﻣﺮ اﻟﺘﻨﻘﻴﺢ وﺿﻌﺖ اﺳﻔﻞ هﺬﻩ اﻟﻘﺎﺋﻤﺔ. ﻣﻦ هﺬﻩ اﻻواﻣﺮ اﺧﺘﻴﺎر ﻃﺮﻳﻘﺔ ﺗﻨﻔﻴـﺬ‬ ‫اﻟﺒﺮﻧﺎﻣﺞ، آﺘﻨﻔﻴﺬ ﺳﻄﺮ واﺣـﺪ ﻣﻨـﻪ ‪ ،Step Into‬اﺟـﺮاء آﺎﻣـﻞ ‪ ،Step Over‬اﻣـﺮ ﺳـﺎﺑﻖ‬ ‫‪ Step Out‬او اﻟﺘﻨﻔﻴﺬ ﺣﺘﻰ اﻟﻮﺻﻮل اﻟﻰ اﻟﺴﻄﺮ اﻟﺬي ﻳﻮﺟﺪ ﻋﻠﻴﻪ ﻣﺆﺷﺮ اﻟﻜﺘﺎﺑـﺔ ‪Run‬‬ ‫‪ .to Cursor‬وﺑﺎﻟﻨﺴﺒﺔ ﻟﻨﻘﺎط اﻟﻘﻄﻊ ‪ BreakPoints‬ﻓﻬﻲ ﻋﻼﻣـﺎت ﺗﻈﻬـﺮ ﻣﺒـﺪﺋﻴﺎ ﺑـﺎﻟﻠﻮن‬ ‫اﻻﺣﻤﺮ ﻋﻠﻰ ﺳﻄﺮ ﻣﻌﻴﻦ ﺑﺤﻴﺚ ﺗﺘﻢ ﻋﻤﻠﻴـﺔ اﻻﻳﻘـﺎف اﻟﻤﺆﻗـﺖ ﻟﻠﺒﺮﻧـﺎﻣﺞ ﻋﻨـﺪ اﻟﻮﺻـﻮل‬ ‫اﻟﻰ هﺬﻩ اﻟﻌﻼﻣﺎت.‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:Run‬‬ ‫ﻋﻦ ﻃﺮﻳﻖ هﺬﻩ اﻟﻨﺎﻓﺬة اﻟﺒﺴﻴﻄﺔ ﺗﺴﺘﻄﻴﻊ ﺗﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ وﺗﺘﻤﻜﻨﻚ ﻣﻦ اﺧﺘﻴﺎر اﻻواﻣـﺮ‬ ‫اﻻﺧﺮى آﺎﻻﻳﻘﺎف اﻟﻤﺆﻗﺖ ‪ Break‬او اﻧﻬﺎء ﻋﻤﻠﻴﺔ ﺗﻨﻔﻴﺬ اﻟﺒﺮﻧـﺎﻣﺞ ‪ .End‬ﺑﺎﻟﻨﺴـﺒﺔ ﻟﻼﻣـﺮ‬ ‫‪ Start with Full Compile‬هﻮ ﻣﺸﺎﺑﻪ ﻻﻣﺮ اﻟﺘﻨﻔﻴﺬ ‪ Start‬وﻟﻦ ﺗﺤﺘﺎﺟـﻪ اﻻ ﻓـﻲ ﺣـﺎﻻت‬ ‫ﻧﺎدرة ﺳﺘﺠﺪهﺎ ﻻﺣﻘﺎ ﻓﻲ هﺬا اﻟﻜﺘﺎب.‬
  • 27. ‫11‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:Query‬‬ ‫هــﺬﻩ اﻟﻘﺎﺋﻤــﺔ ﺟﺪﻳــﺪة ﻋﻠــﻰ ﻣﺒﺮﻣﺠــﻲ 5‪ VB‬وهــﻲ ﻣﺘــﻮﻓﺮة ﻟﻨﺴــﺨﺔ اﻟﻤﺤﺘــﺮﻓﻴﻦ‬ ‫‪ Professional Edition‬واﻟﻤﺆﺳﺴـﺎت ‪ Enterprise Edition‬ﻟﻼﺻـﺪار اﻟﺴـﺎدس 6‪.VB‬‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫اواﻣﺮ هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻏﻴﺮ ﻣﻤﻜﻨﺔ ﺣﺘـﻰ ﺗﻨﺸـﺊ ﺟﻤﻠـﺔ اﺳـﺘﻌﻼم ‪ SQL‬ﺑﺎﺳـﺘﺨﺪام اﻷداة‬ ‫‪.Microsoft Query Builder‬‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:Diagram‬‬ ‫اﻳﻀﺎ هﺬﻩ ﻗﺎﺋﻤﺔ ﺟﺪﻳﺪة ﻋﻠﻰ ﻣﺒﺮﻣﺠﻲ 5‪ VB‬وﻣﺘـﻮﻓﺮة ﻟـﻨﻔﺲ اﻟﻨﺴـﺦ اﻟﻤـﺬآﻮرة ﻓـﻲ‬ ‫اﻟﻔﻘﺮة اﻟﺴﺎﺑﻘﺔ. اواﻣﺮ هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻏﻴﺮ ﻣﻤﻜﻨﺔ اﻻ ﻓﻲ ﺣﺎﻟﺔ ﺗﻌﺎﻣﻠﻚ ﻣﻊ ﻗﺎﻋﺪة ﺑﻴﺎﻧـﺎت‬ ‫‪ SQL Server‬او ‪.ORACLE‬‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:Tools‬‬ ‫ﺗﺤﺘﻮي ﻋﻠﻰ اواﻣﺮ ﻣﺨﺘﻠﻔـﺔ اﻟﺘﺼـﺎﻧﻴﻒ آﻤﺤـﺮر اﻟﻘـﻮاﺋﻢ ‪ Menu Editor‬وﻣﺴـﻬﻞ آﺘﺎﺑـﺔ‬ ‫اﻻﺟﺮاءات ‪ Add Procedure‬وﻏﻴﺮهﺎ... اذا ادرت ﺗﺨﺼﻴﺺ ﺑﻴﺌـﺔ اﻟﺘﻄـﻮﻳﺮ اﻟﻤﺘﻜﺎﻣﻠـﺔ ‪IDE‬‬ ‫ﻓـﺎﻻﻣﺮ ‪ Options‬ﻳﻤﻜﻨـﻚ ﻣـﻦ اﻟﻮﺻـﻮل اﻟـﻰ ﺻـﻨﺪوق اﻟﺤـﻮار ‪ Options‬اﻟـﺬي ﻳـﻮﻓﺮ ﻟـﻚ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ﻋﺸﺮات اﻟﺨﻴﺎرات واﻟﺨﺎﺻﺔ ﺑﺘﻐﻴﻴﺮ اﻋﺪادات ﺑﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ ‪.IDE‬‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:Add-Ins‬‬ ‫اﻻواﻣﺮ اﻟﻤﻮﺟﻮدة ﻓﻲ هﺬﻩ اﻟﻘﺎﺋﻤﺔ ﻋﺒﺎرة ﻋﻦ ﺑﺮاﻣﺞ ﻣﺴﺘﻘﻠﺔ ﺗﺴﻤﻰ اﻻﺿـﺎﻓﺎت -‪Add‬‬ ‫‪ Ins‬هﺪﻓﻬﺎ ﺗﻮﻓﻴﺮ ﺧﺪﻣﺎت اﺿﺎﻓﻴﺔ ﻟﺒﻴﺌﺔ اﻟﺘﻄﻮﻳﺮ ﺗﺰﻳﺪ ﻣﻦ ﻣﺮوﻧﺘﻬﺎ. ﺗﻄﻮﻳﺮ هﺬا اﻟﻨﻮع ﻣـﻦ‬ ‫اﻟﺒﺮاﻣﺞ ﺧﺎرج ﻧﻄﺎق اﻟﻜﺘﺎب.‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:Window‬‬ ‫اذا آﻨﺖ ﺑﺤﺎﺟﺔ اﻟﻰ ﺷﺮح ﻣﺤﺘﻮﻳﺎت هﺬﻩ اﻟﻘﺎﺋﻤﺔ، ﻓﻴﺒﺪو اﻧﻚ ﺟﺪﻳﺪ ﻟﻴﺲ ﻋﻠﻰ ‪Visual‬‬ ‫‪ Basic‬ﻓﺤﺴﺐ واﻧﻤﺎ ﻋﻠﻰ ﺟﻤﻴﻊ ﺗﻄﺒﻴﻘﺎت ﺑﻴﺌﺔ ‪ ،Windows‬ﻓﺎﻓﻀﻞ ﺷﺮح اﺳـﻄﺮﻩ ﻟـﻚ‬ ‫هﻮ ﺑﺎن ﺗﻮﻗﻒ ﻗﺮاءة اﻟﻜﺘﺎب –اﻻﻳﻘﺎف اﻟﻤﺆﻗﺖ- ﻓﻲ اﻟﺤﺎل، وﺗﺤﺎول اﻟﺘﻌـﺮف ﻋﻠـﻰ ﺑﻴﺌـﺔ‬ ‫‪ Windows‬وﻣﻦ ﺛﻢ ﺗﻌﻮد ﻟﻤﺘﺎﺑﻌﺔ اﻟﻘﺮاءة.‬ ‫اﻟﻘﺎﺋﻤﺔ ‪:Help‬‬ ‫ﺑﺎﻟﻨﺴﺒﺔ ﻟﻤﺴﺘﺨﺪﻣﻲ اﻻﺻﺪار اﻟﺴﺎدس ﻣﻦ ‪ ،Visual Basic‬ﻓﻠﻦ ﻳﺘﻤﻜﻨﻮا ﻣﻦ اﻟﻮﺻـﻮل‬ ‫اﻟﻰ اﻟﺘﻌﻠﻴﻤﺎت اﻟﻔﻮرﻳﺔ اﻻ ﻓﻲ ﺣﺎﻟﺔ اﻧﺰال ﻧﺴـﺨﺔ ﻣـﻦ ﻣﻜﺘﺒـﺔ ‪Microsoft Developer‬‬ ‫‪ Network‬واﻟﻤﺄﻟﻮﻓﺔ ﺑﺎﻻﺧﺘﺼﺎر ‪.MSDN‬‬