Professional Documents
Culture Documents
(ﻛﺘﺎﺏ )ﳎﺎﱐ
ﻣﺼﺮ- ﺑﻮﺭﺳﻌﻴﺪ
٢٠٠٩ – ٢٠٠٨ ﺍﻟﻄﺒﻌﺔ ﺍﻷﻭﱄ
Prog: Mohamed Youssef ٢ E_Mail: Mohamed.yoyo@gmail.com
Content
Introduction
Applications
Help
ﻣﺎ ﯾﻜﻤﻞ ھﺬا اﻷﺳﻠﻮب اﻟﺸﺎﻣﻞ ھﻮ ﺑﻨﯿﺔ اﻟﻜﺘﺎب ٦ﻓﺼﻮل و ﻣﻠﺤﻘﯿﻦ ﻣﻨﻈﻤﯿﻦ ﺣﺴﺐ اﻟﻤﻮﺿﻮع ،و ﺑﺈﺳﺘﻌﻤﺎل
ھﺬا اﻟﻜﺘﺎب ،ﺳﻨﺘﻌﻠﻢ ﺑﺴﺮﻋﺔ ﻛﯿﻔﯿﺔ أﻧﺸﺎء ﺑﺮاﻣﺞ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥ذات ﻧﻮﻋﯿﺔ ﻣﺘﻄﻮرة و ﺑﺮاﻣﺞ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت
و ﺗﻄﺒﯿﻘﺎت اﻟﻮﯾﻨﺪوز -----------.أن ﺟﻤﯿﻊ اﻟﻤﻠﻔﺎت ﻣﻔﺘﻮﺣﺔ اﻟﻤﺼﺪر واﻟﺒﺮاﻣﺞ ﻣﻌﻠﻮﻣﯿﺔ اﻟﻤﺼﺪر وﻏﯿﺮ ﻣﺨﺼﺼﮫ ﻟﻠﺒﯿﻊ
ﻣﻊ اﻟﻌﻠﻢ أن اﻟﻜﺘﺎب ﻣﺤﺘﻮي اﻟﻜﺘﺮوﻧﻰ ﻋﻠﻰ اﻷﻧﺘﺮﻧﺖ ﻟﯿﻌﻢ اﻟﺨﯿﺮ واﻟﻔﺎﺋﺪة ﻋﻠﻲ اﻟﺠﻤﯿﻊ.
اﻟﺒﯿﺴﻚ BASICوھﻲ أﺧﺘﺼﺎر Beginners All-Purpose Symbolic Instruction Codeﻓﻲ ﻋﺎم ١٩٦٥ﻗﺪﻣﮭﺎ
Gohn Kemeny and Thomas Kurtzﻓﻲ اﻟﻮﻻﯾﺎت اﻟﻤﺘﺤﺪة اﻻﻣﺮﯾﻜﯿﺔ ﻋﻠﻲ اﺳﺎس اﻧﮭﺎ ﻟﻐﻮ ﺑﺴﯿﻄﺔ ﯾﺴﮭﻞ ﺗﻌﻠﻤﮭﺎ ،
ﻛﻤﺎ ﺗﺴﻤﺢ ﺑﺎﻟﺘﺨﺎﻃﺐ ﻣﻊ اﻟﺤﺎﺳﺐ اﺛﻨﺎء ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ و اﻟﻤﺸﺎرﻛﺔ ﻓﻲ أﺳﺘﻐﻼل وﻗﺘﮫ ، Time Sharingﻛﻤﺎ ﯾﺴﮭﻞ ﻓﻲ
ھﺬه اﻟﻠﻐﺔ ﻋﻤﻞ اى ﺗﻌﺪﯾﻼت او أﺿﺎﻓﺎت ﻋﻠﻰ اﻟﺒﺮﻧﺎﻣﺞ.
وﺳﺮﻋﺎن ﻣﺎ أﻧﺘﺸﺮت ھﺬه اﻟﻠﻐﺔ وﻟﻢ ﺗﺼﺒﺢ ﻣﻦ اﻟﻠﻐﺎت اﻷﺳﺎﺳﯿﺔ ﻟﻠﺤﺎﺳﺐ اﻻﻟﻜﺘﺮوﻧﻲ ﻓﺤﺴﺐ ﺑﻞ أﺻﺒﺤﺖ اﻟﻠﻐﺔ اﻻﺳﺎﺳﯿﺔ
ﻓﻲ اﻟﺤﺎﺳﺒﺎت اﻻﺑﻜﺘﺮوﻧﯿﺔ اﻟﺼﻐﯿﺮة وﺟﺰاءاً رﺋﯿﺴﯿﺎً ﻣﻦ ﺗﻜﻮﯾﻨﮭﺎ ﻛﻤﺎ ھﻮ اﻟﺤﺎل ﻓﻲ أﺣﺪى ﺻﻮرھﺎ اﻟﺘﻰ ﺗﻌﺮف ﺑﺎﺳﻢ
١
، MSBASICاﻟﺘﻲ ﻗﺎﻣﺖ ﺑﻮﺿﻌﮭﺎ ﺷﺮﻛﺔ .Microsoft
ﺣﯿﻨﻤﺎ أﺻﺪرت )ﻣﯿﻜﺮوﺳﻮﻓﺖ( أول ﻧﺴﺨﺔ ﻣﻦ ﻟﻐﺔ Visual Basicﻋﺎمَ ،١٩٩١ﻟﻢ ﯾﻜﻦ ﻓﻲ ﺣﺴﺒﺎﻧِﮭﺎ أﻧّﮭﺎ ﺳﺘﻜﺘﺴﺐُ ﻛﻞّ
ھﺬه اﻟﺸﮭﺮةِ وﺳﺘﺤﻘّﻖ ﻛﻞّ ھﺬه اﻟﺸﻌﺒﯿّﺔ!
إنّ ﻟﻐﺔ BASICاﻟﻘﺪﯾﻤﺔ ﺗُﻌَﺪّ ﻣﻦ أﺳﮭﻞ ﻟﻐﺎتِ اﻟﺒﺮﻣﺠﺔ ،وﻟﻜّﻨﮭﺎ ﻟﻢ ﺗﺴﺘﻄﻊ اﻟﺼﻤﻮد ﻓﻲ اﻟﻤﻨﺎﻓﺴﺔ ﻣﻊ ﻟﻐﺎتِ اﻟﺒﺮﻣﺠﺔ
اﻷﺧﺮي ﺑﺴﺒﺐ ﻗﺪراﺗِﮭﺎ اﻟﻤﺤﺪودة.
ﻛﺎنَ ذﻟﻚ ﻛﺬﻟﻚ ،ﺣﺘّﻲ أﺻﺪرت )ﻣﯿﻜﺮوﺳﻮﻓﺖ( إﺻﺪارات VBاﻟﻤﺘﺘﺎﺑﻌﺔ ،ﻟﺘﻨﺘﻘﻞ ﻟﻐﺔ BASICﻣﻦ ﻗِﻔﺎر اﻟﺪوس اﻟﻤﺠﺪﺑﺔ
إﻟﻲ ﻣﺮاﻋﻲ اﻟﻮﯾﻨﺪوز اﻟﺨﺼﺒﺔ ،ﻣﺎﻧﺤﺔً ﻟﻠﻤﺒﺮﻣﺞ اﻟﻘﺪرة ﻋﻠﻲ إﻧﺸﺎءِ ﺑﺮاﻣﺞ ذات واﺟﮭﺔ ﻣﺮﺋﯿّﺔ ،ﺑﺄﺳﮭﻞِ ﻃﺮﯾﻘﺔٍ وﻓﻲ أﺳﺮعِ
وﻗﺖ.
وﻣﻨﺬﺋﺬٍ وﻟﻐﺔ VBﺗﺘﺼﺪّر ﻗﺎﺋﻤﺔ ﻣﺒﯿﻌﺎت ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ ،ﻟﺘﺪﺧﻞَ ﻓﻲ ﺑﻨﺎءِ اﻟﺘﻄﺒﯿﻘﺎتِ اﻟﺘﺠﺎرﯾّﺔ وﺗﻄﺒﯿﻘﺎتِ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎتِ
اﻟﺒﺴﯿﻄﺔ ،وﺑﺮاﻣﺞ اﻟﻮﺳﺎﺋﻂ اﻟﻤﺘﻌﺪدة Multimediaواﻟﻜﺜﯿﺮ ﻣﻦ اﻷﻟﻌﺎب.
وﻟﻜﻦ ﻟﻸﺳﻒ ..داﺋﻤﺎ وأﺑﺪا ﻛﺎﻧﺖ VBأدﻧﻲ ﻣﻦ ﺑﺎﻗﻲ ﻟﻐﺎتِ اﻟﺒﺮﻣﺠﺔ ،ﻓﺘﻄﺒﯿﻘﺎﺗُﮭﺎ أﺑﻄﺄ ﻧﺴﺒﯿّﺎ وأﻛﺒﺮ ﺣﺠﻤﺎ ،وﺗﻌﺎﻧﻲ ﻣﻦ
ﺑﻌﺾ أوﺟﮫِ اﻟﻘﺼﻮرِ ﻓﻲ اﻷداء.
وﻟﻘﺪ اﺳﺘﻤﺮّت )ﻣﯿﻜﺮوﺳﻮﻓﺖ( ﻓﻲ ﺗﻄﻮﯾﺮ VBﻋﺒﺮَ ﺳﺖّ إﺻﺪاراتٍ ﻣﺨﺘﻠﻔﺔ ،وﻓﻲ ﻛﻞّ إﺻﺪارٍ ﺟﺪﯾﺪٍ ﻛﺎﻧﺖ ﺗﻌﺎﻟﺞُ ﺑﻌﺾَ
اﻟﻤﺸﺎﻛﻞِ اﻟﻘﺪﯾﻤﺔِ وﺗﻀﯿﻒُ اﻟﻤﺰﯾﺪَ ﻣﻦ اﻟﻘﺪرات ،ﻟﺘﻀﯿﻖَ اﻟﻔﺠﻮةُ ﺷﯿﺌًﺎ ﻓﺸﯿﺌﺎ ﺑﯿﻦ VBوﺑﺎﻗﻲ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ.
ﺛﻢّ أﺧﯿﺮا أﻗﺪﻣﺖ )ﻣﯿﻜﺮوﺳﻮﻓﺖ( ﻋﻠﻲ اﻟﺨﻄﻮة اﻟﺘﻲ ﻃﺎل اﻧﺘﻈﺎرھﺎ ..أﺻﺪرت ﻧﺴﺨﺔ ﺟﺪﯾﺪةً ﺑﻜﻞّ اﻟﻤﻘﺎﯾﯿﺲ ﻣﻦ ، VBﺑﻨﺘﮭﺎ
ﻣﻦ ﺟﺬورھﺎ From scratchﻟﺘﺠﻌﻠﮭﺎ ﻧﺪّا ﺣﻘﯿﻘﯿّﺎ ﻟـ ، VC++ﺑﺤﯿﺚُ ﯾﻤﻜﻨﻚ أن ﺗﻘﻮلَ ﺑﺜﻘﺔ :إنّ اﻟﻌﺼﺮَ اﻟﺬھﺒﻲﱠ ﻟـ VC++
آﺧﺬٌ ﻓﻲ اﻷﻓﻮل ﺑﻸ رﺟﻌﺔ ،ﺣﯿﺚُ ﺳﯿﻨﺤﺼﺮُ اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﺗﺼﻤﯿﻢ اﻟﻤﺤﺮّﻛﺎت Enginesاﻟﺘﻲ ﺗﺪﺧﻞ ﻓﻲ ﺑﻨﺎء ﺗﻄﺒﯿﻘﺎت
أﺧﺮي ،أو ﻓﻲ ﻛﺘﺎﺑﺔ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ اﻟﺬي ﯾﺘﯿﺢ ﻟﻠﻜﻤﺒﯿﻮﺗﺮ اﻟﺘﺤﻜﻢّ ﻓﻲ آﻷت أﺧﺮي ،وﻟﻜﻦّ اﺳﺘﺨﺪاﻣﮭﺎ ﺳﯿﺘﺮاﺟﻊ ﺑﻸ ﺷﻚّ
ﻓﻲ ﺗﻄﺒﯿﻘﺎت اﻹﻧﺘﺮﻧﺖ واﻟﺘﻄﺒﯿﻘﺎت اﻟﺘﺠﺎرﯾّﺔ وﺗﻄﺒﯿﻘﺎت ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت واﻟﻮﺳﺎﺋﻂ اﻟﻤﺘﻌﺪّدة وﻣﻌﻈﻢ اﻷﻟﻌﺎب وﻣﺎ ﺷﺎﺑﮫ ،
2
ﻧﻈﺮًا ﻟﺼﻌﻮﺑﺘِﮭﺎ وﺗﻌﻘﯿﺪِھﺎ وﻃﻮل اﻟﻮﻗﺖ اﻟﻼزم ﻟﻠﺒﺮﻣﺠﺔ ﺑﮭﺎ !
وأﻋﺘﻘﺪُ أنّ ھﺬا ھﻮ اﻟﺴﺒﺐ اﻟﺬي دﻓﻊ )ﻣﯿﻜﺮوﺳﻮﻓﺖ( ﻷﺻﺪار اﻟﻠﻐﺔ اﻟﺠﺪﯾﺪة ، C#اﻟﺘﻲ ﺗُﻌﺘﺒﺮ ﺗﻮاﻣﺎ ﻟـ VBإﻷ إﻧّﮭﺎ ﺗﺴﺘﺨﺪم
ﻗﻮاﻋﺪ C++ﻓﻲ ﻛﺘﺎﺑﺔ اﻷواﻣﺮ ،ﻣﻤّﺎ ﯾﺸﻜّﻞُ ﻟﻤﺒﺮﻣﺠﻲ VC++إﻏﺮاءً ﺗﺼﻌﺐُ ﻣﻘﺎوﻣﺘﮫ ﻟﻸﻧﺘﻘﺎلِ إﻟﯿﮭﺎ.
وﻟﻜﻦ ﻣﮭﻤﺎ ﻛﺎﻧﺖ ﺳﮭﻮﻟﺔ ، C#ﻓﺈنّ VBﯾﺼﺮﻋُﮭﺎ ﻓﻲ ھﺬا اﻟﻤﻀﻤﺎر ،ﻓﮭﻮ أﻗﺮبُ ﻣﺎ ﯾﻜﻮنُ ﻟﻠّﻐﺔِ اﻷﻧﺠﻠﯿﺰﯾّﺔ اﻟﻌﺎدﯾّﺔ ،وﻻ
ﯾﺤﺘﻮي ﻋﻠﻲ اﻟﺮﻣﻮزِ اﻟﻜﺜﯿﺮةِ اﻟﻤﻤﻠّﺔ اﻟﺘﻲ ﺗﻤﻸ ، C++ﻣﺜﻞ ; || .... ، == ،++ ،إﻟﻲ آﺧﺮ ھﺬه اﻟﺮﻣﻮزِ اﻟﺘﻲ ﺗﺠﻌﻞُ
اﺣﺘﻤﺎﻻت اﻟﺨﻄﺈ ﻋﻨﺪ ﻛﺘﺎﺑﺔِ اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ أﻋﻠﻲ ،وﺗﺠﻌﻞُ اﻟﺒﺮﻧﺎﻣﺞَ أﺻﻌﺐَ ﻓﮭﻤًﺎ وأﻗﻞﱠ أﻟﻔﺔً ﻋﻨﺪَ ﻗﺮاءﺗﮫ.
ﺑﯿﺴﻚ اﻟﻤﺮﺋﻲ )ﺑﺎﻹﻧﺠﻠﯿﺰﯾﺔ) (Visual BASIC :أو ﻓﯿﺠﻮال ﺑﯿﺴﻚ( ھﻰ ﺑﯿﺌﺔ ﺗﻄﻮﯾﺮ و ﻟﻐﺔ ﺑﺮﻣﺠﺔ ﻣﻦ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﺗﺴﺘﻨﺪ إﻟﻰ ﻟﻐﺔ
اﻟﺒﯿﺴﻚ اﻟﺸﮭﯿﺮة .و ھﻰ ﺗﺼﻨﻒ ﺿﻤﻦ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ اﻟﺸﯿﺌﯿﺔ .ﻣﻨﺬ أن ﺑﺪأت ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻓﻲ اﺻﺪار اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ و ھﻰ ﺗﻼﻗﻰ
ﻧﺠﺎﺣﺎ ﺑﺎھﺮا و ﺷﻌﺒﯿﺔ ﻻ ﺑﺄس ﺑﮭﺎ ﺑﯿﻦ اﻟﻤﺒ ﺮﻣﺠﯿﻦ ﻧﻈ ﺮا ﻟ ﺴﮭﻮﻟﺘﮭﺎ اﻟ ﺸﺪﯾﺪة ﻓ ﻲ ﻣﻘﺎﺑ ﻞ اﻟﺘﻌﻘﯿ ﺪ اﻟ ﺸﺪﯾﺪ اﻟ ﺬى ﯾﻮاﺟﮭ ﮫ أى ﻣﺒ ﺮﻣﺞ
ﯾﺴﻌﻰ ﻟﺒﺮﻣﺠﺔ وﯾﻨﺪوز ﺑﺎﺳﺘﺨﺪام اﻟﺴﻰ أو اﻟ ﺴﻰ .++اﻻ أن اﻟﻔﯿﺠ ﻮال ﺑﯿ ﺴﻚ رﺑﻤ ﺎ ﺗﻜ ﻮن ھ ﻰ ﻣ ﻦ أﺳ ﺆ اﻟﻠﻐ ﺎت اﻟﺘ ﻰ ﺗﻜﺘ ﺐ ﻋﻠﯿﮭ ﺎ
ﺑﺮاﻣﺞ اﻟﻮﯾﻨﺪوز اﻵن ﻃﺒﻌﺎ ﺑﻌﺪ اﻟﺠﺎﻓﺎ.ﻋﻤﻮﻣﺎ ﺗﻨﺎﺳﺐ اﻟﻔﯿﺠ ﻮال ﺑﯿ ﺴﻚ ﺗﻄﺒﯿﻘ ﺎت ﻗﻮاﻋ ﺪ ﺑﯿﺎﻧ ﺎت و اﻟﺘﻄﺒﯿﻘ ﺎت اﻟﻤﺨﺼ ﺼﺔ ﻟﻠ ﺸﺮﻛﺎت
اﻟ ﺼﻐﯿﺮة و ﺑ ﺮاﻣﺞ اﻟﺤ ﺴﺎﺑﺎت و ھ ﻰ ﻣﺮﯾﺤ ﺔ و ﺳ ﮭﻠﺔ و ﺗ ﺆدى اﻟﻐ ﺮض ﺑﺎﻻﺿ ﺎﻓﺔ إﻟ ﻰ أﻧﮭ ﺎ ﺗ ﺴﻤﺢ ﻟﻠﻤﺒ ﺮﻣﺞ ﺑ ﺎﻟﺘﺮﻛﯿﺰ ﻋﻠ ﻰ ﺣ ﻞ
اﻟﻤﺸﻜﻠﺔ ﻓﻐﺎﻟﺒﺎ ﻣﺎ ﻻ ﯾﻮاﺟﮫ ﺻﻌﻮﺑﺎت ﻓﻨﯿﺔ أﺛﻨﺎء ﻛﺘﺎﺑﺔ ﺑﺮﻧﺎﻣﺞ ﺑﺎﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ .و ﻟﻜﻦ ﺑﻘﻰ أن ﻧﺬﻛﺮ أن ﺑﺮاﻣﺞ اﻟﻔﯿﺠﻮال ﺑﯿ ﺴﻚ ﻻ
ﺗﺘﻢ ﺗﺮﺟﻤﺘﮭﺎ ﻛﺎﻣﻠﺔ إﻟﻰ ﻟﻐﺔ اﻷﻟﺔ ﻣﺜﻞ اﻟﺴﻰ ++أو اﻟﺪﻟﻔﻰ و اﻧﻤﺎ ﺗﺘﺮﺟﻢ إﻟﻰ ﻛﻮد وﺳ ﻄﻰ ﯾﺘ ﺼﻞ ﻣ ﻊ ﻣﻜﺘﺒ ﺔ رﺑ ﻂ ﺗ ﺴﻤﻰ ب" Run
"Time libraryو اﺳﻤﮭﺎ MSVBMnn.dllﻣﻊ ﻣﻼﺣﻈﺔ أن ﺣﺮﻓﻰ ال"ان" ﯾﺸﯿﺮان إﻟﻰ رﻗﻢ اﻻﺻﺪارة.
ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ھﻲ ﻟﻐﺔ ذات ﺗﺼﻤﯿﻢ ﻣﺮﺋﻲ واﺟﮭﺔ رﺳﻮﻣﯿﺔ ﺑﻌﻜﺲ ﺑﻌﺾ اﻟﻠﻐﺎت ﻣﺜﻞ اﻻﺳﻤﺒﻠﻲ ذات اﻟﺸﺎﺷﺔ اﻟ ﺴﻮداء
ﺣﯿﺚ ﺗﺤﺘﻮي ھﺬه اﻟﻠﻐﺔ ﻋﻠﻰ اﻟﻌﺪﯾﺪ ﻣﻦ اﻻواﻣﺮ ﺑﺪاﺧﻠﮭﺎ وﻟﻐﺔ ﺳ ﮭﻠﺔ اﻟﺘﻄﺒﯿ ﻖ ﺗ ﻢ ﺗﻄ ﻮﯾﺮ ھ ﺬه اﻟﻨ ﺴﺨﺔ ﻣ ﻦ اﻟﺒﺮﻧ ﺎﻣﺞ ﻋ ﻦ اﻟﻨ ﺴﺨﺔ
اﻟﻘﺪﯾﻤﺔ basicو اﻟﺘﻲ ﺗﻌﻤﻞ ﺗﺤﺖ ﺑﯿﺌﺔ dosإﻟﻰ ھﺬه اﻟﻨﺴﺨﺔ اﻟﺘﻲ ﺗﻌﻤﻞ ﺗﺤﺖ ﺑﯿﺌﺔ وﻧﺪوز .ﺗﻌﺘﻤﺪ اﻟﻠﻐﺔ ﻓﻲ ﺗﻄﻮﯾﺮ ﺗﻄﺒﯿﻘﺎﺗﮭﺎ ﻋﻠﻰ
اﻟﻜﺎﺋﻨﺎت ﻓﮭﻲ ﺗﺸﺒﮫ اﻟﻌﺪﯾﺪ ﻣﻦ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ اﻟﺤﺪﯾﺜﺔ ﻣﻦ ﺣﯿﺚ اﻋﺘﻤﺎدھﺎ ﻋﻠﻰ اﻟﺪﯾﻨﺎﻣﯿﻜﯿ ﺔ و اﻻﺣ ﺪاث .ﺗﻌﻨ ﻲ اﻟﺪﯾﻨﺎﻣﯿﻜﯿ ﺔ ﻓ ﻲ ھ ﺬه
اﻟﻠﻐﺔ اﻟﻘﺪرة ﻋﻠ ﻰ اﺳ ﺘﺪﻋﺎء اي اﻗﺘ ﺮان او اﺟ ﺮاء اﻋﺘﻤ ﺎدا ﻋﻠ ﻰ اﻟﺤ ﺪث .اﻟﺤ ﺪث ھ ﻮ اي ﻋﻤﻠﯿ ﺔ ﯾﻘ ﻮم ﺑﮭ ﺎ ﻣ ﺴﺘﺨﺪم اﻟﺘﻄﺒﯿ ﻖ ﻋﻠ ﻰ
اﻟﺘﻄﺒﯿﻖ ﻣﺜﻞ اﻟﻀﻐﻂ ﺑﺰر اﻟﻔﺎرة او اﻟﻀﻐﻂ ﻋﻠﻰ أﺣﺪ ازرار ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ او ﺣﺘﻰ ﺗﺤﻤﯿﻞ ﻧﻤﻮذج .ﻟﺘﻌﻠﻢ اﻟﻠﻐ ﺔ ﯾﻔﺘ ﺮض ﺑ ﻚ اﺗﻘ ﺎن
اﻟﺘﺎﻟﻲ
اﻻﺻﺪار اﻻول ﻣﻦ Visual Basicﻛﺎن ﻣﺤﺪود ﻟﻠﻐﺎﯾﺔ .وﻟﻢ ﯾﻜﻦ ﻣﻮﺟﮫ ﻟﺘﻄﻮﯾﺮ اﻟﺘﻄﺒﯿﻘﺎت اﻟﺤﻘﯿﻘﺔ ﻟﺒﯿﺌﺔ .Windowsﻣﻊ اﻧﮫ ﻛﺎن
ﺳﮭﻞ اﻻﺳﺘﺨﺪام ذو واﺟﮭﺔ رﺳﻮﻣﯿﺔ وﻟﻐﺔ ﺑﺮﻣﺠﺔ ﻣﺮﺋﯿﺔ إﻟﻰ اﻧﮫ ﻛﺎن ﯾﻌﺘﺒﺮ ﻛﻠﻌﺒﺔ ﻣﺴﻠﯿﺔ ﻟﻠﻤﺒﺮﻣﺠﯿﻦ.
اﻻﺻﺪار اﻟﺜﺎﻧﻲ ﻣﻦ Visual Basicﻟﻢ ﯾﻈﮭﺮ اي ﺟﺪﯾﺪ ﺑﺎﺳﺘﺜﻨﺎء اﺿﺎﻓﺔ اﻟﻘﻠﯿﻞ ﻣﻦ اﻟﺨﺼﺎﺋﺺ ودﻋﻢ أﻓﻀﻞ ﻟﺒﯿﺌﺔ اﻟﺘﻄﻮﯾﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ
.IDEﻟﻜ ﻦ ﻓ ﻲ ﺗﻠ ﻚ اﻟﻔﺘ ﺮة ،ﻇﮭ ﺮ ﻣﻮﻟ ﻮد ﺟﺪﯾ ﺪ وھ ﻮ اﻟﻨﻈ ﺎم Access 1.0ﻟﻘﻮاﻋ ﺪ اﻟﺒﯿﺎﻧ ﺎت اﻟﻌﻼﺋﻘﯿ ﺔ وﻛ ﺎن ﻛ ﻞ ﺗﺮﻛﯿ ﺰ ﺷ ﺮﻛﺔ
Microsoftھﻮ اﻟﺪﻣﺞ ﺑﯿﻨﮭﻤﺎ.
ﯾﻌﺘﺒﺮ اﻻﺻﺪار اﻟﺜﺎﻟﺚ ھﻮ ﺑﺪاﯾﺔ ﻃﺮﯾﻖ اﻟﻨﺠﻮﻣﯿﺔ او اﻟﺸﮭﺮة ﻟـ !Visual Basicﺣﯿﺚ ﻗﺪم دﻋﻢ ﻟﻘﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت واﺻ ﺒﺢ ذو ﻧﮭﺎﯾ ﺔ
ﻣﻔﺘﻮﺣﺔ ﺑﻔﻀﻞ اﻻﺿﺎﻓﺎت اﻟﺘﻲ ﻛﻨﺖ ﺗﺴﻄﯿﻊ دﻣﺠﮭﺎ ﻣﺜﻞ VBXواﻟﺘﻲ ﺗﻄﻮرت ﻓﯿﻤﺎ ﺑﻌ ﺪ إﻟ ﻰ .OCXﻇﮭ ﺮت اﻟﻜﺜﯿ ﺮ ﻣ ﻦ اﻟﺘﺤ ﺴﯿﻨﺎت
1
-ﻣﻮﺳﻮﻋﺔ وﯾﻜﺒﯿﺪﯾﺎ : wikipediaﻣﺼﻄﻠﺢ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﻧﺼﯿﺎً ﻛﻤﺎ ﺟﺎء ﻓﯿﮭﺎ
http://ar.wikipedia.org/wiki/%D9%81%D9%8A%D8%AC%D9%88%D8%A7%D9%84_%D8%A8%D9%8A%D8%B
3%D9%83 , Viewed 27/1/2009
ﻛﺎن اﻟﮭﺪف اﻻﺳﺎﺳﻲ ﻣﻦ اﻻﺻﺪار اﻟﺮاﺑﻊ ھﻮ ﻣﺮﺣﻠﺔ اﻧﺘﻘﺎﻟﯿﺔ إﻟﻰ Windows 95او ان ﺻﺢ اﻟﺘﻌﺒﯿﺮ ،اﻟﻘﺎﺑﻠﯿﺔ ﻟﺘﻄﻮﯾﺮ ﺗﻄﺒﯿﻘﺎت ﻣﻦ
ﻧﻮع .bit ٣٢وﻛﺎن أول اﺻﺪار ﻣﻦ اﺻﺪارات Basic Visualﺗﻮﻟﺪ ﺷﯿﻔﺮة ﻟﻠﻌﻤﻞ ﺗﺤﺖ ﻣﻌﺎﻟﺠﺎت ﻣﻦ ﻧﻮع .Bit٣٢ﻟﯿﺲ ھﺬا ﻓﻘﻂ!
ﺑﻞ اﺿﺎف اﻻﺻﺪار اﻟﺮاﺑﻊ اﻣﻜﺎﻧﯿﺔ ﻻﻧﺸﺎء ﻣﻜﺘﺒﺎت ﻣﻦ ﻧ ﻮع ActiveX DLLواﻟﺘ ﻲ زادت ﻓ ﻲ اﺳ ﮭﻢ ﺷ ﮭﺮة Basic Visualﺣﺘ ﻰ
اﺻﺒﺢ ﻣﻌﺘﺮف ﻛﻠﻐﺔ ﺑﺮﻣﺠﺔ ﻻﻧﺸﺎء ﺗﻄﺒﯿﻘﺎت ﺣﻘﯿﻘﯿﺔ ﺣﯿﺚ اﺿﺎف اﻟﻤﯿﺰة اﻟﺘﻲ اﻧﺘﻈﺮھﺎ اﻟﻤﺒﺮﻣﺠ ﻮن وھ ﻲ اﻟﺒﺮﻣﺠ ﺔ ﻛﺎﺋﻨﯿ ﺔ اﻟﺘﻮﺟ ﮫ
OOPﻟﻜﻨﮭ ﺎ ﻛﺎﻧ ﺖ ﻣﺤ ﺪودة ﺑ ﺴﺒﺐ اﺳ ﺘﻄﺎﻋﺘﻚ ﺑﺎﻧ ﺸﺎء اﻟﻔﺌ ﺎت Classﻓﻘ ﻂ دون اي اﻣﻜﺎﻧﯿ ﺔ اﺿ ﺎﻓﯿﺔ ﻛﺘﻌ ﺪد اﻟﻮاﺟﮭ ﺎت
Polymorphismاو اﻟﻮراﺛﺔ .Inheritance
اﻻﺻﺪار اﻟﺨﺎﻣﺲ ﻛﺎن ﺑﻤﺜﺎﺑﺔ اﻻﻋﻼن اﻟﺮﺳﻤﻲ ﻓﻲ ان ﻟﻐﺔ Visual Basicھﻲ ﻟﻐﺔ ﺑﺮﻣﺠﺔ ﻟﺘﻄﻮﯾﺮ اﻟﺘﻄﺒﯿﻘﺎت اﻟﺤﻘﯿﻘﯿﺔ واﻟﺘﺠﺎرﯾﺔ.
ﺣﯿﺚ اﺿ ﺎف اﻟﻌﺪﯾ ﺪ ﻣ ﻦ اﻧ ﻮاع اﻟﻤ ﺸﺎرﯾﻊ ﻛ ـ ActiveX Controlsو ActiveX Documentsوﻏﯿﺮھ ﺎ ..واﺿ ﺎﻓﺔ ﻣﺰاﯾ ﺎ ﻋﺪﯾ ﺪة
ﻟﻠ ﺘﺤﻜﻢ ﺑ ﺸﯿﻔﺮة ﻣﻠ ﻒ اﻟ ـ EXEاﻟ ﺬي ﯾﺨﯿ ﺮك ﻣ ﻦ ﺗﺤﻮﯾ ﻞ اﻟ ﺸﯿﻔﺮة اﻟﻤ ﺼﺪرﯾﺔ إﻟ ﻰ P-Codeاو .Native-Codeﺑﺎﻻﺿ ﺎﻓﺔ إﻟ ﻰ
اﻟﺘﺤﺴﻦ اﻟﺤﻘﯿﻘﻲ ﻟﺒﯿﺌﺔ اﻟﺘﻄﻮﯾﺮ اﻟﻤﺘﻜﺎﻣﻠﺔ IDEواﻟﺪﻋﻢ اﻻﺿﺎﻓﻲ ﻟﻘﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت.
اﻻﺻﺪار اﻟﺴﺎدس ﻻ ﯾﺨﺘﻠ ﻒ ﻋ ﻦ اﻻﺻ ﺪار اﻟﺨ ﺎﻣﺲ ﻛﺜﯿ ﺮا ﻟﻜ ﻦ ھﻨ ﺎك اﻟﻌﺪﯾ ﺪ ﻣ ﻦ اﻟﺘﺤ ﺴﯿﻨﺎت وﻋ ﻼج ﻟﻠ ﺸﻮاﺋﺐ Bugsاﻟﺘ ﻲ ﻛﺎﻧ ﺖ
ﻣﻮﺟﻮدة ﻓﻲ اﻻﺻﺪار اﻟﺨﺎﻣﺲ .ﻣﻦ أھﻢ اﻻﺿﺎﻓﺎت ﻓﻲ اﻻﺻﺪار اﻟﺴﺎدس ھﻲ اﻟﺰﯾﺪ ﻓﻲ ادوات ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت واﻟﻤﺒﻨﯿﺔ ﻋﻠﻰ .ADO
ﻛ ﺬﻟﻚ ﺗﺤ ﺴﻦ واﺿ ﺢ ﻓ ﻲ ادوات اﻟ ﺘﺤﻜﻢ .وھﻨ ﺎك اﻟﻌﺪﯾ ﺪ ﻣ ﻦ اﻟﺘﻄ ﻮﯾﺮ ﻓ ﻲ ﻟﻐ ﺔ اﻟﺒﺮﻣﺠ ﺔ ﻛ ﺪﻋﻢ اﻧ ﻮاع اﻟﺒﯿﺎﻧ ﺎت اﻟﻤﻌﺮﻓ ﺔ ﻣ ﻦ ﻗﺒ ﻞ
اﻟﻤﺴﺘﺨﺪم UDTواﻟﺰﯾﺪ ﻣ ﻦ اﻟ ﺪوال .Functionsواﺿ ﺎﻓﺔ اﻟﻤﺰﯾ ﺪ ﻣ ﻦ اﻟ ﻮﯾﺰارد Wizardsودﻋ ﻢ ﻟﺘﻄﺒﯿﻘ ﺎت اﻧﺘﺮﻧ ﺖ .Internet
واﻟﻜﺜﯿﺮ واﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺘﺤﺴﯿﻨﺎت .واﺧﯿﺮا
Visual Basic.NET
ﺗﻢ اﻧﺘﺎج ھﺬا اﻻﺻﺪار ﻣﻊ ﺗﻐﯿﯿﺮ ﺟﺬري ﻋﻤﺎ ﺳﺒﻘﺔ ﻣﻦ اﻻﺻﺪارات وﻟﻘﺪ ﺻﺪر ﻓﻲ ﺿﻞ ھﺬة اﻟﺘﻘﻨﯿﺔ ﺛﻼﺛﺔ اﺻﺪارات إﻟﻰ اﻻن
Visual Basicاداة ﻗﻮﯾﺔ وﻓﻌﺎﻟﺔ ﻟﺘﻄﻮﯾﺮ ﺗﻄﺒﯿﻘﺎت ﻣﺘﻮاﻓﻘﺔ ﻣﻊ ﺑﯿﺌﺔ .Windowsﯾﻮﻓﺮ ﻟﻚ ﺑﯿﺌﺔ ﺗﻄﻮﯾﺮ ﻣﺘﻜﺎﻣﻠﺔ ﺳﮭﻠﺔ اﻻﺳ ﺘﺨﺪام
ﻻﻧ ﺸﺎء اﻟﺤﻠ ﻮل ﺳ ﻮاء ﻛﺎﻧ ﺖ ﺷﺨ ﺼﯿﺔ او ﺗﺠﺎرﯾ ﺔ ﻓ ﻲ وﻗ ﺖ ﻗﯿﺎﺳ ﻲ ﻋ ﻦ ﻃﺮﯾ ﻖ ﻓﻠ ﺴﻔﺔ اﻟﺒﺮﻣﺠ ﺔ اﻟﻤﺮﺋﯿ ﺔ .ﺣﯿ ﺚ ﺗ ﺼﻤﻢ اﻟ ﺸﺎﺷﺎت
وﻧﻮاﻓﺬ ﺑﺮﻧﺎﻣﺠﻚ ﻋﻦ ﻃﺮﯾﻖ ﻧﻘﺮات وﺗﺤﺮﯾﻜﺎت ﺧﻔﯿﻔﺔ ﺑﺎﻟﻔﺄرة ﻛﺄﻧﻚ ﺗﺮﺳﻢ ﻣﺮﺑﻌﺎت ودواﺋﺮ ﺑﺎﺳﺘﺨﺪام ﺑﺮاﻣﺞ رﺳﻢ وﻏﯿﺮھﺎ.
ﻟﻌﻠﻚ ﺳﻤﻌﺖ ﻛﺜﯿﺮا ﻋﻦ ﻟﻐﺔ اﻟـ ،BASICوﻗﺪ ﺗﺠﻨﺐ ﺗﻌﻠﻤﮭﺎ ﺑﺴﺒﺐ ﺣﺪودھﺎ اﻟﺘﻲ ﺗﻘﺼﺮ اﻣﻜﺎﻧﯿﺎﺗﮭ ﺎ ﻛ ﺴﺎﺋﺮ ﻟﻐ ﺎت اﻟﺒﺮﻣﺠ ﺔ .ﻟﻜ ﻦ ﻣ ﻊ
اﻻﺻﺪارات اﻟﺤﺪﯾﺜﺔ ﻣﻦ Visual Basicﻓﺎن اﻻﻣﺮ اﺧﺘﻠﻒ! ﻓﺎﻻن اﺻﺒﺤﺖ اﻣﻜﺎﻧﯿﺎت اﻟﻠﻐﺔ ﺑﻼ ﺣﺪود .وﻗﺎﺑﻠﯿﺔ اﻟﺘﻄﻮﯾﺮ ﻻ ﻧﮭﺎﺋﯿﺔ اي
اﻧﮫ اﺻﺒﺢ ذو ﻧﮭﺎﯾﺔ ﻣﻔﺘﻮﺣ ﺔ .ﻓﻌ ﻦ ﻃﺮﯾ ﻖ اﻻﺿ ﺎﻓﺎت Add-Insوادوات اﻟ ﺘﺤﻜﻢ اﻟﺨﺎرﺟﯿ ﺔ ActiveX Controlوﻣﻜﻮﻧ ﺎت COM
ﺑﺼﻔﺔ ﻋﺎﻣﺔ ،ﺗﺴﺘﻄﯿﻊ اﻧﺠﺎز ﻛﻞ ﻣﺎ اﺳﺘﻄﻌﺖ اﻧﺠﺎزه ﺑﺎﻟﻠﻐﺎت اﻟﻤﺨﺘﻠﻔﺔ .ﻓﻼﺿ ﺎﻓﺔ ﻣﻜ ﻮن COMﺟﺪﯾ ﺪ ﻻ ﯾﺘﻄﻠ ﺐ اﻻﻣ ﺮ ﻣﻨ ﻚ ﺳ ﻮى
ﺗﺤﺪﯾﺪ اﺳﻢ وﻣﻠﻒ اﻟﻤﻜﻮن وﻣﻦ ﺛﻢ اﺳﺘﺨﺪاﻣﮫ ﻣﺒﺎﺷﺮة!ﺣﻘﯿﻘﻰ أﺻﺒﺤﺖ أﻛﺜﺮ ﺗﻄﻮر.
اﻟﺘﻄﺒﯿﻘ ﺎت اﻟﺘ ﻲ ﺗﻨ ﺸﺌﮭﺎ ﺑﻮاﺳ ﻄﺔ Visual Basicﻣﺘﻮاﻓﻘ ﺔ %١٠٠ﻣ ﻊ اﺻ ﺪارات Windowsاﻟﻤﺨﺘﻠﻔ ﺔ .ﻓ ﺎﻟﻨﻮاة اﻟﺪاﺧﻠﯿ ﺔ
ﻟﻠﺘﻄﺒﯿﻘﺎت اﻟﻤﻨﺸﺌﺔ ﺑﻮاﺳﻄﺔ Visual Basicھﻲ ﻋﺒﺎرة ﻋﻦ ﺳﯿﻞ ﻣﻦ اﺟﺮاءات APIاﻟﺘﻲ ﻋﺒﺎرة ﻋﻦ روح ﻧﻈﺎم .Windowsاﻣﺎ
ﻋﻦ اﻟﺪوال اﻻﺿﺎﻓﯿﺔ اﻟﺘﻲ ﺗﻮﻓﺮھﺎ ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ ﻓﮭﻲ ﻣﻮﺟﻮدة ﻓﻲ ﻣﻜﺘﺒﺔ ﻣﺴﺘﻘﻠﺔ MSVBVM60.DLLوھﻲ اﻟﻤﺴﺆوﻟﺔ ﻋﻦ ﺗﺸﻐﯿﻞ
ﺑﺮاﻣﺠﻚ اﻟﺘﻲ ﻃﻮرﺗﮭﺎ ﻋﻦ ﻃﺮﯾﻖ .Visual Basic
Visual Basicﯾ ﻮﻓﺮ ﻟ ﻚ اﻟﻌﺪﯾ ﺪ ﻣ ﻦ اﻟﺤﻠ ﻮل واﻟﺨﺎﺻ ﺔ ﺑﺎﻻﻧﺘﺮﻧ ﺖ .ﻓﯿﻤﻜﻨ ﻚ ﻣ ﻦ اﻧ ﺸﺎء ادوات ﺗﺤﻜ ﻢ ActiveX Controlsﯾ ﺘﻢ
ﺗﻨﻔﯿ ﺬھﺎ ﻓ ﻲ ﺻ ﻔﺤﺔ وﯾ ﺐ .او ﺗ ﺼﻤﯿﻢ ﺗﻄﺒﯿﻘ ﺎت ﻣﺘﻘﺪﻣ ﺔ ﻛ ـ ActiveX Documentsﻟﻠﻌﻤ ﻞ ﻋﻠ ﻰ ﻣﺘ ﺼﻔﺢ .Internet Explorer
اﻟﻤﺰﯾﺪ اﯾﻀﺎ Visual Basic ،ﯾﻮﻓﺮ ﻟﻚ ﺑﯿﺌﺔ ﺗﻄﻮﯾﺮ ﺧﺎﺻﺔ ﻟﺘﻄﻮﯾﺮ ﺗﻄﺒﯿﻘﺎت اﻧﺘﺮﻧﺖ ﺳﻮاء ﻛﺎﻧﺖ ﻟﻠﻌﻤﯿﻞ Clientﻛﺘﻄﻮﯾﺮ ﺗﻄﺒﯿﻘﺎت
ﻣﻦ ﻧﻮع DHTML Applicationsاو ﻟﻠﺨﺎدم Serverﻛﺘﻄﻮﯾﺮ ﺗﻄﺒﯿﻘﺎت .Applications ASP
ﺣﻘﻖ Visual Basicﺷﻌﺒﯿﺔ ﻻ ﻣﺜﯿﻞ ﻟﮭﺎ ﺑﯿﻦ ﻣﻄﻮروا اﻟﺘﻄﺒﯿﻘﺎت ﺗﺤﺖ ﺑﯿﺌﺔ .Windowsواﻟﻔﺮص اﻟﻮﻇﯿﻔﯿ ﺔ ﻟﻤﺒﺮﻣﺠ ﻲ Visual
Basicھﻲ اﻻﻋﻠﻰ .ﻛﺬﻟﻚ ،اﻟﻤﻮاﻗﻊ اﻟﺘﻲ ﺗﻨﺎﻗﺶ ھﺬه اﻟﻠﻐﺔ ﻓﻲ زﯾﺎدة اﺳﯿﺔ! واﻋ ﺪاد اﻟﻤﺒﺮﻣﺠ ﻮن اﻟﻤﮭ ﺎﺟﺮون إﻟ ﻰ Visual Basic
ﯾﻮﻣﻲ اﻟﺰﯾﺎدة .اﻟﻤﺰﯾﺪ اﯾﻀﺎ ،ادوات اﻟﺘﻄﻮﯾﺮ اﻟﺨﺎﺻﺔ ﺑـ Visual Basicﻛﻤﻜﻮﻧﺎت COMﻓﻲ ﻛ ﻞ ﻣﻜ ﺎن وﯾﻜﻔﯿ ﻚ وﺟ ﻮد أﻛﺜ ﺮ ﻣ ﻦ
ﺛﻼث ﻣﺠ ﻼت ﻋﺎﻟﻤﯿ ﺔ ﺗﻨ ﺎﻗﺶ ھ ﺬه اﻟﻠﻐ ﺔ!! وھ ﺬا Visual Basic.NETﻗ ﺮب ان ﺗﺒ ﺼﺮ اﺻ ﺪارﺗﮫ اﻟﻨﮭﺎﺋﯿ ﺔ اﻟﻨ ﻮر ،واﻟﺘ ﻲ ﺑ ﺪورھﺎ
ﻃﺮﯾﻘﻚ إﻟﻰ ﻣﺤﺎذاة اﻟﺮﻛﺐ وﺗﻄﻮﯾﺮ ﺗﻄﺒﯿﻘﺎت اﻧﺘﺮﻧﺖ اﻟﺬﻛﯿﺔ.
ﻋﺪم ﻣﺠﺎﻧﯿﺔ ﺑﺮاﻣﺠﮭﺎ ،أي أﻧﻚ ﺗﺤﺘﺎج ﻏﺎﻟﺒﺎ ﻟﻠﺪﻓﻊ ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻣﻠﻔﺎت ﻣﻔﺘﻮﺣﺔ اﻟﻤﺼﺪر •
ﻻ ﯾﺘﻢ ﺗﺮﺟﻤﺘﮭﺎ ﺑﺸﻜﻞ ﻛﺎﻣﻞ إﻟﻰ ﻟﻐﺔ اﻷﻟﺔ. •
ﻻ ﺗﺪﻋﻢ ﻛﺎﻓﺔ أﺷﻜﺎل اﻟﺒﺮﻣﺠﺔ اﻟﺸﯿﺌﯿﺔ. •
اﻟﻤﺘﺮﺟﻢ ﻧﻔﺴﮫ ﺑﮫ ﺑﻌﺾ اﻟﺸﻮاﺋﺐ و اﻟﺘﻰ ﺗﻈﮭﺮ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﻜﺘﻮب ﺣﺘﻰ ﻓﻲ ﺣﺎﻟﺔ ﺧﻠﻮ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﺼﺪر ﻣﻦ •
اﻷﺧﻄﺎء.
أﻧﺘﺠﺖ ﺷﺮﻛﺔ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ أول إﺻﺪار ﻣﻦ ﻟﻐﺔ اﻟﺒﯿﺴﻚ ﻋﺎم ١٩٧٠م ،وﺳﻤﻲ Basicواﻷﺳﻢ ﯾﻌﺘﺒﺮ اﺧﺘﺼﺎر ﻟﻠﻜﻠﻤﺔ ﻟﻠﻐﺔ
اﻟﺒﺮﻣﺠﺔ اﻟﻌﺎﻣﺔ اﻟﺘﺴﻠﺴﻠﯿﺔ ﻟﻠﻤﺒﺘﺪﺋﯿﻦ ) ، (Symbolic Instruction Code Beginner’s All-Purposeوﺗﻮاﻟﺖ اﻹﺻﺪارات
ﻓﻈﮭﺮ اﻹﺻﺪارات ، QuickBasic and QBasic ،GW-BASICو ﻛﻠﮭﻢ ﯾﻌﻤﻠﻮن ﻓﻲ ﺑﯿﺌﺔ ، Dosو ﻣﻊ اﻧﺘﺸﺎر ﺑﯿﺌﺔ وﯾﻨﺪوز
ﻇﮭﺮت ﻓﯿﺠﻮال ﺑﯿﺴﻚ اﻟﺘﻲ اﺣﺘﻮت ﻋﻠﻲ ﻛﺜﯿﺮ ﻣﻦ أواﻣﺮ QBASICوأﺿﺎﻓﺖ اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﻮﻇﺎﺋﻒ اﻟﺘﻲ ﺟﻌﻠﺖ ﻣﻦ اﻟﺒﺮﻣﺠﺔ ﺑﻔﯿﺠﻮال
ﺑﯿﺴﻚ ﯾﺴﺮه و ﺳﮭﻠﺔ .ھﻨﺎك اﻻآﻻف ﻣﻦ اﻟﻤﻮاﻗﻊ اﻟﺘﻌﻠﯿﻤﯿﺔ ﻟﻠﻔﯿﺠﻮال ﺑﯿﺴﻚ و ﻣﻨﮭﺎ Visual Basic Tutorials
ﻓﻲ ﻋﺎم ١٩٩٩ﺗﻢ اﻓﺘﺘﺎح أول ﻣﻮﻗﻊ ﻋﺮﺑﻲ ﻋﻠﻰ اﻹﻧﺘﺮﻧﺖ ﯾﮭﺘﻢ ﺑﻠﻐﺔ ﻓﯿﺠﻮال ﺑﯿﺴﻚ وھﻮ /http://www.vb4arab.com
ﻓﻲ ﻋﺎم ٢٠٠٠ﻗﺎﻣﺖ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﺑﺈﻧﺘﺎج اﻟﻨﺴﺨﺔ اﻟﻤﻄﻮرة VISUAL BASIC.NETواﻟﺘﻲ ﺗﻌﺘﻤﺪ ﻋﻠﻰ اﻟﺒﺮﻣﺠﺔ اﻟﺸﯿﺌﯿﺔ.
1
-ﻣﻮﺳﻮﻋﺔ وﯾﻜﺒﯿﺪﯾﺎ : wikipediaﻣﻌﻠﻮﻣﺎت ﻋﻦ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﻧﺼﺎُ ﻣﻦ اﻟﻤﻮﻗﻊ
http://ar.wikipedia.org/wiki/%D9%81%D9%8A%D8%AC%D9%88%D8%A7%D9%84_%D8%A8%D9%8A%D8%B
3%D9%83 , Viewed 27/1/2009
إنّ اﻟﺘﻄﻮﯾﺮات اﻟﺘﻲ ﻟﺤﻘﺖ ﺑـ VB.Netﻣﻦ اﻟﻜﺜﺮةِ ﺑﺤﯿﺚُ ﻟﻦ ﻧﺴﺘﻄﯿﻊ أن ﻧﺤﯿﻂَ ﺑﮭﺎ ﻛﻠّﮭﺎ ھﻨﺎ ..وﻟﻜﻦ ﯾﻜﻔﻲ أن ﻧﺬﻛﺮ ﻣﻨﮭﺎ ﻣﺎ ﯾﻠﻲ:
ﻟﻢ ﺗﻌﺪ ﻟـ VBواﺟﮭﺔ اﺳﺘﺨﺪام ﻣﺴﺘﻘﻠّﺔ ،ﻓﻜﻞّ ﻟﻐﺎت VS.Netﺗﺴﺘﺨﺪم واﺟﮭﺔ واﺣﺪة ،ﻣﻠﯿﺌﺔ ﺑﺎﻷدواتِ اﻟﺘﻲ ﺗُﺴﮭّﻞ ﺑﻄﺮﯾﻘﺔ
ﻣﺪھﺸﺔ ﻋﻤﻠﯿّﺔَ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ ..إنّ ھﺬه اﻟﻤﯿﺰة ﺗﺴﻤﺢ ﻟﻚ ﺑﺈﻧﺸﺎء ﺗﻄﺒﯿﻘﺎت ﺗﺪﺧﻞ ﻓﯿﮭﺎ أﻛﺜﺮ ﻣﻦ ﻟﻐﺔ ﺑﺮﻣﺠﺔ ،دون أن
ﺗﺤﺘﺎج ﻟﻔﺘﺢ أﻛﺜﺮ ﻣﻦ واﺟﮭﺔ ..إﻧّﮭﺎ واﺟﮭﺔ واﺣﺪة ﻓﻘﻂ ﻟﻜﻞّ اﻟﻤﺒﺮﻣﺠﯿﻦ.
ھﻨﺎك إﻣﻜﺎﻧﯿّﺎت ﺟﺪﯾﺪةٌ ﻓﻲ ﻧﺎﻓﺬة ﻣﺤﺮّر اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ،ﻣﻨﮭﺎ ﻗﯿﺎم اﻟﻠﻐﺔ ﺑﻜﺘﺎﺑﺔ ﺟﻤﻠﺔ ﻧﮭﺎﯾﺔ اﻟﻤﻘﻄﻊ ﺗﻠﻘﺎﺋﯿّﺎ ،ﺑﻤﺠﺮّد ﻛﺘﺎﺑﺘﻚ
ﻟﺒﺪاﯾﺘﮫ وﺿﻐﻂ زرّ Enter..ﻓﻤﺜﻼ :ﻟﻮ ﻛﺘﺒﺖ ﺟﻤﻠﺔ:
If X = 0 Then
ﻓﺈنّ ﻣﺤﺮّر اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﺳﯿﻀﯿﻒ اﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﯿﺔ ﺗﻠﻘﺎﺋﯿّﺎ:
End If
ﺑﻞ إﻧّﻚ ﻟﻮ ﻟﻢ ﺗﻜﺘﺐ ﻛﻠﻤﺔ Thenﻓﺴﯿﻜﺘﺒﮭﺎ ﻟﻚ ﻣﺤﺮّر اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﺗﻠﻘﺎﺋﯿّﺎ !
ھﺬا ﺑﺎﻷﺿﺎﻓﺔ إﻟﻲ أﻧّﮫ ﺳﯿﻀﻊ ﻣﺆﺷّﺮ اﻟﻜﺘﺎﺑﺔ داﺧﻞ ﻣﻘﻄﻊ ، Ifوﺳﯿﻘﻮم ﺑﺘﻨﺴﯿﻖ اﻟﻤﺴﺎﻓﺎت اﻟﺒﺎدﺋﺔ ﺗﻠﻘﺎﺋﯿّﺎ ،ﺑﺤﯿﺚ ﯾﺒﺪو اﻷﻛﻮد
اﻟﺒﺮﻣﺠﻲ ﻣﻨﻈّﻤﺎ وواﺿﺤﺎ ﻋﻨﺪ ﻗﺮاءﺗﮫ.
ﻛﻤّﺎ أنّ ھﻨﺎك ﺗﺤﺴﯿﻨﺎتٍ ﻛﺜﯿﺮةً ﻓﻲ ﺗﻠﻤﯿﺤﺎت اﻟﺸﺎﺷﺔِ اﻟﺘﻲ ﺗﻌﺮضُ ﻗﯿﻢَ اﻟﻤﺘﻐﯿّﺮاتِ وأﻧﻮاﻋَﮭﺎ وﻣﻌﺎﻣﻼت اﻷﺟﺮاءاتِ واﻟﺪوالﱢ
وﻗﯿﻤَﮭﺎ اﻟﻤﻌﺎدة ،ﻣﻊ ﻧﺒﺬة ﻋﻦ وﻇﯿﻔﺔ ﻛﻞّ داﻟﺔ وﻛﻞّ ﻣﻌﺎﻣﻞ ..ﺑﺎﺧﺘﺼﺎر :ﻟﻘﺪ أﺻﺒﺤﺖ ﻛﺘﺎﺑﺔ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﻣﺘﻌﺔ.
ھﻨﺎك ﺗﺤﺴﯿﻨﺎتٌ ﻛﺜﯿﺮةٌ ﻓﻲ ﻣﻈﮭﺮ اﻟﻨﻤﻮذج واﻷدوات ،وھﻨﺎك اﻟﻌﺪﯾﺪُ ﻣﻦ اﻟﺨﺼﺎﺋﺺ واﻟﻮﺳﺎﺋﻞ اﻟﺠﺪﯾﺪة اﻟﺘﻲ ﺗﻤّﺖ إﺿﺎﻓﺘﮭﺎ
ﻟﮭﺬه اﻟﻌﻨﺎﺻﺮ ،ﺑﺤﯿﺚ ﺗﻤﻨﺤﻚ ﺗﺤﻜّﻤﺎ أﻛﺒﺮ ﻓﯿﮭﺎ ..ﻓﻤﺜﻼ ،أﺻﺒﺢ ﺑﺈﻣﻜﺎﻧﻚ ﺗﺤﺪﯾﺪ درﺟﺔ ﺷﻔﺎﻓﯿﺔ اﻟﻨﻤﻮذج ،ﻛﻤﺎ ﺻﺎر ﺑﺈﻣﻜﺎﻧﻚ
ﺗﺤﺪﯾﺪ اﻟﻤﻨﻄﻘﺔ اﻟﺘﻲ ﺳﺘﻈﮭﺮ ﻣﻨﮫ ﻋﻠﻲ اﻟﺸﺎﺷﺔ ،ﺑﺤﯿﺚ ﯾﻤﻜﻨﻚ ﺗﺼﻤﯿﻢ ﻧﻤﺎذج ﺑﺄيّ ﺷﻜﻞ ..وﻟﻢ ﺗﻌﺪ ﻣﻀﻄﺮّا ﻟﻜﺘﺎﺑﺔ اﻷﻛﻮد
اﻟﺒﺮﻣﺠﻲ اﻟﺬي ﯾﺤﺎﻓﻆ ﻋﻠﻲ ﺗﻨﺎﺳﺐ ﻣﻘﺎﯾﯿﺲ اﻷدوات ﻣﻊ ﻣﻘﺎﯾﯿﺲ اﻟﻨﻤﻮذج ﻛﻠّﻤﺎ ﺗﻐﯿّﺮ ﺣﺠﻢ اﻟﻨﻤﻮذج ،ﻓﻘﺪ ﺻﺎرت ھﻨﺎك
ﺧﺼﺎﺋﺺُ ﺟﺎھﺰةٌ ﻣﺴﺌﻮﻟﺔً ﻋﻦ ھﺬا ..ھﺬا ﺑﺨﻸفِ اﻟﻌﺪﯾﺪ ﻣﻦ اﻷدوات اﻟﺠﺪﯾﺪة ،ﻣﺜﻞ اﻟﻔﺎﺻﻞ Splitterاﻟﺬي ﯾُﻤﻜّﻨﻚ ﻣﻦ ﺗﻐﯿﯿﺮِ
ﺣﺠﻢِ اﻷدوات اﻟﻤﺘﺠﺄورةِ أﺛﻨﺎء ﺗﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ.
ﺻﺎر ﺑﺈﻣﻜﺎﻧﻚ إﺿﺎﻓﺔ اﻷزرار واﻷدوات ﻟﻠﻨﻤﺎذج ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﯿﺬ ، Run Timeﻣﻊ ﻗﺪرﺗﻚ ﻋﻠﻲ رﺑﻄﮭﺎ ﺑﺄيّ إﺟﺮاء ،ﻟﯿﺘﻢّ
اﺳﺘﺪﻋﺎؤه ﻋﻨﺪ ﺿﻐﻄﮭﺎ.
ﻟﻢ ﯾﻌﺪ ھﻨﺎك أيّ ﻗﺼﻮر ﻓﻲ ﻣﺘﺮﺟﻢ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ، Compilerﻓﻜﻞّ ﻟﻐﺎت VS.Netﺗﻌﻤﻞ ﻋﻠﻲ ﻣﺘﺮﺟﻢ واﺣﺪ ،ﻣﻤّﺎ ﯾﻌﻨﻲ
أنّ VBﻗﺪ ﺻﺎر ﺑﻘﻮّة وﺳﺮﻋﺔ وﻛﻔﺎءة VC++..وﻛﻤﺜﺎل ،ﺻﺎر ﺑﺈﻣﻜﺎﻧﻚ اﺳﺘﺨﺪام اﻟﺒﺮﻣﺠﺔ اﻷرﺗﺪادﯾّﺔ Recursive
Programmingدونّ أن ﺗﺨﺸﻲ ﻣﻦ ﺑﻄﺌﮭﺎ أو اﺳﺘﮭﻼﻛﮭﺎ ﻟﺤﺠﻢ اﻟﺬاﻛﺮة ،ﻓﻘﺪ ﺻﺎرت ﻓﻲ ﻣﻨﺘﮭﻲ اﻟﺴﺮﻋﺔ واﻟﻜﻔﺎءة.
أﺻﺒﺢ ﺑﺈﻣﻜﺎﻧﻚ ﻣﻌﺎﻟﺠﺔ اﻷﺧﻄﺎء ،ﻋﻦ ﻃﺮﯾﻖ اﺳﺘﺨﺪام ﻣﻌﺎﻟﺠﺎت اﻷﺳﺘﺜﻨﺎءات Exception Handlersﻓﻲ ﺟﻤﻠﺔ Try..
Catch.. End Try.
VB.Netﻣﺒﻨﯿّﺔٌ ﺑﺎﻟﻜﺎﻣﻞِ ﻋﻠﻲ ﻣﻔﮭﻮمِ اﻟﺒﺮﻣﺠﺔِ ﺑﺎﻟﻜﺎﺋﻨﺎت ، Object Oriented Programmingﻟﺪرﺟﺔ أنّ اﻷﻋﺪادَ
اﻟﺼﺤﯿﺤﺔ Integersواﻟﻨﺼﻮص Stringsواﻟﻤﺼﻔﻮﻓﺎت Arraysﻗﺪ ﺻﺎرت ﺧﻼﯾﺎ ، Classesوﺻﺎرت ﻟﮭﺬه اﻟﻌﻨﺎﺻﺮِ
ﺧﺼﺎﺋﺺُ ووﺳﺎﺋﻞُ ﺟﺎھﺰة ..ﻓﻤﺜﻼ ،أﺻﺒﺤﺖ ﻟﺪﯾﻚ وﺳﺎﺋﻞ ﺟﺎھﺰة ﺗﻨﺘﻤﻲ ﻟﻠﻤﺘﻐﯿّﺮ اﻟﻨﺼّﻲّ ،ﺗﺴﻤﺢ ﻟﻚ ﺑﺎﻟﺒﺤﺚ ﻓﯿﮫ أو ﺗﻘﻄﯿﻌﮫ
أو اﺳﺘﺒﺪال أﺟﺰاء ﻣﻨﮫ ...إﻟﺦ ...ﻛﻤﺎ ﺻﺎرت ﻟﺪﯾﻚ وﺳﺎﺋﻞُ ﺟﺎھﺰةٌ ﻟﻌﻜﺲِ اﻟﻤﺼﻔﻮﻓﺔِ وﺗﺮﺗﯿﺒِﮭﺎ واﻟﺒﺤﺚِ ﻓﯿﮭﺎ!
ﺻﺎر ﺑﺈﻣﻜﺎﻧﻚ اﺳﺘﺨﺪام ﻛﻞّ ﻣﻔﺎھﯿﻢ اﻟﻮراﺛﺔ Inheritanceوﺗﻌﺪّد اﻷﺷﻜﺎل Polymorphismﺑﻸ أيّ ﻣﺸﺎﻛﻞ ..وإن ﻛﺎن
ﻣﺴﻤﻮﺣﺎ ﻟﻚ ﺑﻮراﺛﺔ ﺧﻠﯿّﺔ واﺣﺪة ﻓﻘﻂ Single Inheritanceﻟﻠﺘﺴﮭﯿﻞ.
ﯾﻤﻨﺤﻚ إﻃﺎر اﻟﻌﻤﻞ .Net Frameworkﺛﺮوة ھﺎﺋﻠﺔ ﻣﻦ اﻟﺨﻼﯾﺎ ، Classesﺗﻘﺪّر ﺑـ ٣٥٠٠ﺧﻠﯿّﺔ ،ﺗﻔﻌﻞ ﻛﻞّ ﻣﺎ ﺗﺤﻠﻢ ﺑﮫ
وأﻛﺜﺮ ،ﺑﺤﯿﺚ ﺗﺮﯾﺤﻚ ﺑﺪرﺟﺔ ﻛﺒﯿﺮةٍ ﻣﻦ اﻷﺣﺘﯿﺎج ﻻﺳﺘﺨﺪام دوال APIاﻟﺨﺎﺻّﺔ ﺑﺎﻟﻮﯾﻨﺪوز ،ﺑﻤﺎ ﻓﯿﮭﺎ ﻣﻦ ﺗﻌﻘﯿﺪ وﻣﺸﺎﻛﻞ ..
وأﺣﺪث ﻣﺎ ﻓﻌﻠﺘﮫ )ﻣﯿﻜﺮوﺳﻮﻓﺖ( ،ھﻮ إﺻﺪار ﻧﺴﺨﺔ ﺟﺪﯾﺪة ﻣﻦ DirectXﻣﺒﻨﯿّﺔ ﺑﺎﻟﻜﺎﻣﻞ ﺑﺎﻟﺨﻼﯾﺎ ﺑﺪﻷ ﻣﻦAPIs .
ھﺬا ﺑﺨﻸف أنّ ﻣﻌﻈﻢ ھﺬه اﻟﺨﻼﯾﺎ ﻗﺎﺑﻞ ﻟﻠﻮراﺛﺔ ،ﺑﻤﺎ ﻓﯿﮭﺎ اﻷدوات Controlsﻧﻔﺴﮭﺎ ،ﻣﻤّﺎ ﯾﻤﻨﺤﻚ اﻟﻘﺪرة ﻋﻠﻲ ﺗﻄﻮﯾﺮ
أداﺋﮭﺎ ﺑﻤﺎ ﯾﻨﺎﺳﺒﻚ .
وﻣﻦ اﻟﺨﻼﯾﺎ اﻟﺠﺎھﺰة اﻟﻌﺪﯾﺪة اﻟﺘﻲ ﯾﻤﻜﻨﻚ اﺳﺘﺨﺪاﻣﮭﺎ ،اﻟﺨﻼﯾﺎ اﻟﺘﺎﻟﯿﺔ : Stackـ Queueـ ، BitArrayو ArrayList
وﻏﯿﺮھﺎ.
- 1اﻷﻓﺎق ﻣﻮﻗﻊ اﻟﻤﻨﺘﺪي :ﺗﻌﻠﻢ اﺳﺎﺳﯿﺎت اﻟﺒﺮﻣﺠﺔ ﻓﻲ اﻟﻔﺠﻮل ﺑﯿﺴﻚ دوت ﻧﺖ ،ﺗﺎرﯾﺦ . ٢٠٠٨/٩/١٢
http://www.montada.com/forumdisplay.php?f=212
ﺑﻞ أﺻﺒﺢ ﺑﺈﻣﻜﺎﻧﻚ ﺗﻌﺮﯾﻒ اﻟﺨﻼﯾﺎ داﺧﻞ اﻟﺨﻼﯾﺎ ، Nested Classesوأيّ ﻧﻮعٍ Typeداﺧﻞ أيّ ﻧﻮع آﺧﺮ.
أﺻﺒﺢ ﺑﺈﻣﻜﺎﻧﻚ اﺳﺘﺨﺪام اﻟﻤﻨﺪوب Delegateﻛﻤﻌﺎﻣﻞ ﻟﻸﺟﺮاءات واﻟﺪوال ،ﺑﺤﯿﺚ ﯾﻤﻜﻨﻚ ﺗﻤﺮﯾﺮ اﺳﻢ أيّ إﺟﺮاء أو داﻟﺔ
ﻛﻤﻌﺎﻣﻞ !
أﺻﺒﺢ ﺑﺈﻣﻜﺎﻧﻚ اﺳﺘﺨﺪام اﻟﺴﻤﺎت Attributesﻓﻲ ﺗﻌﺮﯾﻒ اﻟﺨﻼﯾﺎ واﻟﻮﺳﺎﺋﻞ واﻟﺨﺼﺎﺋﺺ واﻷﻧﻮاع اﻟﻤﺨﺘﻠﻔﺔ ،ﻣﻤّﺎ ﯾﺨﺘﺼﺮ
ﻟﻚ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻌﻤﻞ ،وﯾﻤﻨﺤﻚ اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﻘﺪرات.
ﻟﺪﯾﻚ إﻣﻜﺎﻧﯿّﺎت ﺟﺪﯾﺪة وﻋﺪﯾﺪة ﺗﻤﻨﺤﮭﺎ ﻟﻚ ﺧﻼﯾﺎ ﺟﺎھﺰة ،ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻠﻔّﺎت واﻟﻤﺠﻠّﺪات ..وﻋﻠﻲ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ،ﯾﻤﻜﻨﻚ أن
ﺗﺮاﻗﺐ أيّ ﺗﻐﯿﯿﺮ ﯾﻄﺮأ ﻋﻠﻲ ﻣﻠﻔّﺎت اﻟﻤﺠﻠّﺪ اﻟﺬي ﺗﺮﯾﺪ ،ﺑﺎﺳﺘﺨﺪام اﻷداة ، FileSystemWatcherﻛﻤﺎ ﯾﻤﻜﻨﻚ أن ﺗﺨﺰّن
ﻛﺎﺋﻨﺎ أو ﻣﺼﻔﻮﻓﺔ أو ﻣﺠﻤﻮﻋﺔ Collectionﻣﻦ أيّ ﻧﻮعٍ إﻟﻲ ﻣﻠﻒّ ﻣﺮّة واﺣﺪة ،وإﻋﺎدة ﻗﺮاءﺗﮭﺎ ﺣﯿﻨﻤﺎ ﺗﺮﯾﺪ ،ﺑﺎﺳﺘﺨﺪام
ﺧﻼﯾﺎ اﻟﺴﻠﺴﻠﺔ.Serialization
ھﻨﺎك إﻣﻜﺎﻧﯿّﺎت ھﺎﺋﻠﺔ ﻓﻲ ﻣﺠﺎل اﻟﺮﺳﻢ واﻟﺘﻠﻮﯾﻦ ﺗﻤﻨﺤﮭﺎ ﻟﻚ ﻣﻜﺘﺒﺔ GDI+..ﯾﻜﻔﻲ أن ﺗﻌﺮف أنّ ﺑﺈﻣﻜﺎﻧﻚ اﻷن رﺳﻢ ﻣﻨﺤﻨﯿﺎت
ﻣﻌﻘّﺪة ،وﺗﻜﻮﯾﻦ أﺷﻜﺎل ﻣﺮﻛّﺒﺔ ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﺧﻄﻮط وﻣﻀﻠّﻌﺎت وﻣﻨﺤﻨﯿﺎت ،وﺗﻠﻮﯾﻦ اﻟﺴﻄﻮح ﺑﺄﻟﻮان ﻣﺘﺪرّﺟﺔ ،وﺗﺤﺪﯾﺪ
ﺷﻜﻞ ﻣﺴﺎﺣﺔ اﻟﺮﺳﻢ ،وﺗﺤﺪﯾﺪ درﺟﺔ اﻟﺸﻔﺎﻓﯿﺔ ،وﺗﺪوﯾﺮ اﻟﺮﺳﻮم وﺗﻐﯿﯿﺮ ﻣﻘﺎﯾﯿﺴﮭﺎ ﺗﻜﺒﯿﺮا أو ﺗﺼﻐﯿﺮا ....إﻟﺦ.
ﯾﻤﻜﻨﻚ اﺳﺘﺨﺪام اﻟﻤﺆﺷّﺮات Pointersﻓﻲ ﺑﻌﺾ اﻷﺣﯿﺎن ،ﻟﻠﻘﺮاءة واﻟﻜﺘﺎﺑﺔ ﻓﻲ اﻟﺬاﻛﺮة ،ﻛﻤﺎ ﯾﻤﻜﻨﻚ أداء ﻋﻤﻠﯿّﺎت ﻣﻌﻘّﺪة
ﻋﻠﻲ اﻟﻨﻈﺎم Systemﻟﻢ ﺗﻜﻦ ﻟﺘﺤﻠﻢ ﺑﮭﺎ !
أﺻﺒﺢ ﺑﺈﻣﻜﺎﻧﻚ ﺗﻘﺴﯿﻢ ﺑﺮﻧﺎﻣﺠﻚ ﻟﻤﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻤﻠﯿّﺎت اﻟﻤﺴﺘﻘﻠّﺔ ، Threadsﻣﻤّﺎ ﯾﻌﻨﻲ أنّ ﺑﺮﻧﺎﻣﺠﻚ ﯾﺴﺘﻄﯿﻊ اﻟﻘﯿﺎم ﺑﺄﻛﺜﺮ
ﻣﻦ ﻋﻤﻠﯿّﺔ ﻓﻲ ﻧﻔﺲ اﻟﻠﺤﻈﺔ . Multithreading
ھﻨﺎك إﻣﻜﺎﻧﯿّﺎت ﺟﺪﯾﺪة راﺋﻌﺔ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ،ﺗﻤﻨﺤﮭﺎ ﻟﻚ ﺗﻘﻨﯿﺔ ، ADO.Netﺑﺎﻷﺿﺎﻓﺔ ﻟﻠﻌﺪﯾﺪ ﻣﻦ اﻷدوات
اﻟﻤﺮﺋﯿّﺔ اﻟﺘﻲ ﺗﺴﺎﻋﺪك ﻓﻲ إﻧﺸﺎء ﺗﻄﺒﯿﻘﺎت ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﺑﺄﻗﻞّ ﻗﺪر ﻣﻦ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ.
أﻣّﺎ اﻟﺠﺪﯾﺪ ﺗﻤﺎﻣﺎ ،ﻓﮭﻮ ﻗﺪرﺗﻚ ﻋﻠﻲ ﺗﺼﻤﯿﻢ ﺻﻔﺤﺎت اﻹﻧﺘﺮﻧﺖ ﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ اﻟﺘﻲ ﺗﺼﻤّﻢ ﺑﮭﺎ اﻟﻨﻤﺎذج اﻟﻌﺎدﯾّﺔ ،ﻣﻊ ﻛﺘﺎﺑﺔ
اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ VBﺑﻤﻌﻈﻢ إﻣﻜﺎﻧﯿّﺎﺗﮫ ،ﻷﻧﺸﺎء ﺗﻄﺒﯿﻘﺎت ASPﺗﻌﻤﻞ ﻋﻠﻲ اﻟﺨﻮادم Serversﺑﺪون ﻛﺘﺎﺑﺔ ﺣﺮف واﺣﺪ ﻣﻦ
ﻟﻐﺔ !! ASP
ﺻﺪر أول إﺻﺪار ﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ) .Netﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻓﯿﺠﻮال ﺑﯿﺴﻚ (.Net 2002ﻓﻲ ﻓﺒﺮاﯾﺮ ٢٠٠٢و أﺻﺒﺢ اﻷﺻ ﺪار
اﻟﺜﺎﻧﻲ )ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻓﯿﺠﻮال ﺑﯿﺴﻚ (.Net 2003ﻣﺘﻮﻓﺮاُ ﺑﺸﻜﻞ واﺳﻊ ﻓﻲ ﻣﺎرس ٢٠٠٣ﺑﻌﺪ ﻓﺘﺮة ﻃﻮﯾﻠ ﺔ ﻣ ﻦ اﻟﺘﻄ ﻮﯾﺮ و اﻟﻌﻤ ﻞ
اﻟﺠﻤﺎﻋﻲ ،أﺻﺪرت ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥ﻓﻲ أواﺧﺮ اﻟﻌ ﺎم ٢٠٠٥ﻟﻘ ﺪ أﺻ ﺒﺢ ﻓﯿﺠ ﻮال ﺑﯿ ﺴﻚ ٢٠٠٥ﻣﻨ ﺪﻣﺠﺎً اﻷن
ﺑﺸﻜﻞ ﻣﺤﻜﻢ ﻣﻊ اﻟﻔﯿﺠﻮال ﺳﺘﺪﯾﻮ ﻟﺪرﺟﺔ أﻧﮫ ﯾﻮﻓﺮ ﻓﻘﻂ ﻛﻤﻜﻮن ﻓﻲ ﻃﻘﻢ اﻟﺒﺮﻣﺠﺔ ﻓﯿﺠﻮال ﺑﯿ ﺴﻚ ، ٢٠٠٥اﻟ ﺬي ﯾﺘ ﻀﻤﻦ ﻣ ﺼﺮﻓﺎت
ﻟﻔﯿﺠﻮال C#و ﻓﯿﺠﻮال C++و اﻟﻔﯿﺠﻮال J#واﻷدوات ﺗﻄﻮﯾﺮ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ .Netواﻷﺧﺮي ﻟﻜﻦ ﻓﯿﺠﻮال ﺳﺘﺪﯾﻮ ٢٠٠٥ﯾﺒﺎع ﻓﻲ
ﻋ ﺪة ﻧﻜ ﺄوﯾﻦ ﻣﻨ ﺘﺞ ﻣﺨﺘﻠﻔ ﺔ ،ﻣ ﻦ ﺑﯿﻨﮭ ﺎ اﻟﻄﺒﻌ ﺔ Standerdو اﻟﻨ ﺴﺨﺔ Professionalو اﻟﻨ ﺴﺨﺔ Team Suiteو اﻟﻨ ﺴﺨﺔ
. Expressو ھﻨﺎك ﻋﺪد ﻣﺤﺪدود ﺑﯿﻦ اﻟﻔﺮوق ﻓﻲ اﻟﻨﺴﺦ اﻟﺴﺎﺑﻘﺔ و أﻧ ﺎ اﻧ ﺼﺤﻚ ﺑﺄﺳ ﺘﺨﺪام ﺑﺮﻧ ﺎﻣﺞ VB.Net 2005ﺻ ﺪار ﺟﺪﯾ ﺪ
.Visual Basic .Net 2008
- 1ﻣﺎﯾﻜﻞ ھﺎﻟﻔﺮﺳﻮن ،ﺗﺮﺟﻤﺔ ﻣﺮﻛﺰ اﻟﺘﻌﺮﯾﺐ واﻟﺒﺮﻣﺠﺔ ﺑﺪار اﻟﻌﺮﺑﯿﺔ ﻟﻠﻌﻠﻮم :اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ " ٢٠٠٥ﺗﻌﻠﻢ ﺧﻄﻮة ﺑﺨﻄﻮة " ،اﻟﻄﺒﻌﺔ اﻷوﻟﻲ
، ٢٠٠٦ص١٥
ﺳﺘﺤﺘﺎج إﻟﻲ اﻷﺟﮭﺰة واﻟﺒﺮاﻣﺞ اﻟﺘﺎﻟﯿﺔ ﻟﺘﺤﻤﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ VB.Net 2005ﻋﻠﻲ اﻟﻜﻤﺒﯿﻮﺗﺮك اﻟﺸﺨﺼﻲ:
إذا ﻛﺎﻧﺖ ﻟﺪﯾﻚ أي ﺗﻌﻠﯿﻘﺎت أو أﺳﺌﻠﺔ أو أﻓﻜﺎر ﺗﺘﻌﻠﻖ ﺑﮭﺬا اﻟﻜﺘﺎب أو اﻟﻤﻠﻔﺎت اﻟﺘﻤﺎرﯾﻦ أو اﻟﻔﯿﺪﯾﻮات ﻋﻠﻲ اﻷﺳﻄﻮاﻧﺔ
اﻟﻤﺮﻓﻘﮫ ﻣﻌﮫ .اﻟﺮﺟﺎء أرﺳﺎﻟﮭﺎ ﻋﻠﻲ
1
-ﻣﺎﯾﻜﻞ ھﺎﻟﻔﺮﺳﻮن ،ﺗﺮﺟﻤﺔ ﻣﺮﻛﺰ اﻟﺘﻌﺮﯾﺐ واﻟﺒﺮﻣﺠﺔ ﺑﺪار اﻟﻌﺮﺑﯿﺔ ﻟﻠﻌﻠﻮم :اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ " ٢٠٠٥ﺗﻌﻠﻢ ﺧﻄﻮة ﺑﺨﻄﻮة " ،اﻟﻄﺒﻌﺔ اﻷوﻟﻲ
،٢٠٠٦ص١٧
اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﺤﺪﯾﺜﺔ ﺗﺘﻄﻮر وﺗﺘﻐﯿﺮ ﺑﺴﺮﻋﺔ ﻓﻲ ﻛﻞ ﻣﺠﺎﻻت اﻟﺤﯿﺎة وﻛﺬﻟﻚ ھﻮ اﻟﺤﺎل ﻓﻲ ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻜﻤﺒﯿﻮﺗﺮ وﺑﺮﻣﺠﺘﺔ واﺣﯿﺎﻧﺎ
اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺎاﻟﺤﺪﯾﺜﺔ ﺗﻜﻮن ﻣﻦ اﻷﺑﺪاع ﻓﻲ ﻣﻜﺎن ﺗﺠﺒﺮﻧﺎ ﻓﯿﺔ ﻟﺘﺤﺪي اﺑﺴﻂ اﻓﺘﺮاﺿﯿﺎﺗﻨﺎ.وﻓﻲ ﺻﻨﺎﻋﺔ اﻟﺤﺎﺳﺒﺎت ،ﻛﺎن اﺧﺮ
واﻋﻈﻤﺎﺑﺪاع ھﻲ ﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻹﻧﺘﺮﻧﺖ ﺗﻠﻚ اﻟﺘﻘﻨﯿﺔ اﻟﺘﻲ ﻏﯿﺮت أوﺟﺔ اﻟﻌﺎﻟﻢ اﻗﺘﺼﺎدﯾﺄ وﺛﻘﺎﻓﯿﺄ واﺛﺮت اﻟﻌﻠﻢ ﻓﻲ ﺷﺘﻲ ﻣﺠﺎﻻﺗﮫ وﻣﻊ
ھﻜﺬا ﺗﻘﻨﯿﺔﻧﺠﺒﺮ ﻷﻋﺎدة اﻟﺘﻔﻜﯿﺮ ﻛﯿﻒ ﺳﺘﻜﻮن اﻟﺒﺮاﻣﺞ و ﻛﯿﻔﯿﺔ ﺗﻄﻮﯾﺮھﺎ واﺳﺘﻌﻤﺎﻟﮭﺎ ﻓﻲ ﻇﻞ ھﺬة اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺎ.رﻏﻢ ان ھﺬة اﻟﻌﻤﻠﯿﺔ
ﺗﺤﺘﺎج ﻟﻠﻮﻗﺖ ﻋﺎدﺗﺄ وﻓﻲ ﻇﻞ ﻣﺠﺊ ﺗﻜﻨﻮﻟﻮﺟﯿﺎ ﻗﻮﯾﺔ ﻛﺎﻧﺖ أول ﻋﻘﺒﺔ ھﯿﺮﺑﻂ ﺷﺒﻜﺔ اﻹﻧﺘﺮﻧﺖ ﺑﻤﻨﺼﺔ ﻋﻤﻞ ﺣﯿﻮﯾﺔ ﺗﻌﻤﻞ ﺧﺼﯿﺼﺎ ﻣﻦ
اﺟﻠﮭﺎ وﻗﺒﻞ ﻣﺠﺊ ﻣﯿﻜﺮوﺳﻮﻓﺖ ﻛﺎن اﻟﻤﻄﻮرﯾﻦ ﯾﺴﺘﺨﺪﻣﻮن ﻣﻨﺼﺎت ﻋﻤﻞ ﻗﺪﯾﻤﺔ ﻓﻲ ﻇﻞ اﻻﻣﻜﺎﻧﯿﺎت اﻟﺠﺪﯾﺪة ﻟﻸﻧﺘﺮﻧﺖ.وﻗﺒﻞ ﻋﺪة
ﺳﻨﻮات ﻗﺮرت ﻣﯿﻜﺮوﺳﻮﻓﺖ ان اﻟﻮﻗﺖ ﻗﺪ ﺣﺎن ﻟﻌﻤﻞ ﺗﻘﻨﯿﺔ ﺟﺪﯾﺪ ﻣﻦ اﺟﻞ ﺗﺎﺳﯿﺲ ﻋﺎﻟﻢ ﻣﺎﺑﻌﺪ اﻟﻨﺖ اﻟﻨﺘﯿﺠﺔ اﻟﺘﻲ ﻇﮭﺮت .Netوھﻲ
ﺗﻤﺜﻞ ﻧﻘﻄﺔ اﻧﺘﻘﺎل ﺟﺬري ﻓﻲ ﻋﺎﻟﻢ ﺑﺮﻣﺠﯿﺎت ﻣﯿﻜﺮوﺳﻮﻓﺖ.اﺻﺒﺤﺖ .Netﻣﺴﻘﺒﻞ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ اﻷن ﻓﻘﺪ اﻋﻠﻨﺖ ان اﻏﻠﺐ اﺑﺤﺎﺛﮭﺎ
وﺗﻄﻮﯾﺮاﻧﮭﺎ ﺳﺘﻜﻮن ﻋﻠﻲ ھﺬة اﻟﺘﻘﻨﯿﺔ.وﻣﻦ اﻟﻤﺘﻮﻗﻊ ﺑﻌﺪ ﻓﺘﺮة ﻟﯿﺴﺖ ﺑﻄﻮﯾﻠﺔ ان ﺗﻜﻮن ﻛﻞ ﻣﻨﺘﺠﺎت ﻣﺎﯾﻜﺮوﺳﻮف ﻣﻌﻤﻮﻟﺔ ﻋﻠﻲ
ھﺬااﺳﺎس.Netﻣﺎﯾﻜﺮوﺳﻮﻓﺖ اﻷن اﺻﺪرت اﻷﺻﺪار اﻟﺜﺎﻧﻲ ﻟﮭﺎ of Microsoft .NET 2.0وﺑﯿﺌﺔ اﻟﺘﻄﻮﯾﺮ ﺗﺪﻋﻲ Visual Studio
2005واﺻﺪار اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ اﻟﺠﺪﯾﺪ ﯾﺪﻋﻲ Visual Basic 2005
ﻣﯿﻜﺮوﺳﻮﻓﺖ Net .ﺗﻘﻨﯿﺔ واﺳﻌﺔ اﻟﻨﻄﺎق وﻃﻤﻮﺣﺔ ﺟﺪا .وھﻲ ﺗﺸﻤﻞ .NET Frameworkاﻟﺘﻲ ﺗﺸﺘﻤﻞ ﻋﻠﻲ اﻟﻠﻐﺎت وﺗﻨﻔﯿﺬ ﻗﻮاﻋﺪ
اﻟﻌﻤﻞ ،ﺑﺎﻷﺿﺎﻓﺔ إﻟﻲ ﻃﺒﻘﺔ واﺳﻌﺔ ﻣﻦ اﻟﻤﻜﺘﺒﺎت ، class librariesوھﻲ ﻏﻨﯿﮫ ﺑﺎﻟﻤﻜﺘﺒﺎت اﻟﺪاﺧﻠﯿﺔ .ﺑﺎﻷﺿﺎﻓﺔ إﻟﻲ اﻟﻨﻮاة .NET
Framework.ﺑﺎﻷﺿﺎﻓﺔ إﻟﻲ ﺗﻘﺪﯾﻢ ﻣﺴﺘﻮي ﻣﺘﻜﺎﻣﻞ ﻟﻠﺒﺮﻣﺠﯿﺎت ﻋﺒﺮ ﺷﺒﻜﺔ اﻹﻧﺘﺮﻧﺖ .وﺗﻘﺪﯾﻢ ﺧﺪﻣﺎت ﻟﻠﺸﺒﻜﺔ ﺑﻤﺎ ﯾﻌﺮف Web
Serviesesوﺳﻮف ﻧﺎﺗﻲ إﻟﻲ ﺗﻔﺼﯿﻞ ھﺬا اﻟﻤﻔﮭﻮم ﺑﺎﻟﻜﺎﻣـﻞ.
:
ﻗﺎﻣﺖ ﺷﺮﻛﺔ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﺑﻌﻤﻞ ﺗﻘﻨﯿﺔ اﻟﺪوت ﻧﺖ ﺑﺘﻜﻠﻔﺔ ﻣﻠﯿﺎرات اﻟﺪوﻻرات و ﺗﺤﺘﻮي ﻋﻠﻲ اﻛﺜﺮ ﻣﻦ ٥اﻻﻻف ﻣﻜﺘﺒﺔ ﻷﻧﺸﺎء
اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﺒﺮاﻣﺞ ﻛﺘﻲ ﯾﺘﻮاﻓﻖ ﺑﺮاﻣﺞ اﻟﻮﯾﻨﺪوز ﻋﻠﻲ أﻧﻈﻤﺔ اﻟﻠﯿﻨﻜﺲ .ﺣﻘﻘﺖ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻓﻲ ھﺬة اﻟﺘﻘﻨﯿﺔ اﻟﻜﺜﯿﺮ ﻣﻦ اﻷھﺪاف
اﻟﺘﻲ ﻇﻠﺖ ﻟﻔﺘﺮة ﺗﺤﺄول ﺗﻘﺪﯾﻤﮭﺎ ﺑﻠﻐﺔ VBاﺻﺒﺤﺖ ﻟﻐﺔ اﺷﻜﺎل ﺑﺎﻟﻜﺎﻣﻞ OOPوﺑﯿﺌﺔ اﻟﺘﻄﻮﯾﺮ ﺑﯿﻦ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ ﻣﺒﺎﺷﺮة ﺗﻤﺎﻣﺎ ﺣﺘﻲ
اﻧﺔ ﯾﻤﻜﻦ ﻣﺰج اﻟﺸﻔﺮات ﻓﻲ ﻧﻔﺲ اﻟﺒﺮﻧﺎﻣﺞ .ﻛﻤﺎ ﺗﻢ ﻣﻮاﺟﮭﺔ ﺗﺤﺪي ﻛﺎﺑﻮس ﻟﻐﺔ اﻟﺠﺎﻓﺎ JAVAﺑﻠﻐﺔ ﺳﻲ ﺷﺎرب C #ﻣﻊ ﻣﻌﻤﺎرﯾﺔ
اﻃﺎر اﻟﻌﻤﻞ Frameworkﻛﻤﺎ ﺻﺎرت ﻣﻌﻀﻠﺔ ﺻﻌﻮﺑﺔ ﺗﻄﻮﯾﺮ ﺗﻄﺒﯿﻘﺎت اﻟﺸﺒﻜﺔ اﻟﻌﻨﻜﺒﻮﺗﯿﺔ اﻣﺮ ﻓﻲ ﻏﺎﯾﺔ اﻟﺴﮭﻮﻟﺔ ﺑﺎﻷﺿﺎﻓﺔ
ﻷﺳﺘﯿﻌﺎب ﺗﻘﻨﯿﺎت ﺣﺪﯾﺜﺔ ﻣﺜﻞ XMLوﺧﺪﻣﺎت ﻋﺒﺮ اﻟﺸﺒﻜﺔ وﺗﻢ ﺗﻮﺣﯿﺪ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺨﻄﻂ اﻟﺨﺎﺻﺔ ﺑﺸﺒﻜﺔ ﻓﻲ اﻟﻤﻨﺘﺞ اﻟﺬي ﺳﯿﺼﺒﺢ
ﻣﺤﻮر اﻟﺘﻮﺟﺔ اﻟﻘﺎدم ﻟﻠﺸﺮﻛﺔ ﻛﻤﺎ اﺳﻠﻔﺖ.
ﻛﺎن ﻇﮭﻮر اﻟﻨﻤﻮذج اﻷوﻟﻲ ﻟﺘﻘﻨﯿﺔ اﻟﺪوت ﻧﺖ ﻓﻲ ﻣﺆﺗﻤﺮ اﻟﻤﻄﻮرﯾﻦ ﻓﻲ ﯾﻮﻟﯿﻮ ٢٠٠٢وﻋﻠﻲ اﺳﺎس اﻧﺔ ﯾﺘﻢ اﺻﺪارھﺎ ﻓﻲ ﺑﺪاﯾﺔ
٢٠٠٣وﻗﺪ ﺣﻠﺖ ھﺬة اﻟﺘﻘﻨﯿﺔ ﻣﺤﻞ ﺗﻘﻨﯿﺎﺗﻌﺪﯾﺪة ﺣﺄوﻟﺖ ﻣﻦ ﺧﻼﻟﮭﺎ ﻣﯿﻜﺮوﺳﻮﻓﺖ ان ﺗﻠﺤﻖ ﻣﻮﺟﮫ اﻟﺸﺒﻜﺔ اﻟﻌﺎﻟﻤﯿﺔ ﻟﻠﻤﻌﻠﻮﻣﺎت ﻣﺜﻞ
IISو ASPاﻟﺬي ﺣﻞ ﻣﺤﻠﺔ ASP.NETاﻟﻤﺤﺴﻦ .واﺳﺘﺪﻋﺎءات APIﻣﺜﻞ ATLو MFCﺑﻤﺠﻤﻮﻋﺔ ﻣﺘﻨﺎﻏﻤﺔ ﻣﻦ ﻓﺌﺎت Base
Classوﻗﺪ ﺗﻢ اﻟﺘﻨﺎزل ﻋﻦ ﺗﻘﻨﯿﺔ DNAﻟﺼﺎﻟﺢ اﻟﺘﻘﻨﯿﺔ اﻟﺠﺪﯾﺪة COM+ 2.0ﻣﺤﻞ ﺳﺎﺑﻘﺘﮭﺎ وھﻲ ﻣﺨﺘﻠﻔﺔ ﻋﻦ ﺳﺎﺑﻘﺘﮭﺎ ﻛﻤﺎ ﺗﻢ اﻋﺎدة
ﺑﻨﺎء ﻟﻐﺔ VBﻟﺘﺼﺒﺢ ﻟﻐﺔ اﺷﻜﺎل ﻛﺎﻣﻠﺔ OOPوﺗﻢ اﺳﺘﺤﺪاث ﻟﻐﺔ ﺑﺮﻣﺠﯿﺔ ﺟﺪﯾﺪة ﺗﻤﺰﺟﺒﯿﻦ ﺳﮭﻮﻟﺔ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ وﻗﻮة C ++
ﺗﺴﻤﻲ اﻟﺴﻲ ﺷﺎرب C#وﻟﺘﻀﻤﻦ اﻟﺸﺮﻛﺔ اﻧﺘﺸﺎرھﺎ ﺗﻢ ﺟﻌﻠﮭﺎ ﻣﻔﺘﻮﺣﺔ اﻟﻤﺼﺪرOPEN SOURCE
وﻣﻦ اﻟﻤﻔﯿﺪ اﻷﺷﺎرة اﻧﺔ ﺗﻢ اﻟﺘﻐﻠﺐ ﻋﻠﻲ اﺷﻜﺈﻟﯿﺔ ﺗﻌﺪد اﻟﻨﺴﺦ ﻣﻦ اﻟﻤﻜﺘﺒﺎت Componentsواﻟﺘﻨﺎزل ﻋﻦ اﺳﺘﺨﺪام ﻣﺨﺰن اﻟﺒﯿﺎﻧﺎت
اﻟﻌﺎم Registryواﺳﺘﺨﺪام ﺗﻘﻨﯿﺔ XMLوﺗﻘﻨﯿﺔ SOAPﻓﻲ ﻋﻤﻠﯿﺔ ﺗﻄﻮﯾﺮ اﻟﺘﻄﺒﯿﻘﺎﺗﺎﻟﺨﺎﺻﺔ ﺑﺎﻟﺸﺒﻜﺔ اﻟﻌﺎﻟﻤﯿﺔ وﺧﺼﻮﺻﺎ ﺧﺪﻣﺎت
ﻋﺒﺮ اﻟﺸﺒﻜﺔ Web Servicesاﻟﻮاﻗﻊ ان ھﺬة اﻟﺘﻘﻨﯿﺔ ﺣﯿﻮﯾﺔ ﺟﺪا ﻟﺸﺮﻛﺔ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ اﻟﺘﻲ ﺗﺤﺄول اﻷﻧﺘﻘﺎﻟﻤﻦ ﺗﻮﺟﮭﮭﺎ اﻟﺤﺎﻟﻲ ﺑﺒﯿﻊ
اﻟﻮﺣﺪات واﻟﻨﺴﺦ إﻟﻲ ﺗﻘﻨﯿﺔ اﻟﺘﺄﺟﯿﺮ واﻟﺨﺪﻣﺔ ﻟﻠﺤﻔﺎظ ﻋﻠﻲ ﻣﻜﺎﻧﺘﮭﺎ ﻓﻲ اﻟﻤﻘﺪﻣﺔ ﺣﯿﺚ ان اﻟﺘﻮﺟﺔ ﯾﻌﺎﻧﻲ ﻣﻦ اﻟﻜﺜﯿﺮ ﻣﻦ اﻷﺷﻜﺈﻟﯿﺎت
ﻛﻤﺎ ان ﻣﺴﺘﻮي ﻣﺒﯿﻌﺎﺗﮭﺎ ﯾﻌﺎﻧﻲ ﻣﻦ اﻟﻀﻌﻒ واﻷﻧﺨﻔﺎض اﻟﻤﺴﺘﻤﺮ.
.NET :
وﻗﺪ ﺑﺪات اﻟﻘﺼﺔ ﻣﻨﺬ ﻋﺎم ٢٠٠٠ﻋﻨﺪﻣﺎ اﻋﻠﻦ ﺑﯿﻞ ﺟﯿﺘﺲ ﻓﻲ ﻣﺆﺗﻤﺮ اﻟﻤﻄﻮرﯾﻦ اﻟﻤﺤﺘﺮﻓﯿﻦ PDCﻓﻲ وﻻﯾﺔ ﻓﻠﻮرﯾﺪا ﻓﻲ اﻟﻮﻻﯾﺎت
اﻟﻤﺘﺤﺪة ﻋﻦ ﺗﺒﻨﻲ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻟﻠﺪوت ﻧﺖ )ﻛﺎﻧﺖ ﺗﺴﻤﻲ وﻗﺘﮭﺎ اﻟﺠﯿﻞ اﻟﺠﺪﯾﺪ ﻟﺨﺪﻣﺎت اﻟﻨﻮاﻓﺬ
) Next Generation Windows Servicesﻛﺘﻘﻨﯿﺔ ﻟﻸﻟﻔﯿﺔ اﻟﺜﺎﻟﺜﺔ واﻟﺘﻲ ﺑﺪات ﻓﻲ اﻷﺳﺎس ﻛﺘﻄﻮر ﻟﻤﺰود اﻟﺒﯿﺎﻧﺎت IIS 4وﺗﻄﻮر
ﻷدوات اﻟﺘﻄﻮﯾﺮ VS7ﻓﻲ ﻋﺎم ١٩٨٨وﻗﺪ ذﻛﺮ ﺑﯿﻞ ﺟﯿﺘﺲ ان %٨٠ﻣﻦ ﻣﺼﺎدر ﻣﯿﻜﺮوﺳﻮﻓﺖ ﺳﻮف ﺗﻨﻔﻖ ﻓﻲ اﺗﺠﺎة دﻋﻢ ھﺬة
اﻟﺘﻘﻨﯿﺔ اﻟﺠﺪﯾﺪة .وﺑﻌﺪ ذﻟﻚ ﺑﺜﻼث اﺷﮭﺮ ﻗﺎﻣﺖ ﻣﯿﻜﺮوﺳﻮﻓﺖ ﺑﺸﺮاء 135ﻣﻠﯿﻮن دوﻻر ﻣﻦ اﻷﺳﮭﻢ ﻏﯿﺮ اﻟﻤﺼﻮﺗﺔ ﻣﻦ اﺟﻞ اﻧﻘﺎذ
ﺷﺮﻛﺔ ﻛﻮرال وذﻟﻚ ﻟﺠﻌﻞ اﻟﺸﺮﻛﺔ ﺗﻘﻮم ﺑﺘﻘﺪﯾﻢ ﻓﻜﺮة اﻟﺪوت ﻧﺖ إﻟﻲ ﻧﻈﺎم اﻟﻠﯿﻨﻜﺲ ﻋﻦ ﻃﺮﯾﻘﻚ ورال ﻟﯿﻨﻜﺲ وھﺬا ﻣﺎ ﺣﺪث ﻓﻌﻸ.
:1
ان اﻧﻔﺎق ﺷﺮﻛﺔ ﻓﻲ ﻋﺎﻟﻢ اﻟﺒﺮﻣﺠﯿﺎت %٨٠ﻣﻦ ﻣﻮاردھﺎ ﻓﻲ ﺳﺒﯿﻞ دﻋﻢ ھﺬة اﻟﺘﻘﻨﯿﺔ ﻷﯾﻌﻨﻲ اﻷ ﺟﺪﯾﺘﮭﺎ واﯾﻤﺎﻧﮭﺎ ﺑﻘﺪرة ھﺬة اﻟﺘﻘﻨﯿﺔ
ﻋﻠﻲ اﻟﺘﺤﻜﻢ ﺑﺎﻟﻤﺴﺘﻘﺒﻞ.
ﺧﺼﻮﺻﺄ اذا ﻋﻠﻤﻨﺎ ان اﻟﺴﯿﻮﻟﺔ اﻟﻤﺎدﯾﺔ اﻟﺤﺎﻟﯿﺔ ﻟﺪي ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ اﻛﺜﺮ ﻣﻦ ﻣﺠﻤﻮع اﻣﻮال اﻛﺒﺮ ﻣﺌﺔ ﺷﺮﻛﺔ ﻣﻦ ﺷﺮﻛﺎت اﻟﻌﺎﻟﻢ
اﻟﺒﺮﻣﺠﯿﺔ ﻣﻌﺎ.
ھﺬة اﻟﺘﻘﻨﯿﺔ اﻟﺠﺪﯾﺪة اﺳﺎﺳﮭﺎ اﻹﻧﺘﺮﻧﺖ واﻟﻤﮭﻢ ﻣﻼﺣﻈﺔ اھﻤﯿﺔ اﻹﻧﺘﺮﻧﺖ اﻟﻤﺘﺰاﯾﺪ ﻓﻲ ﻋﺎﻟﻤﻨﺎ ﺣﺈﻟﯿﺎ ﻓﻘﺪ أوﺟﺪ ﻟﻨﺎ ﺣﯿﺎة ﺟﺪﯾﺪة ﺗﻤﺎﻣﺎ.
وﻟﻘﺪ اﺛﺒﺘﺖ اﻟﺨﺒﺮة ﻓﻲ ﻣﺠﺎل اﻟﺘﺠﺎرة اﻷﻟﻜﺘﺮوﻧﯿﺔ ان ﻓﻌﺎﻟﯿﺔ ﻣﻨﺘﺠﺎت اﻹﻧﺘﺮﻧﺖ ﺗﺘﻨﺎﺳﺐ ﻃﺮدﯾﺎ ﻣﻊ اﻟﻘﺪرة ﻋﻠﻲ اﻷﺑﻘﺎء ﻋﻠﻲ اﻷﺗﺼﺎل
ﺑﺎﻟﺰﺑﺎﺋﻦ .أي اﻧﻨﺎ ﻣﻠﺰﻣﯿﻦ ﺑﺎﺑﻘﺎء راﺑﻄﺔ اﻟﻮﺻﻞ ﺑﯿﻨﻨﻨﺎ وﺑﻦ زﺑﻮن ﻣﻮﻗﻌﻨﺎ.
ان ﻋﻤﻠﯿﺔ ﺗﻄﻮﯾﺮ اﻟﺒﺮاﻣﺞ وﺗﺤﺪﯾﺜﮭﺎ ﻋﻤﻠﯿﺔ ﻣﮭﻤﺔ ﻟﻜﻞ ﻣﻨﺘﺞ ﺑﺮﻣﺠﻲ وذﻟﻚ ﻟﻤﺎ ﯾﺸﮭﺪ اﻟﻌﺎﻟﻢ ﻣﻦ اﺣﺘﯿﺎﺟﺎت ﺗﺘﻄﻮر ﺗﺒﻌﺎ ﻟﻤﺘﻐﯿﺮات
اﺧﺮي وان ﻣﻨﺪون اﻟﺪﻋﻢ اﻟﻔﻨﻲ واﻟﺘﺤﺪﯾﺜﺎت ﻟﻠﺒﺮاﻣﺞ ﻣﻦ اﻟﻤﻜﻦ ان ﯾﻔﻘﺪ اﻟﻤﻨﺘﺞ ﺛﻘﺘﺔ ﻋﻦ اﻟﺰﺑﻮن ﻋﻨﺪ ﺣﺎﺟﺘﺔ ﻟﺘﺤﺪﯾﺚ ﻣﺎ ﻋﻠﻲ
ﺑﺮﻧﺎﻣﺠﺔ ﻓﻸ ﯾﺠﺪةﻣﻤﺄ ﯾﺠﻌﻠﺔ ﯾﺒﺤﺚ ﻋﻦ ﺑﺪﯾﻞ اﺧﺮ ﻣﻨﺎﺳﺐ وﻣﻦ ھﻨﺎ ﺗﺎﺗﻲ اﻟﺤﺎﺟﺔإﻟﻲ ﻣﻔﮭﻮم اﻟﺒﺮﻣﺠﯿﺎت ﻛﺨﺪﻣﺎت Software
Serviceوﺗﻘﻮم ﺑﯿﺌﺔ اﻟﺪوت ﻧﺖ ﺑﺘﻘﺪﯾﻢ ھﺬا اﻟﻤﻔﮭﻮم ﺑﺎﺳﺘﺨﺪام ﺗﻘﻨﯿﺔ ﺟﺪﯾﺪة ﺗﺴﻤﻰ ) ﺳﻮاب (
Simple Object Access Protocolﺑﺮوﺗﻮﻛﻮل ﺗﺪأول اﻟﻜﺎﺋﻨﺎت اﻟﺒﺴﯿﻂ Soapوھﻮ ﺑﺮوﺗﻮﻛﻮل ﺑﺴﯿﻂ وﻟﻜﻦ ﻗﻮي ﺣﯿﺚ ﯾﺴﺘﻌﻤﻞ
ﺗﻘﻨﯿﺔ ﻣﻮﺟﻮدة اﺻﻸ وھﻲ ﺗﻘﻨﯿﺔ HTTPوﯾﺘﺠﺄوز ﻣﺴﺎوئ اﻟﺘﻘﻨﯿﺎت اﻟﺤﺎﻟﯿﺔ ﻣﺜﻞ اﻟﻜﻮﺑﺮا COBRAواﻟﺪوت ﻛﻮم .COMاﻟﻠﺘﺎن
ﺗﺘﻄﻠﺒﺎن ﺷﺮوﻃﺎ ﺧﺎﺻﺔ.
1
-ﻣﻘﺎﻻت ﻣﺘﻔﺮﻗﺔ ﻣﻦ ﻣﻮﻗﻊ وادى اﻟﺘﻘﻨﯿﺔ :أھﻤﯿﺔ اﻟﺸﺒﻜﺔ اﻟﺪوﻟﯿﺔ ﻟﻺﻧﺘﺮﻧﺖ ،ﺗﺎرﯾﺦ www.itwadi.com ،٢٠٠٩/١/١٢
ﺗﻘﻨﯿﺔ اﻟﺪوت ﻧﺖ .NETھﻲ ﻋﺒﺎرة ﻋﻦ ﺣﻞ ﻣﺘﻜﺎﻣﻞ وﻣﺘﻄﻮر ﻣﻦ ﺷﺮﻛﺔ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻟﺒﻨﺎء اﻷﻧﻈﻤﺔ وﺗﺸﻐﯿﻠﮭﺎ ﻟﻠﺠﯿﻞ اﻟﻘﺎدم ﻣﻦ
اﻟﺘﻄﺒﯿﻘﺎت واﻷﺟﮭﺰة واﻟﺘﻲ ﺗﺴﻤﺞ ﺑﻌﻤﻠﯿﺔ رﺑﻂ اﻷﺟﮭﺰة واﻟﻨﺎس واﻟﻤﻌﻠﻮﻣﺎت واﻟﺸﺒﻜﺎت ﻓﻲ ﻛﻞ ﻣﻜﺎن ﺑﻄﺮﯾﻘﺔ ﺳﮭﻠﺔ واﻣﻨﺔ وﻣﻨﻈﻤﺔ
ھﺬة اﻟﺘﻘﻨﯿﺔ ھﻲ ﻓﻲ اﻟﻮاﻗﻊ ﺗﻄﻮﯾﺮ وﺗﺠﻤﯿﻊ ﻟﻠﺘﻘﻨﯿﺎت اﻟﺴﺎﺑﻘﺔ ﻣﻦ أﻧﻈﻤﺔ اﻟﺘﺸﻐﯿﻞ Windowsوادوات اﻟﺘﻄﻮﯾﺮ VBوﻣﺰودات
اﻟﺸﺒﻜﺎت IIS ASP ,ﺗﻢ ﺟﻤﻌﮭﺎ ﻓﻲ ﺑﻮﺗﻘﺔ واﺣﺪة ﺑﺎﺳﻢ ﺗﻘﻨﯿﺔ اﻟﺪوت ﻧﺖ اﻟﻤﻮﺟﮭﮫ ﺑﺎﻷﺳﺎس ﻷﻧﺘﺎج اﻟﺘﻄﺒﯿﻘﺎت ﻟﻠﺸﺒﻜﺔ اﻟﺪوﻟﯿﺔ واﻧﺘﺎج
ﺧﺪﻣﺎت ﻋﺒﺮ اﻟﺸﺒﻜﺔ Web Servicesﻓﻲ ھﯿﺌﺔ XMLﺑﻮاﺳﻄﺔ ﻣﻌﯿﺎر اﻟﻨﻘﻞ Sopa .ﻛﻤﺎ ﺗﻌﺘﺒﺮ اﺣﺪث ﺑﯿﺌﺔ ﺗﻄﻮﯾﺮ اﻧﺘﺠﺘﮭﺎ
ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻛﻤﺎ ان ﺣﺰﻣﺔ اﻟﺒﺮﻣﺠﺔ اﻟﺠﺪﯾﺪة Visual Studio.Netھﻲ اﻷداة اﻟﺮﺋﯿﺴﯿﺔ ﻟﺘﻄﻮﯾﺮ اﻷﻧﻈﻤﺔ ﻟﮭﺬة اﻟﺒﯿﺌﺔ اﻟﺠﺪﯾﺪة.
اﻟﻮاﻗﻊ ان اﻟﺘﻮﺟﮫ اﻟﺠﺪﯾﺪ اﻟﺬي ﺗﻨﺘﮭﺠﺔ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ھﻮ اﻟﺘﻮﺟﺔ ﻧﺤﻮاﻟﺸﺒﻜﺔ اﻟﺪوﻟﯿﺔ )اﻹﻧﺘﺮﻧﺖ( .وﺑﻤﺎ ان اﻟﺒﯿﺌﺔ اﻟﻤﺴﯿﻄﺮة ﻋﻠﺔ
ھﺬااﻟﻘﻄﺎع ھﻲ ﺑﯿﺌﺔ ﺟﺎﻓﺎ JAVAﻓﻜﺎن ﯾﻠﺰم ﻋﻠﻲ اﻟﺸﺮﻛﺔ ان ﺗﻨﺘﺞ ﻣﻨﺘﺞ ﻣﻨﺎﻓﺲ ﻟﺘﻘﻨﯿﺔ اﻟﺠﺎﻓﺎ .واﻟﺪوت ﻧﺖ ھﻲ ﺗﻘﻨﯿﺔ ﻣﺸﺎﺑﮭﮫ
ﻟﺘﻘﻨﯿﺔ اﻟﺠﺎﻓﺎ.
ﻓﻤﺜﻼ ﻟﻐﺔ ﺳﻲ ﺷﺎرب C#ﺗﻌﺎدل ﻟﻐﺔ ﺟﺎﻓﺎ ﺑﯿﻨﻤﺎ ھﯿﻜﻠﯿﺔ اﻟﺪوت ﻧﺖ Frameworkﺗﻌﺎدل ﻣﺸﻐﻞ ﺑﺮاﻣﺞ اﻟﺠﺎﻓﺎ اﻷﻓﺘﺮاﺿﻲ Virtual
Machine .وھﺬا ﯾﻌﻨﻲ ﺑﺎﺧﺘﺼﺎر ان ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻟﻢ ﺗﻘﺪم ﺗﻘﻨﯿﺔ ﺟﺪﯾﺪة اﻧﻤﺎ ﻋﻤﻠﺖ ﻋﻠﻲ اﻷﺳﺘﻔﺎدة ﻣﻦ اﻓﻀﻞ اﻟﺘﻘﻨﯿﺎت اﻟﻤﻮﺟﻮدة
واﺿﺎﻓﺖ إﻟﯿﮭﺎ )ﻛﺎﻟﻌﺎدة(
ھﻲ ﺑﺪاﯾﺔ أﺻﺪارة أﺣﺪث ﻣﻦ اﻷﺻﺪارة ﻓﺠﻮال ﻧﺖ ٢٠٠٣وﻓﯿﮭﺎ أﻣﻮر ﻻ ﺗﻮﺟﺪ ﺑﺎ ﻷﺻﺪارة ٢٠٠٣ﻛﻤﺎ أﻧﻨﻲ ﻻ أﻋﻠﻢ ﻛﺜﯿﺮاً ﻋﻦ
اﻷﺻﺪارة ٢٠٠٨واﻟﻤﻌﺪة ﻟﻠﻌﻤﻞ ﻋﻠﻲ Vista Windows
اﻷﺻﺪارة ٢٠٠٨ﺗﺴﺘﺨﺪم Framework 3.5واﻟﺬي ﻟﯿﺲ ﻟﮫ وﺟﻮد ﻋﻠﻲ %٩٠ﻣﻦ اﻷﺟﮭﺰة ﻋﻠﻲ اﻷﻗﻞ ﺣﺘﻲ اﻷن ،واﻷﺻﺪارة
٢٠٠٥ﺗﺴﺘﺨﺪم اﻟـ Framework 2.0واﻟﺬي ﯾﻮﺟﺪ ﻋﻠﻲ %٩٠ﻣﻦ اﻷﺟﮭﺰة ﺗﻘﺮﯾﺒﺎً اﻟﻤﻮﺟﻮدة اﻷن ،أي أﻧﻚ ﻟﺴﺖ ﺣﺘﻲ ﻓﻲ
ﺣﺎﺟﺔ إﻟﻲ ان ﺗﺮﻓﻖ اﻟـ Frameworkﻣﻊ ﻣﺸﺮوﻋﻚ ﻟﺪي ﺗﺴﻠﻤﯿﮫ إﻟﻲ اﻟﻤﺴﺘﺨﺪم.
ﺣﻘﯿﻘﺔ ان اﻷﺻﺪارة ٢٠٠٨ﺗﺤﺘﺎج إﻟﻲ اﻟﻤﺰﯾﺪ ﻣﻦ اﻟﻮﻗﺖ ،ذﻟﻚ اﻟﻮﻗﺖ اﻟﺬي ﯾﺼﺒﺢ ﻓﯿﮫ Windows-XPﻣﺜﻞ اﻟـ Windows 98
أو اﻟﻤﻠﯿﻨﯿﻮم Windows Milاﻷن.
ﻣﻊ ان ھﻨﺎك ﻣﻼﺣﻈﺔ ﺻﻐﯿﺮة وھﻲ أﻧﻨﻲ ﺻﻨﻌﺖ ﺑﺮﻧﺎﻣﺠﺎً ﯾﻌﺘﻤﺪ ﻋﻠﻲ اﻟـ Framework 1.1وﻋﻤﻞ ﻋﻠﻲ أﺣﺴﻦ ﻣﺎﯾﺮام ﻋﻠﻲ
اﻷﺻﺪارة Framework 2.0واﻋﺘﻘﺪ ان اﺳﺘﺨﺪام ﺑﺮﻧﺎﻣﺞ ﻋﻠﻲ اﺻﺪارة اﻟﻔﺠﻮال ٢٠٠٨ﺳﻮف ﺗﻌﻤﻞ ﻃﺒﯿﻌﯿﺎً ﻋﻠﻲ اﺻﺪارة اﻟـ
Framework 2.0ﺑﺤﺎﻟﺔ واﺣﺪة وھﻲ ﻋﺪم اﺳﺘﺨﺪام ﻣﻜﺘﺒﺎت ﺟﺪﯾﺪة ﻻ ﺗﻮﺟﺪ اﻷ ﺑﺎﻷﺻﺪارة .Framework 3.5وﺣﺠﻢ
اﻷﺻﺪارة .Framework 3.5ﯾﺼﻞ إﻟﻰ ١٩٨ﻣﯿﺠﺎ ﺑﺎﯾﺖ ﻣﻦ اﻟﻤﻠﻔﺎت واﻟﻤﻜﺘﺒﺎت.
ھﻮ ﻋﺒﺎرة ﻋﻦ اﻃﺎر ﯾﻐﻄﻲ ﻛﻞ ﻃﺒﻘﺎت ﺗﻄﻮﯾﺮ اﻟﺒﺮاﻣﺞ اﻋﻠﻲ ﻣﻦ ﻣﺴﺘﻮي ﻧﻈﺎم اﻟﺘﺸﻐﯿﻞ وﯾﻌﻤﻞ ﻛﺒﯿﺌﺔ ﺗﺸﻐﯿﻠﯿﺔ ﻟﺘﻨﻔﯿﺬ وﺗﺸﻐﯿﻞ وادارة
اﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺼﺼﻤﺔ ﻟﻠﻌﻤﻞ ﺗﺤﺖ ﺑﯿﺌﺘﺔ وﺗﻮﻓﯿﺮ ﻣﻜﺘﺒﺎت ﻣﻮﺣﺪة ﻟﻠﺘﻄﻮﯾﺮ ﻣﻤﺎ ﯾﺴﮭﻞ اﻧﺘﺎج اﻟﺘﻄﺒﯿﻘﺎت ﻣﮭﻤﺎ ﺗﻌﺪدت اﻟﻠﻐﺎت
.Net Frameworkﺣﻘﯿﻘﺘﺎ ﯾﻘﻮم ﺗﻐﻄﯿﺔ أو ﺣﺠﺐ ﻧﻈﺎم اﻟﺘﺸﻐﯿﻞ اي ﯾﻘﻮم ﺑﻌﺰل أﻟﺒﺮاﻣﺞ اﻟﻤﺼﻤﻤﺔ ﻟﻠﻌﻤﻞ ﺗﺤﺖ ﺑﯿﺌﺘﺔ ﻋﻦ ﻧﻈﺎم
اﻟﺘﺸﻐﯿﻞ وﺑﺸﻜﻞ ﺧﺎص ﻓﻲ اﻻﻣﻮر اﻟﺘﻲ ﺗﺘﻌﻠﻖ ﺑﺎدارة اﻟﻤﻠﻔﺎت وﺗﺨﺼﯿﺺ اﻟﺬاﻛﺮة وﻗﺪ ﺻﻤﻢ ﻟﺘﺒﺴﯿﻂ ﺗﻄﻮﯾﺮ اﻟﺘﻄﺒﯿﻘﺎت ﻓﻲ اﻟﺒﯿﺌﺔ
اﻟﻤﻮزﻋﺔ ﺟﺪا )اﻹﻧﺘﺮﻧﺖ( وﯾﺠﮭﺰ ﻟﺠﻌﻞ ﻋﻤﻠﺔ ﻓﻲ ﺟﻤﯿﻊ أﻧﻈﻤﺔ اﻟﺘﺸﻐﯿﻞ واﻟﻤﻜﻮﻧﺎت اﻷﺳﺎﺳﯿﺔ ﻷﻃﺎر ﻋﻤﻞ ﻧﺖ ﯾﻮﺿﺢ ﺑﺎﻟﺼﻮرة
اﻟﺘﺎﻟﯿﺔ
.Net Framework
ﺗﻮﻓﯿﺮ ﺑﯿﺌﺔ ﺑﺮﻣﺠﺔ ﻣﻮﺟﮭﮫ ﻟﻠﻜﺎﺋﻨﺎت OOPﺛﻠﺒﺘﺔ ﺳﻮاء ﻛﺎن اﻟﺘﻄﺒﯿﻖ ﯾﺨﺰن وﯾﻨﻔﺬ ﻣﺤﻠﯿﺎ Desktopأو ﯾﻨﻔﺬ ﻣﺤﻠﯿﺎ ﻟﻜﻦ ﻣﻮزع ﻋﻠﻲ
اﻹﻧﺘﺮﻧﺖ Distributedأو ﺗﻨﻔﯿﺬ ﻋﻦ ﺑﻌﺪ Remoteأو ﻟﺘﺰوﯾﺪ ﺑﯿﺌﺔ ذﻛﯿﺔ ﻷدارة اﻟﺬاﻛﺮة واﻟﻤﺼﺎدر وﺣﻞ ﻣﺸﻜﻠﺔ Versioning
وﻟﺘﺰوﯾﺪ ﺑﯿﺌﺔ ﺗﻨﻈﯿﻒ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ وھﻲ اﻟﺘﻲ ﺗﺰﯾﻞ ﻣﺸﺎﻛﻞ اداء ﻛﺘﺎﺑﺔ أو ﺗﺮﺟﻤﺔ اﻟﺒﯿﺌﺎت وﻟﺠﻌﻞ ﺗﺠﺮﺑﺔ اﻟﻤﻄﻮر ﺛﺎﺑﺘﺔ ﻋﺒﺮ
اﻷﻧﻮاع اﻟﻤﺨﺘﻠﻔﺔ ﺟﺪا ﻣﻦ اﻟﻄﻠﺒﺎت ﻣﺜﻞ ﻃﻠﺒﺎت اﺳﺎﺳﮭﺎ اﻟﻨﻮاﻓﺬ واﻟﻄﻠﺒﺎت ﻋﻠﻲ اﻹﻧﺘﺮﻧﺖ.ﻛﻤﺎ ﺗﻌﻤﻞ ﻟﺒﻨﺎء اﺗﺼﺎل ﻋﻠﻲ ﻣﻌﺎﯾﯿﺮ ﻗﯿﺎﺳﯿﺔ
ﻟﻀﻤﺎن ﻋﻤﻞ ذﻟﻚ اﻟﻤﻜﻮﻧﺔ ﻣﺴﺘﻨﺪ ﻋﻠﻲ اﻃﺎر اﻟﻌﻤﻞ ﺑﺤﯿﺚ ﯾﺴﺘﻄﯿﻊ اﻟﺘﻜﺎﻣﻞ ﻣﻊ اﻟﻤﻜﻮﻧﺎت اﻷﺧﺮي وھﻮ ﯾﺘﻜﻮن ﻣﻦ ﻋﻨﺼﺮﯾﻦ ھﻤﺎ :
1
-م /ﺗﺮﻛﻲ اﻟﻌﺴﯿﺮى :ﺑﺮﻣﺠﺔ أﻃﺎر ﻋﻤﻞ .Netﺑﺈﺳﺘﺨﺪام ، PDF File ، Visual Basic.Netاﻟﻄﺒﻌﺔ اﻻوﻟﻲ ، ٢٠٠٣ص١٥
ھﻮ أول ﻣﻜﻮن ﻟﺒﻨﯿﺔ اﻃﺎر .Net Frameworkوﯾﻄﻠﻖ ﻋﻠﯿﺔ ﺑﯿﺌﺔ اﻟﻌﻤﻞ اﻟﻤﺸﺘﺮك وﺑﺔ ﯾﺘﻢ ﺗﻨﻔﯿﺬ ﻛﻞ اﻟﺘﻄﺒﯿﻘﺎت وﯾﺘﯿﺢ ﻟﻚ ﻣﺰاﯾﺎ
ﻋﺪﯾﺪة ﻣﻨﮭﺎ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻷﺧﻄﺎء واﻻﻣﺎن وازاﻟﺔ اﻟﻌﯿﻮب واﻟﺘﻨﺎﺳﻖ ﻓﻲ ﻣﻼﻣﺢ اﻟﺒﺮﻧﺎﻣﺞ وھﺬة اﻟﻤﺰاﯾﺎ ﻣﺘﻮﻓﺮة ﻷي ﻟﻐﺔ ﻣﺼﻤﻤﺔ
ﻟﻮﻇﺎﺋﻒ CLRوھﺬا ﯾﻌﻨﻲ ان ﻣﻜﻮن CLRﯾﺴﺘﻄﯿﻊ اﺳﺘﻀﺎﻓﺔ ﻋﺪد ﻛﺒﯿﺮ ﻣﻦ اﻟﻠﻐﺎت وﯾﻌﺮض ﻣﺠﻤﻮﻋﺎت ﻋﺎﻣﺔ ﻣﻦ اﻷدوات ﺗﺸﺘﺮك
ﻓﯿﮭﺎ ﺟﻤﯿﻊ ھﺬة اﻟﻠﻐﺎت وﻟﻘﺪ دﻋﻤﺖ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻟﻐﺎت VB,C++,C#ﺑﻤﻜﻮﻧﺎت CLRوﻗﺪ ﺳﺠﻠﺖ اﻟﺸﺮﻛﺎت اﺳﻤﺎﺋﮭﺎ ﻟﺘﻘﺪﯾﻢ
ﺗﻄﺒﯿﻘﺎت ﻟﻠﻐﺎت اﻷﺧﺮي ﻣﺜﻞ Perl ,Pythonﺑﻞ وﺣﺘﻲ Cobol .ﯾﺼﯿﺮ ھﺬا اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ اﻟﻜﻮد اﻟﺒﺮﻣﺠﯿﺄ ﻣﺪارأ CLRﻓﻌﻨﺪﻣﺎ
ﯾﺤﻮل اﻟﻤﺘﺮﺟﻢ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ إﻟﻲ ﻣﻜﻮﻧﺎت CLRواﻟﻤﻘﺼﻮد ﺑﺎﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ اﻟﻤﺪار ھﻮ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ اﻟﺬي ﯾﺴﺘﻔﯿﺪ ﻣﻦ
اﻟﺨﺪﻣﺎت اﻟﺘﻲ ﺗﻘﺪﻣﮭﺎ ﻣﻜﻮﻧﺎت وﺣﺘﻲ ﯾﻌﻤﻞ وﻗﺖ اﻟﺘﻨﻔﯿﺬ ﻣﻊ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﻷﺑﺪ ان ﯾﺤﺘﻮي ھﺬا اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﻋﻠﻲ ﻣﺎﯾﺴﻤﻲ
ﺑﺎﻟﻤﯿﺘﺎداﺗﺎ Metadataوھﻲ ﻋﺒﺎرة ﻋﻦ ﺑﯿﺎﻧﺎت ﯾﺘﻢ ﺗﺨﻠﯿﻘﮭﺎ اﺛﻨﺎء ﺗﻨﻔﯿﺬ اﻟﻤﺘﺮﺟﻤﺎت ﻟﻌﻤﻠﯿﺔ اﻟﺘﺤﻮﯾﻞ إﻟﻲ ﻣﻜﻮﻧﺎت CLRوﺗﺨﺰﯾﻦ
اﻟﻤﯿﺘﺎداﺗﺎ ﻣﻊ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ اﻟﻤﺤﻮل وﺗﺤﺘﻮي ﻋﻠﻲ ﺑﯿﺎﻧﺎت ﺑﺸﺎن اﻧﻮاع واﺿﺎء وﻣﺮاﺟﻊ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ وﺗﺴﺘﺨﺪم ﻣﻜﻮﻧﺎت
CLRاﻟﻤﯿﺘﺎداﺗﺎ ﻟﺘﺤﺪﯾﺪ اﻟﻔﺌﺎت Classesوﺗﺤﻤﯿﻠﮭﺎ واﻧﺸﺎء اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ اﺻﯿﻞ وزﯾﺎدة ﻣﺴﺘﻮﯾﺎت اﻻﻣﺎن وﯾﻮﺟﺪ ﻓﻮق ﻣﻜﺘﺒﺔ
اﻟﺼﻨﻒ اﻟﻘﺎﻋﺪي اﻷﺳﺎﺳﻲ ﺛﻼت ﻧﻤﺎذج ﺑﺮﻣﺠﯿﺔ-:
ھﻮ ASP.Netاﻟﺬي ﯾﺴﺘﺨﺪم ﻷﻧﺸﺎء ﺗﻄﺒﯿﻘﺎت ﻣﻌﺘﻤﺪة ﻋﻠﻲ وﯾﺐ وﯾﻤﻜﻦ اذﻛﺮ ﻣﺎﺑﯿﻦ اﻟﻤﺰاﯾﺎ اﻟﻌﺪﯾﺪة ﻟﺘﻘﻨﯿﺔ ASP.NET اﻷول
ﻣﯿﺰة ﺻﻔﺤﺎت اﻟﻤﺰود اﻟﻔﻌﺎﻟﺔ اﻟﻤﺘﺮﺟﻤﺔ وﻋﻨﺎﺻﺮ اﻟﺘﺤﻜﻢ ﺑﺎﻟﻤﺰود اﻟﺠﺪﯾﺪة وﺧﺪﻣﺎت وﻧﻤﺎذج وﯾﺐ اﻟﺘﻲ ﺗﻔﺼﻞ ﻣﻨﻄﻖ ﻟﻐﺔ اﻟﻨﺼﻮص
اﻟﺒﺮﻣﺠﯿﺔ ﻋﻦ ﻟﻐﺔ وﺻﻒ اﻷﻇﮭﺎر.
اﻟﺜﺎﻧﻲ ھﻮ اﻃﺎرات وﯾﻨﺪوز ﺣﯿﺚ ﯾﺎﺧﺬ ھﺬا اﻟﻨﻤﻮذج اﻟﺒﺮﻣﺠﻲ ﺑﺎﺳﻠﻮب ﻟﻐﺔ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ٦ﻓﻲ اﻟﺒﺮﻣﺠﺔ اﻟﻤﻌﺘﻤﺪة ﻋﻠﻲ اﻷﻃﺎرات
ﻟﯿﻌﻤﻤﮭﺎ ﻋﻠﻲ ﻛﻞ ﻣﻄﻮري ﺗﻄﺒﯿﻘﺎت وﻧﺪوز وﯾﺘﻢ ھﺬا ﺑﻮاﺳﻄﺔ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻷﺻﻨﺎف ﻓﻲ اﻃﺎر ﻋﻤﻞ Netوﺗﻌﺪ اﻃﺎرات وﯾﻨﺪوز
ﻣﺠﻤﻮﻋﺔ ﻛﺎﻣﻠﺔ ﻣﻦ اﻷﻧﻤﺎط اﻟﻘﺎﺑﻠﺔ ﻷﻋﺎدة اﻻﺳﺘﺨﺪام وھﻲ ﺗﺒﺴﻂ ﺗﻄﻮﯾﺮ واﺟﮭﺎت اﻻﺳﺘﺨﺪام اﻟﺮﺳﻮﻣﯿﺔ ﻓﻲ وﯾﻨﺪوز وﺗﺴﻤﺢ
اﻃﺎرات وﯾﻨﺪوز ﺑﺬﻟﻚ ﺑﺒﻨﺎء اﻟﺘﻄﺒﯿﻘﺎت ﺳﺮﯾﻌﺎ اﻟﺘﻲ ﺗﻤﺘﺎز ﺑﺎﺳﺘﺨﺪام ﻋﻨﺎﺻﺮ اﻛﺘﯿﻒ اﻛﺲ ActiveXواﻟﻘﻮاﺋﻢ اﻟﻤﻨﺒﺜﻘﺔ واﻣﻜﺎﻧﯿﺔ
اﻟﻮﺻﻮل إﻟﻲ ﻣﺰاﯾﺎ اﻻﻣﻦ ﻓﻲ.NET
اﻟﺜﺎﻟﺚ اﻟﻤﻜﻮﻧﺎت اﻟﻘﯿﺎﺳﯿﺔ ﻟﻮاﺟﮭﺔ اﻻﺳﺘﺨﺪام اﻟﺮﺳﻮﻣﯿﺔ ﻣﺜﻞ اﻷزرار ودواﺋﺮ اﻷﺧﺘﯿﺎر وﺳﯿﯿﺘﻔﯿﺪ اﻟﺘﻄﺒﯿﻖ ﻟﺪي اﺳﺘﺨﺪم اﻃﺎرات
وﯾﻨﺪوز Windows Frame ,ﻣﻦ ﻛﻞ ﻣﺰاﯾﺎ Ado.Netﻟﻠﻮﺻﻮل إﻟﻲ اﻟﺒﯿﺎﻧﺎت.
وﺳﯿﺴﺘﻔﯿﺪ اﻟﺘﻄﺒﯿﻖ اﯾﻀﺎ ﻣﻦ اﺣﺪاث اﺻﺪارات واﺟﮭﺔ اﻻﺳﺘﺨﺪام اﻟﺮﺳﻮﻣﯿﺔ GDI+وﻛﺬﻟﻚ ﻣﻦ ﺧﺪﻣﺎت اﻟﻄﺒﺎﻋﺔ ﺑﺤﯿﺚ ﯾﻐﺪو
اﻟﺘﻄﺒﯿﻖ ﻗﺎدرا ﻋﻠﻲ اﺻﺪار اﻟﺘﻘﺎرﯾﺮ اﻟﺸﺎﻣﻠﺔ.
اﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﺼﺪري ) :(Source Programھﻮ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﯾﻜﺘﺒﮫ اﻟﻤﺒﺮﻣﺞ وﻣﻔﮭﻮم ﻣﻦ ﻗﺒﻞ اﻻﻧﺴﺎن.
اﻟﺒﺮﻧﺎﻣﺞ اﻟﮭﺪﻓﻲ ) : (Object Programھﻮ اﻟﺒﺮﻧﺎﻣﺞ ﺑﻠﻐﺔ اﻵﻟﺔ.
ﻟﻐﺔ اﻵﻟﺔ ) : (Machine Languageھﻲ ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ اﻟﺘﻲ ﺗﻜﺘﺐ ﺗﻌﻠﯿﻤﺎﺗﮭﺎ ﺑﺎﻟﺸﻔﺮة اﻟﺜﻨﺎﺋﯿﺔ.
اﻟﻤﺘﺮﺟﻢ ) : (Complierھﻮ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﯾﻘﻮم ﺑﻌﻤﻠﯿﺔ ﺗﺤﻮﯾﻞ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﺼﺪري إﻟﻲ ﺑﺮﻧﺎﻣﺞ اﻟﮭﺪﻓﻲ .
ﯾﻘﻮم اﻟﻤﺘﺮﺟﻢ ﺑﺎﻟﻮﻇﺎﺋﻒ اﻷﺗﯿﺔ-:
.١ﺗﺤﻮﯾﻞ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﺼﺪري اﻟﺨﺎﻟﻲ ﻣﻦ اﻷﺧﻄﺎء إﻟﻲ ﺑﺮﻧﺎﻣﺞ ھﺪﻓﻲ.
.٢أﻛﺘﺸﺎف اﻻﺧﻄﺎء ﻣﺜﻞ اﻷﺧﻄﺎء اﻷﻣﻼﺋﯿﺔ ،ﻗﻮاﻋﺪ ،ﺗﻨﻔﯿﺬﯾﺔ.
.٣رﺑﻂ اﻟﺠﻤﻞ اﻟﺜﻨﺎﺋﯿﺔ وﺑﻨﺎء ﻣﺎ ﯾﺴﻤﻰ ﺑﺎﻟﺒﺮﻧﺎﻣﺞ اﻟﺘﻨﻔﯿﺬي.
- 1م /إﺣﺴﺎن ﻣﺰھﺮ رﺷﯿﺪ :ﻣﻠﺨﺼﺎت ﻓﻲ ، (٢) Visual Basic.Net 2003اﻟﻤﺮﻛﺰ اﻟﻌﺎﻟﻲ ﻟﻠﻤﮭﻦ اﻟﺸﺎﻣﻠﺔ درﻧﺔ ،ﻗﺴﻢ اﻟﺤﺎﺳﻮب ، PDF File ،
،٢٠٠٥ص١
ﻣﻦ أﺟﻤﻞ اﻷﺷﯿﺎء اﻟﺘﻲ ﺳﺘﻜﺘﺸﻔﮭﺎ واﻟﺘﻲ ﺗﻌﺘﺒﺮ ﻓﺘﺢ ﻛﺒﯿﺮ -ﻓﻲ رأﯾﻲ اﻟﺸﺨﺼﻲ -ﻓﻲ ﻋﺎﻟﻢ ﺑﺮﻣﺠﺔ وھﻲ ﺗﻘﻨﯿﺔ ، .NETھﻮ أﺳﻠﻮب
اﻟﺘﺮﺟﻤﺔ ﻋﻠﻰ اﻟﻔﻮر . (JIT) - Just In Time Compilingوھﻲ ﺗﻘﻨﯿﺔ ﺗﻘﻮم ﺑﺘﺮﺟﻤﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻨﺪ ﺗﻨﻔﯿﺬه ﺣﯿﺚ ﯾﻨﺘﺞ أﻓﻀﻞ
ﺷﯿﻔﺮة ﺗﺘﻨﺎﺳﺐ ﻣﻊ اﻟﺠﮭﺎز اﻟﺬي ﺳﯿﻌﻤﻞ ﻋﻠﯿﮫ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻤﺎ ﯾﻨﺘﺞ ﻋﻨﮫ ﻧﺘﺎﺋﺞ إﯾﺠﺎﺑﯿﺔ ﺟﯿﺪة ﺟﺪ ا ) ،ھﺬا ﻋﻨﺪ اﻟﺤﺪﯾﺚ ﻋﻦ ﺗﺤﺴﯿﻦ
اﻟﻜﻔﺎءة وﺣﺘﻰ ﺗﻌﻠﻢ ﻛﯿﻒ ﯾﺤﺪث ذﻟﻚ ﺗﺎﺑﻊ ( Optimizationﻛﻤﺎ ﺑﺸﻜﻞ اﻟﺘﺎﻟﻰ.
Class Library
Class Libraryﺗﻌﺘﺒﺮ اﻟﻤﻜﻮن اﻟﺜﺎﻧﻲ ﻷﻃﺎر .Net Frameworkوھﻲ اﻟﻤﻜﺘﺒﺎت اﻟﻤﺴﺎﻋﺪة واﻟﺘﻲ ﺗﺴﺎﻋﺪ اﻟﻤﺒﺮﻣﺠﯿﻦ ﻷﻧﺸﺎء
اﻟﺘﻄﺒﯿﻘﺎت وﺗﺤﺘﻮي ﺑﯿﺌﺔ اﻟﺪوت ﻧﺖ ﻋﻠﻲ اﻷﻟﻒ ﻣﻨﮭﺎ وھﻲ ﻣﻮزﻋﺔ ﻓﻲ ﻣﺠﻤﻮﻋﺎت ھﺮﻣﯿﺔ ﺑﮭﯿﻜﻞ .NETوﻋﻠﻲ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻛﻞ
اﻟﻔﺌﺎت اﻟﺘﻲ ﺗﻌﻤﻞ ﻣﻊ ﻧﻈﺎم اﻟﻤﻠﻔﺎت ﺗﺠﻤﻊ ﻓﻲ ﺗﻔﺮع اﻷﺳﻤﺎء IO.Systemوﯾﻤﻜﻦ ان ﺗﺸﯿﺮ إﻟﻲ أي ﻓﺌﺔ ﺑﺸﻜﻞ ﻣﻌﯿﻦ ﻓﻲ ھﯿﻜﻞ Net
وذﻟﻚ ﺑﻜﺘﺎﺑﺔ اﺳﻢ اﻟﻔﺌﺔ ﺛﻢ اﺳﻢ اﻟﺘﻔﺮع ﻋﻠﻲ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻟﻸﺷﺎرة إﻟﻲ ﺗﻔﺮع اﻟﻤﻠﻔﺎت ﻓﻲ اﻟﻔﺌﺔ IO.Systemﯾﻤﻜﻨﻚ ان ﺗﺴﺘﺨﺪم
اﻟﺘﻔﺮع IO.System.Fileھﻨﺎﻟﻚ ﻓﺌﺔ واﺣﺪة ﻣﮭﻤﺔ ﺟﺪا ﺧﺼﻮﺻﺎ ﻟﺒﺮﻣﺠﺔ ﺻﻔﺤﺎت
ASP.Netوﻛﻞ اﻟﻄﺒﻘﺎت اﻟﺘﻲ ﺗﺘﻌﻠﻖ ﺑﮭﯿﻜﻞ ASP.Netﯾﻤﻜﻦ ان ﺗﻮﺟﺪ ﺗﺤﺖ اﻟﻔﺌﺔ System.Web
Assemblies
اﻟﻄﺒﻘﺎت ﻓﻲ ھﯿﻜﻞ ال .Netﺗﺠﻤﻊ ﻓﻲ ﻣﻠﻔﺎت ﺗﺴﻤﻲ Assembliesوﻣﻦ اﻟﻤﮭﻢ ﻋﺪم اﻟﺨﻠﻂ ﺑﯿﻦ اﻟﻤﻠﻔﺎت Assembliesوﺑﯿﻦ
اﻟﻔﺌﺎت ﻓﺎﻟﻤﻠﻒ Assembliesھﻮ اﻟﻤﻠﻒ أو اﻟﻤﻠﻔﺎت اﻟﻔﻌﻠﯿﺔ اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻲ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﻟﻠﻄﺒﻘﺎت اﻟﻔﺌﺎت ﻋﻠﻲ ﺳﺒﯿﻞ اﻟﻤﺜﺎل
ﻛﻞ اﻟﻄﺒﻘﺎت ﻓﻲ اﻟﻔﺌﺔ System.IOﺗﻘﻊ ﻓﻲ اﻟﻤﻠﻒ Mscorlib.dllوھﻮ اﻟﻤﻠﻒ اﻟﻔﻌﻠﻲ اﻟﻤﻮﺟﻮد ﻋﻠﻲ ﻗﺮص اﻟﺘﺨﺰﯾﻦ
- 1م /ﺗﺮﻛﻲ اﻟﻌﺴﯿﺮى :ﺑﺮﻣﺠﺔ أﻃﺎر ﻋﻤﻞ .Netﺑﺈﺳﺘﺨﺪام ، PDF File ، Visual Basic.Netاﻟﻄﺒﻌﺔ اﻻوﻟﻲ ، ٢٠٠٣ص ١٦
: اﻟراﺑط
http://download.microsoft.com/download/D/9/C/D9C35F20-A749-4E25-A306-DE20B93AB8C0/VB.iso
واﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت، integrated development environment وھﻲ أﺧﺘﺼﺎرا ﻟـIDE أو ﻛﻤﺎ ﯾﻌﺮفvb.net 2005 ﺑﯿﺌﺔ
visual c# .net , visual j# .net , ﺑﺎﻷﺿﺎﻓﺔ إﻟﻲvisual studio.net ھﻲ أﺣﺪي اﻟﻠﻐﺎت اﻟﻤﺘﺎﺣﺔ داﺧﻞvisual basiv .net ﻧﺖ
visual c++.net
وﻏﯿﺮھﺎ ﻣﻦwindows application ھﻲ ﺑﯿﺌﺔ ﻣﺘﻜﺎﻣﻠﺔ ﻷﻧﺸﺎء وﺗﺼﺤﯿﺢ اﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺘﻨﻮﻋﺔ ﻣﺜﻞvisual basic.net وﺑﯿﺌﺔ
.اﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺨﺘﻠﻔﺔ
VISUAL BASIC.NET
WINDOWS APPLICATION
WEB APPLICATION
CLASSES AND CONTROL LIBRARY
CONSOLE APPLICATION
وﺑﮭﺎ ﺗﻈﮭﺮ اﺧﺮ ﺗﻄﺒﯿﻘﺎت ﺗﻢ اﻧﺸﺎﺋﮭﺎ أو ﺗﻌﺪﯾﻠﮭﺎ وﻟﻜﻦ ھﻲ ﻷ ﺗﮭﻤﻨﺎ اﻷن ﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻲ ﻗﺎﺋﻤﺔ
FILEو اﺧﺘﺮ ﻣﻨﮭﺎ New Project
وﺳﺘﻈﮭﺮ ﻟﻚ ﻧﺎﻓﺬة New Projectﻟﺘﺨﺘﺎر ﻣﻨﮭﺎ اﻟﺘﻄﺒﯿﻖ اﻟﺬي ﺗﺮﯾﺪ اﻧﺸﺎﺋﺔ
ﻷﺣﻆ ھﺬة اﻟﺼﻮرة
ﻋﻠﻲ إﻟﯿﺴﺎر ﯾﻮﺟﺪ ﻧﻮع اﻟﻤﺸﺮوع اﻟﺬي ﺗﺮﯾﺪ اﻧﺸﺎء اﺣﺪ ﺗﻄﺒﻘﺎﺗﺔ وﻋﻠﻲ إﻟﯿﻤﯿﻦ ﺗﻈﮭﺮ ﺗﻄﺒﯿﻘﺎت اﻟﻤﺸﺮوع
ﯾﻤﻜﻨﻚ أن ﺗﺮي ﻛﻞﱠ أﻧﻮاعِ اﻟﻤﺸﺎرﯾﻊِ اﻟﻤﺘﺎﺣﺔِ ـ ﺑﺨﻸفِ ﺗﻄﺒﯿﻘﺎت وﯾﻨﺪوز ـ ﻓﻲ ﻣﺮﺑﻊ ﺣﻮار "ﻣﺸﺮوع ﺟﺪﯾﺪ" ،وھﻲ ﻛﺎﻟﺘﺎﻟﻲ:
وھﻲ ﻣﻜﻮّن أﺳﺎﺳﻲّ ﻟﺒﻨﺎء اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ،ﻟﯿﺲ ﻟﮭﺎ واﺟﮭﺔ ﻣﺮﺋﯿّﺔ ،وﻟﻜﻨّﮭﺎ ﺗﺆّدي وﻇﺎﺋﻒ ﻣﻌﯿّﻨﺔ ﻟﺒﺮﻧﺎﻣﺠﻚ.
وﺑﺎﺧﺘﺼﺎر ،ﻓﺈنﱠ اﻟﺨﻠﯿّﺔ ھﻲ ﻣﺠﻤﻮﻋﺔٌ ﻣﻦ اﻟﺪوالّ واﻷﺟﺮاءات اﻟﺘﻲ ﯾﻤﻜﻦُ إﻋﺎدة اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ أيّ ﻣﺸﺮوع ،ﺑﺤﯿﺚُ ﯾﻮﻓّﺮ اﻟﻤﺒﺮﻣﺞُ
ﻋﻠﻲ ﻧﻔﺴِﮫ ﻣﺸﻘّﺔَ إﻋﺎدة ﻛﺘﺎﺑﺘﮭﺎ ﻣﺮة أﺧﺮي.
إنّ أدة وﯾﻨﺪوز ـ أو اﻷداة ﻋﻠﻲ ﺳﺒﯿﻞ اﻷﺧﺘﺼﺎر ـ ھﻲ ﻋﻨﺼﺮ أﺳﺎﺳﻲﱞ ﻓﻲ واﺟﮭﺔ اﻟﺒﺮﻧﺎﻣﺞ ،ﻣﺜﻞ ﻣﺮﺑﻊ اﻟﻨﺺ أو اﻟﺰر.
ﻓﺈذا ﻣﺎ وﺟﺪتَ أنﱠ اﻷدواتِ اﻟﺘﻲ ﯾﻤﻨﺤُﮭﺎ ﻟﻚ VB.NETـ وھﻲ اﻟﺘﻲ ﺗﻈﮭﺮ ﻓﻲ ﻣﺮﺑﻊ اﻷدوات ﺗﻠﻘﺎﺋّﯿﺎ ـ ﻷ ﺗﻤﻨﺤُﻚَ اﻟﻮﻇﯿﻔﺔَ اﻟﺘﻲ
ﺗﺮﯾﺪُھﺎ ،ﻓﻔﻲ ھﺬه اﻟﺤﺎﻟﺔِ ﯾﻤﻜﻨُﻚَ أن ﺗﺒﻨﻲَ اﻷدواتِ اﻟﺨﺎﺻّﺔَ ﺑﻚ ..إنﱠ ھﺬا ﯾﺒﺴّﻂُ ﻋﻤﻠَﻚَ ﻓﯿﻤﺎ ﺑﻌﺪ ،ﺣﯿﺚُ ﻟﻦ ﺗُﻀﯿﻊَ اﻟﻤﺰﯾﺪَ ﻣﻦ اﻟﻮﻗﺖِ
واﻟﺠﮭﺪِ ﻓﻲ ﺗﺼﻤﯿﻢِ أﺟﺰاءٍ ﻣﻦ واﺟﮭﺎتٍ ﺗﺘﻜﺮّرُ ﻛﺜﯿﺮًا.
ﺑﻞ ﯾﺼﻞُ ﺑﻚ اﻷﻣﺮ ـ ﻟﻮ ﻛﻨﺖَ ﺧﺒﯿﺮًا ﻓﻲ ﺗﺼﻤﯿﻢِ اﻷدواتِ اﻟﺨﺎﺻّﺔ ،إﻟﻲ أﻧّﻚ ﺗﺴﺘﻄﯿﻊُ ﺑﯿﻌَﮭﺎ ﻟﻠﺸﺮﻛﺎتِ واﻟﻤﺒﺮﻣﺠﯿﻦَ اﻷﺧﺮﯾﻦ ..إنﱠ
ﺻﻔﺤﺎتِ ﻣﺠﻸتِ اﻟﻜﻤﺒﯿﻮﺗﺮ ﺗﺰﺧﺮُ ﺑﺎﻷﻋﻼﻧﺎتِ ﻟﻠﻌﺪﯾﺪِ ﻣﻦ اﻷدواتِ اﻟﺨﺎﺻّﺔِ اﻟﻤﺘﻄﻮّرة ،اﻟﺘﻲ ﺗُﻜﻤﻞُ ﻋﻤﻞَ اﻷدواتِ اﻷﺻﻠﯿّﺔ.
وھﻮ اﻷﺳﻢ اﻟﺠﺪﯾﺪ ﻟـ Services NTاﻟﻘﺪﯾﻤﺔ ..وھﺬا اﻟﻨﻮع ﻣﻦ اﻟﻤﺸﺎرﯾﻊ ،ﻣﺎ ھﻮ إﻷ ﺑﺮاﻣﺞ ﻃﻮﯾﻠﺔ اﻟﺘﺸﻐﯿﻞ ﺗﻌﻤﻞ ﻓﻲ ﺧﻠﻔﯿﺔ ﻧﻈﺎم
اﻟﺘﺸﻐﯿﻞ ،دون أن ﺗﻌﺮض واﺟﮭﺔً ﻣﺮﺋﯿﺔ ..وﯾﻤﻜﻦ ﻟﮭﺬه اﻟﺨﺪﻣﺎت أن ﺗﻌﻤﻞَ ﺗﻠﻘﺎﺋﯿﺎ ﺑﻤﺠﺮد ﺗﺸﻐﯿﻞ اﻟﺠﮭﺎز ،ﻛﻤﺎ ﯾﻤﻜﻦ إﯾﻘﺎﻓﮭﺎ ﻟﻔﺘﺮةٍ ﺛﻢ
إﻋﺎدة ﺗﺸﻐﯿﻠﮭﺎ.
إن اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﯾﺘﻔﺎﻋﻞ اﻟﻤﻠﻔﺎت ﻋﻠﻲ اﻟﺠﮭﺎز وﯾﻐﯿﺮھﺎ ،ھﻮ ﻣﺮﺷﺢ رﺋﯿﺴﻲّ ﻷن ﯾﻜﻮن ﺧﺪﻣﺔ وﯾﻨﺪوز ،ﺣﯿﺚ ﯾﻤﻜﻦ ﻟﮭﺬه اﻟﺨﺪﻣﺔ أن
ﺗﺆدي ﺑﻌﺾ اﻟﻌﻤﻠﯿﺎت ،ﻓﻮر أن ﯾﻨﻘﻞ اﻟﻤﺴﺘﺨﺪم ﺑﻌﺾ اﻟﻤﻠﻔﺎت إﻟﻲ ﻣﺠﻠﺪ ﻣﻌﯿﻦ ،ﻛﺄن ﺗﻨﺴﺦ اﻟﻤﻠﻔﺎتِ أو ﺗﻘﺮأ ﻣﺤﺘﻮﯾﺎﺗﮭﺎ ،أو ﺗﺤﺪّث
ﻣﺤﺘﻮﯾﺎت ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ...وھﻜﺬا.
وھﻮ ﺗﻄﺒﯿﻖٌ ذو واﺟﮭﺔِ اﺳﺘﺨﺪامٍ ﻣﺤﺪودة ﺟﺪًا ،ھﻲ أﻗﺮبُ ﻣﺎ ﺗﻜﻮنُ ﻟﺸﺎﺷﺔِ اﻟﺪوس DOSاﻟﺴﻮداء ،ﺣﯿﺚُ ﯾﺘﻢﱡ ﻓﯿﮭﺎ إﺧﺮاجُ اﻟﻨﻮاﺗﺞِ
وإدﺧﺎلُ اﻟﺒﯿﺎﻧﺎت ،ﻋﻠﻲ ﺳﺒﯿﻞ اﺧﺘﺒﺎرھﺎ.
إن ﺗﻄﯿﺒﻖ اﻹﻧﺘﺮﻧﺖ ھﻮ واﺣﺪ ﻣﻦ أﻛﺜﺮ اﻟﺴﻤﺎت اﻟﺠﺪﯾﺪة ﻓﻲ VS.NETإﺛﺎرةً ،وھﻮ ﻋﺒﺎرة ﻋﻦ ﺑﺮﻧﺎﻣﺞ ﯾﻤﻜﻦ ﺗﺸﻐﯿﻠﮫ ﻋﻠﻲ ﺷﺒﻜﺎت
اﻹﻧﺘﺮﻧﺖ ،ﯾﻤﻜﻦ ﻃﻠﺐ ﺧﺪﻣﺎت ﻣﻌﯿﻨﺔ ﻣﻨﮫ ﻋﻦ ﻃﺮﯾﻖ ﻣﺘﺼﻔﺤﺎت اﻟﺸﺒﻜﺔ ..وأوﺿﺢ ﻣﺜﺎل ﻟﺬﻟﻚ ،ھﻮ ﻣﺤﻞ ﻛﺘﺐٍ ﯾﻌﺮض وﯾﺒﯿﻊ ﻋﻠﻲ
اﻹﻧﺘﺮﻧﺖ.
وﯾﺠﺐ ﻋﻠﻲ اﻟﺘﻄﺒﯿﻖ اﻟﺬي ﯾﻌﻤﻞ ﻋﻠﻲ اﻹﻧﺘﺮﻧﺖ أن ﯾﺴﺘﻘﺒﻞ ﻃﻠﺒﺎت اﻟﻌﻤﻸء ،وﯾﺮدّ ﻋﻠﯿﮭﺎ ﻓﻲ ﺻﻮرة ﺻﻔﺤﺔ ﻣﻦ ﺻﻔﺤﺎت اﻹﻧﺘﺮﻧﺖ
HTML.
وﻣﺜﻞ ھﺬه اﻟﺘﻄﺒﯿﻘﺎت ﻟﯿﺴﺖ ﺑﺠﺪﯾﺪة ،وﻟﻜﻦ اﻟﺠﺪﯾﺪ ھﻮ أن ASP.NETﺻﺎر ﯾﻌﺰل اﻟﻤﺒﺮﻣﺞ ﻋﻦ ﻛﺜﯿﺮٍ ﻣﻦ ﺗﻔﺎﺻﯿﻞ ﺑﻨﺎﺋﮭﺎ ،ﻣﺎﻧﺤًﺎ
اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺴﮭﻮﻟﺔ واﻟﺴﺮﻋﺔ ،وﻣﺤﻮﻷ اﻟﻌﻤﻠﯿﺔ إﻟﻲ ﻣﺎ ﯾﺸﺒﮫ ﻛﺜﯿﺮا ﺑﻨﺎء ﺗﻄﺒﯿﻘﺎت وﯾﻨﺪوز اﻟﺘﻘﻠﯿﺪﯾﺔ.
وﺳﻨﻨﺎﻗﺶ ﺑﺎﻟﺘﻔﺼﯿﻞ ﺧﺪﻣﺎت وﺗﻄﺒﯿﻘﺎت اﻹﻧﺘﺮﻧﺖ ﻓﻲ آﺧﺮ ﺟﺰء ﻣﻦ ھﺬا اﻟﻜﺘﺎب إن ﺷﺎء اﷲ.
وھﻲ ﻷ ﺗﻜﺎﻓﺊ ﺑﺤﺎلٍ ﺧﺪﻣﺎت وﯾﻨﺪوز ،ﺑﻞ ھﻲ ﻋﺒﺎرةٌ ﻋﻦ ﺑﺮﻧﺎﻣﺞٌ ﯾﻌﻤﻞُ ﻋﻠﻲ ﺧﻮادم اﻹﻧﺘﺮﻧﺖ Internet Serversﻷﺳﺘﻘﺒﺎل
اﻟﻄﻠﺒﺎت ،ﺗﻤﺎﻣًﺎ ﻣﺜﻞ ﺗﻄﺒﯿﻖ اﻹﻧﺘﺮﻧﺖ ،وﻟﻜﻦ دونَ أن ﯾﺮد ﺑﺼﻔﺤﺔٍ ﻣﻦ ﺻﻔﺤﺎت اﻹﻧﺘﺮﻧﺖ ،ﺑﻞ ﯾﺮﺳﻞ ﻧﺎﺗﺞَ اﻟﻌﻤﻠﯿﺔ اﻟﺤﺴﺎﺑﯿﺔ ،أو
إن ﺗﻄﺒﯿﻖ اﻹﻧﺘﺮﻧﺖ اﻟﺬي ﯾﺘﻠﻘﻲ ﻣﻨﻚ اﺳﺘﻌﻼﻣﺎ ﻋﻦ ﻛﻞ ﻛﺘﺐ )ﺗﻮﻓﯿﻖ اﻟﺤﻜﯿﻢ( ﺳﯿﻌﺮض ﻟﻚ ﺻﻔﺤﺔً ﻋﻠﯿﮭﺎ أﺳﻤﺎء ھﺬه اﻟﻜﺘﺐ ..أﻣﺎ
ﺧﺪﻣﺔ اﻹﻧﺘﺮﻧﺖ اﻟﺘﻲ ﺗﺘﻠﻘﻲ ﻣﻨﻚ ﻧﻔﺲ ھﺬا اﻷﺳﺘﻌﻼم ،ﻓﺴﺘﺮﺳﻞ إﻟﯿﻚ ﻣﻠﻒ XMLﯾﺤﺘﻮي ﻋﻠﻲ أﺳﻤﺎء اﻟﻜﺘﺐ اﻟﻤﻄﻠﻮﺑﺔ ،ﺣﯿﺚُ ﯾﻤﻜﻦ
ﻟﺘﻄﺒﯿﻘﻚ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔِ أن ﯾﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺒﯿﺎﻧﺎت وﯾﻌﺮﺿﮭﺎ ﻓﻲ ﺻﻔﺤﺔٍ ﺟﺪﯾﺪةٍ ﺑﺎﻟﺸﻜﻞ اﻟﺬي ﺗﺮﯾﺪه ،وﯾﺮﺳﻠﮭﺎ ﻟﻠﻤﺴﺘﺨﺪم اﻟﺬي ﺗﺮﯾﺪه،
أو رﺑﻤﺎ ﺗﻌﺮﺿﮭﺎ ﻋﻠﻲ ﻧﻤﻮذج وﯾﻨﺪوز ﻋﺎديّ.
ﻛﻤﺎ أﻧﻚ ﺗﺴﺘﻄﯿﻊ أن ﺗﺒﻨﻲ أدوات اﻟﻮﯾﻨﺪوز اﻟﺨﺎﺻﺔ ﺑﻚ ﻟﺘﺴﺘﺨﺪﻣﮭﺎ ﻋﻠﻲ ﻧﻤﺎذج وﯾﻨﺪوز ،ﺗﺴﺘﻄﯿﻊ أﯾﻀًﺎ أن ﺗﺒﻨﻲ أدوات اﻹﻧﺘﺮﻧﺖ
اﻟﺨﺎﺻﺔ ﻟﺘﺴﺘﺨﺪﻣﮭﺎ ﻋﻠﻲ ﻧﻤﺎذج وﺻﻔﺤﺎت اﻹﻧﺘﺮﻧﺖ.
:
وھﻲ ﻟﯿﺴﺖ أﻧﻮاع ﻣﺸﺎرﯾﻊ ﺑﺎﻟﻤﻌﻨﻲ اﻟﻔﻌﻠﻲّ ،ﺑﻞ ﻣﺠﺮد ﻃﺮﯾﻘﺔ ﻟﺘﻨﻈﻢ ﻣﺸﺎرﯾﻌﻚ اﻟﺠﺪﯾﺪة ﺑﻨﻔﺴﻚ ،ﻓﺤﯿﻦ ﺗﺨﺘﺎرُ واﺣﺪا ﻣﻨﮭﺎ ،ﯾﻨﺸﺊ
VS.NETﻣﺠﻠﺪا ﺟﺪﯾﺪا ﯾﺤﻤﻞ اﺳﻢ اﻟﻤﺸﺮوع ،وﯾﻨﺸﺊ ﻓﯿﮫ ﺑﻌﺾ اﻟﻤﻠﻔﺎت اﻟﻘﻠﯿﻠﺔ اﻟﺘﻲ ﯾﺤﺘﺎﺟﮭﺎ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻦ ھﺬا اﻟﻨﻮع ..وﻋﻠﻲ
ﻋﻜﺲ اﻷﻧﻮاع اﻷوﻟﻲ ـ ﺣﯿﺚ ﺗﻘﻮمُ VS.NETﺑﺈﻧﺸﺎء ﻋﻨﺎﺻﺮ اﻓﺘﺮاﺿﯿّﺔٍ واﻟﻤﻠﻔﺎتِ اﻟﻼزم ة ﻟﮭﺎ ،ﻛﺈﻧﺸﺎء ﻧﻤﻮذج ﻣﺒﺪﺋﻲ ﻓﻲ ﺗﻄﺒﯿﻖ
وﯾﻨﺪوز ،وإﻧﺸﺎء أداة اﻟﻤﺴﺘﺨﺪم ﻓﻲ ﺗﻄﺒﯿﻘﺎت أدوات وﯾﻨﺪوز ـ ﺗﺤﻤّﻠﻚ ھﺬه اﻷﻧﻮاع اﻟﺜﻸﺛﺔ ﻣﺴﺌﻮﻟﯿﺔ إﻧﺸﺎء وإﺿﺎﻓﺔ ﻣﺎ ﯾﻠﺰﻣﻚ ﻣﻦ
اﻟﻌﻨﺎﺻﺮ واﻟﻤﻠﻔﺎت.
ﺣﺪدﻧﺎه وﻓﻲ اﻷﺳﻔﻞ اﻟﻨﺎﻓﺬة اﺳﻢ اﻟﻤﺸﺮوع و ﯾﻤﻜﻦ ان ﻧﻐﯿﺮة إﻟﻲ اﻷﺳﻢ اﻟﻠﺬي ﻧﺮﯾﺪة ﻧﺨﺘﺎر اﻷن اﺣﺪ ﺗﻄﺒﻘﺎت
VISUAL BASIC.NETوﺳﻨﺨﺘﺎر ﻣﻦ ھﺬة اﻟﻨﺎﻓﺬة WINDOWS APPLICATION
ﺛﻢ ﻧﻀﻐﻂ ﻣﻮاﻓﻖ ﺳﻮف ﺗﻈﮭﺮ ﻟﻨﺎ ﻗﻮاﺋﻢ وادوات وﻧﻮاﻓﺬ ﻟﻐﺔ VISUAL BASIC.NETھﻜﺬا
واﻷن ﻣﺎذا ﻷﺣﻈﻨﺎ ﺑﺎﻟﺼﻮرة ﻧﺎﻓﺬة اﻟﻤﺸﺮوع اﻷﺳﺎﺳﯿﺔ ﺑﺎﻟﻮﺳﻂ ﻇﺎھﺮأ ﺑﮭﺎ ﻓﻮرم اﺳﻤﺔ اﻟﺘﻠﻘﺎﺋﻲForm1
وﻓﻲ اﻟﺠﮭﮫ إﻟﯿﺴﺮي ﺗﻈﮭﺮ ﻗﺎﺋﻤﺔ اﻷدوات وﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻲ ﻛﻞ اداة ﻣﻮﺟﻮدة ﺑﮭﺎ ﻓﻲ اﻟﺪروس اﻟﻘﺎدﻣﺔ
Projectأو اﻟﺘﻄﺒﯿﻖ:
ھﻮ ﻋﺒﺎرة ﻋﻦ ﻣﺤﺘﻮي ﻟﻠﻤﻜﻮﻧﺎت اﻟﺨﺎﺻﺔ ﺑﺘﻄﺒﯿﻖ ﻣﺎ ﻣﺜﻞ اﻟﻨﻤﺎذج Formsوﻛﻞ اﻷﻛﻮاد اﻟﺒﺮﻣﺠﯿﺔ
وﻣﻊ ﺑﺪاﯾﺔ ﻇﮭﻮر ﻟﻐﺔ Vb.Netﻇﮭﺮ ﻣﺎ ﯾﺴﻤﻲ) Solutionاﻟﻤﺸﺮوع( وﻓﺎﺋﺪﺗﮫ ﺗﻨﻈﯿﻤﯿﺔ ﻟﻠـ Projects
وﯾﻌﺘﺒﺮ اﻟـ Solutionﻣﺴﺎﺣﺔ اﻟﻌﻤﻞ اﻟﺨﺎﺻﺔ ﺑﺎﻟﺪوت ﻧﺖ ﻓﻤﻦ اﻟﻤﻤﻜﻦ ان ﯾﺤﺘﻮي ﻋﻠﻲ اﻛﺜﺮ
ﻣﻦ ﺗﻄﺒﯿﻖ Projectﺑﺪاﺧﻠﺔ وﺗﺴﺘﻄﯿﻊ اﯾﻀﺎ اﺿﺎﻓﺔ ﻣﻜﻮﻧﺎت ﺧﺎرﺟﺔ ﻋﻦ أﻃﺎر اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ إﻟﻲ Solutionأي ﺣﺘﻲ وﻟﻮ ﻟﻢ
ﺗﺘﻌﻠﻖ ﺑﺎﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ اﻟﺘﻄﺒﯿﻖ ﻛﻤﻠﻒ وورد أو ﺻﻮرة أو ﻣﻠﻒ ﺻﻮﺗﻲ وﺑﺎﻟﺘﺎﻟﻲ ﺗﺴﺘﻄﯿﻊ اﺳﺘﺨﺪاﻣﮭﺎ داﺧﻞ ﺗﻄﺒﯿﻖ اﻟﺪوت ﻧﺖ ﺗﻮﺟﺪ
اﻟﻨﺎﻓﺬة Solution Explorerﻓﻲ اﻟﺠﮭﺔ اﻟﯿﻤﻨﻲ ُﻛﻤﺎ ﯾﻤﻜﻦ اﻇﮭﺎرھﺎ ﻣﻦ ﻗﺎﺋﻤﺔ Viewأو ﺑﺎﻟﻀﻐﻂ ﻋﻠﻲ Ctrl+Alt+Lوﺗﻌﻤﻞ ﻋﻠﻲ
ﻋﺮض ﻋﻨﺎﺻﺮ وﻣﻜﻮﻧﺎت اﻟﺘﻄﺒﯿﻖ ﻋﻠﻲ ھﯿﺌﺔ ﻗﺎﺋﻤﺔ ﺷﺠﺮﯾﺔ ﻓﻲ اﻋﻠﻲ اﻟﻘﺎﺋﻤﺔ ﯾﻈﮭﺮ اﺳﻢ اﻟﺘﻄﺒﯿﻖ اﻟﺤﺎﻟﻲ وﯾﻠﯿﮫ ﺑﻘﯿﺔ ﻣﻜﻮﻧﺎت
اﻟﺘﻄﺒﯿﻖ
وﻧﺴﺘﻄﯿﻊ اﺿﺎﻓﺔ ﻋﻨﺎﺻﺮ إﻟﻲ اﻟﺘﻄﺒﯿﻖ اﻟﺤﺎﻟﻲ ﻣﻦ ﺧﻼل اﻟﻨﺎﻓﺬة Solution Explorerوذﻟﻚ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻲ اﺳﻢ اﻟﻤﺸﺮوع ﺑﺰر
اﻟﻤﺄوس اﻷﯾﻤﻦ ﺛﻢ Addوﻣﻨﺔ ﻧﺨﺘﺎر New Item
وﺑﮭﺎ اﻟﻌﺪﯾﺪ ﻣﻦ ﺗﻄﺒﯿﻘﺎت VISUAL STDIO.NETﻧﺨﺘﺎر ﻣﻨﮭﺎ ﻣﺎ ﻧﺮﯾﺪ اﺿﺎﻓﺘﺔ إﻟﻲ ﺗﻄﺒﻘﻨﺎ اﻟﺤﺎﻟﻲ
ﻗﻢ ﺑﺎﻟﺘﺎﺷﯿﺮ ﻋﻠﯿﺔ وﯾﻤﻜﻨﻨﺎ ﺗﻐﯿﯿﺮ اﺳﻢ اﻟﺘﻄﺒﯿﻖ ﻗﺒﻞ اﺿﺎﻓﺘﺔ ﻣﻦ اﺳﻔﻞ ﻧﺎﻓﺬة Add New Itemأو ﻧﺘﺮﻛﺔ ﻛﻤﺎ ھﻮ ﺛﻢ ﻧﻀﻐﻂ ﻋﻠﻲ اﻟﺰر
Addﻓﻨﻸﺣﻆ اﺿﺎﻓﺔ Formاﺧﺮي إﻟﻲ اﻟﺘﻄﺒﯿﻖ ﺗﺎﺧﺬ اﻷﺳﻢ Form ٢وﺗﻈﮭﺮ ﻓﻲ ﻗﺎﺋﻤﺔ Solution Explorer
ﻛﻤﺎ ﺑﺎﻟﺼﻮرة
إﻟﯿﻮم ﺳﻮف ﻧﻘﻮم ﺑﺎﻟﺘﻌﺮف ﻋﻠﻲ ﻗﻮاﺋﻢ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ ٢٠٠٥ﺗﺘﻜﻮن ﻗﻮاﺋﻢ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ ﻣﻦ ازرار ﻋﺪﯾﺪة
ﻟﮭﺎ ﻣﮭﺎم ﻣﺨﺘﻠﻔﺔ واﻷزرارﻣﻮﺿﻮﻋﺔ ﻋﻠﻲ اﻟﻘﻮاﺋﻢ اﻟﻤﺨﺼﺼﺔ ﻟﻤﮭﺎﻣﮭﺎ وﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻲ ﻋﻤﻞ ﻣﻌﻈﻢ ازرارھﺬة اﻟﻘﻮاﺋﻢ أو ﺑﻘﻮل
اﺧﺮ ﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻲ اھﻢ ازرار ﻗﻮاﺋﻢ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺘﻮذﻟﻚ ﻟﻠﺘﻌﺎﻣﻞ ﺑﺴﮭﻮﻟﺔ ﻣﻊ واﺟﮭﺔ اﻟﻔﯿﺠﻮل ﺑﯿﺴﻚ ﻛﺬﻟﻚ ﻟﻤﻌﺮﻓﺔ
ﻗﺪرات ھﺬة اﻟﻠﻐﺔ اﻟﻘﻮﯾﺔ ﻗﺪ ﺗﻸﺣﻈﻮن ﻓﻲ ﺻﻮر اﻟﺸﺮح اﻟﺘﻲ وﺿﻌﺘﮭﺎ ﺑﮭﺬا اﻟﺪرس اﺧﺘﻼف ﺑﯿﻦ ﻗﻮاﺋﻢ ﻛﻢ وھﺬة اﻟﻘﻮاﺋﻢ اﺧﺘﻼف
ﺗﺮﺗﯿﺐ اﻷزرار أو وﺟﻮد ازرار اﻛﺜﺮ ﺑﻘﻮاﺋﻢ ﺑﻼ ﺗﺨﺎﻓﻮا ﯾﻤﻜﻨﻨﺎ ﺗﻌﺪﯾﻞ ﻗﻮاﺋﻢ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ ﻣﻦ ﺣﺬف واﺿﺎﻓﺔ وﺗﺮﺗﯿﺐ
اﻷزرار ﺑﻤﺎ ﯾﻨﺎﺳﺐ ﻣﺘﻄﻠﺒﺎﺗﻨﺎ واﺣﺘﯿﺎﺟﺘﻨﺎ وذﻟﻚ ﻣﻦ اﻟﻘﺎﺋﻤﺔ Toolsﻗﻢ ﺑﺎﺧﺘﯿﺎر Customizeﺳﺘﻈﮭﺮ ﻟﻚ ﻧﺎﻓﺬة ﻗﻢ ﺑﺎﺧﺘﯿﺎر اﻟﺘﺒﻮﯾﺐ
اﻟﺜﺎﻧﻲ وﺳﺘﻈﮭﺮ ﻟﻚ ﻛﻞ ﻗﻮﺋﻢ اﻟﻔﯿﺠﻮل ﺑﺎﻟﺠﺎﻧﺐ اﻷﯾﺴﺮ وﺑﺎﻟﺠﺎﻧﺐ اﻷﯾﻤﻦ ﯾﻮﺟﺪ ازرار اﻟﻘﻮاﺋﻢ ﻗﻢ ﺑﺎﺧﺘﯿﺎر أي ﻗﺎﺋﻤﺔ ﺛﻢ ﻣﻦ وﻣﻦ
اﻟﺠﺎﻧﺐ اﻷﯾﻤﻦ ﻗﻢ ﺑﻌﻤﻠﯿﺔ اﻟﺴﺤﺐ واﻷﻓﻼت ﻟﻸزرار اﻟﺘﻲ ﺗﺮﯾﺪ إﻟﻲ اﻟﻘﻮاﺋﻢ اﻟﻠﺘﻲ ﺗﺮﯾﺪ وﻣﺘﻲ ﺗﻨﺘﮭﻲ ﻗﻢ ﺑﺈﻏﻼق اﻟﻨﺎﻓﺬة Customize
وﻟﻘﺪ ﻗﻤﺖ ﺑﺘﻘﺴﯿﻢ ھﺬا اﻟﺪرس إﻟﻲ ﺟﺰﺋﯿﻦ واﻷن ﻓﺎﻟﻨﺒﺪا ﻣﻊ اﻟﺠﺰء اﻷول وﻣﻊ أوﻟﻲ اﻟﻘﻮاﺋﻢ ﺑﺎﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﻧﺖ
][File
وﺗﺘﻜﻮن ﻣﻦ ازرار اﻷواﻣﺮ اﻟﺘﻲ ﺗﺘﻌﺎﻣﻞ ﻣﻊ اﻧﺸﺎء وﻓﺘﺢ وﺣﻔﻆ وإﻏﻼق ﻛﻸ ﻣﻦ اﻟﻤﻠﻔﺎت واﻟﻤﺸﺎرﯾﻊ
1
-ﺑﻮاﺳﻄﺔ اﻟﻤﺨﻠﺐ اﻟﺠﺎرح ،دورة ﺗﻌﻠﯿﻢ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ " ٢٠٠٥ﺑﺄﺳﮭﻞ اﻟﻄﺮق " ،ﻣﻨﺘﺪى ﻓﯿﺠﻮال ﺑﯿﺴﻚ.
ﺗﺤﺘﻮي ھﺬة اﻟﻘﺎﺋﻤﺔ ﻋﻠﻲ اﻷزرار اﻟﻘﯿﺎﺳﯿﺔ اﻟﺘﻲ ﺗﻌﻤﻞ ﻋﻠﻲ اﻷﻟﻐﺎء واﻟﺘﺮاﺟﻊ واﻟﻨﺴﺦ واﻟﻘﺺ واﻟﻠﺼﻖ
واﻟﺤﺬف وﺗﺘﻌﺎﻣﻞ ﻣﻊtext and other objects.
ﺗﺘﻜﻮن ﻣﻦ اﻷزرار ﺗﻠﻚ اﻟﺘﻲ ﺗﻘﻮم ﺑﺎﺧﻔﺎء واﻇﮭﺎر ﻛﻞ ﻧﻮاﻓﺬ واﺷﺮﻃﺔ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ
][Project
ﺗﺘﻜﻮن ﻣﻦ اﻷزرار اﻟﺘﻲ ﺗﻘﻮم ﺑﺎﺿﺎﻓﺔ وﺣﺬف اﻟﻌﻨﺎﺻﺮ ﻣﻦ وإﻟﻲ اﻟﻤﺸﺮوع
وھﺬة اﻟﻘﺎﺋﻤﺔ ﻧﺴﺘﻄﯿﻊ اﻟﻘﯿﺎم ﺑﺒﻌﺾ أواﻣﺮ ازرارھﺎ ﻣﻦ اﻟﻨﺎﻓﺬة
Explorer Solutions
ﻣﻔﻌﻞ ﻓﺎﻧﺔ ﯾﻠﺰﻣﻚ ﺑﺎﻷﻋﻼن ﻋﻦ ﻛﻞ اﻟﻤﺘﻐﯿﺮات ﺑﺎﻟﻤﺸﺮوع وﯾﻔﻀﻞ ذﻟﻚ اذا ﻛﺎن ھﺬا اﻟﺨﯿﺎر 1- Option Explicit
اﻟﺘﺒﻮﯾﺐ Resources
وﻣﻨﺔ ﯾﺘﻢ ﺗﺤﺪﯾﺪ ﻣﻠﻔﺎت ﺗﺴﺘﺨﺪم ﻛﻤﺼﺎدر
PictureBox.Image = My.Resources.Car
اﻟﺘﺒﻮﯾﺐ Publish
وﻣﻨﺔ ﯾﺘﻢ ﻧﺸﺮ اﻟﻤﺸﺮوع اي ﺗﺤﻮﯾﻠﺔ ﻟﻤﻠﻒ Setup
]Debug
ﺗﺤﺘﻮي ھﺬة اﻟﻘﺎﺋﻤﺔ ﻋﻠﻲ ازرار اﻷواﻣﺮ اﻟﺘﻲ ﺗﻘﻮم ﺑﻌﻤﻠﯿﺔ ﺗﻨﻘﯿﺢ وﺗﺼﺤﯿﺢ
اﻷﺧﻄﺎء اﻟﺒﺮﻣﺠﯿﺔ ﺑﺎﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ اﻟﺒﺮاﻣﺞ
Continue
اﺳﺘﺌﻨﺎف ﻋﻤﻠﯿﺔ اﻟﺘﻨﻘﯿﺢ
Stop Debugging
اﯾﻘﺎف ﻋﻤﻠﯿﺔ اﻟﺘﻨﻘﯿﺢ
Detach all
ﻓﺼﻞ اﻟﻤﻨﻘﺢ ﻋﻦ اﻟﻌﻤﻠﯿﺎت اﻟﻤﺮﺗﺒﻄﺔ ﺑﺔ وﻟﻜﻦ ﻷ ﯾﻘﻮم ﺑﺎﻧﮭﺎ ﺗﻠﻚ اﻟﻌﻤﻠﯿﺎت
Terminate all
اﻧﮭﺎ أي ﻋﻤﻠﯿﺔ ﻣﺮﺗﺒﻄﺔ ﺑﺎﻟﻤﻨﻘﺢ
Restart
اﯾﻘﺎف ﻋﻤﻠﯿﺔ اﻟﺘﻨﻘﯿﺢ اﻟﺤﺎﻟﯿﺔ واﻋﺎدة ﺗﺸﻐﯿﻠﮭﺎ ﻣﻦ اﻟﺒﺪاﯾﺔ
Exceptions
ﯾﻘﻮم ﺑﻔﺘﺢ ﻧﺎﻓﺬة اﻷﺳﺘﺜﻨﺎﺋﺎت ﺣﯿﺚ ﯾﻤﻜﻨﻨﻚ ﺗﺤﯿﺪ ﻧﻮع اﻟﺨﻄﺎء اﻟﺬي ﺗﺮﯾﺪ ان ﯾﺘﻌﺮف اﻟﻤﻨﻘﺢ ﻋﻠﯿﺔ
New Breakpoint
ﻷﺿﺎﻓﺔ ﻧﻘﻄﺔ ﺗﻮﻗﻒ ﺟﺪﯾﺪة
][Data
ﺗﺤﺘﻮي ﻋﻠﻲ ازرار اﻷواﻣﺮ اﻟﺘﻲ ﺗﻘﻮم ﺑﺘﺮﺗﯿﺐ وﺗﻨﻈﯿﻢ اﻷدوات ﻋﻠﻲ اﻟﻔﻮرم
واﻇﻦ ان ھﺬة اﻟﻘﺎﺋﻤﺔ ﻷ ﺗﺤﺘﺎج إﻟﻲ ﺷﺮح ﻓﺎﺳﻤﺎء ازرارھﺎ ﺗﻈﮭﺮ اﻋﻤﺎﻟﮭﺎ
][Tools
ﺗﺤﺘﻮي ھﺬة اﻟﻘﺎﺋﻤﺔ ﻋﻠﻲ اﻷواﻣﺮ اﻟﺘﻲ ﻷ ﯾﺘﻸﺋﻢ وﺿﻌﮭﺎ ﻓﻲ أي ﻗﺎﺋﻤﺔ اﺧﺮي
وھﻲ اﻟﺘﻲ ﺗﺴﺘﻄﯿﻊ ﺗﻐﯿﯿﺮ ﺑﯿﺌﺔ ﺗﻄﻮﯾﺮ اﻟﻔﯿﺠﻮال ﻧﻔﺴﮭﺎ
Connect to Device
ﯾﺘﯿﺢ ﻟﻚ ھﺬا اﻟﺨﯿﺎر اﻷﺗﺼﺎل ﻣﻊ اداة أو ﺟﮭﺎز ﻣﺜﻞ اﻟﮭﺎﺗﻒ اﻟﻜﻔﻲ أو اﻟﮭﻮاﺗﻒ اﻟﺬﻛﯿﮫ
Connect to Pocket PC or Smartphone devices or emulators
وذﻟﻚ ﻷﺧﺘﺒﺎر اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﺗﺼﻤﻤﺔ ﻣﻦ اﺟﻠﮭﺎ
Connect to Database
ﯾﻘﻮم ھﺬا اﻟﺨﯿﺎر ﺑﻔﺘﺢ ﻧﺎﻓﺬة اﻷﺗﺼﺎل ﻣﻊ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت وﻣﻌﺮﻓﺔ اﻟﻘﻮاﻋﺪ اﻟﻤﺮﺗﺒﻄﺔ
ﻣﺴﺒﻘﺎ ﻣﻊ اﻟﺴﺮﻓﺮ اﻟﺨﺎص ﺑﺮﺑﻂ اﻟﺒﯿﺎﻧﺎت
Macros
ﯾﺤﺘﻮي ﻋﻠﻲ ﻗﺎﺋﻤﺔ ﻓﺮﻋﯿﺔ ﺗﺴﺘﻄﯿﻊ ﻣﻦ ﺧﻼﻟﮭﺎ اﻧﺸﺎ و ﺗﻌﺪﯾﻞ أو ﺗﻨﻔﯿﺬ ﻣﯿﻜﺮوا
External Tools
ﯾﻘﻮم ﺑﺎﺿﺎﻓﺔ أو ﺣﺬف زر ﻣﻦ الTools Menu
ﻣﺜﻼ ﺗﺴﺘﻄﯿﻊ ان ﺗﻀﯿﻒ زر ﯾﺸﻐﻞ أي ﺑﺮﻧﺎﻣﺞ ﻣﻦ داﺧﻞ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ
Import/Export Settings
ﯾﻘﻮم ھﺬا اﻟﺨﯿﺎر ﺑﻔﺘﺢ ﻣﻌﺎﻟﺞ ﺣﻔﻆ أو اﺳﺘﻌﺎدة اﻋﺪادات ﺑﯿﺌﺔ اﻟﺘﻄﻮﯾﺮIDE
Customize
ﯾﻘﻮم ھﺬا اﻟﺰر ﺑﻔﺘﺢ ﻧﺎﻓﺬة Customizeاﻟﺘﻲ ﺗﺴﺘﻄﯿﻊ ﻣﻦ ﺧﻼﻟﮭﺎ ﺗﻌﺪﯾﻞ ازرار اﻟﻘﻮاﺋﻢ
ﻣﻦ اﺿﺎﻓﺔ وﺣﺬف وﺗﻌﺪﯾﻞ ﻣﻈﮭﺮ اﻟﻘﻮاﺋﻢ ﻣﻦ اﺿﺎﻓﺔ اﻟﻘﻮاﺋﻢ اﻟﻔﺮﻋﯿﺔ
وﯾﻤﻜﻨﻚ اﺿﺎﻓﺔ اﻷزرار ﺑﻮاﺳﻄﺔ اﻟﺴﺤﺐ واﻷﻓﻼت ﻓﻲ اي ﻗﺎﺋﻤﺔ ﺗﺮﯾﺪ
Options
ﯾﻘﻮم ﺑﻔﺘﺢ ﻧﺎﻓﺬة ﺗﺴﺘﻄﯿﻊ ﻣﻦ ﺧﻼﻟﮭﺎ ﺗﺤﺪﯾﺪ اﻟﺨﯿﺎرات اﻟﺨﺎﺻﺔ ﺑﺒﯿﺌﺔ اﻟﺘﻄﻮي
ﺗﺤﺘﻮي ھﺬة اﻟﻘﺎﺋﻤﺔ ﻋﻠﻲ اﻷواﻣﺮ اﻟﺘﻲ ﺗﺘﺤﻜﻢ ﻓﻲ ﻧﻮاﻓﺬ اﻟﻔﯿﺠﻮال ﺑﺴﯿﻚ دوت ﻧﺖ
Auto Hide
ﺗﻘﻮم ﺑﺨﻔﺎء ﺑﺨﻔﺎء ﺗﻠﻘﺎﺋﻲ ﻟﻠﻨﺎﻓﺬة اﻟﺜﺎﻧﻮﯾﺔ وﺗﻈﮭﺮ ﻋﻨﺪ ﻣﺮور اﻟﻤﺄوس ﻋﻠﯿﮭﺎ
Hide
ﯾﻘﻮم ھﺬا اﻟﺨﯿﺎر ﺑﺈﻏﻼق اﻟﻨﺎﻓﺬة اﻟﺜﺎﻧﻮﯾﺔ وﺗﺴﺘﻄﯿﻊ اﻇﮭﺎرھﺎ ﻣﺮة ﺛﺎﻧﯿﮫ ﻣﻦ اﻟﻘﺎﺋﻤﺔview
أو ﻣﻦ ﺧﻼل اﻟﻀﻐﻂ ﻋﻠﻲ اﺧﺘﺼﺎر اﻇﮭﺎرھﺎ ﻣﻦ ﺷﺮﯾﻂ اﻷﺧﺘﺼﺎرات
ﯾﻘﻮم ھﺬا اﻟﺨﯿﺎر ﺑﻌﺮض اﻛﺜﺮ ﻣﻦ ﻣﺤﺮر ﻓﻲ وﻗﺖ واﺣﺪ ﻋﻠﻲ اﻟﺸﻜﻞ اﻟﻌﻤﻮدﯾﺄي اذا ﻛﺎﻧﺖ ﺗﻌﻤﻞ ﻋﻠﻲ ﻣﺤﺮراﻟﺘﺼﻤﯿﻢ ﻟﻠﻤﺸﺮوع وﺗﺮﯾﺪ
اﯾﻀﺎ اﻟﻌﻤﻞ ﻋﻠﻲ ﻣﺤﺮر اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﻗﻮم ﺑﺎﻟﻀﻐﻂ ﻋﻠﻲ ھﺬا اﻟﺨﯿﺎر وﺳﯿﻜﻮن اﻟﺸﻜﻞ ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة
Windows
ﯾﻘﻮم ﺑﻔﺘﺢ ﻧﺎﻓﺬة ﺗﺴﺘﻄﯿﻊ ﻣﻨﮭﺎ ﺗﺤﺪﯾﺪة أو إﻏﻼق اي ﻣﺤﺮر ﻣﻔﺘﻮح
ﺗﺤﺘﻮي ﻋﻠﻲ اﻷواﻣﺮ اﻟﺘﻲ ﺗﺴﺎﻋﺪك ﻓﻲ اﻷرﺗﺒﺎط ﻣﻊ ﻣﺠﺘﻤﻊ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ
ﺑﺤﯿﺚ ﯾﻤﻜﻨﻚ ان ﺗﺴﺌﻞ وﺗﻘﻮم ﺑﺎﻟﺒﺤﺚ ﻋﻦ اﺟﺎﺑﺔ أو اﻣﺜﻠﺔ وھﺬة اﻷواﻣﺮ ﻣﺮﺗﺒﻄﺔ
ﺑﺼﻔﺤﺎت ﻣﯿﻜﺮوﺳﻮﻓﺖ ﻛﻤﺎ ﯾﻤﻜﻨﻚ زﯾﺎرة MSDN Community Center
ﻣﻦ ﺧﻼل ھﺬا اﻟﺮاﺑﻂ
http://msdn2.microsoft.com/en-us/aa497440.aspx
][Help
ﺗﺤﺘﻮي ﻋﻠﻲ اﻷواﻣﺮ اﻟﻤﺎﻟﻮﻓﺔ اﻟﺨﺎﺻﺔ ﺑﺎﻟﻤﺴﺎﻋﺪة واﻷﺗﺼﺎل ﺑﻤﻮﻗﻊ اﻟﺸﺮﻛﺔ واﻟﺘﻌﺮف ﻋﻠﻲ ﻛﯿﻔﯿﺔ اﺳﺘﺨﺪام اﻟﻠﻐﺔ وﺧﯿﺎر اﻟﻌﺜﻮر
ﻋﻠﻲ اﻟﺘﺤﺪﯾﺜﺎت اﻟﻼزﻣﺔ ﻟﻠﺒﺮﻧﺎﻣﺞ وﺳﻮف ﻧﺘﺎوﻟﮭﺎ ﺑﺎﻟﺘﻔﺼﯿﻞ ﻓﻲ اﻟﻔﺼﻞ اﻟﺴﺎدس ﻣﻦ ھﺬا اﻟﻜﺘﺎب
1
-م /ﻣﺤﻤﺪ ﻋﻠﻲ ﻛﻨﯿﻔﻮ :ﺗﻌﻠﯿﻢ ، Visual basic.Net 2005اﻷﺻﺪارة اﻟﺜﺎﻧﯿﺔ ، CHM File ،اﻟﺘﻌﺮف ﻋﻠﻲ اﻟﻘﻮاﺋﻢ ص٦
Control
وھﻮ اﻟﻌﻨﺼﺮ اﻟﺒﺮﻣﺠﻲ اﻟﺬي ﯾﺄﺧﺬ ﺷﻜﻞ رﺳﻮﻣﻲ ﻣﻌﯿﻦ وﯾﻮﺿﻊ ﻋﻠﻲ اﻟﻔﻮرم اﺛﻨﺎ ء ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ وﯾﻘﻮم ﺑﺘﺎدﯾﺔ ﻣﮭﻤﺔ ﻣﻌﯿﻨﺔ ﻣﺜﻞ
Button , Textbox , Labelوﻟﻜﻞ Controlﺧﺼﺎﺋﺺ ووﻇﺎﺋﻒ ﺗﻤﯿﺰة ﻋﻦ ﻏﯿﺮة
Component
*اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻷدوات:
اﻷدوات ﺗﺴﺎﻋﺪ اﻟﻤﺒﺮﻣﺞ اﺛﻨﺎء ﺗﺼﻤﯿﻤﺔ ﺑﺮﻧﺎﻣﺞ ﺑﻘﺪر ﻛﺒﯿﺮ ﻓﺘﻘﻮم ﺑﺎﺧﺘﺼﺎر اﻟﻜﺜﯿﺮ ﻣﻦ اﻷﻛﻮاد اﻟﺼﻌﺒﺔ واﻟﻄﻮﯾﻠﺔ وﻟﻜﻞ اداة ﻣﻦ
ادوات اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ ﻏﺮض ﻣﻌﯿﻦ وﻣﮭﻤﺔ ﻣﻌﯿﻨﺔ وﺗﻘﻮم ﻛﻞ اداة ﺑﻌﻤﻞ ﻣﺨﺘﻠﻒ ﻋﻦ اﻷداة اﻷﺧﺮي
*ﯾﻤﻜﻨﻚ اﺿﺎﻓﺔ اي اداة إﻟﻲ ﺑﺮﻧﺎﻣﺠﻚ ﺑﺎﺣﺪي ھﺬة اﻟﻄﺮق :اﻟﻨﻘﺮ اﻟﻤﺰدوج ﻋﻠﻲ اﻷداة اﻟﻤﺮاد اﺿﺎﻓﺘﮭﺎﻟﺴﺤﺐ واﻷﻓﻼت
ﺑﺎﺳﺘﺨﺪام اﻟﻤﺄوﺳﺎﻟﻨﻘﺮ ﻧﻘﺮة واﺣﺪة ﻋﻠﻲ اﻷداة اﻟﻤﺮاد اﺿﺎﻓﺘﮭﺎ وﺛﻤﺎﻟﻨﻘﺮ ﻧﻘﺮة واﺣﺪة ﻋﻠﻲ اﻟﻔﻮرم وﺳﯿﺘﻢ اﺿﺎﻓﺘﮭﺎ
*وﻟﻜﻦ ﻟﻮ اردﻧﺎ اﻧﺸﺎء ﻣﺠﻤﻮﻋﺔ ﻛﺒﯿﺮة ﻣﻦ اﻷدواة ﻛﻌﻤﻞ ﺑﺮﻧﺎﻣﺞ ﺣﺎﺳﺒﺔ ﺑﺔ ازرار ﻋﺪﯾﺪة ﻣﺜﻼﻓﺎءن اﻟﻄﺮق اﻟﺴﺎﺑﻘﺔ
ﻷﺿﺎﻓﺔ اﻷزرار ﺳﺘﻜﻮن ﻣﺘﻌﺒﺔ ﻗﻠﯿﻸﻓﻤﺎ ھﻮ اﻟﺤﻞ ﯾﺎﺗﺮي ﻓﻲ راﯾﻚ ؟اﻟﺤﻞ ھﻮ اﻟﻀﻐﻂ اﻟﻤﺘﻮاﺻﻞ ﻋﻠﻲ ﻣﻔﺘﺎح Ctrlﺛﻢ اﻟﻨﻘﺮ
ﻧﻘﺮة واﺣﺪة ﺑﺎﺳﺘﺨﺪام اﻟﻤﺄوس ﻋﻠﻲ اﻷداة اﻟﺘﻲ ﺗﺮﯾﺪ اﺿﺎﻓﮫ ﻋﺪدأ ﻣﻨﮭﺎ ﺛﻢ اﻟﻨﻘﺮ ﻋﻠﻲ اﻟﻔﻮرم ﺳﺘﻼﺣﻆ ﻓﻲ ﻛﻞ ﻣﺮة ﺗﻘﻮم
ﺑﮭﺎ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻲ اﻟﻔﻮرم اﺿﺎﻓﺔ اﻷداة ﻣﺮة ﺟﺪﯾﺪة وﺑﺎﺳﻢ ﺟﺪﯾﺪوﻋﻨﺪﻣﺎ ﺗﺮﯾﺪ اﻷﻧﺘﮭﺎء ﻣﻦ اﺿﺎﻓﺔ اﻷداة ﻓﻤﺎ ﻋﻠﯿﻚ ﺳﻮﯾﺎﯾﻘﺎف
اﻟﻀﻐﻂ ﻋﻠﻲ ﻣﻔﺘﺎح Ctrlأواﻟﻀﻐﻂ ﻋﻠﻲ اﯾﻘﻮﻧﺔ ﻣﻮﺷﺮ اﻟﻤﺄوس اﻟﺘﻲ ﻓﻲ اﻋﻠﻲ اﻷدوات.
وﺑﺎﺳﺘﺨﺪاﻣﮭﺎ ﺗﺴﺘﻄﯿﻊ ﺗﺠﻤﯿﻊ ﻋﺪد ﻣﻦ اﻷدوات ﻓﻲ ﺣﺎوﯾﺔ واﺣﺪة ﻟﻐﺮض ﻧﻘﻞ وﺗﺤﺮﯾﻚ أو اﺧﻔﺎء واﻇﮭﺎر ﺗﻠﻚ اﻷدوات أو
ﻷﻏﺎض اﺧﺮي .اﻟﻤﮭﻢ ﻓﻲ ﻻﻣﺮ اﻧﻨﺎ ﺑﺎﺳﺘﺨﺪام ﺣﺄوﯾﺎت اﻷدوات ﻧﺴﺘﻄﯿﻊ ان ﻧﺘﻌﺎﻣﻞ ﻣﻊ ﻣﺠﻤﻮﻋﺔﻣﻦ اﻷدوات ﻛﻜﺘﻠﺔ واﺣﺪة
.
ھﻨﺎﻟﻚ ﻋﺪة ﻃﺮق ﻟﺘﻀﻊ اﻷدوات داﺧﻞ ﺣﺎوﯾﺔ containerوذﻟﻚ ﺑﺴﺤﺐ اﻷداة اﻟﻤﻮﺟﻮد ﻋﻠﻲ اﻟﻔﻮرم إﻟﻲ داﺧﻞ
containerأو ﺑﺘﺤﺪﯾﺪ ال containerاﻟﺬي ﻗﻤﺖ ﺑﺎﺿﺎﻓﺘﺔ ﻣﺴﺒﻘﺎ إﻟﻲ اﻟﻔﻮرﻣﺜﻢ و ﻣﻦ ﻗﺎﺋﻤﺔ اﻷدوات ﺗﻘﻮم ﺑﺎﻟﻨﻘﺮ
اﻟﻤﺰدوج ﻋﻠﻲ اﻷداة اﻟﺘﻲ ﺗﺮﯾﺪ ان ﺗﻀﯿﻔﮭﺎ إﻟﻲ containerوﺳﺘﻀﺎف ﺑﺪاﺧﻠﮫ ﻣﺒﺎﺷﺮأ وﻟﯿﺲ ﻋﻠﻲ اﻟﻔﻮرم أو ﺑﻮاﺳﻄﺔ
اﻟﺴﺤﺐ واﻷﻓﻼت ﻣﻦ ﻗﺎﺋﻤﺔ اﻷدوات إﻟﻲ داﺧﻞ ال container .أو ﺑﻮاﺳﻄﺔ اﻟﻘﺺ واﻟﻠﺼﻖ ﻣﻦ ﻋﻠﻲ اﻟﻔﻮرم إﻟﻲ داﺧﻞ ال
container .
ﻏﺎﻟﺒﺎ ﻧﻘﻮم ﺑﺎﻧﺸﺎء اﻷدوات ﻋﻠﻲ اﻟﻔﻮرم ﻓﻲ وﻗﺖ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻦ ﻃﺮﯾﻖ اﺿﺎﻓﺘﮭﺎ ﻣﻦ ﻗﺎﺋﻤﺔ ToolBoxوﻟﻜﻦ
وﺑﺎﻟﺮﻏﻢ ﻣﻦ ذﻟﻚ ﻓﺎﻧﻨﺎ ﻓﻲ ﺑﻌﺾ اﻷﺣﯿﺎن ﻗﺪ ﻧﺤﺘﺎج ﻷﻧﺸﺎء اﻷدوات ﻓﻲ وﻗﺖ ﺗﻨﻔﯿﺬاﻟﺒﺮﻧﺎﻣﺞ Run Timeأي اﻧﺸﺎء اﻟﺪوات
واﻷﺣﺪاث اﻟﺨﺎﺻﺔ ﺑﮭﺎ ﻋﻦ ﻃﺮﯾﻖ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ.
اﻟﺠﻮاب اﻧﻚ ﻓﻲ ﺑﻌﺾ اﻷﺣﯿﺎن ﻗﺪ ﺗﺤﺘﺎج ﻟﻌﻤﻞ ﺑﺮﻧﺎﻣﺞ ﯾﻤﻠﻚ واﺟﮭﺎت ﻣﺨﺘﻠﻔﺔ ﯾﺨﺪم ﻣﺴﺘﺨﺪﻣﯿﻦ ﻣﺨﺘﻠﻔﯿﻦ .اﻟﻤﺴﺘﺨﺪﻣﯿﻦ
ﻣﺨﺘﻠﻔﯿﻦ ﻓﻲ ﻣﮭﺎراﺗﮭﻢ أو ﯾﺤﺘﺎﺟﻮن ﻷدوات ﻣﺨﺘﻠﻔﺔ ﺗﺒﻌﺎ ﻻﺧﺘﻼف اﻋﻤﺎﻟﮭﻢ وﻣﺘﻄﻠﺒﺎﺗﮭﻢ .أو اﻧﻚ ﻷ ﺗﻌﻠﻢ ﻣﺎذا ﺳﯿﺘﻄﻠﺐ
ﺑﺮﻧﺎﻣﺠﻚ ﻣﻦ ادوات ﻟﻌﺮض أو ادﺧﺎل اﻟﺒﯿﺎﻧﺎت ﻷن ذﻟﻚ ﻣﺘﻮﻗﻒ ﻋﻠﻲ ﺣﺎﺟﯿﺎت اﻟﻤﺴﺘﺨﺪم ﻟﻠﺒﺮﻧﺎﻣﺞ .أي اﻧﻚ ﺳﻮف ﺗﺤﺘﺎج
إﻟﻲ اﻧﺸﺎء ادوات ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﯿﺬ Run Time .اﻷن ﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻲ ﻛﯿﻔﯿﺔ اﻧﺸﺎء اﻷدوات وﻗﺖ اﻟﺘﻨﻔﯿﺬRun Time :
اﻧﻈﺮ إﻟﻲ ھﺬا اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ
اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ
Dim lblHi As New Label
)lblHi.SetBounds (50, 50, 70,70
"lblHi.Text="Hello World
)Me.Controls.Add (lblHi
ﺑﮭﺬا اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﻧﺴﺘﻄﯿﻊ اﻧﺸﺎء Labelﻋﻠﻲ اﻟﻔﻮرم ﻓﻲ وﻗﺖ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ وأﻷن ﻧﺄﺗﻲ ﻟﺸﺮح اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﻓﻲ اﻟﺴﻄﺮ
اﻷول ﻗﻤﻨﺎ ﺑﺎﻷﻋﻼن ﻋﻦ اﻟﻤﺘﻐﯿﺮ lblHiﻋﻠﻲ اﻧﺔ ﻣﻦ اﻟﻨﻮع Label .ﻓﻲ اﻟﺴﻄﺮ اﻟﺜﺎﻧﻲ ﻗﻤﻨﺎ ﺑﺘﺤﺪﯾﺪ اﺣﺪاﺛﯿﺎت lblHiﻋﻠﻲ اﻟﻔﻮرم
ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ SetBounds .ﻓﻲ اﻟﺴﻄﺮ اﻟﺜﺎﻟﺚ ﻗﻤﻨﺎ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ Textﻟﯿﻜﻮن اﻷﺳﻢ اﻟﻈﺎھﺮ ﻟﻞ Labelھﻮ Hello World
.ﺛﻢ ﻓﻲ اﻟﺴﻄﺮ اﻟﺮاﺑﻊ واﻷﺧﯿﺮ ﻗﻤﻨﺎ ﺑﺎﺿﺎﻓﺔ lblHiإﻟﻲ اﻷدوات اﻟﺘﺎﺑﻌﺔ ﻟﻠﻔﻮرم اﻟﺤﺎﻟﻲ ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﮫِ Addاﻟﻤﺘﺮﻓﻌﺔ ﻣﻦ
اﻟﺨﺎﺻﯿﺔ Controlsاﻟﺘﺎﺑﻌﺔ ﻟﻠﻔﻮرم .وﻟﻜﻦ ﻟﻢ ﻧﺤﺘﺎج ﻟﻌﻤﻞ ﺣﺪث ﺗﺎﺑﻊ ﻟﻸداة Labelﻷﻧﻨﺎ ﻓﻲ اﻷﻏﻠﺐ ﻧﺴﺘﺨﺪﻣﮭﺎ ﻟﻌﺮض ﻣﻌﻠﻮﻣﺎت
ﻋﻠﻲ اﻟﻔﻮرم وﻟﻜﻦ ھﻨﺎﻟﻚ ادوات اﺧﺮي ﻣﺜﻞ Buttonﻷ ﻧﺴﺘﻄﯿﻊ اﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ إﻟﻲ ﺑﻮاﺳﻄﺔ اﻷﺣﺪاث اﻟﺘﺎﺑﻌﺔ ﻟﮭﺎ ﻛﺤﺪث اﻟﻀﻐﻂ
ﻋﻠﯿﮭﺎ ﻣﺜﻼ .واﻷن ﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻲ ﻛﯿﻔﯿﺔ اﻧﺸﺎء اداة ﻓﻲ وﻗﺖ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻊ اﻧﺸﺎء اﺣﺪاث ﺗﺎﺑﻌﺔ ﻟﮭﺎ وأوﻷ ﯾﺠﺐ ان
اﻷن ﻗﻢ ﺑﻔﺘﺢ ﻣﺸﺮوع ﺟﺪﯾﺪ وﻗﻢ ﻓﻲ ﻣﻨﻄﻘﺔ اﻟﺘﺼﺮﯾﺤﺎت اﻟﻌﺎﻣﺔ ﺑﻜﺘﺎﺑﺔ ھﺬا اﻟﺘﺼﺮﯾﺢ
اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ
ﺗﻜﻠﻤﻨﺎ ﻓﻲ اﻟﺪرس اﻟﺴﺎﺑﻖ ﻋﻦ اﻷدوات وﺗﻌﻠﻤﻨﺎ ﻛﯿﻔﯿﺔ اﻧﺸﺎﺋﮭﺎ ﻋﻠﻲ اﻟﻔﻮرم ﻓﻲ وﻗﺖ اﻟﺘﺼﻤﯿﻢ أو ﻓﻲ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ وﻟﻜﻦ ﺑﻘﻲ
ﻣﻼﺣﻈﺔ ﺗﺨﺺ اﻧﺸﺎء اﻷدوات ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﯿﺬ وھﻲ ﻛﯿﻔﯿﺔ ﺣﺬف اداة ﻣﺎ ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﯿﺬ ﺛﻢ ﺳﻨﻨﺘﻘﻞ ﺑﻌﺪھﺎ إﻟﻲ ﺧﺼﺎﺋﺺ اﻷدوات.
:
ﻣﺜﻼ ﻟﻮ ﻛﺎن ﻟﺪﯾﻨﺎ Buttonاﻷﺳﻢ اﻟﺒﺮﻣﺠﻲ ﻟﮫ btnHiوﻧﺮﯾﺪ ﺣﺬﻓﺔ ﻣﻦ ﻋﻠﻲ اﻟﻔﻮرم ﻓﻲ وﻗﺖ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻛﻠﻤﺎ ﻋﻠﯿﻨﺎ ھﻮ ﻛﺘﺎﺑﺔ
اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ اﻟﺘﺎﻟﻲ ﻓﻲ زر اﻣﺮ ﺣﺬف ذﻟﻚ الButton
اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ
)Me.Controls.Remove(btnHi
btnHi = Nothing
ﺳﯿﻘﻮم ذﻟﻚ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﺑﺤﺬف اﻟﺰر btnHiﻣﻦ ﻋﻠﻲ ﻓﻮرم اﻟﺒﺮﻧﺎﻣﺞ ﺣﺘﻲ وﻟﻮ ﺗﻢ اﻧﺸﺎء ذﻟﻚ إل Buttonﻓﻲ وﻗﺖ ﺗﺼﻤﯿﻢ
اﻟﺒﺮﻧﺎﻣﺞ أو ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﯿﺬ وﻟﻜﻦ ﺣﺬف أداة ﻣﻦ ﻋﻠﻲ ﻓﻮرم اﻟﺒﺮﻧﺎﻣﺞ إﺛﻨﺎء ﺗﺸﻐﯿﻠﮫ ﻷ ﯾﻌﻨﻲ اﻧﺔ ﺗﻢ ﺣﺬف أﺣﺪاث ﺗﻠﻚ اﻷداة.
:
اﻟﺨﺎﺻﯿﺔ :ھﻲ ﻗﯿﻤﺔ أو ﺑﻌﺾ اﻟﻘﯿﻢ اﻟﺘﺎﺑﻌﺔ ﻷداة اﻟﺘﺤﻜﻢ واﻟﺘﻲ ﺗﺘﺤﻜﻢ ﻓﻲ ﻋﻤﻞ أو ﻣﻈﮭﺮ اﻷداة .ﻣﺜﻼ اداة اﻟﺘﺤﻜﻢ TextBoxﺗﻤﺘﻠﻚ
اﻟﺨﺎﺻﯿﺔ Nameوھﻲ اﻟﺘﻲ ﺗﺘﺤﻜﻢ ﻓﻲ اﺳﻢ اﻷداة اﻟﺒﺮﻣﺠﻲ اﻟﺬي ﯾﺴﺘﺨﺪﻣﺔ اﻟﻤﺒﺮﻣﺞ اﺛﻨﺎء ﻛﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ وﻛﺬﻟﻚ اﻟﺨﺎﺻﯿﺔ Text
وھﺬة اﻟﺨﺎﺻﯿﺔ ھﻲ اﻟﺘﻲ ﺗﺘﺤﻜﻢ ﻓﻲ اﻟﻜﺘﺎﺑﺔ اﻟﺘﻲ ﺳﺘﻈﮭﺮ ﻓﻲ TextBoxوﺗﻮﺟﺪ اﯾﻀﺎء اﻟﺨﺎﺻﯿﺔ BackColorوھﻲ اﻟﺘﻲ ﺗﺘﺤﻜﻢ ﻓﻲ
ﻟﻮن اﻟﺨﻠﻔﯿﺔ وھﻜﺬا.
ﻟﻜﻞ اداة ﺧﺼﺎﺋﺺ ﻋﺪﯾﺪة وﺗﺘﺸﺎﺑﺔ ﻣﻌﻈﻢ اﻷدواة ﻓﻲ اﻟﻜﺜﯿﺮ ﻣﻦ ﺧﺼﺎﺋﺼﮭﺎ وﻟﻜﻦ ھﻨﺎﻟﻚ ﺧﺼﺎﺋﺺ ﻷ ﺗﻮﺟﺪ اﻷ ﻓﻲ ﻧﻮع ﻣﺤﺪد ﻣﻦ
اﻷدوات ﻣﺜﻼ اﻷداة ImageListﺗﻤﺘﻠﻚ اﻟﺨﺎﺻﯿﺔ Imagesاﻟﺘﻲ ﺗﺴﺘﻄﯿﻊ ﺑﺎﺳﺘﺨﺪاﻣﮭﺎ ﻣﻦ اﺧﺘﯿﺎر اﻟﻌﺪد اﻟﺬي ﺗﺮﯾﺪ ﻣﻦ اﻟﺼﻮر اﻟﺘﻲ
ﺳﻮف ﺗﺨﺰﻧﮭﺎ ھﺬة اﻷداة ﻻﺳﺘﺨﺪام ھﺎ ﻛﺎﯾﻘﻮﻧﺎت ﻣﺜﻼ ﻣﻊ ادوات اﺧﺮي ﻣﺜﻞ اﺳﺘﺨﺎﻣﮭﺎ ﻣﻊ اداة اﻟﻌﺮض اﻟﺸﺠﺮيTreeView .
:
ﻟﺘﻌﺪﯾﻞ ﺧﺼﺎﺋﺺ أي اداة ﻣﻦ ادوات اﻟﺘﺤﻜﻢ ﻓﻲ وﻗﺖ ﺗﺼﻤﯿﻢ ﺑﺮﻧﺎﻣﺠﻚ ﯾﺠﺐ أوﻷ ان ﺗﻘﻮم ﺑﻔﺘﺢ ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ وﺗﺴﺘﻄﯿﻊ ﻓﺘﺤﮭﺎ
ﻣﻦ اﻟﻘﺎﺋﻤﺔ Viewواﺧﺘﯿﺎر Properties Windowsأو ﺑﺎﻟﻀﻐﻂ ﻋﻠﻲ اﻟﻤﻔﺘﺎح F4ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ .ﺑﻌﺪ ﻓﺘﺢ ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ
ﯾﺒﻘﻲ ان ﻧﺤﺪد اﻷداة اﻟﺘﻲ ﻧﺮﯾﺪ ﺗﻌﺪﯾﻞ ﺧﺼﺎﺋﺼﮭﺎ وذﻟﻚ ﯾﺘﻢ ﺑﻄﺮﯾﻘﺘﯿﻦ اﻷوﻟﻲ ﺑﺎﺧﺘﯿﺎر اﺳﻢ اﻷداة ﻣﻦ اﻋﻠﻲ ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ أو
ﺑﺎﻟﻨﻘﺮﻋﻠﯿﮭﺎ ﻧﻘﺮة واﺣﺪة ﺑﺎﺳﺘﺨﺪام اﻟﻤﺄوس ﻓﺘﻈﮭﺮ ﻟﻨﺎ ﺟﻤﯿﻊ ﺧﺼﺎﺋﺺ ﺗﻠﻚ اﻷداة ﻓﻲ ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ ﺑﻌﺪھﺎ ﻧﻘﻮم
ﺑﺎﻟﻨﻘﺮ ﺑﺎﻟﻤﺄوس اﻣﺎم اﺳﻢ اﻟﺨﺎﺻﯿﺔ اﻟﻤﺮاد ﺗﻐﯿﯿﺮھﺎ وﻛﺘﺎﺑﺔ أو اﺧﺘﯿﺎر اﻟﻘﯿﻤﺔ اﻟﺠﺪﯾﺪة ﻟﮭﺎ.
ھﻨﺎﻟﻚ اﻧﻮاع ﻛﺜﯿﺮة ﻟﻠﺨﺼﺎﺋﺺ ﻓﮭﻨﺎﻟﻚ اﻟﺨﺼﺎﺋﺺ اﻟﻤﺮﻛﺒﺔ ﻣﻦ اﻛﺜﺮ ﻣﻦ ﻗﯿﻤﺔ واﻟﺨﺼﺎﺋﺺ اﻟﻤﺤﺼﻮرة ﺑﯿﻦ ﻗﯿﻢ ﻣﺤﺪدة وﺛﺎﺑﺘﺔ ﻛﺬﻟﻚ
ھﻨﺎﻟﻚ اﻟﺨﺼﺎﺋﺺ اﻟﻤﺠﻤﻌﺔ ﻛﻤﺠﻤﻮﻋﺔ وﺳﻮف ﻧﺴﺘﻌﺮض ﻛﻞ ﻧﻮع ﻣﻦ اﻧﻮاع اﻟﺨﺼﺎﺋﺺ ﻋﻠﻲ ﺣﺪة ﻛﻲ ﻧﻔﮭﻢ ﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ.
- ١اﻟﺨﺼﺎﺋﺺ اﻟﻤﺮﻛﺒﺔ:
ﺑﻌﺾ ﻣﻦ اﻟﺨﺼﺎﺋﺺ ﺗﻤﺘﻠﻚ ﻗﯿﻢ ﻣﺮﻛﺒﺔ ﻣﺜﻼ اﻟﺨﺎﺻﯿﺔ Locationﺗﺘﻜﻮن ﻣﻦ اﻟﺤﺪاﺛﯿﺎن X and Yواﻟﺨﺎﺻﯿﺔ Sizeﺗﺘﻜﻮن ﻣﻦ
اﻟﻘﯿﻤﺘﯿﻦ width and heightواﻟﺨﺎﺻﯿﺔ Fontﻣﺜﻼ ﺗﺘﻜﻮن ﻣﻦ اﻟﻘﯿﻢ font’s name, size, boldnessوﻏﯿﺮھﺎ ﻣﻦ ﺧﺼﺎﺋﺺ
اﻟﺨﻄﻮط أي ھﻨﺎﻟﻚ ﺧﺼﺎﺋﺺ ﺗﺘﻜﻮن ﻣﻦ اﻛﺜﺮ ﻣﻦ ﻗﯿﻤﺔ وﻧﻸﺣﻆ ﻓﻲ اﻟﺼﻮرة اﻟﺴﺎﺑﻘﺔ ان ھﻨﺎﻟﻚ ﺧﺼﺎﺋﺺ اﻣﺎﻣﮭﺎ ﻋﻼﻣﺔ اﻟﺰاﺋﺪ )(+
ﺗﻠﻚ ھﻲ اﻟﺨﺼﺎﺋﺺ اﻟﻤﺮﻛﺒﺔ ﻓﻠﻮا ﻗﻤﺖ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻲ ھﺬة اﻟﻌﻼﻣﺔ ﺳﻮف ﺗﻈﮭﺮ ﻟﻚ ﻗﯿﻢ ھﺬة اﻟﺨﺎﺻﯿﺔ.
- ٢اﻟﺨﺼﺎﺋﺺ اﻟﻤﺤﺼﻮرة:
ھﻲ اﻟﺨﺼﺎﺋﺺ اﻟﺘﻲ ﺗﻜﻮن ﻗﯿﻤﮭﺎ ﻣﺤﺼﻮرة وﻣﺤﺪدة وﺗﻜﻮن ﻗﯿﻤﮭﺎ ﻋﻠﻲ ﺷﻜﻞ ﻗﺎﺋﻤﺔ ﺳﺮد ﺑﮭﺎ اﻟﻘﯿﻢ اﻟﻤﻤﻜﻦ اﻋﻄﺎﺋﮭﺎ ﻟﻠﺨﺎﺻﯿﮫ
وﻣﺜﺎل ﻋﻠﻲ ھﺬة اﻟﺨﺼﺎﺋﺺ اﻟﺨﺎﺻﯿﺔ Visibleﻓﮭﺬة اﻟﺨﺎﺻﯿﺔ ﺗﻤﺘﻠﻚ اﺣﺪي اﻟﻘﯿﻤﺘﯿﻦ True and Falseوﻷ ﯾﻤﻜﻨﻚ اﻋﻄﺎﺋﮭﺎ ﻗﯿﻢ
اﺧﺮي اﻷ اذا ﻛﺎﻧﺖ اﻟﻘﯿﻤﺎﻷﺧﺮي ﻣﺴﺄوﯾﺔ ﻟﻠﻘﯿﻢ اﻟﺤﺎﻟﯿﺔ ﻣﺜﻼ اﻟﻘﯿﻤﺔ True= -1واﻟﻘﯿﻤﺔFalse= 0 .
- ٣اﻟﺨﺼﺎﺋﺺ اﻟﻤﺠﻤﻌﺔ:
ھﻨﺎﻟﻚ ﺧﺼﺎﺋﺺ ﺗﺘﻜﻮن ﻗﯿﻤﮭﺎ ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻘﯿﻢ أو اﻟﻌﻨﺎﺻﺮ ﻣﺜﻼ أداة اﻟﺘﺤﻜﻢ ListBoxﺗﻤﺘﻠﻜﺎﻟﺨﺎﺻﯿﺔ Itemsاﻟﺘﻲ ﺗﺘﻜﻮن
ﻗﯿﻤﺘﮭﺎ ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ ﺗﻠﻚ اﻟﺘﻲ ﺗﻘﻮم اداة ListBoxﺑﻌﺮﺿﻌﺎأو ﻣﺜﻞ اﻟﺨﺎﺻﯿﺔ ImageListﻓﯿﻤﮭﺎ ﺗﺘﻜﻮن ﻣﻦ ﻣﺠﻤﻮﻋﺔ
ﻣﻦ اﻟﺼﻮر ﯾﺘﻢ ﻋﺮﺿﮭﺎ ﺑﺄدوات أﺧﺮﯾﻜﺬﻟﻚ ھﻨﺎﻟﻚ ﺧﺼﺎﺋﺺ ﻗﯿﻤﮭﺎ ﺗﺘﻄﻠﺐ وﺟﻮد أداة أﺧﺮي ﻓﻤﺜﻼ ﻟﻌﻤﻞ ﺻﻮر ﺑﺎﻋﻠﻲ ﻋﻨﺎﺻﺮ اﻷداة
TabControlﯾﺠﺐ ان ﺗﻮﺟﺪ اﻷداة ImageListواﻋﻄﺎء اﻟﺨﺎﺻﯿﺔ Imagesاﻟﺘﺎﺑﻌﺔ ﻟﮭﺎ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺼﻮر ﻛﻲ ﻧﻘﻮم ﺑﻌﺮﺿﻌﺎ
ﻛﺎﯾﻘﻮﻧﺎت ﻓﻲ ﻋﻨﺎوﯾﻦ TabControl .وﺳﻮف ﻧﻘﻮم ﺑﻤﺜﺎل ﻟﻌﻤﻞ ذﻟﻚ.
ﻗﻢ ﺑﻔﺘﺢ ﻣﺸﺮوع ﺟﺪﯾﺪ ﺑﺎﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ ﺛﻢ ﻗﻢ ﺑﺎﺿﺎﻓﺔ ھﺬة اﻷدوات إﻟﻲ ﻓﻮرم اﻟﺒﺮﻧﺎﻣﺞ اﻷداة TabControlوﻋﺪل
اﻟﺨﺎﺻﯿﺔ Nameﻟﺘﻜﻮن TabExpواﻷداة ImageListوﻋﺪل اﻟﺨﺎﺻﯿﺔ Nameﻟﺘﻜﻮن ImglstTabExpﺛﻢ ﻗﻢ ﺑﺎﻟﻨﻘﺮ ﻧﻘﺮة واﺣﺪة
ﻋﻠﯿﺎﻷداة ImglstTabExpﻓﺘﻈﮭﺮ ﻟﻚ ﺧﺼﺎﺋﺼﮭﺎ ﺑﻨﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ وﻣﻨﮭﺎ ﻗﻢ ﺑﺎﻟﻨﻘﺮاﻣﺎم اﻟﺨﺎﺻﯿﺔ Imagesوﺳﺘﻈﮭﺮ ﻟﻚ ﻧﺎﻓﺬة
ﻣﺤﺮر اﺿﺎﻓﺔ اﻟﺼﻮر اﻟﺘﺎﺑﻊ ﻟﻸداة
وﻟﻮ ﺗﻸﺣﻆ اﻟﺼﻮرة ﻓﺎﻧﺔ ﯾﻮﺟﺪ ﺻﻮرﺗﯿﻦ ﺗﻢ اﺿﺎﻓﺘﮭﻤﺎ ﻣﺴﺒﻘﺎ ﻓﻘﻢ اﻧﺖ اﻷﻧﺒﺎﺧﺘﯿﺎر ﺻﻮرﺗﯿﻦ ﺑﻮاﺳﻄﺔ اﻟﺰر Addﺛﻢ ﺑﻌﺪ ذﻟﻚ اﺿﻐﻂ
Okﻋﻨﺪھﺎ ﺳﯿﻐﻠﻖ ﻣﺤﺮراﺿﺎﻓﺔ اﻟﺼﻮر وﺳﺘﻌﻮد إﻟﻲ وﺿﻊ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ اﻷن ﻗﻢ ﺑﺘﺤﺪﯾﺪ اﻷداة TabExpﻟﺘﻈﮭﺮ ﺧﺼﺎﺋﺼﮭﺎ
ﺑﻨﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ واﻷن ﻗﻢ ﺑﺎﻟﻨﻘﺮ اﻣﺎم اﻟﺨﺎﺻﯿﺔ ImageListاﻟﺘﺎﺑﻌﺔ ﻟﻸداة TabExpوﻗﻢ ﺑﺎﺧﺘﯿﺎر اﻷداةImglstTabExp
واﻷن ﻗﻢ ﺑﺎﻟﻨﻘﺮ اﻣﺎم اﻟﺨﺎﺻﯿﺔ TabPagesاﻟﺘﺎﺑﻌﺔ ﻟﻸداة TabExpوﺳﺘﻈﮭﺮ ﻟﻚ ﻧﺎﻓﺬة ﺗﻌﺪﯾﻞ واﺿﺎﻓﺔ اﻟﺘﺎب )(Tabs
ﻓﻲ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٦ﻛﺎﻧﺖ ھﻨﺎﻟﻚ ﻣﯿﺰة ﺟﻤﯿﻠﺔ وﻣﻔﯿﺪة وھﻲ اﻟﻤﻘﺪرة ﻋﻠﻲ ﻋﻤﻞ ﻣﺼﻔﻮﻓﺔ ﻣﻦ اﻷدواﺗﻮﻣﺼﻔﻮﻓﺔ اﻷدوات ﻋﺒﺎرة
ﻋﻦ ﻣﺼﻔﻮﻓﺔ ﻣﻦ اداة ﻣﻌﯿﻨﺔ ﺑﺤﯿﺚ ﺗﺘﺸﺎرك ﻧﻔﺲ اﻷﺣﺪاث واﯾﻀﺎ ﻟﮭﺎ ﻧﻔﺲ اﻷﺳﻢ وﻧﺴﺘﻄﯿﻊ اﻟﺘﻤﯿﯿﺰ ﺑﯿﻨﮭﺎ ﺑﻮاﺳﻄﺔ indexاﻟﻤﻤﯿﺰ
ﻟﻜﻞ ﻋﻨﺼﺮ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ.
واﯾﻀﺎ ھﻮ اﻟﺤﺎل ﻓﻲ VB.NET 2005ﻓﺈن ھﺬة اﻟﻤﯿﺰة ﺑﺎﻗﯿﺔ وﻟﻜﻦ ﻣﻊ ﺑﻌﺾ اﻻﺧﺘﻼف ﻓﻲ ﻛﯿﻔﯿﺔ اﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ اﻷدوات ﻋﻦ
اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ .٦
ﻣﺎھﻲ اﻟﻔﺎﺋﺪة ﻣﻦ ﻣﺼﻔﻮﻓﺔ اﻷدوات وﻣﺎ اﻟﻔﺎﺋﺪة ﻣﻨﮭﺎ? ﺳﺆال ﻗﺪ ﯾﺪور ﻓﻲ ﻋﻘﻮل اﻟﻜﺜﯿﺮ وﺳﺎﺟﯿﺐ ﻋﻠﯿﺔ ﺑﺎﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ
ﺗﺼﻮر ﻟﻮ اﻧﻚ اردت اﻟﻘﯿﺎم ﺑﻌﻤﻞ ﺣﺎﺳﺒﺔ ﺗﺘﻜﻮن ﻣﻦ اﻟﻜﺜﯿﺮ ﻣﻦ اﻷزرار ﻓﺎﻧﻚ ﺑﺎﻟﺘﺎﻟﻲ ﺳﻮف ﺗﻘﻮم ﺑﻌﻤﻞ ﺣﺪث ﻟﻜﻞ زر ﺑﺒﺮﻧﺎﻣﺠﻚ
اﻟﺤﺎﺳﺒﺔ ﻓﻠﻮ دﺧﻠﻨﺎ إﻟﻲ ﺷﺎﺷﺔ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﻣﺎذا ﺳﻨﺸﺎھﺪ ﻣﻨﻈﺮ ﻏﯿﺮ ﺟﯿﺪ ﻣﻦ ﺗﺮاﻛﻢ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ وﻋﺪم ﺗﻨﻈﯿﻤﺔ وﻟﻜﻦ ﻣﺎ
راﺋﯿﻚ ﻟﻮ اﺧﺘﺼﺮت ﻛﻞ اﺣﺪاث اﻷزرار ﺑﺤﺪث واﺣﺪ ﻓﻘﻂ ھﺬا ﺷﺊ ﻏﺎﯾﺔ ﻓﻲ اﻟﺮوﻋﺔ وﯾﻘﻠﻞ اﻟﺠﮭﺪ وﯾﺰﯾﺪ اﻟﺘﻨﻈﯿﻢ ھﺬا ﺻﺤﯿﺢ.
اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ
)Dim MyButton As Button = DirectCast(sender, Button
txtview.Text = txtview.Text & MyButton.Text
اﻟﺨﺎﺻﯿﺘﺎن Anchor and Dockﺗﻌﻤﻸن ﺟﻌﻞ اﻷداة ﺗﻘﻮم ﺗﻠﻘﺎﺋﯿﺎ ﺑﺘﻐﯿﯿﺮ ﺣﺠﻤﮭﺎ وﻣﻮﺿﻌﮭﺎ ﺗﺒﻌﺄ ﻟﺤﺠﻢ اﻟﻔﻮرم اﻟﻤﻮﺿﻮﻋﺔ ﻋﻠﯿﺔ
اﻟﺨﺎﺻﯿﺔ Anchorﺗﺤﺪد أي ﺣﺪ ﻣﻦ ﺣﺪود اﻷداة ﯾﺠﺐ ان ﯾﺒﻘﻲ ﺛﺎﺑﺘﺎ واي ﺣﺪ ﯾﺠﺐ ان ﯾﺰﯾﺪ ﻋﻦ ﺣﺠﻤﺔ اﻟﺤﺎﻟﻲ ﺗﺒﻌﺎ ﻟﺤﺠﻢ اﻟﻔﻮرم
اﻟﻤﻮﺿﻮﻋﺔ ﻋﻠﯿﺔ
وﻷ ﺗﻮﺟﺪ اﻟﺨﺎﺻﯿﺔ Anchorاﻷ ﻣﻊ اﻷدوات اﻟﺘﻲ ﺗﻈﮭﺮ ﻋﻠﻲ اﻟﻔﻮرم ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﯿﺬ ﻣﺜﻞ Button , TextBox , listوﺗﻤﻠﻚ ھﺬة
اﻷدوات ارﺑﻊ ﺣﺪود ھﻲ Top, Bottom, Left, Rightو ﺗﺤﺴﺐ ﻗﯿﻤﺔ ھﺬة اﻟﺤﺪود ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻔﻮرم
ﺑﺎﻟﺒﺎﺳﯿﻜﻞ ) (pixelواﻟﻘﯿﻤﺔ اﻷﻓﺘﺮاﺿﯿﺔ ﻟﮭﺬة اﻟﺨﺎﺻﯿﺔ ھﻲ Top, Left
و ﻓﻲ اﻷﺻﺪار اﻟﺴﺎدس ﻣﻦ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﻟﻮ اردﻧﺎ ﻣﺜﻼ ﻋﻤﻞ ﻣﺤﺮر ﻧﺼﻮص ﻣﺜﻞ Notepadﻓﺎﻧﻨﺎ ﺳﻮف ﻧﺤﺘﺎج ﻟﻜﺘﺎﺑﺔ اﻟﻜﻮد
اﻟﺒﺮﻣﺠﻲ ﯾﻘﻮم ﻋﻠﻲ ﺗﻐﯿﯿﺮ ﺣﺠﻢ TextBoxاﻟﻤﺴﺘﺨﺪم ﻟﻠﻜﺘﺎﺑﺔ ﺗﺒﻌﺎ ﻟﺤﺠﻢ اﻟﻔﻮرم اﻟﻤﻮﺿﻮع ﻋﻠﯿﺔ ﻛﻲ ﯾﺘﻸﺋﻢ ﺷﻜﻞ اﻟﺒﺮﻧﺎﻣﺞ وﻛﺬﻟﻚ
اﻟﺤﺎل ﻟﻮ اردﻧﺎ ﻋﻤﻞ ﻣﺴﺘﻌﺮض اﻧﺘﺮﻧﺖ
وﻟﻜﻦ ﻣﻊ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥ﻓﺎءن ذﻟﻚ اﻷﻣﺮ ﺑﺴﯿﻂ ﺟﺪا ﺑﺎﺳﺘﺨﺪام اﻟﺨﺎﺻﯿﺔ Anchorﻓﻤﺎ ﻋﻠﯿﻨﺎ ھﻮ وﺿﻊ اﻷداة ﻋﻠﻲ اﻟﻔﻮرم
ﺑﺎﻟﺸﻜﻞ اﻟﺬي ﻧﺮﯾﺪ ان ﺗﻜﻮن ﻋﻠﯿﺔ ﻋﻨﺪ ﺗﻐﯿﯿﺮ ﺣﺠﻢ اﻟﻔﻮرم ﺛﻢ ﻧﻘﻮم ﺑﺘﺤﺪﯾﺪ ﺣﺪود اﻷداة اﻟﺘﻲ ﻧﺮﯾﺪھﺎ ان ﺗﺘﻐﯿﺮ ﺗﻠﻘﺎﺋﯿﺎ ﺗﺒﻌﺎ ﻟﺘﻐﯿﺮ ﺣﺠﻢ
اﻟﻔﻮرم
ﺳﻨﻘﻮم ﺑﻌﻤﻞ ﻣﺜﺎل ﻟﺘﺘﻀﺢ اﻟﻔﻜﺮة ﻗﻢ ﺑﺎﻧﺸﺎء ﻣﺸﺮوع ﺟﺪﯾﺪ ﺑﺎﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥ﺛﻢ ﻗﻢ ﺑﺎﺿﺎﻓﺔ اﻷداة TextBoxإﻟﻲ اﻟﻔﻮرم
وﺗﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ Multilineﻟﺘﺼﺒﺢ Trueوھﻲ اﻟﺨﺎﺻﯿﺔ اﻟﺘﻲ ﺗﻌﻤﻞ ﻋﻠﻲ ﻇﮭﻮر اﻛﺜﺮ ﻣﻦ ﺳﻄﺮ ﺑﺎﻷداة ﺑﻮﻗﺖ واﺣﺪ وﺳﺘﻈﮭﺮ ﺑﻌﺪھﺎ
ﻣﻘﺎﺑﺾ ﺗﻐﯿﯿﺮ ﺣﺠﻢ اﻷداة ﺛﻢ اﺟﻌﻞ ﺣﺠﻢ اﻷداه ﻋﻠﻲ اﻟﻔﻮرم ﻛﻤﺎ ﺑﺎﻟﺼﻮرة
ﺑﻌﺪ ان ﻧﻘﻮم ﺑﺘﺤﺪﯾﺪ ﺟﻤﯿﻊ ﺣﺪود اﻷداة اﻷرﺑﻊ ﻧﻘﻮم اﻷن ﺑﺘﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ
وﻧﻌﻤﻞ ﻋﻠﻲ ﺗﻐﯿﯿﺮ ﺣﺠﻢ اﻟﻔﻮرم ﺳﺘﻼﺣﻆ ان اﻷداة TextBoxﯾﺘﻐﯿﺮ ﺣﺠﻤﮭﺎ ﺗﺒﻌﺎ ﻟﺘﻐﯿﺮ ﺣﺠﻢ اﻟﻔﻮرﻣﻮاﻷن ﻟﻨﻘﻢ ﺑﻤﺜﺎل اﺧﺮ ﻗﻢ ﺑﺎﺿﺎﻓﺔ
Buttonإﻟﻲ اﻟﻔﻮرم وﻗﻢ ﺑﻮﺿﻌﺔ اﻟﺰأوﯾﺔ اﻟﻌﻠﯿﺎ ﻣﻦ اﻟﺠﮭﺔ اﻟﯿﻤﻨﻲ ﻋﻠﻲ اﻟﻔﻮرم
أي ﻗﻢ ﺑﺎﻟﻐﺎء ﺗﺤﺪﯾﺪ ﻛﻞ ﺣﺪود اﻷداة وﻗﻢ ﺑﺘﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ وﺗﻐﯿﯿﺮ ﺣﺠﻢ اﻟﻔﻮرم ﺳﺘﻼﺣﻆ ان اﻷداة ﺗﻌﻤﺪ إﻟﻲ اﻷﻧﺘﻘﺎل إﻟﻲ ﻗﺮب
ﻣﻨﺘﺼﻒ اﻟﻔﻮرم واﻷن ﻗﻢ ﺑﺎﯾﻘﺎف اﻟﺒﺮﻧﺎﻣﺞ وﺗﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ Anchorﻟﻞ Buttonﻟﺘﻜﻮن ﻗﯿﻤﺘﮭﺎ ﺗﺴﺎوي Top, Rightوھﻮ اﻧﻨﺎ
ﺣﺪد ﺛﻢ ﻗﻢ ﺑﺘﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ وﺗﻐﯿﯿﺮ ﺣﺠﻢ اﻟﻔﻮرم ﺳﺘﻼﺣﻆ ﺛﺒﺎت ال Buttonﻓﻲ اﻟﺰأوﯾﺔ اﻟﻌﻠﯿﺎ ﻣﻦ اﻟﺠﮭﺔ اﻟﯿﻤﻨﻲ ﻣﮭﻤﺎ ﺗﻐﯿﺮ ﺣﺠﻢ
اﻟﻔﻮرم وذﻟﻚ ﻷﻧﻨﺎ ﻗﻤﻨﺎ ﺑﺘﺜﺒﯿﺖ ﺣﺪود اﻷداة Top, Rightﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ ﻓﻜﻠﻤﺎ ﻗﻤﻨﺎ ﺑﺘﻐﯿﯿﺮ ﺣﺠﻢ اﻟﻔﻮرم ﻓﺎن ال Buttonﯾﻌﻤﺪ
إﻟﻲ اﻷﻧﺘﻘﺎل إﻟﻲ ﺗﻠﻚ اﻟﺠﮭﺔ اﻟﻤﺜﺒﺘﺔ ﺣﺪودة ﻋﻠﯿﮭﺎ ﻛﺬﻟﻚ ﯾﻤﻜﻨﻨﺎ ﺗﻐﯿﯿﺮ ﻣﻮﺿﻊ اﻷدوات ﻓﻲ وﻗﺖ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻣﺜﻼ ﻗﻢ ﺑﺎﺿﺎﻓﺔ
Buttonإﻟﻲ اﻟﻔﻮرم وﻗﻢ ﺑﻮﺿﻌﺔ ﺑﺎي ﻣﻜﺎن ﺛﻢ ﻗﻢ ﺑﺎﺿﺎﻓﺔ ھﺬا اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ إﻟﻲ اﻟﺤﺪثForm_Load
اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ
واﻷن ﻟﻨﻘﻢ ﺑﻤﺜﺎل اﺧﯿﺮ ﻗﻢ ﺑﺎﺿﺎف ﺛﻸﺛﺔ TextBoxﻋﻠﻲ اﻟﻔﻮرم ﺛﻢ ﻗﻢ ﺑﺠﻌﻞ ﺷﻜﻠﮭﺎ ﻋﻠﻲ اﻟﻔﻮرم ﻛﻤﺎ ﻣﺎ ﺗﻮﺿﺢ اﻟﺼﻮرة
اﻟﺨﺎﺻﯿﺔ Dock
ﺗﻘﻮم ﺑﺘﺜﺒﺖ ﻣﻮﺿﻊ اﻷداة ﻓﻲ اﺣﺪ ﺟﻮاﻧﺐ اﻟﻔﻮرم أو اﻟﺤﺎوﯾﺔ اﻟﺘﻲ ھﻲ ﻋﻠﯿﮭﺎ ﻣﺜﻼ ﻟﻮ ﻗﻤﺖ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ Dockﻟﺘﺴﺎوي Top
ﻷداة ﻣﺜﻞ Buttonﻓﺎن اﻷداة ﺳﺘﻨﺘﻘﻞ إﻟﻲ اﻋﻠﻲ اﻟﻔﻮرم وﺳﺘﺘﻤﺪد ﺟﻮاﻧﺒﮭﺎ ﻟﺘﺼﻞ ﻟﻠﺠﺎﻧﺒﯿﻦ Left & Rightواذا ﻗﻤﻨﺎ ﺑﺘﻐﯿﯿﺮ ﺣﺠﻢ
اﻟﻔﻮرم ﻓﺎءن اﻷداة ﺳﺘﻸزم ﻣﻮﺿﻌﮭﺎ وﺗﺤﺘﻔﻀﻞ ﺑﺎرﺗﻔﺎﻋﮭﺎ وﺳﺘﺘﻤﺪ ﺟﻮاﻧﺒﮭﺎ ﺗﺒﻌﺎ ﻟﺘﻐﯿﺮ ﻋﺮض اﻟﻔﻮرم ھﺬا ﻣﺎ ﯾﺸﺎﺑﺔ ﺳﻠﻮك اﻷداة
ToolBarوﻧﺴﺘﻄﯿﻊ اﻟﻘﯿﺎم ﺑﺬﻟﻚ اﯾﻀﺎ ﺑﻮﺿﻊ اﻷداة Buttonﻓﻲ اﻋﻠﻲ اﻟﻔﻮرم وﺗﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ Anchorﻟﮫ ﻟﺘﺼﺒﺢ Top, Left,
Rightﯾﻤﻜﻨﻚ ﺗﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ DockﻟﺘﺴﺎويTop, Bottom, Left, Right, Fill, or None
واﻟﺨﺎﺻﯿﺔ Fillﺗﻘﻮم ﺑﺠﻌﻞ ﺣﺠﻢ اﻷداة ﺑﻤﻠﺊ اﻟﻔﻮرم اﻟﺘﻲ ھﻲ ﻋﻠﯿﺔ أو اﻟﺤﺎوﯾﺔ اﻟﺘﻲ ﺗﺤﺘﻮﯾﮭﺎ وﻟﻜﻦ اﻟﺴﺆال ﻣﺎذا ﻟﻮ ﻛﺎن ﻟﺪﯾﻨﺎ اﻛﺜﺮ
ﻣﻦ اداة ﻋﻠﻲ اﻟﻔﻮرم ﻗﻤﻨﺎ ﺑﺘﻐﯿﯿﺮ ﻗﯿﻢ اﻟﺨﺎﺻﯿﺔ Dockﻟﮭﺎ ﺑﺎﺳﺘﺜﻨﺎ اﻟﻘﯿﻤﺔ Noneاي اداة ﺳﺘﻨﻔﺬ ﻗﯿﻤﺘﮭﺎ أوﻷ اﻧﺎ اﻟﻔﻮرم أو اﻷداة
ﺳﺘﻘﻮم ﺑﺘﺮﺗﯿﺐ اﻷدوات ﺑﺤﺴﺐ stacking orderاﻟﺘﺎﺑﻊ ﻟﻸدوات أو ﻣﺎ ﯾﺴﻤﻲ Z-orderاﻷداة اﻟﺘﻲ ﺗﻢ وﺿﻊ اﻟﻘﯿﻤﺔ ﻟﮭﺎ أوﻷ ھﻲ
اﻟﺘﻲ ﺳﺘﺎﺧﺬ ﻣﻮﺿﻌﮭﺎ أوﻷ ﻓﺎﻟﺘﺎﻟﻲ واﻟﺘﺎﻟﻲ.
أو
1
١٩ ص، PDF File ، ﻣﻘﺪﻣﺔ ﻋﺎﻣﺔﻋﻦ ﺑﯿﺌﺔ اﻟﺪوت ﻧﺖ: ﺧﺎﻟﺪ اﻟﺠﺪﯾﻊ/ م-
- 1م /ﺧﺎﻟﺪ اﻟﺠﺪﯾﻊ :ﻣﻘﺪﻣﺔ ﻋﺎﻣﺔﻋﻦ ﺑﯿﺌﺔ اﻟﺪوت ﻧﺖ ، PDF File ،ص٢١
٢٥ ص، PDF File ، ﻣﻘﺪﻣﺔ ﻋﺎﻣﺔﻋﻦ ﺑﯿﺌﺔ اﻟﺪوت ﻧﺖ: ﺧﺎﻟﺪ اﻟﺠﺪﯾﻊ/ م- 1
٢
ﻛﻞ ھﺬه اﻻدوات اﻟﺴﺎﺑﻘﺔ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻮﯾﻨﺪوز و اﻹﻧﺘﺮﻧﺖ
٢٧ ص، PDF File ، ﻣﻘﺪﻣﺔ ﻋﺎﻣﺔﻋﻦ ﺑﯿﺌﺔ اﻟﺪوت ﻧﺖ: ﺧﺎﻟﺪ اﻟﺠﺪﯾﻊ/ م- 1
2
. PDF File ، ( ﻋﻤﻠﻲ- ) ﻧﻈﺮيVB.Net 2005 ﻣﺤﺎﺿﺮات ﻣﺎدة: ﻣﺤﻤﺪ اﻟﺤﺎج/م. أ-
ھﺬة اﻟﻘﯿﻤﺔ ﯾﻤﻜﻦ ان ﺗﻜﻮن رﻗﻢ أو ﺣﺮف أو ﺑﯿﺎﻧﺎت أوھﯿﻜﻠﯿﺔ ﺗﺘﻜﻮن ﻣﻦ اﻧﻮاع اﺧﺮي ﻋﺮﻓﻨﺎ ان اﻟﻤﺘﻐﯿﺮ ﯾﺘﻜﻮن ﻣﻦ ﻗﯿﻤﺔ ﺑﻘﻲ ان
ﻧﻌﺮف ان اﻟﺒﺮﻧﺎﻣﺞ ﯾﺴﺘﻄﯿﻊ اﺳﺘﺨﺪام وﻣﻌﺎﻟﺠﺔ ھﺬة اﻟﻘﯿﻤﺔ و ان ﯾﺠﺮي ﻋﻠﯿﮭﺎ اﻟﻌﻤﻠﺒﺎت اﻟﺤﺴﺎﺑﯿﺔ اذا ﻛﺎﻧﺖ رﻗﻢ واﻟﻌﻤﻠﯿﺎت ﻋﻠﻲ
اﻟﺒﯿﺎﻧﺎت اﻟﺤﺮﻓﯿﺔ ﻛﺎﻟﺪﻣﺞ واﻟﺒﺤﺚ واﻟﻘﻄﻊ وﻏﯿﺮھﺎ اذا ﻛﺎﻧﺖ ﺣﺮﻓﯿﺔ ﻛﺬﻟﻚ اﻟﻌﻤﻠﯿﺎت ﻋﻠﻲ اﻟﺒﯿﺎﻧﺎت اﻷﺧﺮي ﻛﺎﻟﻤﻠﻔﺎت اﻟﺼﻮﺗﯿﺔ
واﻟﺮﺳﻮﻣﯿﺔ ﻣﻦ ﻣﻘﺎرﻧﺔ واﻧﺸﺎء إﻟﻲ اﺧﺮة .
- ١ﻧﻮع اﻟﺒﯿﺎﻧﺎت:
وھﻲ ﻧﻮع اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﯾﻤﺜﻠﮭﺎ اﻟﻤﺘﻐﯿﺮ ) (integer, character, stringاﻟﺦ.
-٤ﻋﻤﺮ اﻟﻤﺘﻐﯿﺮ
وھﻮ ﺗﺤﺪﯾﺪ ﻛﻢ ﻣﻦ اﻟﻮﻗﺖ ﺳﺘﻜﻮن ﻗﯿﻤﺔ ھﺬا اﻟﻤﺘﻐﯿﺮ ﺻﺎﻟﺤﺔ ﻟﻸﺳﺘﻌﻤﺎل .ﻓﻤﺜﻼ ﻟﻮ ﻗﻤﻨﺎ ﺑﺎﻷﻋﻼن ﻋﻦ ﻣﺘﻐﯿﺮ داﺧﻞ اﺟﺮاء ﻓﺮﻋﻲ
ﺑﻮاﺳﻄﺔ اﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزةDim
ﻓﺎءن ھﺬا اﻟﻤﺘﻐﯿﺮ ﺳﻮف ﯾﻨﺸﺊ ﻣﺘﻲ اﻷﺳﺘﺪﻋﺎء ﺑﺪاء وﺳﯿﺪﻣﺮ ھﺬا اﻟﻤﺘﻐﯿﺮ ﻣﺘﻲ اﻧﺘﮭﻲ اﻷﺟﺮاء وﻟﻜﻦ ﻟﻮ ﻗﻤﻨﺎ ﺑﺎﻷﻋﻼن ﻋﻦ ھﺬا
اﻟﻤﺘﻐﯿﺮ ﺑﻮاﺳﻄﺔ اﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزة staticﻓﺎن ﻗﯿﻤﺔ ھﺬا اﻟﻤﺘﻐﯿﺮ ﻟﻦ ﺗﺪﻣﺮ ﻋﻨﺪ ﻧﮭﺎﯾﺔ اﻷﺟﺮاء ﺑﻞ ﺳﯿﻈﻞ اﻟﻤﺘﻐﯿﺮ ﻣﺤﺘﻔﻈﺎ ﺑﮭﺎ
اﻷﻧﻮاع اﻟﻤﺨﺘﻠﻔﺔ ﻟﻠﺒﯿﺎﻧﺎت:
اﻧﻮاع اﻟﺮﻣﻮز:
اﻟﺮﻣﻮز ﺑﺎﻟﻔﯿﺠﻮال دوت ﻧﺖ ﻟﮭﺎ ﻣﮭﺎم ﺧﺎﺻﺔ ﻛﻤﺎ ھﻮ اﻟﺤﺎل ﺑﺎﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٦ﻓﺎﻟﺮﻣﻮز ﺗﺴﺘﺨﺪم ﻟﻸﻋﻸن ﻋﻦ اﻧﻮاع اﻟﺒﯿﺎﻧﺎت
اﻟﻤﺨﺘﻠﻔﺔ وھﺬا ﺟﺪول ﻣﺒﯿﻦ ﺑﺎﻧﻮاع اﻟﺒﯿﺎﻧﺎت ﻣﻊ اﻟﺮﻣﻮز اﻟﺘﻲ ﺗﺎﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ إﻟﯿﮭﺎ وھﻲ ﻣﻦ اﻟﻨﻮع اﻻﻷﻛﻮد اﻟﺒﺮﻣﺠﯿﻲ اﻟﻐﯿﺮ
ﻟﻔﻈﻲ
اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ
Dim x=10000000000
"Dim y ="salem4it - Youssef
وھﺬا اﻟﻘﯿﻤﺔ اﻷوﻟﻲ longواﻟﻘﯿﻤﺔ اﻟﺜﺎﻧﯿﺔ ﻣﻦ اﻟﻨﻮع Charوﻟﻜﻦ ﯾﺠﺐ ان ﻧﻌﻠﻢ اﻧﻨﺎ ﻷ ﻧﺴﺘﻄﯿﻊ ان ﻧﻜﺘﺐ اﻟﻤﺘﻐﯿﺮات ﺑﺎﻟﺸﻜﻞ اﻟﺴﺎﺑﻖ
اﻷ اذا ﻛﺎن اﻟﺨﯿﺎر Option Explicit Offﻏﯿﺮ ﻣﻔﻌﻞ ﻛﺬﻟﻚ ﯾﺴﻤﺢ ﻟﻚ اﻟﻔﯿﺠﻮال ﺑﺘﻌﯿﯿﻦ اﻧﻮاع اﻟﻘﯿﻢ ﺑﺎﺳﺘﺨﺪام رﻣﻮز ﺣﺮﻓﯿﺔ
ﻣﺜﻞ &Hﻟﻠﺒﻘﯿﻢ اﻟﺴﺎدس ﻋﺸﺮﯾﺔ &Oﻟﻠﻘﯿﻢ اﻟﺜﻤﺎﻧﯿﺔ
اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ
i = 100 ' Decimal 100.
i = &H64 ' Hexadecimal &H64 = 6 * 16 + 4 = 96 + 4 = 100.
i = &O144 Octal &O144 = 1 * 8 * 8 + 4 * 8 + 4 =100.
اﯾﻀﺎ ﯾﻮﻓﺮ ﻟﻨﺎ اﻟﻔﯿﺠﻮال اﻟﻜﺜﯿﺮ ﻣﻦ دوال واﺳﺈﻟﯿﺐ اﻟﺘﻐﯿﯿﺮ ﺑﯿﻦ اﻧﻮاع اﻟﺒﯿﺎﻧﺎت
١
أﺳﺘﺨﺪام اﻟﻮﺳﯿﻠﺔ ) ( Randomizeﻟﺘﻐﯿﺮ ﺗﻨﻔﯿﺬ اﻟﺒﯿﺎﻧﺎت اﻟﻨﺎﺗﺠﺔ ﻣﻦ اﻷﻣﺮ ) (Rnd
1
-أ.د /أﺣﻤﺪ ﻓﮭﻤﻲ ﻣﺤﺮوس :ﻣﺎدة اﻟﻜﻤﺒﯿﻮﺗﺮ -اﻟﺼﻒ اﻟﺜﺎﻟﺚ اﻷﻋﺪادي ،ﻣﻘﺪﻣﺔ اﻟﺒﺮﻣﺠﺔ ﺑﺈﺳﺘﺨﺪام ، Visual Basic.Net 2005ﻟﻠﻌﺎم اﻟﺪراﺳﻲ
، ٢٠٠٩/٢٠٠٨ص ١٠٧
ﻗﺒﻞ اﻟﺒﺪء ﻓﻲ اﻟﺪرس أﺣﺐ أن أﻧﻮه أن إﻟﻲ أﻧﮫ ھﻨﺎك ﺑﻌﺾ اﻟﻨﻘﺎط اﻟﻤﻔﺘﻮﺣﺔ ﻓﻲ اﻟﺪروس اﻟﺴﺎﺑﻘﺔ واﻟﺘﻲ ﺳﻨﻌﻮد إﻟﯿﮭﺎ ﺑﻤﺰﯾﺪ ﻣﻦ
اﻟﺘﻔﺎﺻﯿﻞ ﻓﻲ ﺣﯿﻨﮫ
١
وﻣﻦ أﺟﻤﻞ ﻣﺎ ﻗﺮأت ﻓﯿﻤﺎ ﯾﺘﻌﻠﻖ ﺑﺎﻟﻤﺘﻐﯿﺮات ھﺬا اﻟﺪرس
- 1أ.م /ﻣﺤﻤﺪ اﻟﺤﺎج :ﻣﺤﺎﺿﺮات ﻣﺎدة ) VB.Netﻧﻈﺮي +ﻋﻤﻠﻲ( ، PDF File ،ص٦
١٤ ص، PDF File ، ( ﻋﻤﻠﻲ+ )ﻧﻈﺮيVB.Net ﻣﺤﺎﺿﺮات ﻣﺎدة: ﻣﺤﻤﺪ اﻟﺤﺎج/م. أ- 1
١٥ ص، PDF File ، ( ﻋﻤﻠﻲ+ )ﻧﻈﺮيVB.Net ﻣﺤﺎﺿﺮات ﻣﺎدة: ﻣﺤﻤﺪ اﻟﺤﺎج/م. أ- 1
١٦ ص، PDF File ، ( ﻋﻤﻠﻲ+ )ﻧﻈﺮيVB.Net ﻣﺤﺎﺿﺮات ﻣﺎدة: ﻣﺤﻤﺪ اﻟﺤﺎج/م. أ- 1
١٩ ص، PDF File ، ( ﻋﻤﻠﻲ+ )ﻧﻈﺮيVB.Net ﻣﺤﺎﺿﺮات ﻣﺎدة: ﻣﺤﻤﺪ اﻟﺤﺎج/م. أ- 1
٢١ ص٢٠ ص، PDF File ، ( ﻋﻤﻠﻲ+ )ﻧﻈﺮيVB.Net ﻣﺤﺎﺿﺮات ﻣﺎدة: ﻣﺤﻤﺪ اﻟﺤﺎج/م. أ- 1
اﻟﺘﺮﻛﯿﺒﺎت
End Class
: ﻓﻲ ﺑﺮﻧﺎﻣﺠﻚ ﻛﺎﻟﺘﺎﻟﻲLoop ﻛﻤﺎ ﯾﻤﻜﻨﻚ ﺗﻌﺒﺌﺘﮭﺎ ﺑﻮاﺳﻄﺔ
Public Class Form1
Dim mycounter As Integer
Dim myvalue(5) As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
For mycounter = 0 To myvalue.Length - 1
myvalue(mycounter) = mycounter
Next
End Sub
End Class
ﻓﮭﻲ ﺳﺘﺒﺪأ ﻣﻦ اﻟﺼﻔﺮ إﻟﻲFor اﻣﺎ اﻟﻌﺒﺎرة، ﻻﺳﺘﺨﺪام ه ﻓﻲ اﻟﻌﺪmycounter وھﻮinteger ﻷﺣﻆ اﻧﻨﺎ ﻋﺮﻓﻨﺎ ﻣﺘﻐﯿﺮ ﻣﻦ اﻟﻨﻮع
١ ﻛﻤﺎ ﻋﺮﻓﻨﺎھﺎ وﻟﻜﻨﻨﻲ اﻧﻘﺼﺖ ﻣﻨﮭﺎ٦ ﺗﻌﻮد ﺑﺮﻗﻢ ﯾﻤﺜﻞ ﻣﺠﺎل اﻟﻤﺼﻔﻮﻓﺔ وﺳﻮف ﺗﻌﻮد ﺑﺮﻗﻢLength وmyvalue.Length - 1
.ًﻷﻧﮫ ﯾﺘﻢ اﺣﺘﺴﺎب اﻟﺼﻔﺮ أﯾﻀﺎ
mycounter وﺑﻌﺪھﺎ أﺳﻨﺪت ﻟﻠﻤﺼﻔﻮﻓﺔ ﻋﻠﻲ اﻟﺘﺮﺗﯿﺐ اﻟﻘﯿﻤﺔ اﻟﺼﺎﻋﺪة ﺑﺪاﺧﻞ اﻟﻤﺘﻐﯿﺮ
؟..وﻟﻜﻦ ﻛﯿﻒ ﯾﻤﻜﻦ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﺼﻔﻮﻓﺔ ﻣﻦ اﻟﻨﻮع اﻟﺜﺎﻧﻲ
Public Class Form1
Dim myvalue(5, 3) As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
myvalue(0, 0) = 1
myvalue(0, 1) = 2
myvalue(0, 2) = 3
myvalue(0, 3) = 4
myvalue(1, 0) = 5
myvalue(1, 1) = 6
myvalue(1, 2) = 7
myvalue(1, 3) = 8
myvalue(2, 0) = 9
myvalue(2, 1) = 10
myvalue(2, 2) = 11
myvalue(2, 3) = 12
1
. Array اﻟﻤﺼﻔﻮﻓﺎت، CHM File، اﻷﺻﺪارة اﻟﺜﺎﻧﯿﺔ، ٢٠٠٥ ﺗﻌﻠﻢ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ: ﻣﺤﻤﺪ ﻋﻠﻲ ﻛﻨﯿﻔﻮ/ م-
End Class
.أﻧﻈﺮ ھﻨﺎ ﻗﺪ ﺗﻢ ﺗﻌﺒﺌﺔ اﻟﻤﺼﻔﻮﻓﺔ
:ﻃﺒﻌﺎً ﯾﻤﻜﻨﻚ اﺳﺘﺨﺪام اﻟﻤﺼﻔﻮﻓﺔ ﻷي ﻧﻮع ﺗﺮﯾﺪ أﻧﻈﺮ ﻟﻠﻤﺜﺎل اﻟﺜﺈﻟﻲ
Public Class Form1
Dim myvalue(5) As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
myvalue(0) = "Visual"
myvalue(1) = "Windows"
myvalue(2) = "File"
myvalue(3) = "Copy"
myvalue(4) = "Edit"
myvalue(5) = "Cut"
End Sub
End Class
.ًاﻷﻣﺮ واﺿﺢ ﺗﻤﺎﻣﺎً وﺳﮭﻞ وﺑﺴﯿﻂ ﺟﺪا
:ﻛﻤﺎ ﯾﻤﻜﻨﻚ وﺿﻊ ﻗﯿﻢ ﺑﺎﻟﻤﺼﻔﻮﻓﺔ وﻗﺖ ﺗﻌﺮﯾﻔﮭﺎ ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ
Dim myvalue() As String = {"Visual", "Windows", "File", "Copy"}
:أو ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ
Dim myvalue(,) As Integer = {{1, 2}, {3, 4}, {5, 6}}
: ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲRedim ﻋﻨﺪھﺎ ﻋﻠﯿﻚ اﺳﺘﺨﺪام اﻟﻌﺒﺎرة،وﻟﻜﻦ ﻣﺎذا أذا اردت ان ﺗﻘﻮم ﺑﺘﻐﯿﯿﺮ أﺑﻌﺎد ھﺬه اﻟﻤﺼﻔﻮﻓﺎت
Public Class Form1
Dim myvalue(5) As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
ReDim myvalue(0)
myvalue(0) = 1
End Sub
End Class
ﻷﻋﺎدة ﺗﻌﺮﯾﻔﮭﺎ ﺑﻌﻤﻮد واﺣﺪ ﻓﻘﻂRedim أﺳﺘﺨﺪﻣﺖForm_load ﻟﻘﺪ ﻋﺮﻓﺖ ﻣﺼﻔﻮﻓﺔ ﻣﻦ ﺧﻤﺲ اﻋﻤﺪة ان ﺻﺢ اﻟﺘﻌﺒﯿﺮ ﺗﻢ ﻓﻲ اﻟـ
.وﻟﻮ ﺣﺄوﻟﺖ ان ﺗﻀﯿﻒ ﻋﻠﯿﮭﺎ ﻓﺴﺘﺤﺼﻞ ﻋﻠﻲ رﺳﺎﻟﺔ ﺧﻄﺎء
.وﺑﺎﻟﻤﺜﻞ ﯾﻤﻜﻨﻚ اﺳﺘﺨﺪام ھﺬه اﻟﻄﺮﯾﻘﺔ ﻣﻊ اﻟﻨﻮع اﻟﺜﺎﻧﻲ ﻣﻦ اﻟﻤﺼﻔﻮﻓﺎت
:اذا اردت ان ﺗﻌﺮف اﺑﻌﺎد اﻟﻤﺼﻔﻮﻓﺔ ﻓﯿﻤﻜﻨﻚ اﺳﺘﺨﺪام اﻷﻣﺮ اﻟﺜﺈﻟﻲ
Public Class Form1
Dim myvalue1(5) As Integer
Dim myvalue2(5, 5, 6) As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
End Sub
End Class
وﺑﺎﻟﺮﺳﺎﻟﺔ اﻟﺜﺎﻧﯿﺔ ﺳﺘﺤﺼﻞ ﻋﻠﻲ اﻟﺮﻗﻢ ﺛﻸﺛﺔ١ ﺣﯿﺚ ﺑﺎﻟﺮﺳﺎﻟﺔ اﻷوﻟﻲ ﺳﺘﺤﺼﻞ ﻋﻠﻲ اﻟﺮﻗﻢ
:ﻛﻤﺎ ﯾﻤﻜﻨﻚ ﺗﺤﺪﯾﺪ اﻟﻘﯿﻤﺔ اﻟﻤﻌﻄﺎة اي اﻟﺮﻗﻢ اﻟﻤﺤﺪد ﻓﻲ ﺗﻌﺮﯾﻒ اﻟﻤﺼﻔﻮﻓﺔ اﻧﻈﺮ اﻟﺘﺎﻟﻲ
Public Class Form1
Dim myvalue1(5) As Integer
Dim myvalue2(5, 5, 6) As Integer
MsgBox(UBound(myvalue1))
MsgBox((myvalue2.GetUpperBound(2)))
End Sub
End Class
وﻷﺣﻆ اﻧﻨﺎ ﺣﺪدﻧﺎ رﻗﻢ اﻟﺨﺎﻧﺔ اﻟﻤﺮاد ﻗﺮاءة، ﺑﺎﻟﺮﺳﺎﻟﺔ اﻟﺜﺎﻧﯿﺔ٦ وﺳﺘﺤﺼﻞ ﻋﻠﻲ اﻟﺮﻗﻢ، ﺑﺎﻟﺮﺳﺎﻟﺔ اﻷوﻟﻲ٥ ﺳﺘﺤﺼﻞ ﻋﻠﻲ اﻟﺮﻗﻢ
. ﻷﻧﮭﺎ ﺗﺤﺘﻮي ﻋﻠﻲ ﺛﻸث ﺧﺎﻧﺎت٢-١-٠ أي اﻧﮭﺎ٢ ﻗﯿﻤﺘﮭﺎ وھﻲ
End Class
. أو اي أداة أﺧﺮي ﻷ ﻓﺮقTextbox أو اﻟﻌﻜﺲ ﯾﻤﻜﻨﻚ ان ﺗﻀﻊ ﺑﺎﻟﻤﺼﻔﻮﻓﺔ ﻗﯿﻢ ﻣﻦ اﻷداة
ﺑﯿﺌﺔ اﻟﻌﻤﻞ
Button2إﻟﻲ Refresh
Button3إﻟﻲ Stop
Button4إﻟﻲ Back
Button5إﻟﻲ Forward
ﻗﻢ ﺑﺘﺴﻤﯿﺔ اﻟﺰر اﻟﺬي ﺑﺠﻮار اﻟﻤﻜﺎن اﻟﺬي ﯾﻮﺿﻊ ﺑﮫ اﻟﺮواﺑﻂ Go to URL
اﻷﻛﻮاد
اﻟﻛود اﻟﺑرﻣﺟﻲ:
)WebBrowser1.Navigate(ComboBox1.Text
Refresh
اﻟﻛود اﻟﺑرﻣﺟﻲ:
)(WebBrowser1.Refresh
Stop
اﻟﻛود اﻟﺑرﻣﺟﻲ:
)(WebBrowser1.Stop
Back
اﻟﻛود اﻟﺑرﻣﺟﻲ:
)(WebBrowser1.GoBack
Forward
اﻟﻛود اﻟﺑرﻣﺟﻲ:
)(WebBrowser1.GoForward
ﯾﻤﻜﻨﻚ أﯾﻀﺎً إﺿﺎﻓﺔ ﺑﻌﺾ اﻟﻤﻮاﻗﻊ اﻟﻤﻔﻀﻠﺔ ﻟﻚ ﻟﺘﺼﻞ إﻟﯿﮭﺎ ﺑﺸﻜﻞ أﺳﺮع دون ﻛﺘﺎﺑﺘﮭﺎ.
ﻟﻌﻤﻞ ذﻟﻚ ﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻲ أداة Combo boxاﻟﻤﻮﺟﻮدة ﻋﻠﻲ اﻷداة Panelو اﺿﻐﻂ ﻋﻠﻲ اﻟﺜﻸث ﻧﻘﺎط اﻟﻤﻮﺟﻮدة ﺑﺤﺎﻧﺐ
اﻟﺨﺎﺻﯿﺔItems.
ﺳﺘﻈﮭﺮ ﻟﻚ ﻧﺎﻓﺬة ،اﻛﺘﺐ ﻓﯿﮭﺎ ﻣﻮاﻗﻌﻚ اﻟﻤﻔﻀﻠﺔ )ﻛﻞ ﻣﻮﻗﻊ ﻓﻲ ﺳﻄﺮ(
ﺿﻒ زر آﺧﺮ إﻟﻲ اﻷداة Panelو ﻏﯿﺮ اﻟﺨﺎﺻﯿﺔ Textإﻟﻲ Save web pageأو أي ﻧﺺ ﺗﺮﯾﺪ إﻇﮭﺎره ﻋﻠﻲ اﻟﺰر ﯾﺪل ﻋﻠﻲ ﻋﻤﻠﮫ
اﻧﻘﺮ ﻧﻘﺮاً ﻣﺰدوﺟﺎً ﻋﻠﻲ ھﺬا اﻟﺰر
ﻛﺬﻟﻚ ﯾﻤﻜﻨﻚ ﻓﺘﺢ ﺻﻔﺤﺔ ﻗﺪ ﻗﻤﺖ ﺑﺤﻔﻈﮭﺎ .أﺿﻒ زر آﺧﺮ إﻟﻲ اﻷداة Panelو ﻏﯿﺮ اﻟﺨﺎﺻﯿﺔ Textإﻟﻲ Openو أﺿﻒ أداة أﺧﺮي
ﻣﻦ ﻗﺎﺋﻤﺔ اﻷدوات و ھﻲ اﻷداة OpenFileDialogﻓﻲ ﻗﺴﻢ Dialogsﻓﻲ ﻗﺎﺋﻤﺔ اﻷدوات
ﻣﻠﺤﻮﻇﺔ :ﺿﻊ اﻷداة OpenFileDialogﻓﻲ أي ﻣﻜﺎن ﻣﻦ اﻟﻔﻮرم ﻷﻧﮭﺎ ﻓﻲ ﻛﻞ اﻷﺣﻮال ﻟﻦ ﺗﻈﮭﺮ ﻟﻠﻤﺴﺘﺨﺪم ﺣﯿﺚ أﻧﮫ ﻓﻲ visual
basic.netھﻨﺎك ﺑﻌﺾ اﻷدوات ﻏﯿﺮ ﻣﺮﺋﯿﺔ ﺗﻈﮭﺮ ﻟﻠﻤﺒﺮﻣﺞ ﻓﻘﻂ ﻟﯿﺴﺘﺨﺪﻣﮭﺎ ﻟﻜﻨﮭﺎ ﻟﻦ ﺗﻈﮭﺮ ﻟﻠﻤﺴﺘﺨﺪم.
اﻟﻛود اﻟﺑرﻣﺟﻲ:
)(OpenFileDialog1.ShowDialog
)WebBrowser1.Navigate(OpenFileDialog1.FileName
ﻃﺮﯾﻘﺔ اﻟﻌﻤﻞ
أوﻷ اﻓﺘﺢ اﻟﺒﺮﻧﺎﻣﺞ
ﺛﺎﻧﯿﺎ
ﻧﻔﺘﺢ ﻋﻤﻞ ﺟﺪﯾﺪ
ﺧﺎﻣﺴﺎ
ﻧﺨﺘﺎر اﻟﻤﺤﺪد
ﺛﺎﻧﯿﺎ
ه اﺿﻐﻂ ﻛﻠﻚ ﯾﺴﺄو اﺧﺘﺮ اﻟﻤﺤﺪد ﺑﺎﻟﺼﻮرة
ﺛﺎﻟﺜﺎ
اﺧﺘﺮ اﻷداة اﻟﻤﺤﺪد
اذھﺐ إﻟﻲ ﻣﻜﺎن ﺗﺨﺰﯾﻦ اﻟﻤﺸﺮوع واﻓﺘﺤﺔ ﺗﺠﺪ ﻣﺠﻠﺪ ﻓﻲ داﺧﻠﺔ اﺳﻤﺔbin
اﻓﺘﺤﺔ ﺗﺠﺪ ﻣﺸﺮوﻋﻚ ﺑﺼﯿﻐﺔexe
زر ﺗﺼﻤﯿﻢ
" msgboxﺗﺼﻤﯿﻢ ﻣﺤﻤﺪ ﯾﻮﺳﻒ "
ﻗﻢ ﺑﺄدراج اﻟﻤﻜﻮﻧﺎت اﻟﺘﺎﻟﯿﺔ إﻟﻲ ﺑﯿﺌﺔ اﻟﻌﻤﻞ ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ
ﺛﻢ ﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻲ ﺑﯿﺌﺔ اﻟﻌﻤﻞ اﻟﺮﺋﯿﺴﯿﺔ ﻟﯿﻈﮭﺮ ﻣﺤﺮر اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﺿﻊ اﻟﺸﻔﺮة اﻟﺘﺎﻟﯿﺔ ﻛﻤﺎ ھﻮﻣﻮﺿﺢ
اﻷﻛﻮاد
:اﻟﻛود اﻟﺑرﻣﺟﻲ
Dim clearDisplay As Boolean
Dim Operand1 As Double, Operand2 As Double ھﻨﺎ ﺗﻜﺘﺐ اﻷﻛﻮاد ﻓﻲ اﻋﻠﻲ اﻟﺼﻔﺤﺔ وﺑﺎﻟﻀﺒﻂ
Dim [Operator] As Stringا
public class ﺗﺤﺖ ﻛﻠﻤﺔ اﻟــ
:اﻟﻛود اﻟﺑرﻣﺟﻲ
Private Sub bttn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
bttn0.Click, bttn1.Click, bttn2.Click, _
bttn3.Click, bttn4.Click, bttn5.Click, bttn6.Click, bttn7.Click, bttn8.Click, bttn9.Click
If clearDisplay Then
lblDisplay.Text = ""
clearDisplay = False
End If
lblDisplay.Text = Val(lblDisplay.Text + sender.text)
End Sub
:اﻟﻛود اﻟﺑرﻣﺟﻲ
Private Sub bttnPeriod_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles bttnPeriod.Click
Operand1 = Val(lblDisplay.Text)
[Operator] = "+"
clearDisplay = True
End Sub
(=)اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ
:اﻟﻛود اﻟﺑرﻣﺟﻲ
Private Sub bttnEquals_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles bttnEquals.Click
:اﻟﻛود اﻟﺑرﻣﺟﻲ
( اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ ﻋﻤﻠﯿﺔ اﻟﻄﺮح-)
Private Sub bttnMinus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles bttnMinus.Click
Operand1 = Val(lblDisplay.Text)
[Operator] = "-"
clearDisplay = True ' lblDisplay.Text = ""
End Sub
Operand1 = Val(lblDisplay.Text)
[Operator] = "*"
clearDisplay = True
End Sub
_______________________
( اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ ﻋﻤﻠﯿﺔ اﻟﻘﺴﻤﮫ/)
Private Sub bttnDivide_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles bttnDivide.Click
Operand1 = Val(lblDisplay.Text)
[Operator] = "/"
clearDisplay = True
End Sub
_______________________
وﻏﯿﺮ اﻟﺨﺎﺻﯿﺔ ﻣﻦform_ اﻛﺘﺐ ھﺬا اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ ﻓﻲ اﻟـ
Form_load إﻟﻲform_keypress
lblDisplay.Text = ""
End Sub
1
- دﻟﯿﻞ اﻟﻄﺎﻟﺐ ﻟﻤﺎدة اﻟﻜﻤﺒﯿﻮﺗﺮ وﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت: ﻣﺤﻤﺪ أﺣﻤﺪ ﯾﻮﺳﻒ/ ﺑﺮﻣﺠﺔ أ، ﺧﺎﻟﺪ اﻟﺴﻌﺪﻧﻲ/ أ.. ﺳﻮزان ﻣﺮزوق/ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ أ-
.٢٠٠٩/٢٠٠٨ ﻟﻠﻌﺎم اﻟﺪراﺳﻲ، اﻟﺼﻒ اﻷول اﻟﺜﺎﻧﻮي اﻟﻌﺎم
1
- دﻟﯿﻞ اﻟﻄﺎﻟﺐ ﻟﻤﺎدة اﻟﻜﻤﺒﯿﻮﺗﺮ وﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت: ﻣﺤﻤﺪ أﺣﻤﺪ ﯾﻮﺳﻒ/ ﺑﺮﻣﺠﺔ م، ﺧﺎﻟﺪ اﻟﺴﻌﺪﻧﻲ/ أ.. ﺳﻮزان ﻣﺮزوق/ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ أ-
.٢٠٠٩/٢٠٠٨ ﻟﻠﻌﺎم اﻟﺪراﺳﻲ، اﻟﺼﻒ اﻷول اﻟﺜﺎﻧﻮي اﻟﻌﺎم
1
- دﻟﯿﻞ اﻟﻄﺎﻟﺐ ﻟﻤﺎدة اﻟﻜﻤﺒﯿﻮﺗﺮ وﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت: ﻣﺤﻤﺪ أﺣﻤﺪ ﯾﻮﺳﻒ/ ﺑﺮﻣﺠﺔ م، ﺧﺎﻟﺪ اﻟﺴﻌﺪﻧﻲ/ أ.. ﺳﻮزان ﻣﺮزوق/ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ أ-
.٢٠٠٩/٢٠٠٨ ﻟﻠﻌﺎم اﻟﺪراﺳﻲ، اﻟﺼﻒ اﻷول اﻟﺜﺎﻧﻮي اﻟﻌﺎم
C:\images ﻗﻢ ﺑﻨﺴﺦ ﻣﺠﻠﺪ اﻟﺼﻮر " أﻋﻼم اﻟﺪول " اﻟﻤﺮﻓﻖ ﻓﻲ ھﺬا اﻟﻤﺴﺎر
1
- دﻟﯿﻞ اﻟﻄﺎﻟﺐ ﻟﻤﺎدة اﻟﻜﻤﺒﯿﻮﺗﺮ وﺗﻜﻨﻮﻟﻮﺟﯿﺎ اﻟﻤﻌﻠﻮﻣﺎت: ﻣﺤﻤﺪ أﺣﻤﺪ ﯾﻮﺳﻒ/ ﺑﺮﻣﺠﺔ م، ﺧﺎﻟﺪ اﻟﺴﻌﺪﻧﻲ/ أ.. ﺳﻮزان ﻣﺮزوق/ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ أ-
.٢٠٠٩/٢٠٠٨ ﻟﻠﻌﺎم اﻟﺪراﺳﻲ، اﻟﺼﻒ اﻷول اﻟﺜﺎﻧﻮي اﻟﻌﺎم
أوﻷ :
ﻣﻔﮭﻮم SQL
ﯾﺎﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ اﺧﺘﺼﺎر SQLإﻟﻲ "ﻟﻐﺔ اﻷﺳﺘﻌﻼم اﻟﻤﮭﯿﻜﻠﺔ" Language Structured Query
إن ﻟﻐﺔ SQLھﻲ ﺑﺴﯿﻄﺔ ﻧﺴﺒﯿﺎً ،وﻟﻜﻨﮭﺎ ﻓﻌﺎﻟﺔ ﻟﻠﻐﺎﯾﺔ ،ﻓﺎﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺘﻌﻠﯿﻤﺎت اﻟﺒﺴﯿﻄﺔ ﻓﻲ ھﺬه اﻟﻠﻐﺔ ﺗﺨﻔﻲ وراﺋﮭﺎ ﺧﺼﺎﺋﺺ ﻓﻌّﺎﻟﺔ
ﯾﻤﻜﻦ اﺳﺘﺨﺪاﻣﮭﺎ ﻟﻠﻘﯿﺎم ﺑﺎﻟﻌﺪﯾﺪ ﻣﻦ اﻟﻌﻤﻠﯿﺎت اﻟﻤﻌﻘﺪة اﻟﻤﻌﺮوﻓﺔ ﻓﻲ ﻗﻮاﻋﺪ اﻟﻤﻌﻄﯿﺎت .
ﺛﺎﻧﯿﺎ :
اﻟﻔﺮق ﺑﯿﻦ SQLو Access
ﻛﺜﯿﺮ ﻣﻨﺎ ﯾﺴﺄل اﻟﻔﺮق ﺑﯿﻦ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت SQLو . Microsoft Access
ﺳﻮف ﻧﺘﻨﺎول ﺑﻌﺾ اﻟﻔﺮوﻗﺎت ﺑﯿﻦ SQLو Access
اﯾﺠﺎﺑﯿﺎﺗﮫ :
ﺳﮭﻞ اﻻﺳﺘﺨﺪام
رﺧﯿﺺ اﻟﺜﻤﻦ
ﺗﻮﻓﺮ اﻟﺪﻋﻢ اﻟﻔﻨﻲ .
ﯾﺪﻋﻢ ﻧﻤﺎذج )( Forms
http://www.sqldbatips.com/samples/code/SQL2005SCM/SQL2005_Service_Manager.zip
http://www.sqldbatips.com/samples/code/SQL2005SCM/SQL2005_Service_Manager_Vista.zip
: ﺗﺤﻤﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ
http://www.microsoft.com/downloads/details.aspx?FamilyID=c243a5ae-4bd1-4e3d-94b8-
a0f62bf7796&displaylang=en
http://msdn.microsoft.com/en-us/express/bb410792.aspx
ﯾﺘﺮك ﻛﻤﺎ ھﻮ اﻷ اذا ﻛﺎن ﻟﺪﯾﻚ اﻛﺜﺮ ﻣﻦ ﺳﯿﺮﻓﺮ ﯾﻤﻜﻨﻚ اﺧﺘﯿﺎر اﻟﺴﯿﺮﻓﺮ اﻟﻤﺤﺪد ﻣﻦ ھﺬه اﻟﺨﺎﻧﺔServer Type ﺣﯿﺚ ﻓﻲ ﺧﺎﻧﺔ
أ - Windows Authentication :دﺧﻮل اﻟﺒﺮﻧﺎﻣﺞ دون اﻟﺤﺎﺟﺔ إﻟﻲ اﺳﻢ اﻟﻤﺴﺘﺨﺪم واﻟﺮﻗﻢ اﻟﺴﺮي
ب - SQL Server Authentication :دﺧﻮل اﻟﺒﺮﻧﺎم ﺑﺎﺳﻢ اﻟﻤﺴﺘﺨﺪم واﻟﺮﻗﻢ اﻟﺴﺮي وﯾﺘﻢ ﺗﺤﺪﯾﺪه ﻋﻨﺪ ﺗﻨﺼﯿﺐ اﻟﺒﺮﻧﺎﻣﺞ.
زر Connect :اﻷﺗﺼﺎل ﺑـ SQL
اﻧﺘﮭﻲ اﻟﺪرس اﻟﺜﺎﻟﺚ وﺳﻮف ﻧﺒﺪأ ﻓﻲ اﻟﺪرس اﻟﻘﺎدم ﺑﺎذن اﷲ ﺑﺎﻟﺘﻄﺒﯿﻘﺎت ﻋﻠﻲ SQL2005
أ : Database Master -وھﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﯾﺘﻢ ﺗﺨﺰﯾﻦ ﺟﻤﯿﻊ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻓﯿﮭﺎ .
ب : Database Model -وھﻲ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت اﻟﺘﻲ ﺗﺤﺘﻮي اﻟﺸﻜﻞ اﻷول ﻟﻘﺎﻋﺪة ﺑﯿﺎﻧﺎت.
ج : Database Tempdb -وھﻲ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﻣﺆﻗﺘﮫ .
ﺛﺎﻧﯿﺎ : Security :وﯾﺤﺘﻮي ﻋﻠﻲ اﻟﻜﺎﺋﻨﺎت اﻟﻤﺴﺌﻮﻟﺔ ﻋﻦ ﺣﻤﺎﯾﺔ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت وﺗﻮزﯾﻊ اﻟﺼﻸﺣﯿﺎت .وﯾﻨﻘﺴﻢ إﻟﻲ ﺛﻸﺛﺔ اﻗﺴﺎم :
أ : Login -ﯾﺤﺘﻮي ﻋﻠﻲ ﻣﺴﺘﺨﺪﻣﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت وﻛﻠﻤﺎت اﻟﺴﺮ اﻟﺨﺎﺻﺔ ﺑﮭﻢ .
ب :Server Role -اﻟﻤﺴﺘﺨﺪﻣﯿﻦ ﻣﻨﻘﺴﻤﯿﻦ إﻟﻲ ﻣﺠﻤﻮﻋﺎت .
ﻓﻲ ھﺬا اﻟﺪرس ﺳﻮف ﻧﻨﺸﺊ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺟﺪﯾﺪة ﺑﺎﺳﻢ Emp_info
وﯾﺤﺘﻮي ﻋﻠﻲ اﻟﺤﻘﻮل اﻟﺘﺎﻟﯿﺔ : ID - Name - Address - Gender - Country - Birthday
ﻷﻧﺸﺎء ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺟﺪﯾﺪة اﻧﻘﺮ ﺑﺎﻟﺰر اﻷﯾﻤﻦ ﻋﻠﻲ Databasesﺛﻢ اﺧﺘﺮ New Databases
ﻓﻲ ﺧﺎﻧﺔ Database Name :ﻧﻜﺘﺐ اﺳﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺛﻢ ﻧﻀﻐﻂ ﻋﻠﻲ زر OK
ﻓﻲ ﺧﺎﻧﺔ Data Typeﻧﺨﺘﺎر ﻧﻮع اﻟﺒﯿﺎن وﻃﺒﻌﺎ ﻓﻲ درﺳﻨﺎ ﻧﺨﺘﺎر اﻟﻨﻮع اﻷﻓﺘﺮاﺿﻲ
اﻣﺎ اﻧﻮاع اﻟﺒﯿﺎﻧﺎت ﻓﺴﻮف اﺷﺮﺣﮭﺎ ﺑﺸﯿﺊ ﻣﻦ اﻟﺘﻔﺼﯿﻞ :
اﻟﻨﻮع Int :ﯾﺄﺧﺬ أرﻗﺎم ﺻﺤﯿﺤﺔ ﺳﺎﻟﺐ أو ﻣﻮﺟﺐ وﺗﻜﻮن ﺑﯿﻦ ٢،١٤٧،٤٨٣،٦٤٨ -ﺣﺘﻲ ٢،١٤٧،٤٨٣،٦٤٧
وﯾﺎﺧﺬ ﺣﯿﺰ ﻓﻲ اﻟﻘﺮص ﺣﺠﻤﮫ ٤ﺑﺎﯾﺖ.
اﻟﻨﻮع Bigint :ﻣﺜﻞ اﻟﻨﻮع اﻟﻨﻮع Intﻟﻜﻦ ﺣﺠﻤﮫ أﻛﺒﺮ وﯾﻘﺒﻞ ﻣﻦ – ٩،٢٢٣،٣٧٢،٠٣٦،٨٥٤،٧٧٥،٨٠٨ﺣﺘﻲ
9,223,372,036,854,775,807
وﯾﺎﺧﺬ ﺣﯿﺰ ٨ﺑﺎﯾﺖ.
اﻟﻨﻮع Char :ﯾﻌﻨﻲ ﺣﺮف ،وھﻮ ﻋﺒﺎرة ﻋﻦ ﻧﻮع ﯾﺠﻌﻞ ﺣﻘﻞ اﻟﺒﯿﺎﻧﺎت ﯾﺘﻘﺒﻞ ﻋﺪد ﻣﻌﯿﻦ ﻣﻦ اﻟﺤﺮوف ﻣﻦ ١إﻟﻲ ٨٠٠٠ﺣﺮف
اﻟﻨﻮع Varchar :ﯾﺄﺧﺬ ﻣﻦ ١إﻟﻲ ٨٠٠٠ﺣﺮف – ﻟﻜﻦ ﺣﺠﻤﮫ ﺑﺨﻸف اﻷﻧﻮاع اﻟﺴﺎﺑﻘﺔ ﻏﯿﺮ ﺛﺎﺑﺖ ﺣﯿﺚ ﯾﻜﻮن ﺣﺠﻤﮫ ﺣﺴﺐ ﻋﺪد
اﻟﺤﺮوف اﻟﺘﻲ ﻓﯿﮭﺎ
اﻟﻨﻮع (Varchar(max :ﻣﺜﻞ Varcharﯾﺄﺧﺬ ٨٠٠٠ﺣﺮف ﺣﯿﺚ ﯾﻜﻮن ﺣﺠﻤﮫ ﺣﺴﺐ ﻋﺪد اﻟﺤﺮوف اﻟﺘﻲ ﻓﯿﮫ.
اﻟﻨﻮع Nvarchar :ﻧﻔﺲ :ﻣﺜﻞ Varcharﻟﻜﻦ ﯾﺎﺧﺪ ﺣﺮوف Unicodeوﻟﺬﻟﻚ ھﻮ ﯾﻘﺒﻞ ٤٠٠٠ﺣﺮف
اﻟﻨﻮع N**** :ﻣﺜﻞ اﻟﻨﻮع **** ﻟﻜﻦ ﯾﺨﺰن اﻟﺤﺮوف ﻛــــ Unicode
اﻟﻨﻮع Image :ﻣﺜﻞ اﻟﻨﻮع **** ﻟﻜﻦ ﻧﻈﺎم اﻟﺘﺨﺰﯾﻦ ﺑﯿﻜﻮن Binaryﻃﺒﻌﺎً ﻧﺤﻦ ﻧﺴﺘﺨﺪﻣﮫ ﻣﻊ اﻟﺼﻮر وﻣﻠﻔﺎت اﻟﺼﻮف وﺧﻸﻓﮫ ﻣﻦ
أﻣﻮر اﻟﻤﺎﻟﺘﻤﯿﺪﯾﺎ
ﻟﻔﺘﺢ اﻟﺠﺪول ﻧﻀﻐﺾ ﺑﺎﻟﺰر اﻷﯾﻤﻦ ﻋﻠﻲ اﻟﺠﺪول اﻟﻤﺮاد ﻓﺘﺤﮫ وﻣﻦ ﺛﻢ Open Table
ﻓﺘﻈﮭﺮ ﻟﻨﺎ ﻧﺎﻓﺬة اﻷﺳﺘﻌﻼم ﻣﻦ ﺧﺎﻧﺔ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻧﺨﺘﺎر ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﺗﺴﺘﺨﺮج ﻣﻨﮭﺎ اﻟﺒﯿﺎﻧﺎت
- ٣ﻋﺒﺎرة DISTINCT
ھﺬه اﻟﺠﻤﻠﺔ اﻟﻤﻘﺼﻮد ﺑﮭﺎ اﻇﮭﺎر اﻟﺒﯿﺎﻧﺎت ﺑﺪون ﺗﻜﺮار
ﻓﻤﺜﻼ ﻓﻲ ﺣﻘﻞ Countryﺗﻮﺟﺪ ﺑﻌﺾ اﻟﺪول ﻣﺘﻜﺮرة ﻓﺎذا اردﻧﺎ اﻇﮭﺎر اﻟﺒﯿﺎﻧﺎت اﻟﻤﻮﺟﻮدة ﻓﻲ ﺣﻘﻞ Countryدون اﻇﮭﺎر اﻟﺪول
اﻟﻤﻜﺮرة ﻧﻜﺘﺐ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ اﻟﺘﺎﻟﻲ :
- ٤ﻋﺒﺎرة Where
ﻋﻠﻤﺎ اﻧﮫ ﯾﻤﻜﻨﻨﺎ اﺳﺘﺨﺪام اﻟﻤﻌﺎﻣﻼت اﻟﺘﺎﻟﯿﺔ اﺛﻨﺎء اﺳﺘﺨﺪام ﻋﺒﺎرة Where
ﺗﺴﺎوي =
ﻷ ﺗﺴﺎوي ><
اﻛﺒﺮ ﻣﻦ <
اﺻﻐﺮ ﻣﻦ >
اﻛﺒﺮ ﻣﻦ أو ﺗﺴﺎوي <=
اﺻﻐﺮ ﻣﻦ أو ﺗﺴﺎوي >=
ﺷﺮط ﺑﯿﻦ ﻗﯿﻤﺘﯿﻦ Between
ﻟﻠﺒﺤﺚ ﻋﻦ ﻛﻠﻤﺔ ﻣﺸﺎﺑﮭﺔ Like
اﻟﻨﺘﯿﺠﺔ
اﻟﻨﺘﯿﺠﺔ
اﻷن ﻧﻘﻮم ﺑﺴﺤﺐ IDﻣﻦ ﺟﺪول Empinfoإﻟﻲ IDﻟﻠﺠﺪول اﻟﺠﺪﯾﺪ اﻟﺬي اﻧﺸﺎءﺗﮫ
ﻓﯿﺼﺒﺢ اﻟﺸﻜﻞ
ﺳﻮف اﻋﺮض ﺑﺮﻧﺎﻣﺞ ﻓﯿﮫ ﻣﻠﻔﺎت اﻷس ﻛﯿﻮ ال اﻷﺳﺎﺳﯿﺔ ) ( Pub - NorthWind
ﯾﻤﻜﻨﻜﻢ ﺗﺤﻤﻠﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻦ اﻟﻮﺻﻠﺔ اﻟﺘﺎﻟﯿﺔ :
http://rapidshare.com/files/120104132/SQL2000SampleDb.rar.html
-١ﻧﻀﻐﻂ ﺑﺎﻟﺰر اﻷﯾﻤﻦ ﻋﻠﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻤﺮاد ﻋﻤﻞ ﻧﺴﺨﺔ ﻟﮭﺎ
اﻟﻨﺘﯿﺠﺔ-٣
ﻓﻲ اﻟﺪرس اﻟﺴﺎﺑﻖ ﺗﻌﻠﻤﻨﺎ ﻛﯿﻔﯿﺔ ﻋﻤﻞ اﻟﻨﺴﺨﺔ اﻷﺣﺘﯿﺎﻃﯿﺔ ﻟﻘﺎﻋﺪة ﺑﯿﺎﻧﺎت ﻣﻌﯿﻨﺔ وﻗﻠﻨﺎ ان اﻟﻤﻠﻒ ﻣﻮﺟﻮد ﻓﻲ ﻣﺴﺎر ﻣﻌﯿﻦ
ﻓﻲ ھﺬا اﻟﺪرس ﺳﻮف ﻧﺘﻨﺎول ﻛﯿﻔﯿﺔ اﺳﺘﺮﺟﺎع اﻟﻨﺴﺨﺔ اﻷﺣﺘﯿﺎﻃﯿﺔ :
-ﻓﻲ ﺧﺎﻧﺔ To Database :ﻧﻜﺘﺐ اﺳﻢ اﻟﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ) ﻛﻘﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺟﺪﯾﺪة )
-ﻓﻲ اﻟﻘﺴﻢ اﻟﺜﺎﻧﻲ ﻣﻦ اﻟﺸﺎﺷﺔ ﻧﺨﺘﺎر From Deviceﻟﺠﻠﺐ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﻘﺮص اﻟﻤﺤﻠﻲ
Views ﻓﻲ اﻟﺪرس اﻟﻘﺎدم ﺳﻮف ﻧﺘﻄﺮق إﻟﻲ ﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ
ﺛﻢ ﻧﺨﺘﺎرNewView
ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﻈﮭﺮ ﻟﻨﺎ ﻣﺮﺑﻊ ﻧﻀﯿﻒ اﻟﺠﺪأول اﻟﻤﻨﺎﺳﺒﺔ
وﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﺒﯿﻦ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ اﻟﺨﺎص ﺑﺎﻟﻤﺸﺎھﺪ وﻃﺮﯾﻘﺔ رﺑﻄﮫ
ﻓﻲ ﺣﺎل ﻧﺮﯾﺪ اﻇﮭﺎر ﺑﯿﺎن ﻣﻌﯿﻦ ﻣﻦ ﺣﻘﻞ ﻣﻌﯿﻦ ﻓﻨﺨﺘﺎر ﺧﺎﺻﯿﺔFilter
اﻟﻨﺘﯿﺠﺔ
.
ﺣﯿﺚ ﺗﻤﺘﺎز اﻟـ ADO.NETﺑﻤﯿﺰة اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻣﺼﺪر اﻟﺒﯿﺎﻧﺎت ﻓﻲ وﺿﻌﯿﻦ :اﻷول وﺿﻊ ﻣﺘﺼﻞ connectedو اﻟﻮﺿﻊ اﻷﺧﺮ و
ﺿﻊ ﻣﻨﻔﺼﻞ . Disconnected
و ﻟﻘﺪ ﻧﺸﺄت اﻟـ ADO.NETﻣﻦ ﺗﻘﻨﯿﺔ ﺳﺎﺑﻘﺔ ﺗﺪﻋﻲ ADOوھﻲ اﺧﺘﺼﺎر ﻟﻠﻜﻠﻤﺎت ActiveX data Objectو ﻛﺎﻧﺖ اﻟـ ADO
ﺗﻤﺜﻞ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟـ Classesاﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ اﻟﺴﺎﺑﻘﺔ ﻣﺜﻞ basic 6 visualﻟﻠﻮﺻﻮل إﻟﻲ اﻟﺒﯿﺎﻧﺎت ﻓﻲ ﻗﻮاﻋﺪ
١
اﻟﺒﯿﺎﻧﺎت ،و ADO.NETﺗﻘﻮم ﺑﻨﻔﺲ اﻷﻏﺮاض اﻟﺘﻲ ﻛﺎﻧﺖ ﺗﻘﻮم ﺑﮭﺎ اﻟـ ADOو ﻟﻜﻦ ﺑﺄﺳﻠﻮب ﻣﺤﺪث وأﺳﮭﻞ .
ﺗﺴﻤﺢ ﻟﻚ ADO.NETﺑﺎﻷﺗﺼﺎل ﻣﻊ ﻣﺼﺎدر اﻟﺒﯿﺎﻧﺎت ) ﺑﺮاﻣﺞ إدارة ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻋﻠﻲ اﺧﺘﻼﻓﮭﺎ :أوراﻛﻞMS ،SQL Server ،
،Accessوﻏﯿﺮھﺎ( وﻟﺘﺤﻘﯿﻖ ھﺬا اﻟﺘﻌﻤﯿﻢ ﯾﻮﺟﺪ ﻣﺠﻤﻮﻋﺔ واﺣﺪة ﻣﻦ ال Classesﻓﻲ !ADO.NET
وﺑﻤﺎ أن ﻣﺼﺎدر اﻟﺒﯿﺎﻧﺎت اﻟﻤﺨﺘﻠﻔﺔ ﺗﻌﻤﻞ ﺑﺒﺮوﺗﻮﻛﻮﻷت ﻣﺨﺘﻠﻔﺔ ،ﻟﺬﻟﻚ ﻓﻨﺤﻦ ﻧﺤﺘﺎج إﻟﻲ ﻃﺮﯾﻘﺔ ﺻﺤﯿﺤﺔ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻛﻞ ﻣﺼﺪر
ﺑﺎﻟﺒﺮوﺗﻮﻛﻮل اﻟﺬي ﯾﻨﺎﺳﺒﮫ ،ﺑﻌﺾ ﻣﺼﺎدر اﻟﺒﯿﺎﻧﺎت اﻟﻘﺪﯾﻤﺔ ﺗﺴﺘﺨﺪم ODBC protocolوﺑﻌﺾ اﻟﺤﺪﯾﺚ ﻣﻨﮭﺎ ﯾﺴﺘﺨﺪم OleDb
.protocol
ADO.NETﺗﻘﺪم ﻃﺮﯾﻘﺔ ﻋﺎﻣﺔ ﻧﺴﺒﯿﺔ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻣﺼﺎدر اﻟﺒﯿﺎﻧﺎت ﻛﻞً ﻋﻠﻲ ﺣﺪه ﻓﻲ ﻣﻜﺘﺒﺔ ﺧﺎﺻﺔ ،ھﺬه اﻟﻤﻜﺘﺒﺎت ﺗﺴﻤﻲ Data
Providersوﻏﺎﻟﺒﺎً ﯾﻜﻮن اﺳﻤﮭﺎ ﻓﻲ ADO.NETﻋﻠﻲ اﺳﻤﺎء اﻟﺒﺮوﺗﻮﻛﻮﻷت اﻟﺘﻲ ﺗﺴﺘﻌﻤﻠﮭﺎ ﻣﺼﺎدر اﻟﺒﯿﺎﻧﺎت ،اﻟﺠﺪول اﻟﺘﺎﻟﻲ
ﯾﻮﺿﺢ ﺑﻌﺾ ﻣﺰودات اﻟﺒﯿﺎﻧﺎت اﻟﻤﻌﺮﻓﺔ ﻓﻲ ADO.NETوﺳﺎﺑﻘﺔ APIاﻟﺘﻲ ﺳﺘﻌﻤﻠﮭﺎ وﻧﻮع ﻣﺼﺪر اﻟﺒﯿﺎﻧﺎت اﻟﺬي ﺗﺘﻌﺎﻣﻞ ﻣﻌﮫ:
Table 1. ADO.NET Data Providers are class libraries that allow a common
way to interact with specific data sources or protocols. The library APIs
have prefixes that indicate which provider they support.
- 1م /ﺗﺮﻛﻲ اﻟﻌﺴﯿﺮى :ﺑﺮﻣﺠﺔ أﻃﺎر ﻋﻤﻞ .Netﺑﺈﺳﺘﺨﺪام ، PDF File ، Visual Basic.Netاﻟﻄﺒﻌﺔ اﻻوﻟﻲ ، ٢٠٠٣ص ٦٠٩
وﺣﯿﺚ أﻧﻨﺎ ﺳﻨﺴﺘﺨﺪم ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت آﻛﺴﺲ ﻓﻲ دروﺳﻨﺎ و ﻣ ﺰود اﻟﺒﯿﺎﻧ ﺎت ﻟﮭ ﺬا اﻟﻨ ﻮع ھ ﻮ OleDbﻓ ﺈن ﺳ ﺎﺑﻘﺔ ﻛ ﻞ ﻛ ﺎﺋﻦ ﺳﻨﻨ ﺸﺌﮫ
ﺳﺘﻜﻮن OleDbوﺑﺈﻣﻜﺎﻧﻚ ﺗﻐﯿﯿﺮھﺎ إذا ﻛﻨﺖ ﺗﺘﻌﺎﻣﻞ ﻣﻊ ﻣﺰود ﺑﯿﺎﻧﺎت ﻟﻘﺎﻋﺪة ﺑﯿﺎﻧﺎت أﺧﺮي ﻛﻤﺎ ﯾﻮﺿﺢ اﻟﺠﺪول اﻟﺴﺎﺑﻖ!
1. Connection.
2. Command.
3. DataReader. )وﺿﻊ ﻣﺘﺼﻞ(
4. DataAdapter. )وﺿﻊ ﻣﻨﻔﺼﻞ(
5. DataSet. )وﺿﻊ ﻣﻨﻔﺼﻞ(
- 1ﺑﻮاﺳﻄﺔ ، k-s-b :اﻟﻤﻮﺳﻮﻋﺔ اﻟﻌﺮﺑﯿﺔ ﻟﻠﻜﻤﺒﯿﻮﺗﺮ واﻹﻧﺘﺮﻧﺖ ،اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺴﻲ اﻟﺸﺎرب ، C#ﺑﺘﺎرﯾﺦ ٢٧أﻛﺘﻮﺑﺮ ٢٠٠٦
http://www.c4arab.com/showasection.php?lssid=108 , Viewed 12/10/2008
2
-م /إﺣﺴﺎن ﻣﺰھﺮ رﺷﯿﺪ :ﻣﻠﺨﺼﺎت ﻓﻲ ، (٢) Visual Basic.Net 2003اﻟﻤﺮﻛﺰ اﻟﻌﺎﻟﻲ ﻟﻠﻤﮭﻦ اﻟﺸﺎﻣﻠﺔ درﻧﺔ ،ﻗﺴﻢ اﻟﺤﺎﺳﻮب ، PDF File ،
،٢٠٠٥ص١٩
٢
اﻟــ Microsoft Access رﺑﻂ ﺑﺮﻧﺎﻣﺞ ﺑﺎﻟـ VB.Net 2003ﻣﻊ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺗﻢ إﻧﺸﺎؤھﺎ ﻋﻠﻲ
ﻓﻲ اﻟﺒﺪاﯾﺔ أود ذﻛﺮ أن ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﻗﻤﺖ ﺑﺎﻧﺸﺎءھﺎ ﺑﺴﯿﻄﺔ ﺟ ﺪا ﻗﻤ ﺖ ﺑﺘ ﺴﻤﯿﺘﮭﺎ k_s_bو ﺗﺤﺘ ﻮي ﻋﻠ ﻲ ﺟ ﺪول واﺣ ﺪ ﻓﻘ ﻂ
ﯾﺴﻤﻲpatient .
- 1م /ﺗﺮﻛﻲ اﻟﻌﺴﯿﺮى :ﺑﺮﻣﺠﺔ أﻃﺎر ﻋﻤﻞ .Netﺑﺈﺳﺘﺨﺪام ، PDF File ، Visual Basic.Netاﻟﻄﺒﻌﺔ اﻻوﻟﻲ ، ٢٠٠٣ص٦٣٨
- 2ﺑﻮاﺳﻄﺔ ، k-s-b :اﻟﻤﻮﺳﻮﻋﺔ اﻟﻌﺮﺑﯿﺔ ﻟﻠﻜﻤﺒﯿﻮﺗﺮ واﻹﻧﺘﺮﻧﺖ ،اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺴﻲ اﻟﺸﺎرب ، C#ﺑﺘﺎرﯾﺦ ٢٧أﻛﺘﻮﺑﺮ ٢٠٠٦
http://www.c4arab.com/showasection.php?lssid=108 , Viewed 12/10/2008
ﻷﺣﻆ ﺑﺎﻷﻋﻠﻲ أﻧﮫ ﺗﻢ إدراج ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﺳﻨﻘﻮم ﺑﺮﺑﻄﮭﺎ ﻣﻊ اﻟﺒﺮﻧﺎﻣﺞ ,ﻓﻘﻂ ﻗﻢ اﻷن ﺑﺴﺤﺐ اﻟﺠﺪول اﻟﻤﺮاد ﻣﻦ ھﻨﺎ و
إﺳﻘﺎﻃﮫ ﻋﻠﻲ اﻟـ( formﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ اﺳﻢ اﻟﺠﺪول "Patient"),وﺑﻌﺪ ذﻟﻚ ﺳﯿﻈﮭﺮ ﻟﻚ اﻟﻜﺎﺋﻨﯿﻦ اﻟﺘﺎﻟﯿﯿﻦ أﺳﻔﻞ اﻟـform.
ﻧﺮﯾﺪ اﻷن أن ﻧﺴﺘﻌﺮض ﻣﺤﺘﻮﯾﺎت أﺣﺪ ﺟﺪأول ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﻗﻤﻨﺎ ﺑﺮﺑﻄﮭﺎ ﻣﻊ اﻟﺒﺮﻧﺎﻣﺞ:
وﻟﻌﻤﻞ ذﻟﻚ ﺳﻮف ﻧﺴﺘﺨﺪم اﻷداة DataGridﻟﻌﺮض اﻟﺠﺪول ﺑﮭﺎ ,ﻟﺬﻟﻚ ﻗﻢ ﺑﺴﺤﺐ ھﺬه اﻷداة اﻷن ﻣﻦ ﺻﻨﺪوق اﻷدوات و
إﺳﻘﺎﻃﮭﺎ ﻋﻠﻲ اﻟـForm,
و ﻓﻲ ﺣﺎﻟﺘﻨﺎ ھﺬه ﻧﺮﯾﺪ أن ﯾﺘﻢ ﺗﺤﻤﯿﻞ اﻟﺠﺪول ﻋﻠﻲ اﻟـ DataGridﺑﻤﺠﺮد ﺗﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻟﺬﻟﻚ ﺳﻮف ﻧﻘﻮم ﺑﻜﺘﺎﺑﺔ اﻷواﻣﺮ داﺧﻞ
اﻟـConstructor......
ﻓﻲ اﻟﺒﺪاﯾﺔ ﻗﻤﻨﺎ ﺑﺘﻌﺒﺌﺔ اﻟـ DataSetﺑﺎﻟﺠﺪول " "Patientاﻟﻤﻮﺟﻮد ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧ ﺎت اﻟﺘ ﻲ ﻗﻤﻨ ﺎ ﺑﺮﺑﻄﮭ ﺎ ﻣ ﻊ اﻟﺒﺮﻧ ﺎﻣﺞ .و ذﻟ ﻚ
ﺑﺎﺳﺘﺨﺪام اﻟﺪاﻟﺔ Fillﻣﻊ اﻟﻜﻸس oleDbDataAdapterﺑﺤﯿﺚ أﻧﮭﺎ ﺳ ﻮف ﺗ ﺴﺘﻘﺒﻞ ﻓ ﻲ اﻟﺒ ﺎرﻣﺘﺮ اﻷول اﺳ ﻢ اﻟ ـ DataSetاﻟﻤ ﺮاد
ﺗﻌﺒﺌﺘﮭﺎ ،و اﻟﺒﺎرﻣﺘﺮ اﻟﺜﺎﻧﻲ ھﻮ اﺳﻢ اﻟﺠﺪول.
و ﻟﻜﻲ ﻧﻌﺮض اﻟﺠﺪول ﻓﻲ اﻷداة DataGridﻗﻤﻨﺎ ﻓﻲ اﻟﺴﻄﺮ اﻟﺬي ﯾﻠﯿ ﮫ ﺑ ﺮﺑﻂ اﻷداة DataGridﺑﺎﻟ ـ DataSetوذﻟ ﻚ ﺑﺎﺳ ﺘﺨﺪام
اﻟﺪاﻟﺔ ) ( : SetDataBindingﺑﺤﯿﺚ أن ھﺬه اﻟﺪاﻟﺔ ﺗﺴﺘﻘﺒﻞ ﺑ ﺎرﻣﺘﺮﯾﻦ اﻷول و ھ ﻮ اﺳ ﻢ اﻟ ـ DataSetو اﻟﺜ ﺎﻧﻲ ھ ﻮ اﺳ ﻢ اﻟﺠ ﺪول
اﻟﻤﻮﺟﻮد ﺑﮭﺎ .أﻣﺎ إذا ﻛﺎن ﻟﺪﯾﻚ اﺳﺘﻔﺴﺎر ﻓﻲ ﻋﺒﺎرة try , catchﻓﻌﻠﯿﻚ ﻣﺮاﺟﻌ ﺔ اﻟ ﺪرس " اﻟ ﺴﯿﻄﺮة ﻋﻠ ﻲ اﻷﺧﻄ ﺎء Exception
handling " ...
ﻟﻘﺪ ﺗﻤﻜﻨﺖ اﻷن ﻣﻦ رﺑﻂ ﺑﺮﻧﺎﻣﺠﻚ ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت و ﻋﺮض ﻣﺤﺘﻮﯾﺎت اﻟﺠﺪول ﻟﺪﯾﻚ ﺑﻨﺠﺎح.
ثم ﻣﻦ اﻟﻘﺴﻢ Solution Explorerأﻧﻘﺮ ﻋﻠﻲ اﺳﻢ اﻟﻤﺸﺮوع ﺑﺎﻟﺰر اﻷﯾﻤﻦ ﺛﻢ اﺧﺘﺮ << Addﺛﻢ << NewItemﺛﻢ اﺧﺘﺮ <<
Windows Formﺛﻢ اﻋﻄﯿﮫ اي اﺳﻢ وﻟﯿﻜﻮن . Form2
ﺑﻌﺪ ذﻟﻚ اذھﺐ إﻟﻲ Form2واﺿﻒ إﻟﯿﺔ أداة . CrystalReportViewer1
ﺑﻌﺪ ذﻟﻚ اذھﺐ إﻟﻲ Form2ﻓﻲ وﺿﻊ ﻛﺘﺎﺑﺔ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ وأﻛﺘﺐ ﻣﺎ ﯾﻠﺰم ﻣﻦ اﻷﻛﻮد اﻟﺒﺮﻣﺠﻲ اﻟﺘﺎﻟﻲ :
اﻟﻜﻮد اﻟﺒﺮﻣﺠﻲ
ﻟﻘﺪ ﺟﺮت ﺗﺤﺴﯿﻨﺎت رﺋﯿﺴﯿﺔ ﻋﻠﻲ ﻣﺤﺘﻮي ﻣﻌﻠﻮﻣﺎت ﻣﺴﺎﻋﺪة ﻓﯿﺠﻮال ﺳﺘﺪﯾﻮ و اﻷدوات اﻟﺘﻲ ﺗﺰود وﺻﻮﻷ إﻟﻲ ﺗﻠﻚ
اﻟﻤﺴﺎﻋﺪة .ﻓﻲ اﻷﺳﺎس ،ھﻨﺎك ﻣﻮردان اﺳﺎﺳﯿﺎن ﻟﻠﻤﺴﺎﻋﺪة اﻷﻟﻜﺘﺮوﻧﯿﺔ ﻣﻦ ﻓﯿﺠﻮال ﺳﺘﺪﯾﻮ: Visual Studio
ﯾﻤﻜﻨﻚ اﻟﻮﺻﻮل إﻟﻲ اﻟﻤﺴﺎﻋﺪة اﻟﻤﺤﻠﯿﺔ اﻟﺘ ﻲ ﺗﺜﺒﯿﺘﮭ ﺎ ﺧ ﻼل ﻋﻤﻠﯿ ﺔ اﻋ ﺪاد ﻓﯿﺠ ﻮال ﺳ ﺘﺪﯾﻮ ) ٢٠٠٥ﺗﻠ ﻚ اﻟﻤﻠﻔ ﺎت •
ﻣﺨﺰﻧﺔ ﻋﻠﻲ أﻗﺮاص ﺗﺴﻤﻲ - MSDN Libraryاﻟﻤﻜﺘﺒﺔ - MSDNﻓﻲ ﺣﺰﻣﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻓﯿﺠﻮال ﺳﺘﺪﯾﻮ ( .
ﯾﻤﻜﻨﻚ اﻟﻮﺻﻮل إﻟﻲ اﻟﻤﺴﺎﻋﺪة ﻋﻠﻲ اﻟﺨﻂ ) ﻋﻠﻲ اﻹﻧﺘﺮﻧﺖ ( ﻣ ﻦ ﺧ ﻼل ، MSDNوﻣﺠﻤﻮﻋ ﺔ ﻣ ﻦ ﻣﻮاﻗ ﻊ وﯾ ﺐ •
اﻟﻤﻄﻮرﯾﻦ ﺗﺮﻋﺎھﺎ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ وﺗﺪﻋﻲ . NET Code Wise Communityاﻟﻤﺠﻤﻮﻋﺔ NET Code Wise
Communityﻗﯿﻤﺔ ﺑﺸﻜﻞ ﺧﺎص ﺗﺘﻀﻤﻦ ﻣﻄﻮرﯾﻦ ﻣﺤﺘﺮﻓﯿﻦ ﯾﺴﺘﻌﻤﻠﻮن ﻓﯿﺠﻮال ﺳﺘﺪﯾﻮ و ﻓﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥
ﻟﻜﺘﺎﺑﺔ ﺑﺮاﻣﺞ ﻣﻦ اﻟﻌﺎﻟﻢ اﻟﺤﻘﯿﻘﻲ ،وﯾﺠ ﺮي ﺗﺤ ﺪﯾﺚ اﻟﻤﺤﺘﻮﯾ ﺎت واﻟﻨ ﺼﺎﺋﺢ اﻟﺘ ﻲ ﯾﻘ ﺪﻣﻮﻧﮭﺎ ﺑﺎﺳ ﺘﻤﺮار وﻟ ﺬا ﻓﺈﻧﮭ ﺎ
ﺗﻌﻜﺲ اﻟﻤﯿﻮل واﻟﮭﻤﻮم واﻷﻧﺘﺼﺎرات اﻟﺤﺎﻟﯿﺔ ﺿﻤﻦ ﻣﺠﺘﻤﻊ ﺑﺮﻣﺠﺔ ﻓﯿﺠﻮال ﺑﯿﺴﻚ .
اﺿﺒﻂ ﺗﻜﻮﯾﻦ ﻧﻈﺎم ﻣﺴﺎﻋﺪﺗﻚ اﻷن ﻟﯿﻘﺪم ﻟﻚ ﻣﻮارد اﻟﻤﺴﺎﻋﺪة اﻟﻤﺤﻠﯿﺔ وﻋﻠﻲ اﻹﻧﺘﺮﻧ ﺖ أﺛﻨ ﺎء ﺗﻌﻠﻤ ﻚ ﻋ ﻦ ﻓﯿﺠ ﻮال
ﺑﯿﺴﻚ .
-١ﻋﻠﻲ ﺷﺮﯾﻂ أدوات ﻣﺴﺘﻜﺸﻒ اﻟﻤﺴﺘﻨﺪات ،اﻧﻘﺮ زر اﻷﺿﺎﻓﺔ إﻟ ﻲ ﻣﻔ ﻀﻸت اﻟﻤ ﺴﺎﻋﺪة ) اﻟ ﺰر اﻟﻤﻮﺟ ﻮد ﺑﺠﺎﻧ ﺐ اﻟ ﺰر
Help Favoritesواﻟﺬي ﯾﺒﯿﻦ ﺻﻔﺤﺔ ﻋﻠﯿﮭﺎ ﻋﻼﻣﺔ ﺟﻤﻊ (.
ﻋﻨﺪﻣﺎ ﺗﻨﻘﺮ ھﺬا اﻟﺰر ،ﯾﻀﯿﻒ ﻣﺴﺘﻜﺸﻒ اﻟﻤﺴﺘﻨﺪات اﻟﻤﻘﺎل اﻟﻤﺮﺋ ﻲ ﺣﺈﻟﯿ ﺎ إﻟ ﻲ ﻷﺋﺤ ﺔ ﻣ ﺴﺘﻨﺪات اﻟﻤ ﺴﺎﻋﺪة اﻟﻤﻔ ﻀﻠﺔ
ﻟﺪﯾﻚ .ﯾﻤﻜﻨﻚ اﻷن اﺑﻘﺎء وﻣﺎردﻣﺴﺎﻋﺪﺗﻚ اﻟﻤﻔﻀﻠﺔ ﻣﻨﻈﻤﺔ وﺑﻤﺘﻨﺎول إﻟﯿﺪ داﺋﻤﺎ !
-٢اﻧﻘﺮ ﻋﻼﻣﺔ اﻟﺘﺒﻮﯾﺐ Searchﻓﻲ أﻋﻠﻲ اﻃﺎر ﻣﺴﺘﻜﺸﻒ اﻟﻤﺴﺘﻨﺪات .
ﯾﻔﺘﺢ اﻷﻃ ﺎر Searchﻣ ﺰودا أداة ﯾﻤﻜﻨ ﻚ اﺳ ﺘﻌﻤﺎﻟﮭﺎ ﻷﺟ ﺮاء ﻋﻤﻠﯿ ﺎت ﺑﺤ ﺚ ﻧ ﺼﯿﺔ ﻣﺤ ﺪدة ﺿ ﻤﻦ ﻣ ﻮارد ﻣ ﺴﺎﻋﺪﺗﻚ
اﻟﻤﺤﻠﯿﺔ وﻋﻠﻲ اﻹﻧﺘﺮﻧﺖ .
- 1ﻣﺎﯾﻜﻞ ھﺎﻟﻔﺮﺳﻮن ،ﺗﺮﺟﻤﺔ ﻣﺮﻛﺰ اﻟﺘﻌﺮﯾﺐ واﻟﺒﺮﻣﺠﺔ ﺑﺪار اﻟﻌﺮﺑﯿﺔ ﻟﻠﻌﻠﻮم :اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ " ٢٠٠٥ﺗﻌﻠﻢ ﺧﻄﻮة ﺑﺨﻄﻮة " ،اﻟﻄﺒﻌﺔ اﻷوﻟﻲ
، ٢٠٠٦ص٥٣
-٦اﻧﻘﺮ زر ﺗﻐﯿﯿ ﺮ اﻷﺳ ﻢ ﻓ ﻲ اﻷﻃ ﺎر ) Help Favoritesﯾﻤﻜﻨ ﻚ أﯾ ﻀﺎ ﻧﻘ ﺮ ﺑ ﺈﻟﯿﻤﯿﻦ اﻟﺒﺤ ﺚ اﻟ ﺬي ﺣﻔﻈﺘ ﮫ ،ﺛﻤ ﻲ اﻧﻘ ﺮ
( Rename
ﯾﻤﯿﺰ ﻣﺴﺘﻜﺸﻒ اﻟﻤﺴﺘﻨﺪات اﻷﺳﻢ اﻟﺬي اﺳﺘﻌﻤﻠﺘﮫ ﻟﺒﺤﺜﻚ وﯾﺘﯿﺢ ﻟﻚ ﺗﻐﯿﯿﺮه ﻟﻜﻲ ﯾﻄﺎﺑﻖ اﻟﺒﺤﺚ اﻟﻔﻌﻠﻲ ﺑﺪﻗﺔ أﻛﺒ ﺮ .ﻗ ﺬه
اﻟﺨﻄﻮة اﺧﺘﯿﺎرﯾﺔ ،ﻟﻜﻨﻨﻲ أﺟﺪھﺎ ﻣﻔﯿﺪة .
-٧اﻛﺘﺐ Binding Data to Controlsواﺿﻐﻂ . Enter
ﯾﻐﯿﺮ ﻣﺴﺘﻜﺸﻒ اﻟﻤﺴﺘﻨﺪات اﺳﻢ اﻟﺒﺤﺚ ﺿﻤﻦ ﻷﺋﺤﺔ ﻣﻔﻀﻸﺗﻚ .ﻟﻘﺪ اﺧﺘﺮت ھﺬا اﻷﺳﻢ ﻷﻧﮫ ﺑﺪا أوﺿﺢ ﻟﻲ ﻣﻦ ﺳﻠﺴﻠﺔ
ﺑﺤﺜﻲ اﻷﺻﻠﯿﺔ )ﻟﻜﻨﻚ ﻗﺪ ﺗﺮﯾﺪ ﺗﺤﺪﯾﺪ اﺳﻢ ﻣﺨﺘﻠﻒ ﯾﻄﺎﺑﻖ ﺑﺪﻗﺔأﻛﺒﺮ ﻧﺘﺎﺋﺞ اﻟﺒﺤﺚ اﻟﺘﻲ أرﺷﻔﺘﮭﺎ (
-٨اﻧﻘﺮ ? How Do Iﻓﻲ اﻷﻃﺎر . Help Favorites
ﯾﻈﮭﺮ أأول ﻣﻘﺎل ﺣﻔﻈﺘﮫ ﻓﻲ ﻣﺴﺘﻜﺸﻒ اﻟﻤﺴﺘﻨﺪات .ﺳﺘﺘﻤﺮن اﻷن ﻋﻠﻲ ﺣ ﺬف ﻣﻔ ﻀﻠﺔ ،وھ ﺬه ﻣﮭ ﺎرة ﺗ ﺼﺒﺢ ﻣﮭﻤ ﺔ
ﻋﻨﺪﻣﺎ ﺗﻨﻤﻮ ﻷﺋﺤﺔ ﻣﻘﺎﻻت ﻣﺴﺎﻋﺪﺗﻚ اﻟﻤﻔﻀﻠﺔ وﺗﺤﺘﺎج إﻟﻲ ﺗﺼﻐﯿﺮھﺎ .
إﻟﯿﻚ ﻷﺋﺤﺔ ﻗﺼﯿﺮة ﺑﺄواﻣﺮ اﻟﻤﺴﺎﻋﺪة اﻟﻤﻔﯿﺪة واﺳﺘﻌﻤﺎﻻﺗﮭﺎ ﺿﻤﻦ ﺑﯿﺌﺔ ﺗﻄﻮﯾﺮ ﻓﯿﺠﻮال ﺳﺘﺪﯾﻮ : Visual Basic.Net 2005
- 1ﻣﺎﯾﻜﻞ ھﺎﻟﻔﺮﺳﻮن ،ﺗﺮﺟﻤﺔ ﻣﺮﻛﺰ اﻟﺘﻌﺮﯾﺐ واﻟﺒﺮﻣﺠﺔ ﺑﺪار اﻟﻌﺮﺑﯿﺔ ﻟﻠﻌﻠﻮم :اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ " ٢٠٠٥ﺗﻌﻠﻢ ﺧﻄﻮة ﺑﺨﻄﻮة " ،اﻟﻄﺒﻌﺔ اﻷوﻟﻲ
، ٢٠٠٦ص٥٨
www.absba.info
www.absba.org ﻣﻨﺘﺪى اﻟﻤﺸﺎﻏـﺐ
ﻣﻮﻗﻊ وﻣﻨﺘﺪى
www.ask-pc.com
أﻛﺎدﯾﻤﯿﺔ أﺳﺄل اﻟﻜﻤﺒﯿﻮﺗﺮ
وادي اﻟﺘﻘﻨﯿﺔ
www.itwadi.com
ﻟﻤﻌﺮﻓﺔ أﺧﺮ أﺧﺒﺎر ﺗﻜﻨﻮﻟﻮﺟﯿﺎ
ﻣﺤﺮك ﺑﺤﺚ ﻟﻸﻛﻮاد اﻟﺒﺮﻣﺠﯿﺔ
http://www.krugle.org
ﻓﻲ ﺟﻤﯿﻊ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ
ﻣﻨﺘﺪﯾﺎت ﻓﺎرس ﺳﻮﻓﺖ ﻓﻲ ﻋﺎﻟﻢ
http://www.faressoft.com/
اﻟﺒﺮﻣﺠﺔ
ﻣﻮﺳﻮﻋﺔ اﻟﻤﺒﺮﻣﺞ اﻟﻌﺮﺑﻲ وﯾﺤﺘﻮي
http://mawsoaa.faressoft.com/ ﻋﻠﻲ أﻛﺒﺮ ﻣﺠﻤﻮﻋﺔ اﻟﺒﺮاﻣﺞ
اﻟﻤﺴﺎﻋﺪة ﻟﻠﺘﻌﻠﻢ اﻟﺒﺮﻣﺠﺔ
ﻣﻨﺘﺪى ﺻﯿﺪ اﻟﻔﻮاﺋﺪ ﻣﻦ اﻟﻤﻨﺘﺪﯾﺎت
http://saaid.net/book/list.php?cat=100
اﻟﻘﻮﯾﺔ ﻓﻲ اﻟﻤﺠﺎل
1- www.msdn.microsoft.com/vbasic/
2- www.devx.com/
3- www.microsoft.com/learning/books/
4- www.microsoft.com/learning/training/
5- www.microsoft.com/communities/
6- http://www.vbkeys.com/
اﻟﻄﺒﻌﺔ اﻷوﻟﻲ، " " ﺗﻌﻠﻢ ﺧﻄﻮة ﺑﺨﻄﻮة٢٠٠٥ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ: ﺗﺮﺟﻤﺔ ﻣﺮﻛﺰ اﻟﺘﻌﺮﯾﺐ واﻟﺒﺮﻣﺠﺔ ﺑﺪار اﻟﻌﺮﺑﯿﺔ ﻟﻠﻌﻠﻮم، ﻣﺎﯾﻜﻞ ھﺎﻟﻔﺮﺳﻮن- 1
٥٥٦ ص، ٢٠٠٦
٥٦٠ ص، ﻣﺮﺟﻊ ﺳﺎﺑﻖ- 2
1
. اﻟﺒﺮاﻣﺞ اﻟﺘﺎﺑﻊ ﻟﻠﺒﺮﻣﺠﺔ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﻛﺎﻣﻠﺔ: أﻧﺘﺎج ﻣﻮﺳﻮﻋﺔ ﺳﻮﻓﺖ، ﻣﻮﺳﻮﻋﺔ اﻟﻤﺒﺮﻣﺞ اﻟﻌﺮﺑﻲ-
http://mawsoaa.faressoft.com/ , Viewed 27/1/2009
http://mawsoaa.faressoft.com/Download.html
.ﺳﻮف ﺗﻘﻮم أوﻻً ﺑﺈدﺧﺎل اﻟﺒﯿﺎﻧﺎت وھﻰ ) اﻷﺳﻢ – اﻟﺪوﻟﺔ – اﻟﻤﺪﯾﻨﺔ – اﻟﺒﺮﯾﺪ اﻷﻟﻜﺘﺮوﻧﻲ ( ﺛﻢ ﺗﺪﺧﻞ ﻋﻠﻰ اﻟﻤﻮاﻗﻊ ﺛﻢ ﺗﺒﺪأ ﺑﺎﻟﺘﺤﻤﯿﻞ
http://rs279.rapidshare.com/files/134582739/Mawsoaa.part1.rar
http://rs77.rapidshare.com/files/134625878/Mawsoaa.part2.rar
ﺍﳌﻠﺤﻖ ﺍﻷﻭﻝ:
• اﻟﺘﻌﺮف ﻋﻠﻰ ﻟﻐﺔ اﻷﺳﺘﻌﻼﻣﺎت اﻟﺒﻨﯿﻮﯾﺔ .SQL
ﺍﳌﻠﺤﻖ ﺍﻟﺜﺎﱐ:
• ﻗﺎﻣﻮس ﻣﺼﻄﻠﺤﺎت اﻟﺒﺮﻣﺠﺔ ﺑﻠﻐﺔ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ .VB.Net
اﻷھﺪاف:
ﺑﻌﺪ ﺇﻛﻤﺎﻝ ﻫﺬﺍ ﺍﳌﻠﺤﻖ ،ﺳﺘﺘﻤﻜﻦ ﻣﻦ ﺗﻨﻔﻴﺬ ﻣﺎ ﻳﻠﻲ -:
ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥ھﻮ ﺗﺮﻗﯿﺔ و ﺗﺤﺴﯿﻦ ﻣﮭﻤﯿﻦ ﻟﻨﻈﺎم ﺗﻄﻮﯾﺮ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٦و ﺗﺮﻗﯿﺔ ﺗﻜﺮارﯾﺔ ﻟﺒﺮﻧﺎﻣﺞ
اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٣دوت ﻧﺖ و ﯾﻌﻄﯿﻚ اﻟﻤﻠﺤﻖ اﻟﻘﺪرة ﻋﻠﻲ ﻣﻌﺮﻓﺔ ﻟﻐﺔ اﻷﺳﺘﻌﻼﻣﺎت .SQL
و ﺗﺴﺘﺨﺪم ﻋﻨﺪ رﺑﻂ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﺑﻘﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت و ﺗﺴﺘﺨﺪم ADO.Net 2 Programmingو اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻜﺘﺒﺎت (OleDB
) , SQLClientواﺳﺘﺨﺪام اﻟﺘﺼﻨﯿﻔﺎت اﻟﺘﻲ ﺗﺴﺘﺨﺪم ﻟﺮﺑﻂ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﺑﺄﻧﻮاﻋﮭﺎ ﻣﺜﻞ-:
DML
Select ﺟﻤﻠﺔ •
Where ﻋﺒﺎرة اﻟﺸﺮط •
ﻓﻲ اﻟﺸﺮطLike ﻣﻌﺎﻣﻞ •
Insert Into أﻣﺮ أﺿﺎﻓﺔ ﺻﻒ ﻓﻲ اﻟﺠﺪول •
Update أﻣﺮ اﻟﺘﻌﺪﯾﻞ ﻓﻲ اﻟﺠﺪول •
Delete أﻣﺮ اﻟﺤﺬف ﻣﻦ اﻟﺠﺪول •
SQL Function
DLL
Ms-Access , Ms-SQL Server , DB2 , Oracle ,SQL Server 2000 OR 2005 , etc.
Select ﺟﻤﻠﮫ
ﺗﺴﺘﺨﺪم ﻓﻲ إﺳﺘﺨﺮاج ﺑﯿﺎﻧﺎت ﻣﻦ داﺧﻞ اﻟﺠﺪول ﺣﺴﺐ اﻟﻤﻄﻠﻮب
Result: اﻟﻨﺘﯿﺠﮫ
LastName FirstName
Hansen Ola
Svendson Tove
Pettersen Kari
Result: اﻟﻨﺘﯿﺠﮫ
ﻟﻠﺠﻤﻠﮫ ﺗﻤﻜﻨﻚ ﻣﻦ اﻟﻌﺮض اﻟﻘﯿﻢ ﺑﺪون ﺗﻜﺮار )ﯾﻌﻨﻲ ﻟﻮ اﻟﺠﺪول ﻓﯿﮫ ﺑﯿﺎن ﻣﺘﻜﺮر اﻛﺘﺮ ﻣﻦ ﻣﺮه ﺑﺘﻌﺮﺿﮫ ﻣﺮهDISTINCT إﺿﺎﻓﮫ ﻛﻠﻤﮫ
. (واﺣﺪه ﺑﺲ
"Orders" table
Company OrderNumber
Sega 3412
W3Schools 2312
Trio 4678
W3Schools 6798
Result: اﻟﻨﺘﯿﺠﮫ
Company
Sega
W3Schools
Trio
W3Schools
Result: اﻟﻨﺘﯿﺠﮫ
Company
Sega
W3Schools
Trio
اﻷن ﻧﻨﺘﻘﻞ ﻟﺠﺰء اﺧﺮ اﻷ وھﻮ اﺳﺘﺨﺪام اﻟﺸﺮط
اﻟﻮﺻﻒ اﻟﻤﻌﺎﻣﻞ
ﯾﺴﺄوي =
ﻷ ﯾﺴﺄوي <>
أﻛﺒﺮ ﻣﻦ >
أﺻﻐﺮ ﻣﻦ <
أﻛﺒﺮ ﻣﻦ أو ﯾﺴﺄوي >=
اﺻﻐﺮ ﻣﻦ أو ﯾﺴﺄوي <=
ﯾﻜﻮن اﻟﺸﺮط ﺑﯿﻦ ﻗﯿﻤﺘﯿﻦ Between
ﻟﻠﺒﺤﺚ ﻋﻦ ﻛﻠﻤﺎت ﻣﺘﺸﺎﺑﮭﮫ LIKE
"Persons" table
Result اﻟﻨﺘﯿﺠﮫ
ﻋﻠﻲ أﺳﺘﺨﺪام ﻋﻼﻣﮫ اﻟﺘﻨﺼﯿﺺ ﻣﻊ اﻟﺠﻤﻠﮫ ) ' (ﯾﺠﺐ أﺳﺘﺨﺪام ﻋﻼﻣﮫ ﺗﻨﺼﯿﺺ ﻣﻔﺮده ﻣﻊ اﻟﻘﯿﻢ اﻟﻨﺼﯿﮫ ﻣﺜﻞ: ﻣﻸﺣﻈﮫ ھﺎﻣﮫ
. اﻷﺳﻤﺎء اﻣﺎ ﺑﺎﻟﻨﺴﺒﮫ ﻟﻠﺒﯿﺎﻧﺎت اﻟﺮﻗﻤﯿﮫ ﺗﻜﺘﺒﮫ ﻣﻦ دون ﻋﻼﻣﺎت
: ﻣﺜﺎل ﻋﻠﻲ ذﻟﻚ
ﺗﺴﺘﺨﺪم ﻋﻼﻣﮫ ) ( %ﻟﺘﺤﺪﯾﺪ ﻋﺪد اﻟﺤﺮوف ﻗﺒﻞ و ﺑﻌﺪ اﻟﻜﻠﻤﮫ أو اﻟﺤﺮف اﻟﺬي ﻧﺒﺤﺚ ﺑﮫ ﻣﺜﺎل :
ﻓﻲ ھﺬه اﻟﺤﺎﻟﮫ ﺳﻮف ﺗﻈﮭﺮ اﺳﻤﺎء اﻷﺷﺨﺎص اﻟﺘﻲ ﺗﺒﺪا ﺑﺤﺮف Aﺛﻢ ﯾﺄﺗﻲ ﺑﻌﺪھﺎ اي ﻋﺪد ﻣﻦ اﻟﺤﺮوف
ﻓﻲ ھﺬه اﻟﺤﺎﻟﮫ ﺳﻮف ﺗﻈﮭﺮ اﺳﻤﺎء اﻷﺷﺨﺎص اﻟﺘﻲ ﺗﻨﺘﮭﻲ ﺑﺤﺮف Aوﯾﻜﻮن ﻗﺒﻠﮭﺎ اي ﻋﺪد ﻣﻦ اﻟﺤﺮوف
ﻓﻲ ھﺬه اﻟﺤﺎﻟﮫ ﺳﻮف ﺗﻈﮭﺮ اﺳﻤﺎء اﻷﺷﺨﺎص اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻲ ﺣﺮف Aﻓﻲ أي ﻣﻮﺿﻮع ﻓﻲ اﻷﺳﻢ
Person:
UPDATE Person
SET Address = 'Stien 12', City = 'Stavanger'
WHERE LastName = 'Rasmussen'
Result: اﻟﻨﺘﯿﺠﮫ
Person:
ﻟﺤﺬف اﻟﺼﻒ
Result :اﻟﻨﺘﯿﺤﮫ
Order By : ﻋﺒﺎره
ﺗﺴﺘﺨﺪم ﻟﺘﺮﺗﯿﺐ اﻟﻨﺎﺗﺞ ﻣﻦ اﻷﺳﺘﻌﻼم ﺣﺴﺐ ﺣﻘﻞ ﻣﺤﺪد
: ﻣﺜﺎل ﻋﻠﻲ اﻟﺘﺮﯾﺐ
Orders:
Company OrderNumber
Sega 3412
ABC Shop 5678
W3Schools 2312
W3Schools 6798
Result: اﻟﻨﺘﯿﺠﮫ
Company OrderNumber
ABC Shop 5678
Sega 3412
W3Schools 6798
W3Schools 2312
Result: اﻟﻨﺘﯿﺠﮫ
Company OrderNumber
ABC Shop 5678
Sega 3412
W3Schools 2312
W3Schools 6798
: ﻣﺜﺎل
Prog: Mohamed Youssef ١٩٤ E_Mail: Mohamed.yoyo@gmail.com
SELECT Company, OrderNumber FROM Orders
ORDER BY Company DESC
Result: اﻟﻨﺘﯿﺠﮫ
Company OrderNumber
W3Schools 6798
W3Schools 2312
Sega 3412
ABC Shop 5678
: ﻣﺜﺎل
ﯾﻤﻜﻦ ﻋﻤﻞ ذﻟﻚ ﺑﻄﺮﯾﻘﺘﯿﻦ
: اﻟﻄﺮﯾﻘﮫ اﻷوﻟﻲ
اﻣﺎ اﻟﻄﺮﯾﻘﮫ اﻟﺜﺎﻧﯿﮫ ھﻲ ﻛﺘﺎﺑﮫ اﻟﺤﻘﻮل اﻟﻤﻄﻠﻮب ﺗﺮﺗﯿﺒﮭﺎ ﺗﺼﺎﻋﺪﯾﺎ أوﻷ ﺛﻢ اﻟﺤﻘﻮل اﻟﻤﻄﻠﻮب ﺗﺮﺗﯿﺒﮭﺎ ﺗﻨﺎزﻟﯿﺎ
: ﻣﺜﺎل
SELECT Company, OrderNumber FROM Orders
ORDER BY OrderNumber , Company DESC
Result: اﻟﻨﺘﯿﺠﮫ
Company OrderNumber
W3Schools 2312
W3Schools 6798
Sega 3412
ABC Shop 5678
اﻷن ﻧﻨﺘﻘﻞ ﻟﻤﻌﺎﻣﻼت ﺟﺪﯾﺪه
And – OR اﻟﻤﻌﺎﻣﻠﯿﻦ
-:ﯾﺴﺘﺨﺪم ھﺬﯾﻦ اﻟﻤﻌﺎﻣﻠﯿﻦ ﻓﻲ رﺑﻂ ﺷﺮﻃﯿﻦ أو أﻛﺜﺮ
ﯾﻘﻮم ﺑﻌﺮض اﻟﻨﺘﺎﺋﺞ ﻓﻲ ﺣﺎﻟﮫ ﺗﺤﻘﻖ ﺟﻤﯿﻊ اﻟﺸﺮوطAND اﻟﻤﻌﺎﻣﻞ-
ﯾﻘﻮم ﺑﻌﺮض اﻟﻨﺘﺎﺋﺞ ﻓﻲ ﺣﺎﻟﮫ ﺗﺤﻘﻖ اي ﺷﺮط ﻣﻦ اﻟﺸﺮوطOR اﻟﻤﻌﺎﻣﻞ-
Result: اﻟﻨﺘﯿﺠﮫ
: OR أﺳﺘﺨﺪام اﻟﻤﻌﺎﻣﻞ
SELECT * FROM Persons
WHERE firstname='Tove'
OR lastname='Svendson'
Result: اﻟﻨﺘﯿﺠﮫ
Result: اﻟﻨﺘﯿﺠﮫ
IN اﻟﻤﻌﺎﻣﻞ
ﻟﮫ ﻋﺪه أﺳﺘﺨﺪاﻣﺎت ﻣﻨﮭﺎ اﻧﮫ ﯾﻤﻜﻨﻚ ﺗﺤﺪﯾﺪ اﻟﻘﯿﻤﮫ اﻟﻤﺮاد ﻋﺮﺿﮭﺎ إذا ﻛﻨﺖ ﻣﺘﺄﻛﺪ ﻣﻦ وﺟﻮدھﺎ ﻓﻲ أﺣﺪ اﻟﺤﻘﻮل
: ﺑﻨﺎء اﻟﺠﻤﻠﮫ
SELECT column_name FROM table_name
WHERE column_name IN (value1,value2,..)
: ﺑﻨﺎء اﻟﺠﻤﻠﮫ
SELECT column_name FROM table_name
WHERE column_name
BETWEEN value1 AND value2
Result: اﻟﻨﺘﯿﺠﮫ
Result: اﻟﻨﺘﯿﺠﮫ
Family Name
Hansen Ola
Svendson Tove
Pettersen Kari
Result: اﻟﻨﺘﯿﺠﮫ
LastName FirstName
Hansen Ola
Svendson Tove
Pettersen Kari
. ﻓﻲ ﺑﻌﺾ اﻷﺣﯿﺎن ﻧﺤﺘﺎج إﻟﻲ ﻋﺮض ﺑﯿﺎﻧﺎت ﻣﻦ ﺟﺪوﻟﯿﻦ أو أﻛﺜﺮ ﻟﺠﻌﻞ اﻟﻨﺘﯿﺠﮫ ﻛﺎﻣﻠﮫ ﯾﺠﺐ اﻧﺸﺎء ﻋﻸﻗﮫ
( اﻟﺤﻘﻞ اﻟﺬي ﯾﻜﻮن ﻣﻔﺘﺎح اﺳﺎﺳﻲ ﻷ ﯾﻤﻜﻦ ﺗﻜﺮار اﻟﺒﯿﺎﻧﺎتPrimary Key) اﻟﺮﺑﻂ ﺑﯿﻦ اﻟﺠﺪأو ﯾﺘﻢ ﻋﻦ ﻃﺮﯾﻖ اﻟﻤﻔﺘﺎح اﻷﺳﺎﺳﻲ
. ﺑﺪاﺧﻠﮫ
. ( ھﻮ ﺣﻘﻞ ﻣﻔﺘﺎح اﺳﺎﺳﻲ اﻟﺨﺎص ﺑﺠﺪول اﻟﻤﻮﻇﻔﯿﻦEmployee_ID) ﻓﻲ اﻟﺠﺪول اﻟﺘﺎﻟﻲ ﺣﻘﻞ
( ھﻮ ﺣﻘﻞ اﻟﻤﻔﺘﺎح اﻷﺳﺎﺳﻲ ﻟﻠﺠﺪول وﻓﯿﮫ اﯾﻀﺎ ﻣﻔﺘﺎح ﺧﺎرﺟﻲ وھﻮ ﺣﻘﻞOrder_ID) اﻣﺎ ﻓﻲ ﺟﺪول اﻟﺜﺎﻧﻲ اﻟﺤﻘﻞ
.(Employee_ID)
Employees:اﻟﺠﺪول اﻷول
Employee_ID Name
01 Hansen, Ola
02 Svendson, Tove
03 Svendson, Stephen
04 Pettersen, Kari
Result: اﻟﻨﺘﯿﺠﮫ
Name Product
Hansen, Ola Printer
Svendson, Stephen Table
Svendson, Stephen Chair
SELECT Employees.Name
FROM Employees, Orders
WHERE Employees.Employee_ID=Orders.Employee_ID
AND Orders.Product='Printer'
Name
Hansen, Ola
Result: اﻟﻨﺘﯿﺠﮫ
Name Product
Hansen, Ola Printer
Svendson, Stephen Table
Svendson, Stephen Chair
: ﺑﻨﺎء اﻟﺠﻤﻠﮫ
SELECT field1, field2, field3
FROM first_table
LEFT JOIN second_table
ON first_table.keyfield = second_table.foreign_keyfield
: ﺗﻨﻔﯿﺬ اﻟﺠﻤﻠﮫ ﻋﻠﻲ اﻟﻤﺜﺎل
SELECT Employees.Name, Orders.Product
FROM Employees
LEFT JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
اﻟﻨﺘﯿﺠﮫResult:
Name Product
Hansen, Ola Printer
Svendson, Tove
Svendson, Stephen Table
Svendson, Stephen Chair
Pettersen, Kari
: ﺑﻨﺎء اﻟﺠﻤﻠﮫ
Result: اﻟﻨﺘﯿﺠﮫ
Name Product
Hansen, Ola Printer
Svendson, Stephen Table
Svendson, Stephen Chair
ﺣﺘﻲ ﻟﻮﺗﺔﺟﺪ ﻓﻲ اﻟﺠﺪول اﻷولOrders ﺑﻌﺮض ﺟﻤﯿﻊ اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺠﺪول اﻟﺜﺎﻧﻲRIGHT JOIN ﺗﻘﻮم اﻟﺠﻤﻠﮫ
SELECT Employees.Name
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
WHERE Orders.Product = 'Printer'
اﻟﻨﺘﯿﺠﮫResult:
Name
Hansen, Ola
ﺍﻟﺴﺠﻼﺕ ﺍﻟﻨﺎﺗﺠﺔ ﻣﻦ ﺍﻟﺠﺪﻭﻝ ﺍﻷﻳﻤﻦ ﺍﻟﺴﺠﻼﺕ ﺍﻟﻨﺎﺗﺠﺔ ﻣﻦ ﺍﻟﺠﺪﻭﻝ ﺍﻷﻳﺴﺮ ﻧﻮﻉ ﺍﻟﺮﺑﻂ
اﻟﺴﺠﻼت اﻟﻤﺘﻌﻠﻘﺔ ﺑﺎﻟﺠﺪول اﻷﯾﺴﺮ ﻓﻘﻂ اﻟﺴﺠﻼت اﻟﻤﺘﻌﻠﻘﺔ ﺑﺎﻟﺠﺪول اﻷﯾﻤﻦ ﻓﻘﻂ INNER
اﻟﺴﺠﻼت اﻟﻤﺘﻌﻠﻘﺔ ﺑﺎﻟﺠﺪول اﻷﯾﺴﺮ ﻓﻘﻂ ﺟﻤﯿﻊ اﻟﺴﺠﻼت LEFT
ﺟﻤﯿﻊ اﻟﺴﺠﻼت اﻟﺴﺠﻼت اﻟﻤﺘﻌﻠﻘﺔ ﺑﺎﻟﺠﺪول اﻷﯾﻤﻦ ﻓﻘﻂ RIGHT
1
٩٢ ص، ٢٠٠٥/٢٠٠٤ ﻟﻌﺎم، اﻟﻤﻌﮭﺪ اﻟﻌﺎﻟﻰ ﻟﻠﺤﺎﺳﺐ اﻵﻟﻲ، ﺑﻮرﺳﻌﯿﺪ، Access (١) ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت: ﺳﻤﯿﺮ ﻣﺤﻤﺪ اﻟﻤﻜﺎوي/م. د-
: ﻣﺜﺎل
Employees_Norway:
E_ID E_Name
01 Hansen, Ola
02 Svendson, Tove
03 Svendson, Stephen
04 Pettersen, Kari
Employees_USA:
E_ID E_Name
01 Turner, Sally
02 Kent, Clark
03 Svendson, Stephen
04 Scott, Stephen
Result: اﻟﻨﺘﯿﺠﮫ
E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Scott, Stephen
. ﻧﻸﺣﻆ ان اﻟﻨﺘﯿﺠﮫ ﻇﮭﺮت ﺑﺪون ﺗﻜﺮار ﻟﻠﺒﯿﺎﻧﺎت
: UNION ALL أﺳﺘﺨﺪام
. اﻟﻔﺮق اﻧﮫ ﯾﻘﻮم ﺑﻌﺮض ﺟﻤﯿﻊ اﻟﺒﯿﺎﻧﺎت ﺣﺘﻲ ﻟﻮ ﯾﻮﺟﺪ ﺗﻜﺮارUNION ﻣﺜﻞ أﺳﺘﺨﺪام
SQL Statement 1
UNION ALL
SQL Statement 2
اﻟﻨﺘﯿﺠﮫ Result:
E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Svendson, Stephen
Scott, Stephen
ﻧﻸﺣﻆ ﻇﮭﻮر ﺟﻤﯿﻊ اﻟﺒﯿﺎﻧﺎت ﻣﻊ ﺗﻜﺮار اﺣﺪ اﻷﺳﻤﺎء اﻟﻤﺸﺘﺮك ﻓﻲ اﻟﺠﺪوﻟﯿﻦ .
)اﻷن ﻧﻨﺘﻘﻞ إﻟﻲ درس ﻣﮭﻢ ﺟﺪا ﻓﻲ ﻟﻐﮫ SQLاﻷ وھﻮ اﻟﺪوال(
اﻟﺪوال :
اﻟﻮﺻﻒ اﻟﺪاﻟﮫ
ﻷﯾﺠﺎد اﻟﻮﺳﻂ اﻟﺤﺴﺎﺑﻲ ﻟﻠﺤﻘﻞ اﻟﻤﺤﺪد )AVG(column
ﻣﻌﺮﻓﮫ ﻋﺪد اﻟﺼﻔﻮف)اﻟﺴﺠﻼت( ﻓﻲ اﻟﺤﻘﻞ ﺑﺪون اﻟﺴﺠﻼت اﻟﻔﺎرﻏﮫ )COUNT(column
ﻣﻌﺮﻓﮫ ﻋﺪد اﻟﺼﻔﻮف ﻓﻲ اﻟﺠﺪول )*(COUNT
ﻣﻌﺮﻓﮫ ﻗﯿﻤﮫ أول ﺳﺠﻞ ﻓﻲ اﻟﺤﻘﻞ )First(column
ﻣﻌﺮﻓﮫ ﻗﯿﻤﮫ أﺧﺮ ﺳﺠﻞ ﻓﻲ اﻟﺤﻘﻞ )last(column
ﻣﻌﺮﻓﮫ أﻛﺒﺮ ﻗﯿﻤﮫ ﺳﺠﻞ ﻓﻲ اﻟﺤﻘﻞ )Max(column
ﻣﻌﺮﻓﮫ أﺿﻐﺮ ﻗﯿﻤﮫ ﺳﺤﻞ ﻓﻲ اﻟﺤﻘﻞ )Min(column
ﻣﻌﺮﻓﮫ إﺟﻤﺈﻟﻲ اﻟﻘﯿﻢ ﻓﻲ اﻟﺤﻘﻞ )SUM(column
SQL SERVERﻋﺪد اﻟﺴﺠﻼت ﻓﻲ اﻟﺤﻘﻞ ﺑﺪون ﺗﻜﺮار ﺗﻌﻤﻞ ﻓﻘﻂ ﻋﻠﻲ )COUNT(DISTINCT column
: ﺑﻨﺎء اﻟﺠﻤﻠﮫ
SELECT column,SUM(column) FROM table GROUP BY column
Company Amount
W3Schools 5500
IBM 4500
W3Schools 7100
Company SUM(Amount)
W3Schools 17100
IBM 17100
W3Schools 17100
. ﻧﻸﺣﻆ ان ﺟﻤﯿﻊ اﻟﺴﺠﻼت اﺧﺬت اﻟﻤﺠﻤﻮع ﻛﻠﮫ وﻟﻢ ﻧﻌﺮف ﻣﺠﻤﻮع ﻛﻞ ﺳﺠﻞ
: GROUP BY اﻷن ﻧﺠﺮب ﺟﻤﻠﮫ اﻷﺳﺘﻌﻼم ﺑﻌﺪ إﺿﺎﻓﮫ
Company SUM(Amount)
W3Schools 12600
IBM 4500
Company Amount
W3Schools 5500
IBM 4500
W3Schools 7100
Company SUM(Amount)
W3Schools 12600
اﻷن ﯾﻤﻜﻨﻨﺎ اﻧﺸﺎء ﺟﺪأول وﺗﺤﺪﯾﺪ اﻟﺤﻘﻮل واﻧﻮاع وﺣﺠﻢ اﻟﺒﯿﺎﻧﺎت ﻓﯿﮭﺎ .
ھﻨﺎك ﻧﻮﻋﯿﻦ ﻣﻦ اﻟﻔﮭﺎرس اﻟﻨﻮع اﻷول ﻷ ﯾﻤﻜﻦ ان ﯾﺘﻜﺮر ﺑﮫ اﻟﺒﯿﺎﻧﺎت اﻣﺎ اﻟﻨﻮة\ع اﻟﺜﺎﻧﻲ ﯾﻤﻜﻦ ﺗﻜﺮار اﻟﺒﯿﺎﻧﺎت ﺑﮫ .
ﻣﺜﺎل :
اﻷﻣﺮ Drop
Dropﺗﺮﺟﻤﺘﮭﺎ اﻟﺤﺮﻓﯿﮫ إﻟﻘﺎء وﻟﻜﻨﻨﺎ ھﻨﺎ ﻧﺴﺘﺨﺪﻣﮭﺎ ﻛﺄﻣﺮ ﺣﺬف وﻟﻜﻦ ﺣﺬف اﯾﮫ ) ﻗﺎﻋﺪه ﺑﯿﺎﻧﺎت – ﻓﮭﺮس – ﺟﺪول(
ﺛﺎﻧﯿﺎ -:ﺣﺬف ﺟﺪول ﻣﻦ ﻗﺎﻋﺪه اﻟﺒﯿﺎﻧﺎت :ﯾﻜﻮن ﺑﻨﺎء اﻟﺠﻤﻠﮫ ﻛﺎﻟﺘﺎﻟﻲ :
ﻧﻮع ﻗﺎﻋﺪه اﻟﺒﯿﺎﻧﺎت Syntax for Microsoft SQLJet (and Microsoft Access):
Person:
Result: اﻟﻨﺘﯿﺠﮫ
Result: اﻟﻨﺘﯿﺠﮫ
SELECT Employees.Name,Orders.Product
INTO Empl_Ord_backup
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
: ﻣﻸﺣﻈﺎت ھﺎﻣﮫ
ﻗﺎﻋﺪه اﻟﺒﯿﺎﻧﺎت ﻷ ﺗﺘﺄﺛﺮ ﺑﻤﺎ ﯾﺘﻢ ﺗﻨﻔﯿﺬه ﻣﻦ ﺷﺮوط أو دوال-١
ﻗﺎﻋﺪه اﻟﺒﯿﺎﻧﺎت ﻷ ﺗﻘﻮم ﺑﺤﻔﻆ اﻟﻨﺎﺗﺞ ﻓﻲ ﺟﺪول واﻧﻤﺎ ﯾﻘﻮم ﻣﺤﺮك ﻗﺎﻋﺪه اﻟﺒﯿﺎﻧﺎت ﺑﺘﻨﻔﯿﺬ اﻟﺠﻤﻠﮫ ﻛﻞ ﻣﺮه ﺗﻘﻮم ﺑﺘﺸﻐﯿﻠﮫ ﻓﯿﮭﺎ-٢
: ١ ﻣﺜﺎل
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No
: ٢ ﻣﺜﺎل
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)
: ٣ ﻣﺜﺎل
CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName
PDF
. ﻗﺎم ﺑﺎﻟﻨﻘﻞ واﻟﺘﺮﺟﻤﺔ أﺣﻤﺪ ﺣﺎﻣﺪ، SQL اﻟﻤﺮﺟﻊ اﻟﺸﺎﻣﻞ ﻓﻲ ﺟﻤﻞ، ﻣﻮﻗﻊ اﻟﻔﺮﯾﻖ اﻟﻌﺮﺑﻲ ﻟﻠﺒﺮﻣﺠﺔ -١
. ﺧﻀﺮ ﯾﻮﺳﻒ ﺗﺮزي/ أ، ﺑﻨﺎء اﻟﺘﻄﺒﯿﻘﺎت ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻟﻌﻤﻼﻗﺔ، ﻣﻮﻗﻊ اﻟﻔﺮﯾﻖ اﻟﻌﺮﺑﻲ ﻟﻠﺒﺮﻣﺠﺔ -٢
. أﺣﻤﺪ ﻛﻤﺎل/ م، Ms-SQL Server ﻣﺮﺟﻊ اﻷواﻣﺮ، ﻣﻮﻗﻊ اﻟﻔﺮﯾﻖ اﻟﻌﺮﺑﻲ ﻟﻠﺒﺮﻣﺠﺔ -٣
. ﻣﺤﻤﻮد ﻣﺤﻤﺪ ﻋﺒﺪ اﻟﺮازق/ أ، ( )اﻟﺠﺰء اﻷولSQL Server ﺗﻌﻠﻢ، ﻣﻮﻗﻊ ﻛﺘﺐ اﻟﺤﺎﺳﺐ اﻟﻌﺮﺑﯿﺔ -٤
. ﻣﺠﻼد ﻣﺸﺎري اﻟﺴﺒﻌﻲ/ أ، Database اﻷﺳﺎﺳﯿﺎت ﻓﻲ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت -٥
.MaaSTracK اﻟﻜﺎﺗﺐ، ﻟﻠﻤﺒﺘﺪﺋﯿﻦSQL دﻟﯿﻞ ﺗﻌﻠﻢ اﻟـ -٦
. إﺑﺮاھﯿﻢ دروﯾﺶ/ م، SQL ﻣﻘﺪﻣﺔ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﺑﺈﺳﺘﺨﺪام -٧
1- http://www.kutub.info/library/list.php?cat=17
2- http://www.arabteam2000-forum.com/index.php?showtopic=159394
3- http://www.arabteam2000-forum.com/index.php?showtopic=87202
4- http://www.vb4arab.com/vb/forumdisplay.php?f=34
5- http://www.arabmoheet.net/forum/default.asp?codepage=2&forum_no=16
6- http://www.tartoos.com/HomePage/Rtable/ComputerSchool/Programming/program6.htm
7- http://www.swalif.net/softs/swalif59/softs197329/
8- http://vb.vip600.com/showthread.php?t=214611
9- http://www.hiarab.net/article5880.html
10- http://www.boosla.com/showArticle.php?Sec=DB&id=23
11- http://forum.mans-fci.net/viewtopic.php?f=33&t=7680&start=0&st=0&sk=t&sd=a
12- http://www.prameg.com/vb/showthread.php?t=37742
Videos:-
13- http://www.freelearn.110mb.com/sql2000/tutorials.html
Books
-١ﺗ ﺄﻟﯿﻒ ﻣﺎﯾﻜ ﻞ ھﺎﻟﻔﺮﺳ ﻮن ،ﺗﺮﺟﻤ ﺔ ﻣﺮﻛ ﺰ اﻟﺘﻌﺮﯾ ﺐ واﻟﺒﺮﻣﺠ ﺔ ﺑ ﺪار اﻟﻌﺮﺑﯿ ﺔ ﻟﻠﻌﻠ ﻮم :اﻟﻔﯿﺠ ﻮال ﺑﯿ ﺴﻚ دوت ﻧ ﺖ ٢٠٠٥
" ﺗﻌﻠﻢ ﺧﻄﻮة ﺑﺨﻄﻮة " ،اﻟﻄﺒﻌﺔ اﻷوﻟﻲ .٢٠٠٦
Videos:-
29- http://www.kutub.info/library/list.php?cat=75 ,viewed 20/10/2008
30- http://www.youtube.com/watch?v=qm7lmpkPKF4 ,viewed 25/06/2008
31- http://www.freelearn.110mb.com/visualbasic/level1/tutorials.html ,viewed 20/11/2008
32- http://www.freelearn.110mb.com/visualbasic/level2/tutorials.html ,viewed 20/11/2008
وﻟﺬﻟﻚ ﻓﺈﻧﻨﺎ ﻧﻌﺘﻘﺪ أن ﺗﺒﻨﻰ ھﺬا اﻷﺗﺠﺎة ﻣﻦ اﻷھﻤﯿﺔ ﺑﻤﻜﺎن ﺣﯿﺚ إن ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ ﻓﻰ
ﺗﻌﺘﺒﺮ ﻣﺴﺘﻤﺮ ،وﻟﻜﻦ ﻗﻮاﻋﺪ اﻟﺒﺮﻣﺠﺔ ﺗﻈﻞ ﺛﺎﺑﺘﮫ.
اﻟﻜﺘﺎب ﯾﻘﻮم ﺑﺸﺮح ﻣﺒﺎدئ اﻟﺒﺮﻣﺠﺔ وﺻﻮﻻً إﻟﻰ ﺑﺮﻣﺠﺔ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت.
وﯾﻮﺟﺪ ﻣﻼﺣﻖ ﺗﺎﺑﻌﺔ ﻟﻠﻜﺘﺎب ﻟﻠﺴﮭﻮﻟﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت و اﻟﺤﺼﻮل ﻋﻠﻰ
ﻗﺎﻣﻮس اﻟﺘﻌﺒﯿﺮات اﻟﺒﺮﻣﺠﯿﺔ.
وﯾﻨﺰل ھﺬا اﻟﻜﺘﺎب إﻟﻰ اﻟﻮاﻗﻊ اﻟﺤﻘﯿﻘﻰ ﻟﻌﺎﻟﻢ اﻟﺒﺮﻣﺠﺔ ﻟﻜﺜﺮة اﻷﺳﻠﻮب اﻟﻨﻈﺮى اﻟﻤﺘﻌﻤﻖ و
ﺗﺘﺎﺑﻊ اﻷﻛﻮاد اﻟﺒﺮﻣﺠﯿﺔ ،ﺷﺮح ﺑﺎﻟﺼﻮر ﻟﺠﻤﯿﻊ اﻷﺟﺰاء.