Visual Basic
Visual Basic
Microsoft
Visual [Link] 2005
٢
Prog : Mohamed Youssef
Content
Introduction
-١ﻣﻘﺪﻣﺔ ﻓﻰ اﻟﺪوت ﻧﺖ
- ٢ﻣﻘﺪﻣﺔ أﻃﺎر ﻋﻤﻞ .Net Framwork
Applications
-١ﻛﯿﻔﯿﺔ ﻋﻤﻞ ﻣﺘﺼﻔﺢ اﻹﻧﺘﺮﻧﺖ
- ٢ﻛﯿﻔﯿﺔ ﻋﻤﻞ ﻗﺎرئ اﻟﻜﺘﺐ اﻟﻜﺘﺮوﻧﯿﺔ PDF
-٣ﻛﯿﻔﯿﺔ ﻋﻤﻞ أﻟﺔ ﺣﺎﺳﺒﺔ ﺑﺴﯿﻄﺔ وﻣﺘﻘﺪﻣﺔ
-٤ﻛﯿﻔﯿﺔ ﻋﻤﻞ ﻟﻌﺒﺔ ﺑﺴﯿﻄﺔ ﻣﺘﻄﻮرة
-٥ﻛﯿﻔﯿﺔ ﺣﺴﺎب اﻟﺰﻣﻦ ﻣﻦ أى ﺗﺎرﯾﺦ ﺑﺈﺳﺘﺨﺪام اﻟﻨﺘﯿﺠﺔ
-٦ﻛﯿﻔﯿﺔ ﺗﺼﻤﯿﻢ ﻣﺨﺘﺒﺮ ﻟﺠﺪول ﺿﺮب ﻣﺘﻄﻮر
-٧ﻛﯿﻔﯿﺔ ﺗﺼﻤﯿﻢ أﺧﺘﺒﺎر ﺧﺎص ﺑﺄﻋﻼم اﻟﺪول
Database
- ١ﺷﺮح ﺑﺮﻧﺎﻣﺞ SQL Server 2005
- ٢ﺷﺮح اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻣﻜﺘﺒﺔ [Link] 2 Programming
- ٣اﻟﺘﻘﺎرﯾﺮ Reportsﺑﺈﺳﺘﺨﺪام Crystal Reports
Help
- ١اﻟﻤﺴﺎﻋﺪة ﻓﻰ اﻟﺒﺮﻧﺎﻣﺞ Help
-٢ﻛﯿﻒ ﯾﻤﻜﻨﻚ اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﻤﻌﻠﻮﻣﺎت
- ١ﻣﻠﺤﻖ أواﻣﺮ SQL
- ٢ﻣﻠﺤﻖ ﻗﺎﻣﻮس و ﻣﺼﻄﻠﺤﺎت اﻟﺒﺮﻧﺎﻣﺞ [Link] 2005
٣
Prog : Mohamed Youssef
ﻣﻘﺪﻣﺔ
ﻣﺮﺟﺒﺎً ﺑﻚ ﻓﻰ ھﺬا اﻟﻜﺘﺎب اﻟﺬى ﯾﺸﻜﻞ ﻣﻘﺪﻣﺔ ﺷﺎﻣﻠﺔ أﻟﻰ ﺑﺮﻣﺠﺔ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ ﺑﺄﺳﺘﻌﻤﺎل اﻟﺒﺮﻧﺎﻣﺞ
اﻟﺒﺮﻧﺎﻣﺞ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻓﯿﺠﻮال ﺑﯿﺴﻚ . ٢٠٠٥
ﻟﻘﺪ ﺻﻤﻤﺖ ھﺬا اﻟﻜﺘﺎب اﻟﺘﻌﻠﯿﻤﻰ ﻣﻊ اﻻﺧﺬ ﻓﻰ اﻻﻋﺘﺒﺎر ﻣﺠﻤﻮﻋﺔ ﻣﺘﻨﻮﻋﺔ ﻣﻦ ﻣﺴﺘﻮﯾﺎت اﻟﻤﮭﺎرات و اﻟﻤﻮﺿﻮﻋﺎت
اﻟﻤﺘﻨﻮﻋﺔ .واﻟﻨﺘﯿﺠﺔ ھﻰ أن اﻟﻤﺒﺮﻣﺠﯿﻦ اﻟﺠﺪد ﯾﺴﺘﻄﯿﻌﻮن ان ﯾﺘﻌﻠﻤﻮا أﺳﺎﺳﯿﺎت اﻟﺒﺮاﻣﺞ ﻓﻰ ﺳﯿﺎق ﺑﺮاﻣﺞ ﺣﻘﯿﻘﯿﺔ و
ﻣﻔﯿﺪة ،و ﯾﺴﺘﻄﯿﻊ ﻣﺒﺮﻣﺠﻮا اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٦اﻟﺨﺒﺮاء أﺟﺎدة ﺑﺴﺮﻋﺔ أدوات و أذا ﻛﻨﺖ ﻣﺒﺪئ ﻓﻰ ﻋﺎﻟﻢ اﻟﺒﺮﻣﺠﺔ ﻓﺘﻜﻮن
ﺳﻌﯿﺪ اﻟﺨﻂ ﻷﺳﺘﺨﺪاﻣﻚ ﺗﻘﻨﯿﺔ اﻟﺪوت ﻧﺖ .
ﻣﺎ ﯾﻜﻤﻞ ھﺬا اﻻﺳﻠﻮب اﻟﺸﺎﻣﻞ ھﻮ ﺑﻨﯿﺔ اﻟﻜﺘﺎب ٤أﺟﺰاء و ﻣﻠﺤﻖ ﻣﻨﻈﻤﺔ ﺣﺴﺐ اﻟﻤﻮﺿﻮع ٣٠ ،ﻓﺼﻼً ،و
ﺑﺈﺳﺘﻌﻤﺎل ھﺬا اﻟﻜﺘﺎب .،ﺳﻨﺘﻌﻠﻢ ﺑﺴﺮﻋﺔ ﻛﯿﻔﯿﺔ أﻧﺸﺎء ﺑﺮاﻣﺞ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥ذات ﻧﻮﻋﯿﺔ ﻣﺘﻄﻮرة و ﺑﺮاﻣﺞ
ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت و ﺗﻄﺒﯿﻘﺎت اﻟﻮﯾﻨﺪوز.
ﺣﯿﻨﻤﺎ أﺻﺪرت )ﻣﯿﻜﺮوﺳﻮﻓﺖ( أوّل ﻧﺴﺨﺔ ﻣﻦ ﻟﻐﺔ Visual Basicﻋﺎمَ ،١٩٩١ﻟﻢ ﯾﻜﻦ ﻓﻲ ﺣﺴﺒﺎﻧِﮭﺎ أﻧّﮭﺎ ﺳﺘﻜﺘﺴﺐُ ﻛﻞّ
ھﺬه اﻟﺸﮭﺮةِ وﺳﺘﺤﻘّﻖ ﻛﻞّ ھﺬه اﻟﺸﻌﺒﯿّﺔ!
إنّ ﻟﻐﺔ BASICاﻟﻘﺪﯾﻤﺔ ﺗُﻌَﺪّ ﻣﻦ أﺳﮭﻞ ﻟﻐﺎتِ اﻟﺒﺮﻣﺠﺔ ،وﻟﻜّﻨﮭﺎ ﻟﻢ ﺗﺴﺘﻄﻊ اﻟﺼﻤﻮد ﻓﻲ اﻟﻤﻨﺎﻓﺴﺔ ﻣﻊ ﻟﻐﺎتِ اﻟﺒﺮﻣﺠﺔ
اﻷﺧﺮى ﺑﺴﺒﺐ ﻗﺪراﺗِﮭﺎ اﻟﻤﺤﺪودة.
ﻛﺎنَ ذﻟﻚ ﻛﺬﻟﻚ ،ﺣﺘّﻰ أﺻﺪرت )ﻣﯿﻜﺮوﺳﻮﻓﺖ( إﺻﺪارات VBاﻟﻤﺘﺘﺎﺑﻌﺔ ،ﻟﺘﻨﺘﻘﻞ ﻟﻐﺔ BASICﻣﻦ ﻗِﻔﺎر اﻟﺪوس اﻟﻤﺠﺪﺑﺔ إﻟﻰ
ﻣﺮاﻋﻲ اﻟﻮﯾﻨﺪوز اﻟﺨﺼﺒﺔ ،ﻣﺎﻧﺤﺔً ﻟﻠﻤﺒﺮﻣﺞ اﻟﻘﺪرة ﻋﻠﻰ إﻧﺸﺎءِ ﺑﺮاﻣﺞ ذات واﺟﮭﺔ ﻣﺮﺋﯿّﺔ ،ﺑﺄﺳﮭﻞِ ﻃﺮﯾﻘﺔٍ وﻓﻲ أﺳﺮعِ
وﻗﺖ.
وﻣﻨﺬﺋﺬٍ وﻟﻐﺔ VBﺗﺘﺼﺪّر ﻗﺎﺋﻤﺔ ﻣﺒﯿﻌﺎت ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ ،ﻟﺘﺪﺧﻞَ ﻓﻲ ﺑﻨﺎءِ اﻟﺘﻄﺒﯿﻘﺎتِ اﻟﺘﺠﺎرﯾّﺔ وﺗﻄﺒﯿﻘﺎتِ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎتِ
اﻟﺒﺴﯿﻄﺔ ،وﺑﺮاﻣﺞ اﻟﻮﺳﺎﺋﻂ اﻟﻤﺘﻌﺪّدة Multimediaواﻟﻜﺜﯿﺮ ﻣﻦ اﻷﻟﻌﺎب.
وﻟﻜﻦ ﻟﻸﺳﻒ ..داﺋﻤﺎ وأﺑﺪا ﻛﺎﻧﺖ VBأدﻧﻰ ﻣﻦ ﺑﺎﻗﻲ ﻟﻐﺎتِ اﻟﺒﺮﻣﺠﺔ ،ﻓﺘﻄﺒﯿﻘﺎﺗُﮭﺎ أﺑﻄﺄ ﻧﺴﺒﯿّﺎ وأﻛﺒﺮ ﺣﺠﻤﺎ ،وﺗﻌﺎﻧﻲ ﻣﻦ
ﺑﻌﺾ أوﺟﮫِ اﻟﻘﺼﻮرِ ﻓﻲ اﻷداء.
وﻟﻘﺪ اﺳﺘﻤﺮّت )ﻣﯿﻜﺮوﺳﻮﻓﺖ( ﻓﻲ ﺗﻄﻮﯾﺮ VBﻋﺒﺮَ ﺳﺖّ إﺻﺪاراتٍ ﻣﺨﺘﻠﻔﺔ ،وﻓﻲ ﻛﻞّ إﺻﺪارٍ ﺟﺪﯾﺪٍ ﻛﺎﻧﺖ ﺗﻌﺎﻟﺞُ ﺑﻌﺾَ
اﻟﻤﺸﺎﻛﻞِ اﻟﻘﺪﯾﻤﺔِ وﺗﻀﯿﻒُ اﻟﻤﺰﯾﺪَ ﻣﻦ اﻟﻘﺪرات ،ﻟﺘﻀﯿﻖَ اﻟﻔﺠﻮةُ ﺷﯿﺌًﺎ ﻓﺸﯿﺌﺎ ﺑﯿﻦ VBوﺑﺎﻗﻲ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ.
ﺛﻢّ أﺧﯿﺮا أﻗﺪﻣﺖ )ﻣﯿﻜﺮوﺳﻮﻓﺖ( ﻋﻠﻰ اﻟﺨﻄﻮة اﻟﺘﻲ ﻃﺎل اﻧﺘﻈﺎرھﺎ ..أﺻﺪرت ﻧﺴﺨﺔ ﺟﺪﯾﺪةً ﺑﻜﻞّ اﻟﻤﻘﺎﯾﯿﺲ ﻣﻦ ، VBﺑﻨﺘﮭﺎ
ﻣﻦ ﺟﺬورھﺎ From scratchﻟﺘﺠﻌﻠﮭﺎ ﻧﺪّا ﺣﻘﯿﻘﯿّﺎ ﻟـ ، VC++ﺑﺤﯿﺚُ ﯾﻤﻜﻨﻚ أن ﺗﻘﻮلَ ﺑﺜﻘﺔ :إنّ اﻟﻌﺼﺮَ اﻟﺬھﺒﻲﱠ ﻟـ VC++
آﺧﺬٌ ﻓﻲ اﻷﻓﻮل ﺑﻼ رﺟﻌﺔ ،ﺣﯿﺚُ ﺳﯿﻨﺤﺼﺮُ اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﺗﺼﻤﯿﻢ اﻟﻤﺤﺮّﻛﺎت Enginesاﻟﺘﻲ ﺗﺪﺧﻞ ﻓﻲ ﺑﻨﺎء ﺗﻄﺒﯿﻘﺎت
أﺧﺮى ،أو ﻓﻲ ﻛﺘﺎﺑﺔ اﻟﻜﻮد اﻟﺬي ﯾﺘﯿﺢ ﻟﻠﻜﻤﺒﯿﻮﺗﺮ اﻟﺘﺤﻜﻢّ ﻓﻲ آﻻت أﺧﺮى ،وﻟﻜﻦّ اﺳﺘﺨﺪاﻣﮭﺎ ﺳﯿﺘﺮاﺟﻊ ﺑﻼ ﺷﻚّ ﻓﻲ ﺗﻄﺒﯿﻘﺎت
اﻹﻧﺘﺮﻧﺖ واﻟﺘﻄﺒﯿﻘﺎت اﻟﺘﺠﺎرﯾّﺔ وﺗﻄﺒﯿﻘﺎت ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت واﻟﻮﺳﺎﺋﻂ اﻟﻤﺘﻌﺪّدة وﻣﻌﻈﻢ اﻷﻟﻌﺎب وﻣﺎ ﺷﺎﺑﮫ ،ﻧﻈﺮًا ﻟﺼﻌﻮﺑﺘِﮭﺎ
وﺗﻌﻘﯿﺪِھﺎ وﻃﻮل اﻟﻮﻗﺖ اﻟﻼزم ﻟﻠﺒﺮﻣﺠﺔ ﺑﮭﺎ!
وأﻋﺘﻘﺪُ أنّ ھﺬا ھﻮ اﻟﺴﺒﺐ اﻟﺬي دﻓﻊ )ﻣﯿﻜﺮوﺳﻮﻓﺖ( ﻹﺻﺪار اﻟﻠﻐﺔ اﻟﺠﺪﯾﺪة ، C#اﻟﺘﻲ ﺗُﻌﺘﺒﺮ ﺗﻮأﻣﺎ ﻟـ VBإﻻ إﻧّﮭﺎ ﺗﺴﺘﺨﺪم
ﻗﻮاﻋﺪ C++ﻓﻲ ﻛﺘﺎﺑﺔ اﻷواﻣﺮ ،ﻣﻤّﺎ ﯾﺸﻜّﻞُ ﻟﻤﺒﺮﻣﺠﻲ VC++إﻏﺮاءً ﺗﺼﻌﺐُ ﻣﻘﺎوﻣﺘﮫ ﻟﻼﻧﺘﻘﺎلِ إﻟﯿﮭﺎ.
وﻟﻜﻦ ﻣﮭﻤﺎ ﻛﺎﻧﺖ ﺳﮭﻮﻟﺔ ، C#ﻓﺈنّ VBﯾﺼﺮﻋُﮭﺎ ﻓﻲ ھﺬا اﻟﻤﻀﻤﺎر ،ﻓﮭﻮ أﻗﺮبُ ﻣﺎ ﯾﻜﻮنُ ﻟﻠّﻐﺔِ اﻹﻧﺠﻠﯿﺰﯾّﺔ اﻟﻌﺎدﯾّﺔ ،وﻻ
ﯾﺤﺘﻮي ﻋﻠﻰ اﻟﺮﻣﻮزِ اﻟﻜﺜﯿﺮةِ اﻟﻤﻤﻠّﺔ اﻟﺘﻲ ﺗﻤﻸ ، C++ﻣﺜﻞ ; ||.... ،== ،++ ،إﻟﻰ آﺧﺮ ھﺬه اﻟﺮﻣﻮزِ اﻟﺘﻲ ﺗﺠﻌﻞُ اﺣﺘﻤﺎﻻتِ
اﻟﺨﻄﺈ ﻋﻨﺪ ﻛﺘﺎﺑﺔِ اﻟﻜﻮدِ أﻋﻠﻰ ،وﺗﺠﻌﻞُ اﻟﺒﺮﻧﺎﻣﺞَ أﺻﻌﺐَ ﻓﮭﻤًﺎ وأﻗﻞﱠ أﻟﻔﺔً ﻋﻨﺪَ ﻗﺮاءﺗﮫ.
إنّ اﻟﺘﻄﻮﯾﺮات اﻟﺘﻲ ﻟﺤﻘﺖ ﺑـ [Link]ﻣﻦ اﻟﻜﺜﺮةِ ﺑﺤﯿﺚُ ﻟﻦ ﻧﺴﺘﻄﯿﻊ أن ﻧﺤﯿﻂَ ﺑﮭﺎ ﻛﻠّﮭﺎ ھﻨﺎ ..وﻟﻜﻦ ﯾﻜﻔﻲ أن ﻧﺬﻛﺮ ﻣﻨﮭﺎ ﻣﺎ
ﯾﻠﻲ:
-ﻟﻢ ﺗﻌﺪ ﻟـ VBواﺟﮭﺔ اﺳﺘﺨﺪام ﻣﺴﺘﻘﻠّﺔ ،ﻓﻜﻞّ ﻟﻐﺎت [Link]ﺗﺴﺘﺨﺪم واﺟﮭﺔ واﺣﺪة ،ﻣﻠﯿﺌﺔ ﺑﺎﻷدواتِ اﻟﺘﻲ ﺗُﺴﮭّﻞ ﺑﻄﺮﯾﻘﺔ
ﻣﺪھﺸﺔ ﻋﻤﻠﯿّﺔَ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ ..إنّ ھﺬه اﻟﻤﯿﺰة ﺗﺴﻤﺢ ﻟﻚ ﺑﺈﻧﺸﺎء ﺗﻄﺒﯿﻘﺎت ﺗﺪﺧﻞ ﻓﯿﮭﺎ أﻛﺜﺮ ﻣﻦ ﻟﻐﺔ ﺑﺮﻣﺠﺔ ،دون أن
ﺗﺤﺘﺎج ﻟﻔﺘﺢ أﻛﺜﺮ ﻣﻦ واﺟﮭﺔ ..إﻧّﮭﺎ واﺟﮭﺔ واﺣﺪة ﻓﻘﻂ ﻟﻜﻞّ اﻟﻤﺒﺮﻣﺠﯿﻦ.
ھﻨﺎك إﻣﻜﺎﻧﯿّﺎت ﺟﺪﯾﺪةٌ ﻓﻲ ﻧﺎﻓﺬة ﻣﺤﺮّر اﻟﻜﻮد ،ﻣﻨﮭﺎ ﻗﯿﺎم اﻟﻠﻐﺔ ﺑﻜﺘﺎﺑﺔ ﺟﻤﻠﺔ ﻧﮭﺎﯾﺔ اﻟﻤﻘﻄﻊ ﺗﻠﻘﺎﺋﯿّﺎ ،ﺑﻤﺠﺮّد ﻛﺘﺎﺑﺘﻚ ﻟﺒﺪاﯾﺘﮫ
٤
Prog : Mohamed Youssef
وﺿﻐﻂ زرّ Enter..ﻓﻤﺜﻼ :ﻟﻮ ﻛﺘﺒﺖ ﺟﻤﻠﺔ:
If X = 0 Then
ﻓﺈنّ ﻣﺤﺮّر اﻟﻜﻮد ﺳﯿﻀﯿﻒ اﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﯿﺔ ﺗﻠﻘﺎﺋﯿّﺎ:
End If
-ھﻨﺎك ﺗﺤﺴﯿﻨﺎتٌ ﻛﺜﯿﺮةٌ ﻓﻲ ﻣﻈﮭﺮ اﻟﻨﻤﻮذج واﻷدوات ،وھﻨﺎك اﻟﻌﺪﯾﺪُ ﻣﻦ اﻟﺨﺼﺎﺋﺺ واﻟﻮﺳﺎﺋﻞ اﻟﺠﺪﯾﺪة اﻟﺘﻲ ﺗﻤّﺖ إﺿﺎﻓﺘﮭﺎ
ﻟﮭﺬه اﻟﻌﻨﺎﺻﺮ ،ﺑﺤﯿﺚ ﺗﻤﻨﺤﻚ ﺗﺤﻜّﻤﺎ أﻛﺒﺮ ﻓﯿﮭﺎ ..ﻓﻤﺜﻼ ،أﺻﺒﺢ ﺑﺈﻣﻜﺎﻧﻚ ﺗﺤﺪﯾﺪ درﺟﺔ ﺷﻔﺎﻓﯿﺔ اﻟﻨﻤﻮذج ،ﻛﻤﺎ ﺻﺎر ﺑﺈﻣﻜﺎﻧﻚ
ﺗﺤﺪﯾﺪ اﻟﻤﻨﻄﻘﺔ اﻟﺘﻲ ﺳﺘﻈﮭﺮ ﻣﻨﮫ ﻋﻠﻰ اﻟﺸﺎﺷﺔ ،ﺑﺤﯿﺚ ﯾﻤﻜﻨﻚ ﺗﺼﻤﯿﻢ ﻧﻤﺎذج ﺑﺄيّ ﺷﻜﻞ ..وﻟﻢ ﺗﻌﺪ ﻣﻀﻄﺮّا ﻟﻜﺘﺎﺑﺔ اﻟﻜﻮد اﻟﺬي
ﯾﺤﺎﻓﻆ ﻋﻠﻰ ﺗﻨﺎﺳﺐ ﻣﻘﺎﯾﯿﺲ اﻷدوات ﻣﻊ ﻣﻘﺎﯾﯿﺲ اﻟﻨﻤﻮذج ﻛﻠّﻤﺎ ﺗﻐﯿّﺮ ﺣﺠﻢ اﻟﻨﻤﻮذج ،ﻓﻘﺪ ﺻﺎرت ھﻨﺎك ﺧﺼﺎﺋﺺُ ﺟﺎھﺰةٌ
ﻣﺴﺌﻮﻟﺔً ﻋﻦ ھﺬا ..ھﺬا ﺑﺨﻼفِ اﻟﻌﺪﯾﺪ ﻣﻦ اﻷدوات اﻟﺠﺪﯾﺪة ،ﻣﺜﻞ اﻟﻔﺎﺻﻞ Splitterاﻟﺬي ﯾُﻤﻜّﻨﻚ ﻣﻦ ﺗﻐﯿﯿﺮِ ﺣﺠﻢِ اﻷدوات
اﻟﻤﺘﺠﺎورةِ أﺛﻨﺎء ﺗﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ.
-ﺻﺎر ﺑﺈﻣﻜﺎﻧﻚ إﺿﺎﻓﺔ اﻷزرار واﻷدوات ﻟﻠﻨﻤﺎذج ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﯿﺬ ، Run Timeﻣﻊ ﻗﺪرﺗﻚ ﻋﻠﻰ رﺑﻄﮭﺎ ﺑﺄيّ إﺟﺮاء ،ﻟﯿﺘﻢّ
اﺳﺘﺪﻋﺎؤه ﻋﻨﺪ ﺿﻐﻄﮭﺎ.
-ﻟﻢ ﯾﻌﺪ ھﻨﺎك أيّ ﻗﺼﻮر ﻓﻲ ﻣﺘﺮﺟﻢ اﻟﻜﻮد ، Compilerﻓﻜﻞّ ﻟﻐﺎت [Link]ﺗﻌﻤﻞ ﻋﻠﻰ ﻣﺘﺮﺟﻢ واﺣﺪ ،ﻣﻤّﺎ ﯾﻌﻨﻲ أنّ VBﻗﺪ
ﺻﺎر ﺑﻘﻮّة وﺳﺮﻋﺔ وﻛﻔﺎءة VC++..وﻛﻤﺜﺎل ،ﺻﺎر ﺑﺈﻣﻜﺎﻧﻚ اﺳﺘﺨﺪام اﻟﺒﺮﻣﺠﺔ اﻻرﺗﺪادﯾّﺔ Recursive Programming
دونّ أن ﺗﺨﺸﻰ ﻣﻦ ﺑﻄﺌﮭﺎ أو اﺳﺘﮭﻼﻛﮭﺎ ﻟﺤﺠﻢ اﻟﺬاﻛﺮة ،ﻓﻘﺪ ﺻﺎرت ﻓﻲ ﻣﻨﺘﮭﻰ اﻟﺴﺮﻋﺔ واﻟﻜﻔﺎءة.
-أﺻﺒﺢ ﺑﺈﻣﻜﺎﻧﻚ ﻣﻌﺎﻟﺠﺔ اﻷﺧﻄﺎء ،ﻋﻦ ﻃﺮﯾﻖ اﺳﺘﺨﺪام ﻣﻌﺎﻟﺠﺎت اﻻﺳﺘﺜﻨﺎءات Exception Handlersﻓﻲ ﺟﻤﻠﺔ Try..
Catch.. End Try.
- [Link]ﻣﺒﻨﯿّﺔٌ ﺑﺎﻟﻜﺎﻣﻞِ ﻋﻠﻰ ﻣﻔﮭﻮمِ اﻟﺒﺮﻣﺠﺔِ ﺑﺎﻟﻜﺎﺋﻨﺎت ، Object Oriented Programmingﻟﺪرﺟﺔ أنّ اﻷﻋﺪا َد
اﻟﺼﺤﯿﺤﺔ Integersواﻟﻨﺼﻮص Stringsواﻟﻤﺼﻔﻮﻓﺎت Arraysﻗﺪ ﺻﺎرت ﺧﻼﯾﺎ ، Classesوﺻﺎرت ﻟﮭﺬه اﻟﻌﻨﺎﺻﺮِ
ﺧﺼﺎﺋﺺُ ووﺳﺎﺋﻞُ ﺟﺎھﺰة ..ﻓﻤﺜﻼ ،أﺻﺒﺤﺖ ﻟﺪﯾﻚ وﺳﺎﺋﻞ ﺟﺎھﺰة ﺗﻨﺘﻤﻲ ﻟﻠﻤﺘﻐﯿّﺮ اﻟﻨﺼّﻲّ ،ﺗﺴﻤﺢ ﻟﻚ ﺑﺎﻟﺒﺤﺚ ﻓﯿﮫ أو ﺗﻘﻄﯿﻌﮫ
أو اﺳﺘﺒﺪال أﺟﺰاء ﻣﻨﮫ ...إﻟﺦ ...ﻛﻤﺎ ﺻﺎرت ﻟﺪﯾﻚ وﺳﺎﺋﻞُ ﺟﺎھﺰةٌ ﻟﻌﻜﺲِ اﻟﻤﺼﻔﻮﻓﺔِ وﺗﺮﺗﯿﺒِﮭﺎ واﻟﺒﺤﺚِ ﻓﯿﮭﺎ!
-ﺻﺎر ﺑﺈﻣﻜﺎﻧﻚ اﺳﺘﺨﺪام ﻛﻞّ ﻣﻔﺎھﯿﻢ اﻟﻮراﺛﺔ Inheritanceوﺗﻌﺪّد اﻷﺷﻜﺎل Polymorphismﺑﻼ أيّ ﻣﺸﺎﻛﻞ ..وإن ﻛﺎن
ﻣﺴﻤﻮﺣﺎ ﻟﻚ ﺑﻮراﺛﺔ ﺧﻠﯿّﺔ واﺣﺪة ﻓﻘﻂ Single Inheritanceﻟﻠﺘﺴﮭﯿﻞ.
-ﯾﻤﻨﺤﻚ إﻃﺎر اﻟﻌﻤﻞ .Net Frameworkﺛﺮوة ھﺎﺋﻠﺔ ﻣﻦ اﻟﺨﻼﯾﺎ ، Classesﺗﻘﺪّر ﺑـ ٣٥٠٠ﺧﻠﯿّﺔ ،ﺗﻔﻌﻞ ﻛﻞّ ﻣﺎ ﺗﺤﻠﻢ ﺑﮫ
وأﻛﺜﺮ ،ﺑﺤﯿﺚ ﺗﺮﯾﺤﻚ ﺑﺪرﺟﺔ ﻛﺒﯿﺮةٍ ﻣﻦ اﻻﺣﺘﯿﺎج ﻻﺳﺘﺨﺪام دوال APIاﻟﺨﺎﺻّﺔ ﺑﺎﻟﻮﯾﻨﺪوز ،ﺑﻤﺎ ﻓﯿﮭﺎ ﻣﻦ ﺗﻌﻘﯿﺪ وﻣﺸﺎﻛﻞ ..
وأﺣﺪث ﻣﺎ ﻓﻌﻠﺘﮫ )ﻣﯿﻜﺮوﺳﻮﻓﺖ( ،ھﻮ إﺻﺪار ﻧﺴﺨﺔ ﺟﺪﯾﺪة ﻣﻦ DirectXﻣﺒﻨﯿّﺔ ﺑﺎﻟﻜﺎﻣﻞ ﺑﺎﻟﺨﻼﯾﺎ ﺑﺪﻻ ﻣﻦAPIs.
-ھﺬا ﺑﺨﻼف أنّ ﻣﻌﻈﻢ ھﺬه اﻟﺨﻼﯾﺎ ﻗﺎﺑﻞ ﻟﻠﻮراﺛﺔ ،ﺑﻤﺎ ﻓﯿﮭﺎ اﻷدوات Controlsﻧﻔﺴﮭﺎ ،ﻣﻤّﺎ ﯾﻤﻨﺤﻚ اﻟﻘﺪرة ﻋﻠﻰ ﺗﻄﻮﯾﺮ
أداﺋﮭﺎ ﺑﻤﺎ ﯾﻨﺎﺳﺒﻚ .
-وﻣﻦ اﻟﺨﻼﯾﺎ اﻟﺠﺎھﺰة اﻟﻌﺪﯾﺪة اﻟﺘﻲ ﯾﻤﻜﻨﻚ اﺳﺘﺨﺪاﻣﮭﺎ ،اﻟﺨﻼﯾﺎ اﻟﺘﺎﻟﯿﺔ : Stackـ Queueـ ، BitArrayو ArrayList
وﻏﯿﺮھﺎ.
أﺻﺒﺢ ﺑﺈﻣﻜﺎﻧﻚ ﺗﻌﺮﯾﻒ اﻟﻤﺘﻐﯿّﺮات داﺧﻞ ﻣﻘﺎﻃﻊ اﻟﺠﻤﻞ اﻟﺸﺮﻃﯿّﺔ If Statementsواﻟﺠﻤﻞ اﻟﺘﻜﺮارﯾّﺔ ، Loopsﺑﺤﯿﺚ ﺗﻜﻮن
ﻣﻌﺰوﻟﺔ ﻋﻦ اﻟﻤﺘﻐﯿّﺮات اﻟﻤﻮﺟﻮدة ﺧﺎرج ھﺬه اﻟﻤﻘﺎﻃﻊ.
-ﺑﻞ أﺻﺒﺢ ﺑﺈﻣﻜﺎﻧﻚ ﺗﻌﺮﯾﻒ اﻟﺨﻼﯾﺎ داﺧﻞ اﻟﺨﻼﯾﺎ ، Nested Classesوأيّ ﻧﻮعٍ Typeداﺧﻞ أيّ ﻧﻮع آﺧﺮ.
٥
Prog : Mohamed Youssef
أﺻﺒﺢ ﺑﺈﻣﻜﺎﻧﻚ اﺳﺘﺨﺪام اﻟﺴﻤﺎت Attributesﻓﻲ ﺗﻌﺮﯾﻒ اﻟﺨﻼﯾﺎ واﻟﻮﺳﺎﺋﻞ واﻟﺨﺼﺎﺋﺺ واﻷﻧﻮاع اﻟﻤﺨﺘﻠﻔﺔ ،ﻣﻤّﺎ ﯾﺨﺘﺼﺮ
ﻟﻚ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﻌﻤﻞ ،وﯾﻤﻨﺤﻚ اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﻘﺪرات.
-ﻟﺪﯾﻚ إﻣﻜﺎﻧﯿّﺎت ﺟﺪﯾﺪة وﻋﺪﯾﺪة ﺗﻤﻨﺤﮭﺎ ﻟﻚ ﺧﻼﯾﺎ ﺟﺎھﺰة ،ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻠﻔّﺎت واﻟﻤﺠﻠّﺪات ..وﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ،ﯾﻤﻜﻨﻚ أن
ﺗﺮاﻗﺐ أيّ ﺗﻐﯿﯿﺮ ﯾﻄﺮأ ﻋﻠﻰ ﻣﻠﻔّﺎت اﻟﻤﺠﻠّﺪ اﻟﺬي ﺗﺮﯾﺪ ،ﺑﺎﺳﺘﺨﺪام اﻷداة ، FileSystemWatcherﻛﻤﺎ ﯾﻤﻜﻨﻚ أن ﺗﺨﺰّن
ﻛﺎﺋﻨﺎ أو ﻣﺼﻔﻮﻓﺔ أو ﻣﺠﻤﻮﻋﺔ Collectionﻣﻦ أيّ ﻧﻮعٍ إﻟﻰ ﻣﻠﻒّ ﻣﺮّة واﺣﺪة ،وإﻋﺎدة ﻗﺮاءﺗﮭﺎ ﺣﯿﻨﻤﺎ ﺗﺮﯾﺪ ،ﺑﺎﺳﺘﺨﺪام
ﺧﻼﯾﺎ اﻟﺴﻠﺴﻠﺔSerialization.
-ھﻨﺎك إﻣﻜﺎﻧﯿّﺎت ھﺎﺋﻠﺔ ﻓﻲ ﻣﺠﺎل اﻟﺮﺳﻢ واﻟﺘﻠﻮﯾﻦ ﺗﻤﻨﺤﮭﺎ ﻟﻚ ﻣﻜﺘﺒﺔ GDI+..ﯾﻜﻔﻲ أن ﺗﻌﺮف أنّ ﺑﺈﻣﻜﺎﻧﻚ اﻵن رﺳﻢ
ﻣﻨﺤﻨﯿﺎت ﻣﻌﻘّﺪة ،وﺗﻜﻮﯾﻦ أﺷﻜﺎل ﻣﺮﻛّﺒﺔ ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﺧﻄﻮط وﻣﻀﻠّﻌﺎت وﻣﻨﺤﻨﯿﺎت ،وﺗﻠﻮﯾﻦ اﻟﺴﻄﻮح ﺑﺄﻟﻮان ﻣﺘﺪرّﺟﺔ،
وﺗﺤﺪﯾﺪ ﺷﻜﻞ ﻣﺴﺎﺣﺔ اﻟﺮﺳﻢ ،وﺗﺤﺪﯾﺪ درﺟﺔ اﻟﺸﻔﺎﻓﯿﺔ ،وﺗﺪوﯾﺮ اﻟﺮﺳﻮم وﺗﻐﯿﯿﺮ ﻣﻘﺎﯾﯿﺴﮭﺎ ﺗﻜﺒﯿﺮا أو ﺗﺼﻐﯿﺮا ....إﻟﺦ.
-ﯾﻤﻜﻨﻚ اﺳﺘﺨﺪام اﻟﻤﺆﺷّﺮات Pointersﻓﻲ ﺑﻌﺾ اﻷﺣﯿﺎن ،ﻟﻠﻘﺮاءة واﻟﻜﺘﺎﺑﺔ ﻓﻲ اﻟﺬاﻛﺮة ،ﻛﻤﺎ ﯾﻤﻜﻨﻚ أداء ﻋﻤﻠﯿّﺎت ﻣﻌﻘّﺪة
ﻋﻠﻰ اﻟﻨﻈﺎم Systemﻟﻢ ﺗﻜﻦ ﻟﺘﺤﻠﻢ ﺑﮭﺎ!
أﺻﺒﺢ ﺑﺈﻣﻜﺎﻧﻚ ﺗﻘﺴﯿﻢ ﺑﺮﻧﺎﻣﺠﻚ ﻟﻤﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻤﻠﯿّﺎت اﻟﻤﺴﺘﻘﻠّﺔ ، Threadsﻣﻤّﺎ ﯾﻌﻨﻲ أنّ ﺑﺮﻧﺎﻣﺠﻚ ﯾﺴﺘﻄﯿﻊ اﻟﻘﯿﺎم ﺑﺄﻛﺜﺮ
ﻣﻦ ﻋﻤﻠﯿّﺔ ﻓﻲ ﻧﻔﺲ اﻟﻠﺤﻈﺔMultithreading.
-ھﻨﺎك إﻣﻜﺎﻧﯿّﺎت ﺟﺪﯾﺪة راﺋﻌﺔ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ،ﺗﻤﻨﺤﮭﺎ ﻟﻚ ﺗﻘﻨﯿﺔ ، [Link]ﺑﺎﻹﺿﺎﻓﺔ ﻟﻠﻌﺪﯾﺪ ﻣﻦ اﻷدوات
اﻟﻤﺮﺋﯿّﺔ اﻟﺘﻲ ﺗﺴﺎﻋﺪك ﻓﻲ إﻧﺸﺎء ﺗﻄﺒﯿﻘﺎت ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﺑﺄﻗﻞّ ﻗﺪر ﻣﻦ اﻟﻜﻮد.
-أﻣّﺎ اﻟﺠﺪﯾﺪ ﺗﻤﺎﻣﺎ ،ﻓﮭﻮ ﻗﺪرﺗﻚ ﻋﻠﻰ ﺗﺼﻤﯿﻢ ﺻﻔﺤﺎت اﻹﻧﺘﺮﻧﺖ ﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ اﻟﺘﻲ ﺗﺼﻤّﻢ ﺑﮭﺎ اﻟﻨﻤﺎذج اﻟﻌﺎدﯾّﺔ ،ﻣﻊ ﻛﺘﺎﺑﺔ
ﻛﻮد VBﺑﻤﻌﻈﻢ إﻣﻜﺎﻧﯿّﺎﺗﮫ ،ﻹﻧﺸﺎء ﺗﻄﺒﯿﻘﺎت ASPﺗﻌﻤﻞ ﻋﻠﻰ اﻟﺨﻮادم Serversﺑﺪون ﻛﺘﺎﺑﺔ ﺣﺮف واﺣﺪ ﻣﻦ ﻟﻐﺔ !!ASP
ﺻﺪر أول إﺻﺪار ﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ) .Netﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻓﯿﺠﻮال ﺑﯿﺴﻚ (.Net 2002ﻓﻰ ﻓﺒﺮاﯾﺮ ٢٠٠٢و أﺻﺒﺢ
اﻻﺻﺪار اﻟﺜﺎﻧﻰ )ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻓﯿﺠﻮال ﺑﯿﺴﻚ (.Net 2003ﻣﺘﻮﻓﺮاُ ﺑﺸﻜﻞ واﺳﻊ ﻓﻰ ﻣﺎرس ٢٠٠٣ﺑﻌﺪ ﻓﺘﺮة ﻃﻮﯾﻠ ﺔ ﻣ ﻦ
اﻟﺘﻄﻮﯾﺮ و اﻟﻌﻤﻞ اﻟﺠﻤﺎﻋﻰ ،أﺻﺪرت ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻓﯿﺠﻮال ﺑﯿ ﺴﻚ ٢٠٠٥ﻓ ﻰ أواﺧ ﺮ اﻟﻌ ﺎم ٢٠٠٥ﻟﻘ ﺪ أﺻ ﺒﺢ ﻓﯿﺠ ﻮال
ﺑﯿﺴﻚ ٢٠٠٥ﻣﻨﺪﻣﺠﺎً اﻷن ﺑﺸﻜﻞ ﻣﺤﻜ ﻢ ﻣ ﻊ اﻟﻔﯿﺠ ﻮال ﺳ ﺘﺪﯾﻮ ﻟﺪرﺟ ﺔ أﻧ ﮫ ﯾ ﻮﻓﺮ ﻓﻘ ﻂ ﻛﻤﻜ ﻮن ﻓ ﻰ ﻃﻘ ﻢ اﻟﺒﺮﻣﺠ ﺔ ﻓﯿﺠ ﻮال
ﺑﯿ ﺴﻚ ، ٢٠٠٥اﻟ ﺬى ﯾﺘ ﻀﻤﻦ ﻣ ﺼﺮﻓﺎت ﻟﻔﯿﺠ ﻮال C#و ﻓﯿﺠ ﻮال C++و اﻟﻔﯿﺠ ﻮال J#و أدوات ﺗﻄ ﻮﯾﺮ ﻣﺎﯾﻜﺮوﺳ ﻮﻓﺖ
.Netو اﻻﺧ ﺮى ﻟﻜ ﻦ ﻓﯿﺠ ﻮال ﺳ ﺘﺪﯾﻮ ٢٠٠٥ﯾﺒ ﺎع ﻓ ﻰ ﻋ ﺪة ﻧﻜ ﺎوﯾﻦ ﻣﻨ ﺘﺞ ﻣﺨﺘﻠﻔ ﺔ ،ﻣ ﻦ ﺑﯿﻨﮭ ﺎ اﻟﻄﺒﻌ ﺔ Standerdو
اﻟﻨ ﺴﺨﺔ Professionalو اﻟﻨ ﺴﺨﺔ Team Suiteو اﻟﻨ ﺴﺨﺔ . Expressو ھﻨ ﺎك ﻋ ﺪد ﻣﺤ ﺪدود ﺑ ﯿﻦ اﻟﻔ ﺮوق ﻓ ﻰ
اﻟﻨﺴﺦ اﻟﺴﺎﺑﻘﺔ و أﻧﺎ اﻧﺼﺤﻚ ﺑﺄﺳﺘﺨﺪام ﺑﺮﻧﺎﻣﺞ [Link] 2005ﺻﺪار ﺟﺪﯾﺪ Visual Basic .Net 2008
ﺳﺘﺤﺘﺎج إﻟﻰ اﻻﺟﮭﺰة و اﻟﺒﺮاﻣﺞ اﻟﺘﺎﻟﯿﺔ ﻟﺘﺤﻤﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ [Link] 2005ﻋﻠﻰ اﻟﻜﻤﺒﯿﻮﺗﺮك اﻟﺸﺨﺼﻰ:
٦
Prog : Mohamed Youssef
إذا ﻛﺎﻧﺖ ﻟﺪﯾﻚ أى ﺗﻌﻠﯿﻘﺎت أو أﺳﺌﻠﺔ أو أﻓﻜﺎر ﺗﺘﻌﻠﻖ ﺑﮭﺬا اﻟﻜﺘﺎب أو اﻟﻤﻠﻔﺎت اﻟﺘﻤﺎرﯾﻦ أو اﻟﻔﯿﺪﯾﻮات ﻋﻠﻰ اﻷﺳﻄﻮاﻧﺔ
اﻟﻤﺮﻓﻘﮫ ﻣﻌﮫ .اﻟﺮﺟﺎء أرﺳﺎﻟﮭﺎ ﻋﻠﻰ
٧
Prog : Mohamed Youssef
اﻷھﺪاف
ﺑﻌﺪ إﻛﻤﺎل ھﺬا اﻟﻜﺘﺎب ،ﺳﺘﺘﻤﻜﻦ ﻣﻦ ﺗﻨﻔﯿﺬ ﻣﺎ ﯾﻠﻰ:
-١ﻛﯿﻔﯿﺔ ﺗﺜﺒﯿﺖ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥ﺑﻜﻔﺎءة.
-٢ﺗﺸﻐﯿﻞ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ اﻟﻔﯿﺠﻮال ﺳﺘﯿﺪﯾﻮ .٢٠٠٥
-٣أﺳﺘﻌﻤﺎل ﺑﯿﺌﺔ ﺗﻄﻮﯾﺮ اﻟﻔﯿﺠﻮال ﺳﺘﯿﺪﯾﻮ اﻟﻤﻨﺪﻣﺠﺔ.
-٤ﻓﺘﺢ و ﺗﺸﻐﯿﻞ ﺑﺮﻧﺎﻣﺞ اﻟﻤﯿﻜﺮوﺳﻮﻓﺖ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ . ٢٠٠٥
-٥ﺗﻐﯿﯿﺮ إﻋﺪادت اﻟﺨﺼﺎﺋﺺ اﻟﻤﺸﺮوع.
-٦ﻧﻘﻞ أﻃﺮ اﻻدوات و ﺗﻐﯿﯿﺮ ﺣﺠﻤﮭﺎ و أﺧﻔﺎﺋﮭﺎ ﺗﻠﻘﺎﺋﯿﺎً.
-٧ﻛﯿﻔﯿﺔ أﺳﺘﻌﻤﺎل اﻟﻤﺼﻔﻮﻓﺎت ﺿﻤﻦ اﻟﺒﺮﻧﺎﻣﺞ.
-٨ﺗﺨﺼﯿﺺ إﻋﺪادت ﺑﻨﯿﺔ اﻟﺘﻄﻮﯾﺮ اﻟﻤﻄﺎﺑﻘﺔ ﺑﺎﻟﺘﻌﻠﯿﻤﺎت.
-٩ﺣﻔﻆ ﺗﻐﯿﺮات ،أﻧﮭﺎء اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ.
-١٠اﻟﺘﺪرﯾﺐ ﻋﻠﻰ ﻛﺘﺎﺑﺔ اﻟﺒﺮاﻣﺞ و ﺗﺼﻤﯿﻢ اﻟﻮاﺟﮭﺔ اﻟﻨﻤﻮذج.
-١١اﻟﺘﻌﺮف ﻋﻠﻰ ﺟﻤﯿﻊ ﻗﻮاﺋﻢ اﻟﺒﺮﻧﺎﻣﺞ .
-١٢ﻓﺘﺢ و أﻧﺸﺎء ﻣﺸﺮوع ﺟﺪﯾﺪ ﻓﻰ ﺑﻨﯿﺔ اﻟﺪوت ﻧﺖ.
-١٣اﻟﺘﻌﺮف ﻋﻠﻰ اﻟﻤﺘﻐﯿﺮات و اﻟﺜﻮاﺑﺖ و اﻟﺘﺮﻛﯿﺒﺎت.
-١٤ﺷﺮح اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻣﻜﺘﺒﺔ [Link]و رﺑﻄﮭﺎ ﺑﻘﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت.
-١٥اﻟﺤﺼﻮل ﻋﻠﻰ ﻣﺼﻄﻠﺤﺎت و اﻟﻘﺘﻤﻮس ﺑﺼﻮرة ﺳﺮﯾﻌﺔ ﺑﺎﻟﻐﺔ اﻟﻌﺮﺑﯿﺔ.
-١٦اﻟﺘﻌﺮف ﻋﻠﻰ ﻟﻐﺔ ،SQLﻻﺳﺘﺨﺪاﻣﮭﺎ ﻣﻊ . [Link]
-١٧ﻛﯿﻔﯿﺔ ﻋﻤﻞ اﻟﺘﻘﺎرﯾﺮ Reportsﺑﺼﻮرة ﺻﺤﯿﺤﺔ.
-١٨اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻧﺸﺎء اﻟﻤﺸﺎرﯾﻊ اﻟﺒﺴﯿﻄﺔ و اﻟﻮﺻﻮل إﻟﻰ اﻟﺒﺮاﻣﺞ اﻟﻤﺘﻄﻮرة.
-١٩اﻟﺘﻌﺮف ﻋﻠﻰ ﺟﻤﯿﻊ اﻻدوات اﻟﺨﺎﺻﺔ و اﻟﻤﻤﯿﺰة ﻟﻠﻔﯿﺠﻮال ﺑﯿﺴﻚ .٢٠٠٥
-٢٠اﻟﺘﻌﺮف ﻋﻠﻰ اﻟﺪوال و اﻟﻮﺳﺎﺋﻞ اﻟﻤﻮﺟﻮدة ﺑﺎﻟﺒﺮﻧﺎﻣﺞ.
-٢١ﻛﯿﻔﯿﺔ أﻧﺸﺎء و ﺣﺬف و اﻟﺘﻌﺪﯾﻞ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت و اﻟﺠﺪاول.
-٢٢أﺳﺘﺨﺪام ﺟﻤﯿﻊ ﻧﻮاﻓﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ ﻓﻰ اﻟﺒﺮﻣﺠﺔ.
-٢٣ﻣﻌﺮﻓﺔ ﺗﻄﻮرر اﻟﺒﺮاﻣﺞ و ﺗﻘﻨﯿﺔ اﻟﺪوت ﻧﺖ اﻟﺤﺪﯾﺜﺔ.
-٢٤أﺳﺘﻌﻤﺎل أواﻣﺮ اﻟﻤﺴﺎﻋﺪة اﻟﺠﺪﯾﺪة و ﺗﺨﺼﯿﺺ اﻟﻤﺴﺎﻋﺪة.
-٢٥اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﻤﺴﺎﻋﺪة ﻋﻦ ﻃﺮﯾﻖ اﻹﻧﺘﺮﻧﺖ.
٨
Prog : Mohamed Youssef
ﻣﻘﺪﻣﺔ ﻓﻰ اﻟﺪوت ﻧﺖ
ﻣﻔﮭﻮم اﻟﺪوت ﻧﺖ و ﻓﺎﺋﺪﺗﺔ وﻣﻜﻮﻧﺎﺗﺔ واﯾﻀﺎح ﻣﻔﮭﻮم Framework
اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺎاﻟﺤﺪﯾﺜﺔ ﺗﺘﻄﻮر وﺗﺘﻐﯿﺮ ﺑﺴﺮﻋﺔ ﻓﻲ ﻛﻞ ﻣﺠﺎﻻت اﻟﺤﯿﺎة وﻛﺬﻟﻚ ھﻮ اﻟﺤﺎل ﻓﻲ ﺗﻜﻨﻠﻮﺟﯿﺎ اﻟﻜﻤﺒﯿﻮﺗﺮ وﺑﺮﻣﺠﺘﺔ واﺣﯿﺎﻧﺎ
اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺎاﻟﺤﺪﯾﺜﺔ ﺗﻜﻮن ﻣﻦ اﻻﺑﺪاع ﻓﻲ ﻣﻜﺎن ﺗﺠﺒﺮﻧﺎ ﻓﯿﺔ ﻟﺘﺤﺪي اﺑﺴﻂ اﻓﺘﺮاﺿﯿﺎﺗﻨﺎ.وﻓﻲ ﺻﻨﺎﻋﺔ اﻟﺤﺎﺳﺒﺎت ،ﻛﺎن اﺧﺮ
واﻋﻈﻤﺎﺑﺪاع ھﻲ ﺗﻜﻨﻠﻮﺟﯿﺎ اﻹﻧﺘﺮﻧﺖ ﺗﻠﻚ اﻟﺘﻘﻨﯿﺔ اﻟﺘﻲ ﻏﯿﺮت اوﺟﺔ اﻟﻌﺎﻟﻢ اﻗﺘﺼﺎدﯾﺄ وﺛﻘﺎﻓﯿﺄ واﺛﺮت اﻟﻌﻠﻢ ﻓﻲ ﺷﺘﻰ ﻣﺠﺎﻻﺗﮫ وﻣﻊ ھﻜﺬا
ﺗﻘﻨﯿﺔﻧﺠﺒﺮ ﻹﻋﺎدة اﻟﺘﻔﻜﯿﺮ ﻛﯿﻒ ﺳﺘﻜﻮن اﻟﺒﺮاﻣﺞ و ﻛﯿﻔﯿﺔ ﺗﻄﻮﯾﺮھﺎ واﺳﺘﻌﻤﺎﻟﮭﺎ ﻓﻲ ﻇﻞ ھﺬة اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺎ.رﻏﻢ ان ھﺬة اﻟﻌﻤﻠﯿﺔ ﺗﺤﺘﺎج
ﻟﻠﻮﻗﺖ ﻋﺎدﺗﺄ وﻓﻲ ﻇﻞ ﻣﺠﺊ ﺗﻜﻨﻠﻮﺟﯿﺎ ﻗﻮﯾﺔ ﻛﺎﻧﺖ اول ﻋﻘﺒﺔ ھﯿﺮﺑﻂ ﺷﺒﻜﺔ اﻹﻧﺘﺮﻧﺖ ﺑﻤﻨﺼﺔ ﻋﻤﻞ ﺣﯿﻮﯾﺔ ﺗﻌﻤﻞ ﺧﺼﯿﺼﺎ ﻣﻦ اﺟﻠﮭﺎ
وﻗﺒﻞ ﻣﺠﺊ ﻣﯿﻜﺮوﺳﻮﻓﺖ ﻛﺎن اﻟﻤﻄﻮرﯾﻦ ﯾﺴﺘﺨﺪﻣﻮن ﻣﻨﺼﺎت ﻋﻤﻞ ﻗﺪﯾﻤﺔﻓﻲ ﻇﻞ اﻻﻣﻜﺎﻧﯿﺎت اﻟﺠﺪﯾﺪة ﻟﻼﻧﺘﺮﻧﺖ.وﻗﺒﻞ ﻋﺪة ﺳﻨﻮات
ﻗﺮرت ﻣﯿﻜﺮوﺳﻮﻓﺖ ان اﻟﻮﻗﺖ ﻗﺪ ﺣﺎن ﻟﻌﻤﻞ ﺗﻘﻨﯿﺔ ﺟﺪﯾﺪ ﻣﻦ اﺟﻞ ﺗﺎﺳﯿﺲ ﻋﺎﻟﻢ ﻣﺎﺑﻌﺪ اﻟﻨﺖ اﻟﻨﺘﯿﺠﺔ اﻟﺘﻰ ﻇﮭﺮت .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ﺑﻠﻐﺔ ﺳﻲ ﺷﺎرب ﻣﻊ ﻣﻌﻤﺎرﯾﺔ اﻃﺎر
اﻟﻌﻤﻞ Frameworkﻛﻤﺎ ﺻﺎرت ﻣﻌﻀﻠﺔ ﺻﻌﻮﺑﺔ ﺗﻄﻮﯾﺮ ﺗﻄﺒﯿﻘﺎت اﻟﺸﺒﻜﺔ اﻟﻌﻨﻜﺒﻮﺗﯿﺔ اﻣﺮ ﻓﻲ ﻏﺎﯾﺔ اﻟﺴﮭﻮﻟﺔ ﺑﺎﻻﺿﺎﻓﺔ ﻻﺳﺘﯿﻌﺎب
ﺗﻘﻨﯿﺎت ﺣﺪﯾﺜﺔ ﻣﺜﻞ XMLوﺧﺪﻣﺎت ﻋﺒﺮ اﻟﺸﺒﻜﺔ وﺗﻢ ﺗﻮﺣﯿﺪ اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺨﻄﻂ اﻟﺨﺎﺻﺔ ﺑﺸﺒﻜﺔ ﻓﻲ اﻟﻤﻨﺘﺞ اﻟﺬي ﺳﯿﺼﺒﺢ ﻣﺤﻮر
اﻟﺘﻮﺟﺔ اﻟﻘﺎدم ﻟﻠﺸﺮﻛﺔ ﻛﻤﺎ اﺳﻠﻔﺖ.
٩
Prog : Mohamed Youssef
:
ﻛﺎن ﻇﮭﻮر اﻟﻨﻤﻮذج اﻻوﻟﻲ ﻟﺘﻘﻨﯿﺔ اﻟﺪوت ﻧﺖ ﻓﻲ ﻣﺆﺗﻤﺮ اﻟﻤﻄﻮرﯾﻦ ﻓﻲ ﯾﻮﻟﯿﻮ ٢٠٠٢وﻋﻠﻰ اﺳﺎس اﻧﺔ ﯾﺘﻢ اﺻﺪارھﺎ ﻓﻲ ﺑﺪاﯾﺔ
٢٠٠٣وﻗﺪ ﺣﻠﺖ ھﺬة اﻟﺘﻘﻨﯿﺔ ﻣﺤﻞ ﺗﻘﻨﯿﺎﺗﻌﺪﯾﺪة ﺣﺎوﻟﺖ ﻣﻦ ﺧﻼﻟﮭﺎ ﻣﯿﻜﺮوﺳﻮﻓﺖ ان ﺗﻠﺤﻖ ﻣﻮﺟﮫ اﻟﺸﺒﻜﺔ اﻟﻌﺎﻟﻤﯿﺔ ﻟﻠﻤﻌﻠﻮﻣﺎت ﻣﺜﻞ
IISو ASPاﻟﺬي ﺣﻞ ﻣﺤﻠﺔ [Link]اﻟﻤﺤﺴﻦ .واﺳﺘﺪﻋﺎءات 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ﻣﻠﯿﻮن دوﻻر ﻣﻦ اﻻﺳﮭﻢ ﻏﯿﺮ اﻟﻤﺼﻮﺗﺔ ﻣﻦ اﺟﻞ اﻧﻘﺎذ
ﺷﺮﻛﺔ ﻛﻮرال وذﻟﻚ ﻟﺠﻌﻞ اﻟﺸﺮﻛﺔ ﺗﻘﻮم ﺑﺘﻘﺪﯾﻢ ﻓﻜﺮة اﻟﺪوت ﻧﺖ اﻟﻰ ﻧﻈﺎم اﻟﻠﯿﻨﻜﺲ ﻋﻦ ﻃﺮﯾﻘﻚ ورال ﻟﯿﻨﻜﺲ وھﺬا ﻣﺎ ﺣﺪث ﻓﻌﻼ.
:
ان اﻧﻔﺎق ﺷﺮﻛﺔ ﻓﻲ ﻋﺎﻟﻢ اﻟﺒﺮﻣﺠﯿﺎت %٨٠ﻣﻦ ﻣﻮاردھﺎ ﻓﻲ ﺳﺒﯿﻞ دﻋﻤﮭﺬة اﻟﺘﻘﻨﯿﺔ ﻻﯾﻌﻨﻲ اﻻ ﺟﺪﯾﺘﮭﺎ واﯾﻤﺎﻧﮭﺎ ﺑﻘﺪرة ھﺬة اﻟﺘﻘﻨﯿﺔ
ﻋﻠﻰ اﻟﺘﺤﻜﻢ ﺑﺎﻟﻤﺴﺘﻘﺒﻞ.
ﺧﺼﻮﺻﺄ اذا ﻋﻠﻤﻨﺎ ان اﻟﺴﯿﻮﻟﺔ اﻟﻤﺎدﯾﺔ اﻟﺤﺎﻟﯿﺔ ﻟﺪي ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ اﻛﺜﺮﻣﻦ ﻣﺠﻤﻮع اﻣﻮال اﻛﺒﺮ ﻣﺌﺔ ﺷﺮﻛﺔ ﻣﻦ ﺷﺮﻛﺎت اﻟﻌﺎﻟﻢ
اﻟﺒﺮﻣﺠﯿﺔ ﻣﻌﺎ.
ھﺬة اﻟﺘﻘﻨﯿﺔ اﻟﺠﺪﯾﺪة اﺳﺎﺳﮭﺎ اﻹﻧﺘﺮﻧﺖ واﻟﻤﮭﻢ ﻣﻼﺣﻈﺔ اھﻤﯿﺔ اﻹﻧﺘﺮﻧﺖ اﻟﻤﺘﺰاﯾﺪ ﻓﻲ ﻋﺎﻟﻤﻨﺎ ﺣﺎﻟﯿﺎ ﻓﻘﺪ اوﺟﺪ ﻟﻨﺎ ﺣﯿﺎة ﺟﺪﯾﺪة ﺗﻤﺎﻣﺎ.
وﻟﻘﺪ اﺛﺒﺘﺖ اﻟﺨﺒﺮة ﻓﻲ ﻣﺠﺎل اﻟﺘﺠﺎرة اﻻﻟﻜﺘﺮوﻧﯿﺔ ان ﻓﻌﺎﻟﯿﺔ ﻣﻨﺘﺠﺎت اﻹﻧﺘﺮﻧﺖ ﺗﺘﻨﺎﺳﺐ ﻃﺮدﯾﺎ ﻣﻊ اﻟﻘﺪرة ﻋﻠﻰ اﻻﺑﻘﺎء ﻋﻠﻰ اﻻﺗﺼﺎل
ﺑﺎﻟﺰﺑﺎﺋﻦ .أي اﻧﻨﺎ ﻣﻠﺰﻣﯿﻦ ﺑﺎﺑﻘﺎء راﺑﻄﺔ اﻟﻮﺻﻞ ﺑﯿﻨﻨﻨﺎ وﺑﻦ زﺑﻮن ﻣﻮﻗﻌﻨﺎ.
ان ﻋﻤﻠﯿﺔ ﺗﻄﻮﯾﺮ اﻟﺒﺮاﻣﺞ وﺗﺤﺪﯾﺜﮭﺎ ﻋﻤﻠﯿﺔ ﻣﮭﻤﺔ ﻟﻜﻞ ﻣﻨﺘﺞ ﺑﺮﻣﺠﻲ وذﻟﻜﻠﻤﺎ ﯾﺸﮭﺪ اﻟﻌﺎﻟﻢ ﻣﻦ اﺣﺘﯿﺎﺟﺎت ﺗﺘﻄﻮر ﺗﺒﻌﺎ ﻟﻤﺘﻐﯿﺮات
اﺧﺮى وان ﻣﻨﺪون اﻟﺪﻋﻢ اﻟﻔﻨﻲ واﻟﺘﺤﺪﯾﺜﺎت ﻟﻠﺒﺮاﻣﺞ ﻣﻦ اﻟﻤﻜﻦ ان ﯾﻔﻘﺪ اﻟﻤﻨﺘﺠﺜﻘﺘﺔ ﻋﻦ اﻟﺰﺑﻮن ﻋﻨﺪ ﺣﺎﺟﺘﺔ ﻟﺘﺤﺪﯾﺚ ﻣﺎ ﻋﻠﻰ
ﺑﺮﻧﺎﻣﺠﺔ ﻓﻼ ﯾﺠﺪةﻣﻤﺄ ﯾﺠﻌﻠﺔ ﯾﺒﺤﺚ ﻋﻦ ﺑﺪﯾﻞ اﺧﺮ ﻣﻨﺎﺳﺐ وﻣﻦ ھﻨﺎ ﺗﺎﺗﻲ اﻟﺤﺎﺟﺔاﻟﻰ ﻣﻔﮭﻮﻣﺎﻟﺒﺮﻣﺠﯿﺎت ﻛﺨﺪﻣﺎت Software
Serviceوﺗﻘﻮم ﺑﯿﺌﺔ اﻟﺪوت ﻧﺖ ﺑﺘﻘﺪﯾﻢ ھﺬا اﻟﻤﻔﮭﻮم ﺑﺎﺳﺘﺨﺪام ﺳﻮاب
Simple Object Access Protocolﺑﺮوﺗﻮﻛﻮل ﺗﺪاول اﻟﻜﺎﺋﻨﺎت اﻟﺒﺴﯿﻂ Soapوھﻮ ﺑﺮﺗﻜﻮل ﺑﺴﯿﻄﻮﻟﻜﻦ ﻗﻮي ﺣﯿﺚ ﯾﺴﺘﻌﻤﻞ
ﺗﻘﻨﯿﺔ ﻣﻮﺟﻮدة اﺻﻼ وھﻲ ﺗﻘﻨﯿﺔ HTTPوﯾﺘﺠﺎوز ﻣﺴﺄوئ اﻟﺘﻘﻨﯿﺎت اﻟﺤﺎﻟﯿﺔ ﻣﺜﻞ اﻟﻜﻮﺑﺮا COBRAواﻟﺪوت ﻛﻮم .COMاﻟﻠﺘﺎن
ﺗﺘﻄﻠﺒﺎﻧﺸﺮوﻃﺎ ﺧﺎﺻﺔ.
١٠
Prog : Mohamed Youssef
.NET :
ﺗﻘﻨﯿﺔ اﻟﺪوت ﻧﺖ .NETھﻲ ﻋﺒﺎرة ﻋﻦ ﺣﻞ ﻣﺘﻜﺎﻣﻞ وﻣﺘﻄﻮر ﻣﻦ ﺷﺮﻛﺔ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻟﺒﻨﺎء اﻻﻧﻈﻤﺔ وﺗﺸﻐﯿﻠﮭﺎ ﻟﻠﺠﯿﻞ اﻟﻘﺎدم ﻣﻦ
اﻟﺘﻄﺒﯿﻘﺎت واﻻﺟﮭﺰة واﻟﺘﻰ ﺗﺴﻤﺞ ﺑﻌﻤﻠﯿﺔ رﺑﻄﺎﻻﺟﮭﺰة واﻟﻨﺎس واﻟﻤﻌﻠﻮﻣﺎت واﻟﺸﺒﻜﺎت ﻓﻲ ﻛﻞ ﻣﻜﺎن ﺑﻄﺮﯾﻘﺔ ﺳﮭﻠﺔ واﻣﻨﺔ وﻣﻨﻈﻤﺔ.
ھﺬة اﻟﺘﻘﻨﯿﺔ ھﻲ ﻓﻲ اﻟﻮاﻗﻊ ﺗﻄﻮﯾﺮ وﺗﺠﻤﯿﻊ ﻟﻠﺘﻘﻨﯿﺎت اﻟﺴﺎﺑﻘﺔ ﻣﻦ اﻧﻈﻤﺔ اﻟﺘﺸﻐﯿﻞ Windowsوادوات اﻟﺘﻄﻮﯾﺮ VBوﻣﺰودات
اﻟﺸﺒﻜﺎت IIS ASP ,ﺗﻢ ﺟﻤﻌﮭﺎ ﻓﻲ ﺑﻮﺗﻘﺔ واﺣﺪة ﺑﺎﺳﻢ ﺗﻘﻨﯿﺔ اﻟﺪوت ﻧﺖ اﻟﻤﻮﺟﮭﮫ ﺑﺎﻻﺳﺎس ﻻﻧﺘﺎج اﻟﺘﻄﺒﯿﻘﺎﺗﻠﻠﺸﺒﻜﺔ اﻟﺪوﻟﯿﺔ واﻧﺘﺎج
ﺧﺪﻣﺎت ﻋﺒﺮ اﻟﺸﺒﻜﺔ Web Servicesﻓﻲ ھﯿﺌﺔ XMLﺑﻮاﺳﻄﺔ ﻣﻌﯿﺎر اﻟﻨﻘﻞ Sopa .ﻛﻤﺎ ﺗﻌﺘﺒﺮ اﺣﺪث ﺑﯿﺌﺔ ﺗﻄﻮﯾﺮ اﻧﺘﺠﺘﮭﺎ
ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻛﻤﺎ ان ﺣﺰﻣﺔ اﻟﺒﺮﻣﺠﺔ اﻟﺠﺪﯾﺪة Visual [Link]ھﻲ اﻻداة اﻟﺮﺋﯿﺴﯿﺔ ﻟﺘﻄﻮﯾﺮ اﻻﻧﻈﻤﺔ ﻟﮭﺬة اﻟﺒﯿﺌﺔ اﻟﺠﺪﯾﺪة.
اﻟﻮاﻗﻊ ان اﻟﺘﻮﺟﮫ اﻟﺠﺪﯾﺪ اﻟﺬي ﺗﻨﺘﮭﺠﺔ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ھﻮ اﻟﺘﻮﺟﺔ ﻧﺤﻮاﻟﺸﺒﻜﺔ اﻟﺪوﻟﯿﺔ )اﻹﻧﺘﺮﻧﺖ( .وﺑﻤﺎ ان اﻟﺒﯿﺌﺔ اﻟﻤﺴﯿﻄﺮة ﻋﻠﺔ
ھﺬااﻟﻘﻄﺎع ھﻲ ﺑﯿﺌﺔ ﺟﺎﻓﺎ JAVAﻓﻜﺎن ﯾﻠﺰم ﻋﻠﻰ اﻟﺸﺮﻛﺔ ان ﺗﻨﺘﺞ ﻣﻨﺘﺞ ﻣﻨﺎﻓﺴﻠﺘﻘﻨﯿﺔ اﻟﺠﺎﻓﺎ .واﻟﺪوت ﻧﺖ ھﻲ ﺗﻘﻨﯿﺔ ﻣﺸﺎﺑﮭﮫ ﻟﺘﻘﻨﯿﺔ
اﻟﺠﺎﻓﺎ.
ﻓﻤﺜﻼ ﻟﻐﺔ ﺳﻲ ﺷﺎرب C#ﺗﻌﺎدل ﻟﻐﺔ ﺟﺎﻓﺎ ﺑﯿﻨﻤﺎ ھﯿﻜﻠﯿﺔ اﻟﺪوت ﻧﺖ Frameworkﺗﻌﺎدل ﻣﺸﻐﻞ ﺑﺮاﻣﺞ اﻟﺠﺎﻓﺎ اﻻﻓﺘﺮاﺿﻲ Virtual
Machine .وھﺬا ﯾﻌﻨﻲ ﺑﺎﺧﺘﺼﺎر ان ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻟﻢ ﺗﻘﺪم ﺗﻘﻨﯿﺔ ﺟﺪﯾﺪة اﻧﻤﺎ ﻋﻤﻠﺖ ﻋﻠﻰ اﻻﺳﺘﻔﺎدة ﻣﻦ اﻓﻀﻞ اﻟﺘﻘﻨﯿﺎت اﻟﻤﻮﺟﻮدة
واﺿﺎﻓﺖ اﻟﯿﮭﺎ )ﻛﺎﻟﻌﺎدة(
ھﻲ ﺑﺪاﯾﺔ أﺻﺪارة أﺣﺪث ﻣﻦ اﻻﺻﺪارة ﻓﺠﻮال ﻧﺖ ٢٠٠٣وﻓﯿﮭﺎ أﻣﻮر ﻻ ﺗﻮﺟﺪ ﺑﺎﻻﺻﺪارة ٢٠٠٣ﻛﻤﺎ أﻧﻨﻲ ﻻ أﻋﻠﻢ ﻛﺜﯿﺮاً ﻋﻦ
اﻻﺻﺪارة ٢٠٠٨واﻟﻤﻌﺪة ﻟﻠﻌﻤﻞ ﻋﻠﻰ Vista Windows
اﻻﺻﺪارة ٢٠٠٨ﺗﺴﺘﺨﺪم Framework 3.5واﻟﺬي ﻟﯿﺲ ﻟﮫ وﺟﻮد ﻋﻠﻰ %٩٠ﻣﻦ اﻻﺟﮭﺰة ﻋﻠﻰ اﻻﻗﻞ ﺣﺘﻰ اﻻن ،واﻻﺻﺪارة
٢٠٠٥ﺗﺴﺘﺨﺪم اﻟـ Framework 0.2واﻟﺬي ﯾﻮﺟﺪ ﻋﻠﻰ %٩٠ﻣﻦ اﻻﺟﮭﺰة ﺗﻘﺮﯾﺒﺎً اﻟﻤﻮﺟﻮدة اﻻن ،أي أﻧﻚ ﻟﺴﺖ ﺣﺘﻰ ﻓﻲ
ﺣﺎﺟﺔ اﻟﻰ ان ﺗﺮﻓﻖ اﻟـ Frameworkﻣﻊ ﻣﺸﺮوﻋﻚ ﻟﺪى ﺗﺴﻠﻤﯿﮫ اﻟﻰ اﻟﻤﺴﺘﺨﺪم.
ﺣﻘﯿﻘﺔ ان اﻻﺻﺪارة ٢٠٠٨ﺗﺤﺘﺎج اﻟﻰ اﻟﻤﺰﯾﺪ ﻣﻦ اﻟﻮﻗﺖ ،ذﻟﻚ اﻟﻮﻗﺖ اﻟﺬي ﯾﺼﺒﺢ ﻓﯿﮫ Windows-xpﻛﻤﺎ اﻟـ Windows 98
اﻻن او اﻟﻤﻠﯿﻨﯿﻮم.
ﻣﻊ ان ھﻨﺎك ﻣﻼﺣﻈﺔ ﺻﻐﯿﺮة وھﻲ أﻧﻨﻲ ﺻﻨﻌﺖ ﺑﺮﻧﺎﻣﺠﺎً ﯾﻌﺘﻤﺪ ﻋﻠﻰ اﻟـ Framework 1.1وﻋﻤﻞ ﻋﻠﻰ أﺣﺴﻦ ﻣﺎﯾﺮام ﻋﻠﻰ
اﻻﺻﺪارة Framework 0.2واﻋﺘﻘﺪ ان اﺳﺘﺨﺪام ﺑﺮﻧﺎﻣﺞ ﻋﻠﻰ اﺻﺪارة اﻟﻔﺠﻮال ٢٠٠٨ﺳﻮف ﺗﻌﻤﻞ ﻃﺒﯿﻌﯿﺎً ﻋﻠﻰ اﺻﺪارة اﻟـ
٠٫٢ Frameworkﺑﺤﺎﻟﺔ واﺣﺪة وھﻲ ﻋﺪم اﺳﺘﺨﺪام ﻣﻜﺘﺒﺎت ﺟﺪﯾﺪة ﻻ ﺗﻮﺟﺪ اﻻ ﺑﺎﻻﺻﺪارة Framework 3.5
١١
Prog : Mohamed Youssef
ﻣﻘﺪﻣﺔ أﻃﺎر اﻟﻌﻤﻞ .Net Framework
ھﻮ ﻋﺒﺎرة ﻋﻦ اﻃﺎر ﯾﻐﻄﻲ ﻛﻞ ﻃﺒﻘﺎت ﺗﻄﻮﯾﺮ اﻟﺒﺮاﻣﺞ اﻋﻠﻰ ﻣﻦ ﻣﺴﺘﻮى ﻧﻈﺎم اﻟﺘﺸﻐﯿﻠﻮﯾﻌﻤﻞ ﻛﺒﯿﺌﺔ ﺗﺸﻐﯿﻠﯿﺔ ﻟﺘﻨﻔﯿﺬ وﺗﺸﻐﯿﻞ وادارة
اﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺼﺼﻤﺔ ﻟﻠﻌﻤﻞ ﺗﺤﺖ ﺑﯿﺌﺘﺔ وﺗﻮﻓﯿﺮ ﻣﻜﺘﺒﺎت ﻣﻮﺣﺪة ﻟﻠﺘﻄﻮﯾﺮ ﻣﻤﺎ ﯾﺴﮭﻞ اﻧﺘﺎج اﻟﺘﻄﺒﯿﻘﺎت ﻣﮭﻤﺎ ﺗﻌﺪدت اﻟﻠﻐﺎت
.Net Frameworkﺣﻘﯿﻘﺘﺎ ﯾﻘﻮم ﺗﻐﻄﯿﺔ او ﺣﺠﺐ ﻧﻈﺎم اﻟﺘﺸﻐﯿﻞ اي ﯾﻘﻮم ﺑﻌﺰﻻﻟﺒﺮاﻣﺞ اﻟﻤﺼﻤﻤﺔ ﻟﻠﻌﻤﻞ ﺗﺤﺖ ﺑﯿﺌﺘﺔ ﻋﻦ ﻧﻈﺎم
اﻟﺘﺸﻐﯿﻞ وﺑﺸﻜﻞ ﺧﺎص ﻓﻲ اﻻﻣﻮر اﻟﺘﻰ ﺗﺘﻌﻠﻖ ﺑﺎدارة اﻟﻤﻠﻔﺎت وﺗﺨﺼﯿﺺ اﻟﺬاﻛﺮةوﻗﺪ ﺻﻤﻢ ﻟﺘﺒﺴﯿﻂ ﺗﻄﻮﯾﺮ اﻟﺘﻄﺒﯿﻘﺎت ﻓﻲ اﻟﺒﯿﺌﺔ
اﻟﻤﻮزﻋﺔ ﺟﺪا)اﻹﻧﺘﺮﻧﺖ( وﯾﺠﮭﺰ ﻟﺠﻌﻞ ﻋﻤﻠﺔ ﻓﻲ ﺟﻤﯿﻊ اﻧﻈﻤﺔ اﻟﺘﺸﻐﯿﻞ واﻟﻤﻜﻮﻧﺎت اﻻﺳﺎﺳﯿﺔ ﻻﻃﺎر ﻋﻤﻞ ﻧﺖ ﯾﻮﺿﺢ ﺑﺎﻟﺼﻮرة
اﻟﺘﺎﻟﯿﺔ
:
ﺗﻮﻓﯿﺮ ﺑﯿﺌﺔ ﺑﺮﻣﺠﺔ ﻣﻮﺟﮭﮫ ﻟﻠﻜﺎﺋﻨﺎت OOPﺛﻠﺒﺘﺔ ﺳﻮاء ﻛﺎن اﻟﺘﻄﺒﯿﻖ ﯾﺨﺰن وﯾﻨﻔﺬ ﻣﺤﻠﯿﺎ Desktopاو ﯾﻨﻔﺬ ﻣﺤﻠﯿﺎ ﻟﻜﻦ ﻣﻮزع ﻋﻠﻰ
اﻹﻧﺘﺮﻧﺖ Distributedاو ﺗﻨﻔﯿﺬ ﻋﻦ ﺑﻌﺪ Remoteاو ﻟﺘﺰوﯾﺪ ﺑﯿﺌﺔ ذﻛﯿﺔ ﻻدارة اﻟﺬاﻛﺮة واﻟﻤﺼﺎدر وﺣﻞ ﻣﺸﻜﻠﺔVersioning
وﻟﺘﺰوﯾﺪ ﺑﯿﺌﺔ ﺗﻨﻈﯿﻒ رﻣﺰ وھﻲ اﻟﺘﻰ ﺗﺰﯾﻞ ﻣﺸﺎﻛﻞ اداء ﻛﺘﺎﺑﺔ او ﺗﺮﺟﻤﺔ اﻟﺒﯿﺌﺎﺗﻮﻟﺠﻌﻞ ﺗﺠﺮﺑﺔ اﻟﻤﻄﻮر ﺛﺎﺑﺘﺔ ﻋﺒﺮ اﻻﻧﻮاع اﻟﻤﺨﺘﻠﻔﺔ
ﺟﺪا ﻣﻦ اﻟﻄﻠﺒﺎت ﻣﺜﻠﻄﻠﺒﺎت اﺳﺎﺳﮭﺎ اﻟﻨﻮاﻓﺬ واﻟﻄﻠﺒﺎت ﻋﻠﻰ اﻹﻧﺘﺮﻧﺖ.ﻛﻤﺎ ﺗﻌﻤﻞ ﻟﺒﻨﺎء اﺗﺼﺎل ﻋﻠﻰ ﻣﻌﺎﯾﯿﺮ ﻗﯿﺎﺳﯿﺔ ﻟﻀﻤﺎن ﻋﻤﻞ ذﻟﻚ
اﻟﻤﻜﻮﻧﺔ ﻣﺴﺘﻨﺪ ﻋﻠﻰ اﻃﺎر اﻟﻌﻤﻞ ﺑﺤﯿﺚ ﯾﺴﺘﻄﯿﻊ اﻟﺘﻜﺎﻣﻞ ﻣﻊ اﻟﻤﻜﻮﻧﺎت اﻻﺧﺮىﻮھﻮ ﯾﺘﻜﻮن ﻣﻦ ﻋﻨﺼﺮﯾﻦ ھﻤﺎ :اﻟﻤﻜﺘﺒﺎت وﺑﯿﺌﺔ
اﻟﺘﺸﻐﯿﻞ وﯾﺤﺘﻮى ھﯿﻜﻞ .Netﻋﻠﻰ ﻣﺎ ﯾﺰﯾﺪ ﻋﻦ 3400ﻃﺒﻘﺔ ﯾﻤﻜﻦ اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ ﻣﺘﻄﻠﺒﺎﺗﻚ ﺗﻤﺜﻞ ﺑﻌﺾ ھﺬة اﻟﻄﺒﻘﺎت اﻧﻮاع
اﻟﺒﯿﺎﻧﺎت اﻻﺳﺎﺳﯿﺔ واﻏﻠﺒﯿﺔ اﻟﻄﺒﻘﺎت ﻣﺨﺼﺼﺔ ﻟﻤﮭﺎم ﻣﺘﺨﺼﺼﺔ اﻛﺜﺮ ﻣﺜﺐ اﻟﻌﻤﻞ ﺑﻨﻈﺎم اﻟﻤﻠﻔﺎت وﺗﻮﻟﯿﺪ وﺛﺎﺋﻖXML
ھﻮ اول ﻣﻜﻮن ﻟﺒﻨﯿﺔ اﻃﺎر .Net Frameworkوﯾﻄﻠﻖ ﻋﻠﯿﺔ ﺑﯿﺌﺔ اﻟﻌﻤﻞ اﻟﻤﺸﺘﺮك وﺑﺔ ﯾﺘﻢ ﺗﻨﻔﯿﺬ ﻛﻞ اﻟﺘﻄﺒﯿﻘﺎت وﯾﺘﯿﺢ ﻟﻚ ﻣﺰاﯾﺎ
ﻋﺪﯾﺪة ﻣﻨﮭﺎ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻻﺧﻄﺎء واﻻﻣﺎن وازاﻟﺔ اﻟﻌﯿﻮب واﻟﺘﻨﺎﺳﻖ ﻓﻲ ﻣﻼﻣﺢ اﻟﺒﺮﻧﺎﻣﺞ وھﺬة اﻟﻤﺰاﯾﺎ ﻣﺘﻮﻓﺮة ﻻي ﻟﻐﺔ ﻣﺼﻤﻤﺔ
ﻟﻮﻇﺎﺋﻒ CLRوھﺬا ﯾﻌﻨﻲ ان ﻣﻜﻮن CLRﯾﺴﺘﻄﯿﻊ اﺳﺘﻀﺎﻓﺔ ﻋﺪد ﻛﺒﯿﺮ ﻣﻦ اﻟﻠﻐﺎت وﯾﻌﺮض ﻣﺠﻤﻮﻋﺎت ﻋﺎﻣﺔ ﻣﻦ اﻻدوات ﺗﺸﺘﺮك
ﻓﯿﮭﺎ ﺟﻤﯿﻊ ھﺬة اﻟﻠﻐﺎت وﻟﻘﺪ دﻋﻤﺖ ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻟﻐﺎت VB,C++,C#ﺑﻤﻜﻮﻧﺎت CLRوﻗﺪ ﺳﺠﻠﺖ اﻟﺸﺮﻛﺎت اﺳﻤﺎﺋﮭﺎ ﻟﺘﻘﺪﯾﻢ
ﺗﻄﺒﯿﻘﺎت ﻟﻠﻐﺎت اﻻﺧﺮى ﻣﺜﻞ Perl,Python,ﺑﻞ وﺣﺘﻰ Cobol .ﯾﺼﯿﺮ ھﺬا اﻟﻜﻮد ﻛﻮدأ ﻣﺪارأ CLRﻓﻌﻨﺪﻣﺎ ﯾﺤﻮل اﻟﻤﺘﺮﺟﻢ اﻟﻜﻮد
اﻟﻰ ﻣﻜﻮﻧﺎت CLRواﻟﻤﻘﺼﻮد ﺑﺎﻟﻜﻮد اﻟﻤﺪار ھﻮ اﻟﻜﻮد اﻟﺬي ﯾﺴﺘﻔﯿﺪ ﻣﻦ اﻟﺨﺪﻣﺎت اﻟﺘﻲ ﺗﻘﺪﻣﮭﺎ ﻣﻜﻮﻧﺎت وﺣﺘﻰ ﯾﻌﻤﻞ وﻗﺖ اﻟﺘﻨﻔﯿﺬ ﻣﻊ
اﻟﻜﻮد ﻻﺑﺪ ان ﯾﺤﺘﻮي ھﺬا اﻟﻜﻮد ﻋﻠﻰ ﻣﺎﯾﺴﻤﻰ ﺑﺎﻟﻤﯿﺘﺎداﺗﺎ Metadataوھﻲ ﻋﺒﺎرة ﻋﻦ ﺑﯿﺎﻧﺎت ﯾﺘﻢ ﺗﺨﻠﯿﻘﮭﺎ اﺛﻨﺎء ﺗﻨﻔﯿﺬ اﻟﻤﺘﺮﺟﻤﺎت
ﻟﻌﻤﻠﯿﺔ اﻟﺘﺤﻮﯾﻞ اﻟﻰ ﻣﻜﻮﻧﺎت CLRوﺗﺨﺰﯾﻦ اﻟﻤﯿﺘﺎداﺗﺎ ﻣﻊ اﻟﻜﻮد اﻟﻤﺤﻮل وﺗﺤﺘﻮي ﻋﻠﻰ ﺑﯿﺎﻧﺎت ﺑﺸﺎن اﻧﻮاع واﺿﺎء وﻣﺮاﺟﻊ اﻟﻜﻮد
وﺗﺴﺘﺨﺪم ﻣﻜﻮﻧﺎت CLRاﻟﻤﯿﺘﺎداﺗﺎ ﻟﺘﺤﺪﯾﺪ اﻟﻔﺌﺎت Classesوﺗﺤﻤﯿﻠﮭﺎ واﻧﺸﺎء ﻛﻮد اﺻﯿﻞ وزﯾﺎدة ﻣﺴﺘﻮﯾﺎت اﻻﻣﺎن وﯾﻮﺟﺪ ﻓﻮق
ﻣﻜﺘﺒﺔ اﻟﺼﻨﻒ اﻟﻘﺎﻋﺪي اﻻﺳﺎﺳﻲ ﻧﻮذﺟﺎن ﺑﺮﻣﺠﯿﺎن:
- ١اﻻول ھﻮ [Link]اﻟﺬي ﯾﺴﺘﺨﺪم ﻻﻧﺸﺎء ﺗﻄﺒﯿﻘﺎت ﻣﻌﺘﻤﺪة ﻋﻠﻰ وﯾﺐ وﯾﻤﻜﻦ اذﻛﺮ ﻣﺎﺑﯿﻦ اﻟﻤﺰاﯾﺎ اﻟﻌﺪﯾﺪة ﻟﺘﻘﻨﯿﺔ [Link]
ﻣﯿﺰة ﺻﻔﺤﺎت اﻟﻤﺰود اﻟﻔﻌﺎﻟﺔ اﻟﻤﺘﺮﺟﻤﺔ وﻋﻨﺎﺻﺮ اﻟﺘﺤﻜﻢ ﺑﺎﻟﻤﺰود اﻟﺠﺪﯾﺪة وﺧﺪﻣﺎت وﻧﻤﺎذج وﯾﺐ اﻟﺘﻰ ﺗﻔﺼﻞ ﻣﻨﻄﻖ ﻟﻐﺔ اﻟﻨﺼﻮص
١٢
Prog : Mohamed Youssef
اﻟﺒﺮﻣﺠﯿﺔ ﻋﻦ ﻟﻐﺔ وﺻﻒ اﻻﻇﮭﺎر
-٢اﻟﺜﺎﻧﻲ ھﻮ اﻃﺎرات وﯾﻨﺪوز ﺣﯿﺚ ﯾﺎﺧﺬ ھﺬا اﻟﻨﻤﻮذج اﻟﺒﺮﻣﺠﻲ ﺑﺎﺳﻠﻮب ﻟﻐﺔ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ٦ﻓﻲ اﻟﺒﺮﻣﺠﺔ اﻟﻤﻌﺘﻤﺪة ﻋﻠﻰ
اﻻﻃﺎرات ﻟﯿﻌﻤﻤﮭﺎ ﻋﻠﻰ ﻛﻞ ﻣﻄﻮري ﺗﻄﺒﯿﻘﺎت وﻧﺪوز وﯾﺘﻢ ھﺬا ﺑﻮاﺳﻄﺔ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻻﺻﻨﺎف ﻓﻲ اﻃﺎر ﻋﻤﻞ Netوﺗﻌﺪ اﻃﺎرات
وﯾﻨﺪوز ﻣﺠﻤﻮﻋﺔ ﻛﺎﻣﻠﺔ ﻣﻦ اﻻﻧﻤﺎط اﻟﻘﺎﺑﻠﺔ ﻻﻋﺎدة اﻻﺳﺘﺨﺪام وھﻲ ﺗﺒﺴﻂ ﺗﻄﻮﯾﺮ واﺟﮭﺎت اﻻﺳﺘﺨﺪام اﻟﺮﺳﻮﻣﯿﺔ ﻓﻲ وﯾﻨﺪوز
وﺗﺴﻤﺢ اﻃﺎرات وﯾﻨﺪوز ﺑﺬﻟﻚ ﺑﺒﻨﺎء اﻟﺘﻄﺒﯿﻘﺎت ﺳﺮﯾﻌﺎ اﻟﺘﻰ ﺗﻤﺘﺎز ﺑﺎﺳﺘﺨﺪام ﻋﻨﺎﺻﺮ اﻛﺘﯿﻒ اﻛﺲ ActiveXواﻟﻘﻮاﺋﻢ اﻟﻤﻨﺒﺜﻘﺔ
واﻣﻜﺎﻧﯿﺔ اﻟﻮﺻﻮل اﻟﻰ ﻣﺰاﯾﺎ اﻻﻣﻦ ﻓﻲ .NETواﻟﻤﻜﻮﻧﺎت اﻟﻘﯿﺎﺳﯿﺔ ﻟﻮاﺟﮭﺔ اﻻﺳﺘﺨﺪام اﻟﺮﺳﻮﻣﯿﺔ ﻣﺜﻞ اﻻزرار ودواﺋﺮ اﻻﺧﺘﯿﺎر
وﺳﯿﯿﺘﻔﯿﺪ اﻟﺘﻄﺒﯿﻖ ﻟﺪي اﺳﺘﺨﺪم اﻃﺎرات وﯾﻨﺪوز Windows Frame ,ﻣﻦ ﻛﻞ ﻣﺰاﯾﺎ [Link]ﻟﻠﻮﺻﻮل اﻟﻰ اﻟﺒﯿﺎﻧﺎت
وﺳﯿﺴﺘﻔﯿﺪ اﻟﺘﻄﺒﯿﻖ اﯾﻀﺎ ﻣﻦ اﺣﺪاث اﺻﺪارات واﺟﮭﺔ اﻻﺳﺘﺨﺪام اﻟﺮﺳﻮﻣﯿﺔ GDI+وﻛﺬﻟﻚ ﻣﻦ ﺧﺪﻣﺎت اﻟﻄﺒﺎﻋﺔ ﺑﺤﯿﺚ ﯾﻐﺪو
اﻟﺘﻄﺒﯿﻖ ﻗﺎدرا ﻋﻠﻰ اﺻﺪار اﻟﺘﻘﺎرﯾﺮ اﻟﺸﺎﻣﻠﺔ
Class Library
Class Libraryﺗﻌﺘﺒﺮ اﻟﻤﻜﻮن اﻟﺜﺎﻧﻲ ﻻﻃﺎر .Net Frameworkوھﻲ اﻟﻤﻜﺘﺒﺎت اﻟﻤﺴﺎﻋﺪة واﻟﺘﻰ ﺗﺴﺎﻋﺪ اﻟﻤﺒﺮﻣﺠﯿﻦ ﻻﻧﺸﺎء
اﻟﺘﻄﺒﯿﻘﺎت وﺗﺤﺘﻮي ﺑﯿﺌﺔ اﻟﺪوت ﻧﺖ ﻋﻠﻰ اﻻﻟﻒ ﻣﻨﮭﺎ وھﻲ ﻣﻮزﻋﺔ ﻓﻲ ﻣﺠﻤﻮﻋﺎت ھﺮﻣﯿﺔ ﺑﮭﯿﻜﻞ .NETوﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻛﻞ
اﻟﻔﺌﺎت اﻟﺘﻲ ﺗﻌﻤﻞ ﻣﻊ ﻧﻈﺎم اﻟﻤﻠﻔﺎت ﺗﺠﻤﻊ ﻓﻲ ﺗﻔﺮع اﻻﺳﻤﺎء [Link]وﯾﻤﻜﻦ ان ﺗﺸﯿﺮ اﻟﻰ أي ﻓﺌﺔ ﺑﺸﻜﻞ ﻣﻌﯿﻦ ﻓﻲ ھﯿﻜﻞ Net
وذﻟﻚ ﺑﻜﺘﺎﺑﺔ اﺳﻢ اﻟﻔﺌﺔ ﺛﻢ اﺳﻢ اﻟﺘﻔﺮع ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻟﻼﺷﺎرة اﻟﻰ ﺗﻔﺮع اﻟﻤﻠﻔﺎت ﻓﻲ اﻟﻔﺌﺔ [Link]ﯾﻤﻜﻨﻚ ان ﺗﺴﺘﺨﺪم
اﻟﺘﻔﺮع [Link]ھﻨﺎﻟﻚ ﻓﺌﺔ واﺣﺪة ﻣﮭﻤﺔ ﺟﺪا ﺧﺼﻮﺻﺎ ﻟﺒﺮﻣﺠﺔ ﺻﻔﺤﺎت
[Link]وﻛﻞ اﻟﻄﺒﻘﺎت اﻟﺘﻰ ﺗﺘﻌﻠﻖ ﺑﮭﯿﻜﻞ [Link]ﯾﻤﻜﻦ ان ﺗﻮﺟﺪ ﺗﺤﺖ اﻟﻔﺌﺔ [Link]
Assemblies
اﻟﻄﺒﻘﺎت ﻓﻲ ھﯿﻜﻞ ال .Netﺗﺠﻤﻊ ﻓﻲ ﻣﻠﻔﺎت ﺗﺴﻤﻲ Assembliesوﻣﻦ اﻟﻤﮭﻢ ﻋﺪم اﻟﺨﻠﻂ ﺑﯿﻦ اﻟﻤﻠﻔﺎت
Assembliesوﺑﯿﻦ اﻟﻔﺌﺎت ﻓﺎﻟﻤﻠﻒ Assembliesھﻮ اﻟﻤﻠﻒ او اﻟﻤﻠﻔﺎت اﻟﻔﻌﻠﯿﺔ اﻟﺘﻰ ﺗﺤﺘﻮي ﻋﻠﻰ اﻟﻜﻮد ﻟﻠﻄﺒﻘﺎت اﻟﻔﺌﺎت ﻋﻠﻰ
ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻛﻞ اﻟﻄﺒﻘﺎت ﻓﻲ اﻟﻔﺌﺔ [Link]ﺗﻘﻊ ﻓﻲ اﻟﻤﻠﻒ [Link]وھﻮ اﻟﻤﻠﻒ اﻟﻔﻌﻠﻲ اﻟﻤﻮﺟﻮد ﻋﻠﻰ ﻗﺮص اﻟﺘﺨﺰﯾﻦ
١٣
Prog : Mohamed Youssef
Visual [Link] 2005 اﻟﺠﺰء اﻟﺜﺎﻧﻰ اﻟﺘﻌﺮف ﻋﻠﻰ ﺑﺮﻧﺎﻣﺞ
وﻟﻠﺘﺤﻤﯿﻞ
ﻛود:
[Link]
ﺑﯿﺌﺔ [Link] 2005أو ﻛﻤﺎ ﯾﻌﺮف IDEوھﻰ أﺧﺘﺼﺎرا ﻟـ ، integrated development environmentواﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت
ﻧﺖ visual basiv .netھﻰ أﺣﺪى اﻟﻠﻐﺎت اﻟﻤﺘﺎﺣﺔ داﺧﻞ visual [Link]ﺑﺎﻷﺿﺎﻓﺔ اﻟﻰ visual c# .net , visual j# .net ,
visual c++.net
وﺑﯿﺌﺔ visual [Link]ھﻰ ﺑﯿﺌﺔ ﻣﺘﻜﺎﻣﻠﺔ ﻷﻧﺸﺎء وﺗﺼﺤﯿﺢ اﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺘﻨﻮﻋﺔ ﻣﺜﻞ windows applicationوﻏﯿﺮھﺎ ﻣﻦ
اﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺨﺘﻠﻔﺔ.
ﺧﻄﻮات ﺗﻨﺼﯿﺐ اﻟﺒﺮﻧﺎﻣﺞ
١٤
Prog : Mohamed Youssef
١٥
Prog : Mohamed Youssef
١٦
Prog : Mohamed Youssef
١٧
Prog : Mohamed Youssef
اﻟﺘﻌﺮف ﻋﻠﻰ اﻟﻮاﺟﮭﺔ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥
VISUAL [Link]
ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ
VISUAL C#.NET
VISUAL J#.NET
VISUAL C++.NET
وﺑﯿﺌﮫ VISUAL [Link]ھﻲ ﺑﯿﺌﺔ ﻣﺘﻜﺎﻣﻠﺔ ﻻﻧﺸﺎء واﺧﺘﺒﺎر وﺗﺼﺤﯿﺢ اﻟﺘﻄﺒﯿﻘﺎت اﻟﻤﺘﻨﻮﻋﺔ ﻣﺜﻞ
WINDOWS APPLICATION
WEB APPLICATION
CLASSES AND CONTROL LIBRARY
CONSOLE APPLICATION
١٨
Prog : Mohamed Youssef
ﺑﻌﺪھﺎ اﻧﺘﻈﺮ ﻗﻠﯿﻼ ﺑﯿﻨﻤﺎ ﯾﻘﻮم اﻟﻔﯿﺠﻮال ﺑﺎﻟﻘﯿﺎم
ﺑﻌﻤﻞ اﻋﺪاد ﺑﺪاء اﻟﻌﻤﻞ ﺛﻢ ﺳﯿﻈﮭﺮ ﻟﻚ اوﻻ START PAGE
ﻋﻠﻰ اﻟﯿﺴﺎر ﯾﻮﺟﺪ ﻧﻮع اﻟﻤﺸﺮوع اﻟﺬي ﺗﺮﯾﺪ اﻧﺸﺎء اﺣﺪ ﺗﻄﺒﻘﺎﺗﺔ وﻋﻠﻰ اﻟﯿﻤﯿﻦ ﺗﻈﮭﺮ ﺗﻄﺒﯿﻘﺎت اﻟﻤﺸﺮوع
١٩
Prog : Mohamed Youssef
أﻧﻮاعُ اﻟﻤﺸﺎرﯾﻊ:
ﯾﻤﻜﻨﻚ أن ﺗﺮى ﻛﻞﱠ أﻧﻮاعِ اﻟﻤﺸﺎرﯾﻊِ اﻟﻤﺘﺎﺣﺔِ ـ ﺑﺨﻼفِ ﺗﻄﺒﯿﻘﺎت وﯾﻨﺪوز ـ ﻓﻲ ﻣﺮﺑﻊ ﺣﻮار "ﻣﺸﺮوع ﺟﺪﯾﺪ" ،وھﻲ ﻛﺎﻟﺘﺎﻟﻲ:
وھﻲ ﻣﻜﻮّن أﺳﺎﺳﻲّ ﻟﺒﻨﺎء اﻟﻜﻮد ،ﻟﯿﺲ ﻟﮭﺎ واﺟﮭﺔ ﻣﺮﺋﯿّﺔ ،وﻟﻜﻨّﮭﺎ ﺗﺆّدى وﻇﺎﺋﻒ ﻣﻌﯿّﻨﺔ ﻟﺒﺮﻧﺎﻣﺠﻚ.
وﺑﺎﺧﺘﺼﺎر ،ﻓﺈنﱠ اﻟﺨﻠﯿّﺔ ھﻲ ﻣﺠﻤﻮﻋﺔٌ ﻣﻦ اﻟﺪوالّ واﻹﺟﺮاءات اﻟﺘﻲ ﯾﻤﻜﻦُ إﻋﺎدة اﺳﺘﺨﺪاﻣﮭﺎ ﻓﻲ أيّ ﻣﺸﺮوع ،ﺑﺤﯿﺚُ ﯾﻮﻓّﺮ اﻟﻤﺒﺮﻣﺞُ
ﻋﻠﻰ ﻧﻔﺴِﮫ ﻣﺸﻘّﺔَ إﻋﺎدة ﻛﺘﺎﺑﺘﮭﺎ ﻣﺮة أﺧﺮى.
إنّ أدة وﯾﻨﺪوز ـ أو اﻷداة ﻋﻠﻰ ﺳﺒﯿﻞ اﻻﺧﺘﺼﺎر ـ ھﻲ ﻋﻨﺼﺮ أﺳﺎﺳﻲﱞ ﻓﻲ واﺟﮭﺔ اﻟﺒﺮﻧﺎﻣﺞ ،ﻣﺜﻞ ﻣﺮﺑﻊ اﻟﻨﺺ أو اﻟﺰر.
ﻓﺈذا ﻣﺎ وﺟﺪتَ أنﱠ اﻷدواتِ اﻟﺘﻲ ﯾﻤﻨﺤُﮭﺎ ﻟﻚ [Link]ـ وھﻲ اﻟﺘﻲ ﺗﻈﮭﺮ ﻓﻲ ﻣﺮﺑﻊ اﻷدوات ﺗﻠﻘﺎﺋّﯿﺎ ـ ﻻ ﺗﻤﻨﺤُﻚَ اﻟﻮﻇﯿﻔﺔَ اﻟﺘﻲ
ﺗﺮﯾﺪُھﺎ ،ﻓﻔﻲ ھﺬه اﻟﺤﺎﻟﺔِ ﯾﻤﻜﻨُﻚَ أن ﺗﺒﻨﻲَ اﻷدواتِ اﻟﺨﺎﺻّﺔَ ﺑﻚ ..إنﱠ ھﺬا ﯾﺒﺴّﻂُ ﻋﻤﻠَﻚَ ﻓﯿﻤﺎ ﺑﻌﺪ ،ﺣﯿﺚُ ﻟﻦ ﺗُﻀﯿﻊَ اﻟﻤﺰﯾﺪَ ﻣﻦ اﻟﻮﻗﺖِ
واﻟﺠﮭﺪِ ﻓﻲ ﺗﺼﻤﯿﻢِ أﺟﺰاءٍ ﻣﻦ واﺟﮭﺎتٍ ﺗﺘﻜﺮّرُ ﻛﺜﯿﺮًا.
ﺑﻞ ﯾﺼﻞُ ﺑﻚ اﻷﻣﺮُ ـ ﻟﻮ ﻛﻨﺖَ ﺧﺒﯿﺮًا ﻓﻲ ﺗﺼﻤﯿﻢِ اﻷدواتِ اﻟﺨﺎﺻّﺔ ،إﻟﻰ أﻧّﻚ ﺗﺴﺘﻄﯿﻊُ ﺑﯿﻌَﮭﺎ ﻟﻠﺸﺮﻛﺎتِ واﻟﻤﺒﺮﻣﺠﯿﻦَ اﻵﺧﺮﯾﻦ ..إنﱠ
ﺻﻔﺤﺎتِ ﻣﺠﻼتِ اﻟﻜﻤﺒﯿﻮﺗﺮ ﺗﺰﺧﺮُ ﺑﺎﻹﻋﻼﻧﺎتِ ﻟﻠﻌﺪﯾﺪِ ﻣﻦ اﻷدواتِ اﻟﺨﺎﺻّﺔِ اﻟﻤﺘﻄﻮّرة ،اﻟﺘﻲ ﺗُﻜﻤﻞُ ﻋﻤﻞَ اﻷدواتِ اﻷﺻﻠﯿّﺔ.
وھﻮ اﻻﺳﻢ اﻟﺠﺪﯾﺪ ﻟـ Services NTاﻟﻘﺪﯾﻤﺔ ..وھﺬا اﻟﻨﻮع ﻣﻦ اﻟﻤﺸﺎرﯾﻊ ،ﻣﺎ ھﻮ إﻻ ﺑﺮاﻣﺞ ﻃﻮﯾﻠﺔ اﻟﺘﺸﻐﯿﻞ ﺗﻌﻤﻞ ﻓﻲ ﺧﻠﻔﯿﺔ ﻧﻈﺎم
اﻟﺘﺸﻐﯿﻞ ،دون أن ﺗﻌﺮض واﺟﮭﺔً ﻣﺮﺋﯿﺔ ..وﯾﻤﻜﻦ ﻟﮭﺬه اﻟﺨﺪﻣﺎت أن ﺗﻌﻤﻞَ ﺗﻠﻘﺎﺋﯿﺎ ﺑﻤﺠﺮد ﺗﺸﻐﯿﻞ اﻟﺠﮭﺎز ،ﻛﻤﺎ ﯾﻤﻜﻦ إﯾﻘﺎﻓﮭﺎ ﻟﻔﺘﺮةٍ ﺛﻢ
إﻋﺎدة ﺗﺸﻐﯿﻠﮭﺎ.
إن اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﯾﺘﻔﺎﻋﻞ اﻟﻤﻠﻔﺎت ﻋﻠﻰ اﻟﺠﮭﺎز وﯾﻐﯿﺮھﺎ ،ھﻮ ﻣﺮﺷﺢ رﺋﯿﺴﻲّ ﻷن ﯾﻜﻮن ﺧﺪﻣﺔ وﯾﻨﺪوز ،ﺣﯿﺚ ﯾﻤﻜﻦ ﻟﮭﺬه اﻟﺨﺪﻣﺔ أن
ﺗﺆدي ﺑﻌﺾ اﻟﻌﻤﻠﯿﺎت ،ﻓﻮر أن ﯾﻨﻘﻞ اﻟﻤﺴﺘﺨﺪم ﺑﻌﺾ اﻟﻤﻠﻔﺎت إﻟﻰ ﻣﺠﻠﺪ ﻣﻌﯿﻦ ،ﻛﺄن ﺗﻨﺴﺦ اﻟﻤﻠﻔﺎتِ أو ﺗﻘﺮأ ﻣﺤﺘﻮﯾﺎﺗﮭﺎ ،أو ﺗﺤﺪّث
ﻣﺤﺘﻮﯾﺎت ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ...وھﻜﺬا.
وھﻮ ﺗﻄﺒﯿﻖٌ ذو واﺟﮭﺔِ اﺳﺘﺨﺪامٍ ﻣﺤﺪودة ﺟﺪًا ،ھﻲ أﻗﺮبُ ﻣﺎ ﺗﻜﻮنُ ﻟﺸﺎﺷﺔِ اﻟﺪوس DOSاﻟﺴﻮداء ،ﺣﯿﺚُ ﯾﺘﻢﱡ ﻓﯿﮭﺎ إﺧﺮاجُ اﻟﻨﻮاﺗﺞِ
وإدﺧﺎلُ اﻟﺒﯿﺎﻧﺎت ،ﻋﻠﻰ ﺳﺒﯿﻞ اﺧﺘﺒﺎرھﺎ.
إن ﺗﻄﯿﺒﻖ اﻹﻧﺘﺮﻧﺖ ھﻮ واﺣﺪ ﻣﻦ أﻛﺜﺮ اﻟﺴﻤﺎت اﻟﺠﺪﯾﺪة ﻓﻲ [Link]إﺛﺎرةً ،وھﻮ ﻋﺒﺎرة ﻋﻦ ﺑﺮﻧﺎﻣﺞ ﯾﻤﻜﻦ ﺗﺸﻐﯿﻠﮫ ﻋﻠﻰ ﺷﺒﻜﺎت
اﻹﻧﺘﺮﻧﺖ ،ﯾﻤﻜﻦ ﻃﻠﺐ ﺧﺪﻣﺎت ﻣﻌﯿﻨﺔ ﻣﻨﮫ ﻋﻦ ﻃﺮﯾﻖ ﻣﺘﺼﻔﺤﺎت اﻟﺸﺒﻜﺔ ..وأوﺿﺢ ﻣﺜﺎل ﻟﺬﻟﻚ ،ھﻮ ﻣﺤﻞ ﻛﺘﺐٍ ﯾﻌﺮض وﯾﺒﯿﻊ ﻋﻠﻰ
اﻹﻧﺘﺮﻧﺖ.
وﯾﺠﺐ ﻋﻠﻰ اﻟﺘﻄﺒﯿﻖ اﻟﺬي ﯾﻌﻤﻞ ﻋﻠﻰ اﻹﻧﺘﺮﻧﺖ أن ﯾﺴﺘﻘﺒﻞ ﻃﻠﺒﺎت اﻟﻌﻤﻼء ،وﯾﺮدّ ﻋﻠﯿﮭﺎ ﻓﻲ ﺻﻮرة ﺻﻔﺤﺔ ﻣﻦ ﺻﻔﺤﺎت اﻹﻧﺘﺮﻧﺖ
HTML.
وﻣﺜﻞ ھﺬه اﻟﺘﻄﺒﯿﻘﺎت ﻟﯿﺴﺖ ﺑﺠﺪﯾﺪة ،وﻟﻜﻦ اﻟﺠﺪﯾﺪ ھﻮ أن [Link]ﺻﺎر ﯾﻌﺰل اﻟﻤﺒﺮﻣﺞ ﻋﻦ ﻛﺜﯿﺮٍ ﻣﻦ ﺗﻔﺎﺻﯿﻞ ﺑﻨﺎﺋﮭﺎ ،ﻣﺎﻧﺤًﺎ
اﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺴﮭﻮﻟﺔ واﻟﺴﺮﻋﺔ ،وﻣﺤﻮﻻ اﻟﻌﻤﻠﯿﺔ إﻟﻰ ﻣﺎ ﯾﺸﺒﮫ ﻛﺜﯿﺮا ﺑﻨﺎء ﺗﻄﺒﯿﻘﺎت وﯾﻨﺪوز اﻟﺘﻘﻠﯿﺪﯾﺔ.
وﺳﻨﻨﺎﻗﺶ ﺑﺎﻟﺘﻔﺼﯿﻞ ﺧﺪﻣﺎت وﺗﻄﺒﯿﻘﺎت اﻹﻧﺘﺮﻧﺖ ﻓﻲ آﺧﺮ ﺟﺰء ﻣﻦ ھﺬا اﻟﻜﺘﺎب إن ﺷﺎء اﷲ.
وھﻲ ﻻ ﺗﻜﺎﻓﺊ ﺑﺤﺎلٍ ﺧﺪﻣﺎت وﯾﻨﺪوز ،ﺑﻞ ھﻲ ﻋﺒﺎرةٌ ﻋﻦ ﺑﺮﻧﺎﻣﺞٌ ﯾﻌﻤﻞُ ﻋﻠﻰ ﺧﻮادم اﻹﻧﺘﺮﻧﺖ Internet Serversﻻﺳﺘﻘﺒﺎل
اﻟﻄﻠﺒﺎت ،ﺗﻤﺎﻣًﺎ ﻣﺜﻞ ﺗﻄﺒﯿﻖ اﻹﻧﺘﺮﻧﺖ ،وﻟﻜﻦ دونَ أن ﯾﺮد ﺑﺼﻔﺤﺔٍ ﻣﻦ ﺻﻔﺤﺎت اﻹﻧﺘﺮﻧﺖ ،ﺑﻞ ﯾﺮﺳﻞ ﻧﺎﺗﺞَ اﻟﻌﻤﻠﯿﺔ اﻟﺤﺴﺎﺑﯿﺔ ،أو
٢٠
Prog : Mohamed Youssef
اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﻄﻠﻮﺑﺔ ﻣﻦ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎتٍ ﻣﺎ ،وﻋﺎدةً ﻣﺎ ﺗُﻄﻠﺐ ھﺬه اﻟﺨﺪﻣﺎت ﻣﻦ ﻗﺒﻞ ﺧﺎدم إﻧﺘﺮﻧﺖ آﺧﺮ ،ﺣﯿﺚ ﺳﯿﺘﻮﻟّﻰ ھﻮ اﻟﺘﻌﺎﻣﻞ ﻣﻊ
اﻟﺒﯿﺎﻧﺎت.
وﻟﺘﻮﺿﯿﺢ اﻟﻔﺎرق ﻧﻀﺮبُ ھﺬا اﻟﻤﺜﺎل:
إن ﺗﻄﺒﯿﻖ اﻹﻧﺘﺮﻧﺖ اﻟﺬي ﯾﺘﻠﻘﻰ ﻣﻨﻚ اﺳﺘﻌﻼﻣًﺎ ﻋﻦ ﻛﻞ ﻛﺘﺐ )ﺗﻮﻓﯿﻖ اﻟﺤﻜﯿﻢ( ﺳﯿﻌﺮض ﻟﻚ ﺻﻔﺤﺔً ﻋﻠﯿﮭﺎ أﺳﻤﺎء ھﺬه اﻟﻜﺘﺐ ..أﻣﺎ
ﺧﺪﻣﺔ اﻹﻧﺘﺮﻧﺖ اﻟﺘﻲ ﺗﺘﻠﻘﻰ ﻣﻨﻚ ﻧﻔﺲ ھﺬا اﻻﺳﺘﻌﻼم ،ﻓﺴﺘﺮﺳﻞ إﻟﯿﻚ ﻣﻠﻒ XMLﯾﺤﺘﻮي ﻋﻠﻰ أﺳﻤﺎء اﻟﻜﺘﺐ اﻟﻤﻄﻠﻮﺑﺔ ،ﺣﯿﺚُ ﯾﻤﻜﻦ
ﻟﺘﻄﺒﯿﻘﻚ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔِ أن ﯾﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺒﯿﺎﻧﺎت وﯾﻌﺮﺿﮭﺎ ﻓﻲ ﺻﻔﺤﺔٍ ﺟﺪﯾﺪةٍ ﺑﺎﻟﺸﻜﻞ اﻟﺬي ﺗﺮﯾﺪه ،وﯾﺮﺳﻠﮭﺎ ﻟﻠﻤﺴﺘﺨﺪم اﻟﺬي ﺗﺮﯾﺪه،
أو رﺑﻤﺎ ﺗﻌﺮﺿﮭﺎ ﻋﻠﻰ ﻧﻤﻮذج وﯾﻨﺪوز ﻋﺎديّ.
ﻛﻤﺎ أﻧﻚ ﺗﺴﺘﻄﯿﻊ أن ﺗﺒﻨﻲ أدوات اﻟﻮﯾﻨﺪوز اﻟﺨﺎﺻﺔ ﺑﻚ ﻟﺘﺴﺘﺨﺪﻣﮭﺎ ﻋﻠﻰ ﻧﻤﺎذج وﯾﻨﺪوز ،ﺗﺴﺘﻄﯿﻊ أﯾﻀًﺎ أن ﺗﺒﻨﻲ أدوات اﻹﻧﺘﺮﻧﺖ
اﻟﺨﺎﺻﺔ ﻟﺘﺴﺘﺨﺪﻣﮭﺎ ﻋﻠﻰ ﻧﻤﺎذج وﺻﻔﺤﺎت اﻹﻧﺘﺮﻧﺖ.
:
وھﻲ ﻟﯿﺴﺖ أﻧﻮاع ﻣﺸﺎرﯾﻊ ﺑﺎﻟﻤﻌﻨﻰ اﻟﻔﻌﻠﻲّ ،ﺑﻞ ﻣﺠﺮد ﻃﺮﯾﻘﺔ ﻟﺘﻨﻈﻢ ﻣﺸﺎرﯾﻌﻚ اﻟﺠﺪﯾﺪة ﺑﻨﻔﺴﻚ ،ﻓﺤﯿﻦ ﺗﺨﺘﺎرُ واﺣﺪا ﻣﻨﮭﺎ ،ﯾﻨﺸﺊ
[Link]ﻣﺠﻠﺪا ﺟﺪﯾﺪا ﯾﺤﻤﻞ اﺳﻢ اﻟﻤﺸﺮوع ،وﯾﻨﺸﺊ ﻓﯿﮫ ﺑﻌﺾ اﻟﻤﻠﻔﺎت اﻟﻘﻠﯿﻠﺔ اﻟﺘﻲ ﯾﺤﺘﺎﺟﮭﺎ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻦ ھﺬا اﻟﻨﻮع ..وﻋﻠﻰ
ﻋﻜﺲ اﻷﻧﻮاع اﻷوﻟﻰ ـ ﺣﯿﺚ ﺗﻘﻮمُ [Link]ﺑﺈﻧﺸﺎء ﻋﻨﺎﺻﺮ اﻓﺘﺮاﺿﯿّﺔٍ واﻟﻤﻠﻔﺎتِ اﻟﻼزﻣﺔ ﻟﮭﺎ ،ﻛﺈﻧﺸﺎء ﻧﻤﻮذج ﻣﺒﺪﺋﻲ ﻓﻲ ﺗﻄﺒﯿﻖ
وﯾﻨﺪوز ،وإﻧﺸﺎء أداة اﻟﻤﺴﺘﺨﺪم ﻓﻲ ﺗﻄﺒﯿﻘﺎت أدوات وﯾﻨﺪوز ـ ﺗﺤﻤّﻠﻚ ھﺬه اﻷﻧﻮاع اﻟﺜﻼﺛﺔ ﻣﺴﺌﻮﻟﯿﺔ إﻧﺸﺎء وإﺿﺎﻓﺔ ﻣﺎ ﯾﻠﺰﻣﻚ ﻣﻦ
اﻟﻌﻨﺎﺻﺮ واﻟﻤﻠﻔﺎت.
ﺣﺪدﻧﺎه وﻓﻲ اﻻﺳﻔﻞ اﻟﻨﺎﻓﺬة اﺳﻢ اﻟﻤﺸﺮوع و ﯾﻤﻜﻦ ان ﻧﻐﯿﺮة اﻟﻰ اﻻﺳﻢ اﻟﻠﺬي ﻧﺮﯾﺪة ﻧﺨﺘﺎر اﻻن اﺣﺪ ﺗﻄﺒﻘﺎت
VISUAL [Link]وﺳﻨﺨﺘﺎر ﻣﻦ ھﺬة اﻟﻨﺎﻓﺬة WINDOWS APPLICATION
ﺛﻢ ﻧﻀﻐﻂ ﻣﻮاﻓﻖ ﺳﻮف ﺗﻈﮭﺮ ﻟﻨﺎ ﻗﻮاﺋﻢ وادوات وﻧﻮاﻓﺬ ﻟﻐﺔ VISUAL [Link]ھﻜﺬا
٢١
Prog : Mohamed Youssef
ﻻﻇﮭﺎر ﻗﻮاﺋﻢ اﻟﺨﺼﺎﺋﺺ او اﻻدوات ﻧﻘﻮم ﺑﻮﺿﻊ اﻟﻤﺆﺷﺮ ﻋﻠﻰ اﺳﻤﺎء اﻟﻘﻮاﺋﻢ اﻟﻤﻮﺟﻮدةﻻﻇﮭﺎر ﻧﺎﻓﺬة اﻻدوات ﻣﻦ اﻟﻘﺎﺋﻤﺔ View
واﺧﺘﺮ ToolBoxاو ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ Ctrl+Alt+Xواذا ﻇﮭﺮت اﻟﻨﺎﻓﺬة ﺑﺸﻜﻞ ﻣﻨﻄﻮي ﺗﺤﺖ اﺣﺪ ﺟﻮاﻧﺐ ﻧﺎﻓﺬة اﻟﻔﯿﺠﻮال ﺳﺘﺪﯾﻮﻣﺎ ﻋﻠﯿﻨﺎ
اﻻ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺰر اﻻوﺳﻂ اﻟﻤﻮﺟﻮد ﻓﻲ اﻋﻠﻰ أي ﻧﺎﻓﺬة اﻟﺬي ﺑﮭﺬا اﻟﺸﻜﻞ
واﻻن ﻣﺎذا ﻻﺣﻈﻨﺎ ﺑﺎﻟﺼﻮرة ﻧﺎﻓﺬة اﻟﻤﺸﺮوع اﻻﺳﺎﺳﯿﺔ ﺑﺎﻟﻮﺳﻂ ﻇﺎھﺮأ ﺑﮭﺎ ﻓﻮرم اﺳﻤﺔ اﻟﺘﻠﻘﺎﺋﻲForm1
وﻓﻲ اﻟﺠﮭﮫ اﻟﯿﺴﺮى ﺗﻈﮭﺮ ﻗﺎﺋﻤﺔ اﻻدوات وﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻰ ﻛﻞ اداة ﻣﻮﺟﻮدة ﺑﮭﺎ ﻓﻲ اﻟﺪروس اﻟﻘﺎدﻣﺔ
٢٢
Prog : Mohamed Youssef
وﻟﻜﻦ ﻣﺎ ھﻮ اﻟﻔﺮق ﺑﯿﻦ ) Solutionاﻟﻤﺸﺮوع ( وال ) Projectاﻟﺘﻄﺒﯿﻖ( ؟
Projectاو اﻟﺘﻄﺒﯿﻖ:
ھﻮ ﻋﺒﺎرة ﻋﻦ ﻣﺤﺘﻮى ﻟﻠﻤﻜﻮﻧﺎت اﻟﺨﺎﺻﺔ ﺑﺘﻄﺒﯿﻖ ﻣﺎ ﻣﺜﻞ اﻟﻨﻤﺎذج Formsوﻛﺘﻞ اﻻ ﻛﻮاد اﻟﺒﺮﻣﺠﯿﺔ
وﻣﻊ ﺑﺪاﯾﺔ ﻇﮭﻮر ﻟﻐﺔ [Link]ﻇﮭﺮ ﻣﺎ ﯾﺴﻤﻲ( Solutionاﻟﻤﺸﺮوع( وﻓﺎﺋﺪﺗﮫ ﺗﻨﻈﯿﻤﯿﺔ ﻟﻞProjects
وﯾﻌﺘﺒﺮ أل Solutionﻣﺴﺎﺣﺔ اﻟﻌﻤﻞ اﻟﺨﺎﺻﺔ ﺑﺎﻟﺪوت ﻧﺖ ﻓﻤﻦ اﻟﻤﻤﻜﻦ ان ﯾﺤﺘﻮي ﻋﻠﻰ اﻛﺜﺮ
ﻣﻦ ﺗﻄﺒﯿﻖ Projectﺑﺪاﺧﻠﺔ وﺗﺴﺘﻄﯿﻊ اﯾﻀﺎ اﺿﺎﻓﺔ ﻣﻜﻮﻧﺎت ﺧﺎرﺟﺔ ﻋﻦ أﻃﺎر اﻟﻜﻮد اﻟﻰ Solutionأي ﺣﺘﻰ وﻟﻮ ﻟﻢ ﺗﺘﻌﻠﻖ ﺑﻜﻮد
اﻟﺘﻄﺒﯿﻖ ﻛﻤﻠﻒ وورد أو ﺻﻮرة او ﻣﻠﻒ ﺻﻮﺗﻲ وﺑﺎﻟﺘﺎﻟﻲ ﺗﺴﺘﻄﯿﻊ اﺳﺘﺨﺪاﻣﮭﺎ داﺧﻞ ﺗﻄﺒﯿﻖ اﻟﺪوت ﻧﺖ ﺗﻮﺟﺪ اﻟﻨﺎﻓﺬة Solution
Explorerﻓﻲ اﻟﺠﮭﺔ اﻟﯿﻤﻨﻲ ُﻛﻤﺎ ﯾﻤﻜﻦ اﻇﮭﺎرھﺎ ﻣﻦ ﻗﺎﺋﻤﺔ Viewاو ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ Ctrl+Alt+Lوﺗﻌﻤﻞ ﻋﻠﻰ ﻋﺮض ﻋﻨﺎﺻﺮ
وﻣﻜﻮﻧﺎت اﻟﺘﻄﺒﯿﻖ ﻋﻠﻰ ھﯿﺌﺔ ﻗﺎﺋﻤﺔ ﺷﺠﺮﯾﺔ ﻓﻲ اﻋﻠﻲ اﻟﻘﺎﺋﻤﺔ ﯾﻈﮭﺮ اﺳﻢ اﻟﺘﻄﺒﯿﻖ اﻟﺤﺎﻟﻲ وﯾﻠﯿﮫ ﺑﻘﯿﺔ ﻣﻜﻮﻧﺎت اﻟﺘﻄﺒﯿﻖ
وﻧﺴﺘﻄﯿﻊ اﺿﺎﻓﺔ ﻋﻨﺎﺻﺮ اﻟﻰ اﻟﺘﻄﺒﯿﻖ اﻟﺤﺎﻟﻰ ﻣﻦ ﺧﻼل اﻟﻨﺎﻓﺬة Solution Explorerوذﻟﻚ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ اﺳﻢ اﻟﻤﺸﺮوع ﺑﺰر
اﻟﻤﺎوس اﻻﯾﻤﻦ ﺛﻢ Addوﻣﻨﺔ ﻧﺨﺘﺎر New Item
٢٣
Prog : Mohamed Youssef
وﺑﻌﺪ اﻟﻀﻐﻂ ﻋﻠﻰ New Itemﺳﻮف ﺗﻈﮭﺮ ﻟﻨﺎ ﻧﺎﻓﺬة Add New Item
وﺑﮭﺎ اﻟﻌﺪﯾﺪ ﻣﻦ ﺗﻄﺒﯿﻘﺎت VISUAL [Link]ﻧﺨﺘﺎر ﻣﻨﮭﺎ ﻣﺎ ﻧﺮﯾﺪ اﺿﺎﻓﺘﺔ اﻟﻰ ﺗﻄﺒﻘﻨﺎ اﻟﺤﺎﻟﻲ
ﻗﻢ ﺑﺎﻟﺘﺎﺷﯿﺮ ﻋﻠﯿﺔ وﯾﻤﻜﻨﻨﺎ ﺗﻐﯿﯿﺮ اﺳﻢ اﻟﺘﻄﺒﯿﻖ ﻗﺒﻞ اﺿﺎﻓﺘﺔ ﻣﻦ اﺳﻔﻞ ﻧﺎﻓﺬة Add New Itemاو ﻧﺘﺮﻛﺔ ﻛﻤﺎ ھﻮ ﺛﻢ ﻧﻀﻐﻂ ﻋﻠﻰ اﻟﺰر
Addﻓﻨﻼﺣﻆ اﺿﺎﻓﺔ Formاﺧﺮى اﻟﻰ اﻟﺘﻄﺒﯿﻖ ﺗﺎﺧﺬ اﻻﺳﻢ Form ٢وﺗﻈﮭﺮ ﻓﻲ ﻗﺎﺋﻤﺔ Solution Explorer
ﻛﻤﺎ ﺑﺎﻟﺼﻮرة
٢٤
Prog : Mohamed Youssef
اﻟﺘﻌﺮف ﻋﻠﻰ اﻟﻘﻮاﺋﻢ Menu
Menus With Visual [Link] 2005
اﻟﯿﻮم ﺳﻮف ﻧﻘﻮم ﺑﺎﻟﺘﻌﺮف ﻋﻠﻰ ﻗﻮاﺋﻢ اﻟﻔﺠﻮل ﺑﯿﺴﻚ دوت ﻧﺖ ٢٠٠٥ﺗﺘﻜﻮن ﻗﻮاﺋﻢ اﻟﻔﺠﻮل ﺑﯿﺴﻚ دوت ﻧﺖ ﻣﻦ ازرار ﻋﺪﯾﺪة ﻟﮭﺎ
ﻣﮭﺎم ﻣﺨﺘﻠﻔﺔ واﻻزرارﻣﻮﺿﻮﻋﺔ ﻋﻠﻰ اﻟﻘﻮاﺋﻢ اﻟﻤﺨﺼﺼﺔ ﻟﻤﮭﺎﻣﮭﺎ وﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻰ ﻋﻤﻞ ﻣﻌﻈﻢ ازرارھﺬة اﻟﻘﻮاﺋﻢ او ﺑﻘﻮل اﺧﺮ
ﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻰ اھﻢ ازرار ﻗﻮاﺋﻢ اﻟﻔﺠﻮل ﺑﯿﺴﻚ دوت ﻧﺘﻮذﻟﻚ ﻟﻠﺘﻌﺎﻣﻞ ﺑﺴﮭﻮﻟﺔ ﻣﻊ واﺟﮭﺔ اﻟﻔﯿﺠﻮل ﺑﯿﺴﻚ ﻛﺬﻟﻚ ﻟﻤﻌﺮﻓﺔ ﻗﺪرات
ھﺬة اﻟﻠﻐﺔ اﻟﻘﻮﯾﺔﻗﺪ ﺗﻼﺣﻈﻮن ﻓﻲ ﺻﻮر اﻟﺸﺮح اﻟﺘﻲ وﺿﻌﺘﮭﺎ ﺑﮭﺬا اﻟﺪرس اﺧﺘﻼف ﺑﯿﻦ ﻗﻮاﺋﻤﻜﻢ وھﺬة اﻟﻘﻮاﺋﻢ اﺧﺘﻼف ﺗﺮﺗﯿﺒﺎﻻزرار
او وﺟﻮد ازرار اﻛﺜﺮ ﺑﻘﻮاﺋﻤﯿﻼ ﺗﺨﺎﻓﻮا ﯾﻤﻜﻨﻨﺎ ﺗﻌﺪﯾﻞ ﻗﻮاﺋﻢ اﻟﻔﺠﻮل ﺑﯿﺴﻚ دوت ﻧﺖ ﻣﻦ ﺣﺬف واﺿﺎﻓﺔ وﺗﺮﺗﯿﺐ اﻻزرارﺑﻤﺎ ﯾﻨﺎﺳﺐ
ﻣﺘﻄﻠﺒﺎﺗﻨﺎ واﺣﺘﯿﺎﺟﺘﻨﺎ وذﻟﻚ ﻣﻦ اﻟﻘﺎﺋﻤﺔ Toolsﻗﻢ ﺑﺎﺧﺘﯿﺎر Customizeﺳﺘﻈﮭﺮ ﻟﻚ ﻧﺎﻓﺬة ﻗﻢ ﺑﺎﺧﺘﯿﺎر اﻟﺘﺒﻮﯾﺐ اﻟﺜﺎﻧﻲ وﺳﺘﻈﮭﺮ ﻟﻚ
ﻛﻞ ﻗﻮﺋﻢ اﻟﻔﯿﺠﻮل ﺑﺎﻟﺠﺎﻧﺐ اﻻﯾﺴﺮ وﺑﺎﻟﺠﺎﻧﺐ اﻻﯾﻤﻦ ﯾﻮﺟﺪ ازرار اﻟﻘﻮاﺋﻢ ﻗﻢ ﺑﺎﺧﺘﯿﺎر أي ﻗﺎﺋﻤﺔ ﺛﻢ ﻣﻦ وﻣﻦ اﻟﺠﺎﻧﺐ اﻻﯾﻤﻦ ﻗﻢ ﺑﻌﻤﻠﯿﺔ
اﻟﺴﺤﺐ واﻻﻓﻼت ﻟﻼزرار اﻟﺘﻲ ﺗﺮﯾﺪ اﻟﻰ اﻟﻘﻮاﺋﻢ اﻟﻠﺘﻲ ﺗﺮﯾﺪ وﻣﺘﻰ ﺗﻨﺘﮭﻲ ﻗﻢ ﺑﺎﻏﻼق اﻟﻨﺎﻓﺬة Customizeوﻟﻘﺪ ﻗﻤﺖ ﺑﺘﻘﺴﯿﻢ ھﺬا
اﻟﺪرس اﻟﻰ ﺟﺰﺋﯿﻦ واﻻن ﻓﺎﻟﻨﺒﺪا ﻣﻊ اﻟﺠﺰء اﻻول وﻣﻊ اوﻟﻰ اﻟﻘﻮاﺋﻢ ﺑﺎﻟﻔﺠﻮل ﺑﯿﺴﻚ ﻧﺖ
][File
وﺗﺘﻜﻮن ﻣﻦ ازرار اﻻواﻣﺮ اﻟﺘﻲ ﺗﺘﻌﺎﻣﻞ ﻣﻊ اﻧﺸﺎء وﻓﺘﺢ وﺣﻔﻆ واﻏﻼق ﻛﻼ ﻣﻦ اﻟﻤﻠﻔﺎت واﻟﻤﺸﺎرﯾﻊ
٢٥
Prog : Mohamed Youssef
٢٦
Prog : Mohamed Youssef
][Edit
ﺗﺤﺘﻮي ھﺬة اﻟﻘﺎﺋﻤﺔ ﻋﻠﻰ اﻻزرار اﻟﻘﯿﺎﺳﯿﺔ اﻟﺘﻲ ﺗﻌﻤﻞ ﻋﻠﻰ اﻻﻟﻐﺎء واﻟﺘﺮاﺟﻊ واﻟﻨﺴﺦ واﻟﻘﺺ واﻟﻠﺼﻖ
واﻟﺤﺬف وﺗﺘﻌﺎﻣﻞ ﻣﻊtext and other objects.
٢٧
Prog : Mohamed Youssef
][View
ﺗﺘﻜﻮن ﻣﻦ اﻻزرار ﺗﻠﻚ اﻟﺘﻲ ﺗﻘﻮم ﺑﺎﺧﻔﺎء واﻇﮭﺎر ﻛﻞ ﻧﻮاﻓﺬ واﺷﺮﻃﺔ اﻟﻔﺠﻮل ﺑﯿﺴﻚ دوت ﻧﺖ
][Project
ﺗﺘﻜﻮن ﻣﻦ اﻻزرار اﻟﺘﻲ ﺗﻘﻮم ﺑﺎﺿﺎﻓﺔ وﺣﺬف اﻟﻌﻨﺎﺻﺮ ﻣﻦ واﻟﻰ اﻟﻤﺸﺮوع
وھﺬة اﻟﻘﺎﺋﻤﺔ ﻧﺴﺘﻄﯿﻊ اﻟﻘﯿﺎم ﺑﺒﻌﺾ اواﻣﺮ ازرارھﺎ ﻣﻦ اﻟﻨﺎﻓﺬة
Explorer Solutions
٢٨
Prog : Mohamed Youssef
٢٩
Prog : Mohamed Youssef
Compileاﻟﺘﺒﻮﯾﺐ
ﻣﻔﻌﻞ ﻓﺎﻧﺔ ﯾﻠﺰﻣﻚ ﺑﺎﻻﻋﻼن ﻋﻦ ﻛﻞ اﻟﻤﺘﻐﯿﺮات ﺑﺎﻟﻤﺸﺮوع وﯾﻔﻀﻞ ذﻟﻚ اذا ﻛﺎن ھﺬا اﻟﺨﯿﺎر 1- Option Explicit
رﻣﺰ:
Dim i As Integer
Dim s As String
"s = "10
i = s ' This Fails.
"s = "Hello
i = s ' This Fails.
وﻟﻮ ﻛﺎن اﻟﺨﯿﺎر ﻏﯿﺮ ﻣﻔﻌﻞ ﻓﺎﻧﺔ ﯾﻘﻮم ﺑﺘﺤﻮﯾﻞ اﻟﺒﯿﺎﻧﺎت
اﻟﻤﺴﻨﺪة اﻟﻰ اﻟﻨﻮع اﻟﻤﺮاد اذا ﻛﺎﻧﺖ ﻣﻨﺎﺳﻘﺔ ﻓﻘﻂ ﻣﺜﻼ
رﻣﺰ:
Dim i As Integer
Dim s As String
"s = "10
i = s ' This works.
"s = "Hello
i = s ' This Fails.
٣٠
Prog : Mohamed Youssef
وﯾﻔﻀﻞ ﺟﻌﻞ ھﺬا اﻟﺨﯿﺎر ﻣﻔﻌﻞ ﻟﺠﻌﻞ اﻟﻤﻌﺎﻟﺠﺔ اﺳﺮﻋﻮﺗﺤﻮﯾﻞ اﻧﻮاع اﻟﺒﯿﺎﻧﺎت ﺑﺎﺳﺘﺨﺪام اﻟﺪوال اﻓﻀﻞ و ﻟﺠﻌﻞ ھﺬة اﻟﺨﯿﺎرات ﻣﻔﻌﻠﺔ
ﻟﻜﻞ ﻣﺸﺎرﯾﻌﻚ اذھﺐ اﻟﻰ اﻟﻘﺎﺋﻤﺔ Toolsوﻣﻨﮭﺎ اﺧﺘﺮ optionوﻗﻢ ﺑﺎﺧﺘﯿﺎر Project and solutionﻣﻦ ﻗﺎﺋﻤﺔ اﻟﻌﺮض اﻟﺸﺠﺮي
وﻣﻨﺔ اﺧﺘﺮ VB Defaultsوﻗﻢ ﺑﺘﻔﻌﯿﻞ اﻟﺨﯿﺎران وﺛﻢ اﺿﻐﻂok
اﻟﺘﺒﻮﯾﺐ Resources
وﻣﻨﺔ ﯾﺘﻢ ﺗﺤﺪﯾﺪ ﻣﻠﻔﺎت ﺗﺴﺘﺨﺪم ﻛﻤﺼﺎدر
٣١
Prog : Mohamed Youssef
وﻣﻦ ﺛﻢ ﺗﺴﺘﻄﯿﻊ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻠﻔﺎت اﻟﺘﻲ اﺿﻔﺘﮭﺎ اﻟﻰ ﻣﺸﺮوﻋﻚ ﻛﻤﺼﺎدر ﺑﻜﺘﺎﺑﺔ اﻟﻜﻮد اﻟﺘﺎﻟﻲ
رﻣﺰ:
اﺳﻢ اﻟﺮﯾﺴﻮرس اﻟﺬي ﺗﺮﯾﺪ[Link].
ﻓﻤﺜﻼ ﻟﻮ ﻛﺎن ﻟﺪﯾﻨﺎ Resourcesﻋﺒﺎرة ﻋﻦ ﺻﻮرة واﺳﻢ اﻟﺼﻮرةCar
واردﻧﺎ ﻋﺮض اﻟﺼﻮرة ﻓﻲ PictureBoxﻣﺎ ﻋﻠﯿﻨﺎ ﺳﻮى ﻛﺘﺎﺑﺔ اﻻﺗﻲ
رﻣﺰ:
[Link] = [Link]
اﻟﺘﺒﻮﯾﺐ Publish
وﻣﻨﺔ ﯾﺘﻢ ﻧﺸﺮ اﻟﻤﺸﺮوع اي ﺗﺤﻮﯾﻠﺔ ﻟﻤﻠﻒ Setup
٣٢
Prog : Mohamed Youssef
][Bulid
]Debug
ﺗﺤﺘﻮي ھﺬة اﻟﻘﺎﺋﻤﺔ ﻋﻠﻰ ازرار اﻻواﻣﺮ اﻟﺘﻰ ﺗﻘﻮم ﺑﻌﻤﻠﯿﺔ ﺗﻨﻘﯿﺢ وﺗﺼﺤﯿﺢ
اﻻﺧﻄﺎء اﻟﺒﺮﻣﺠﯿﺔ ﺑﻜﻮد اﻟﺒﺮاﻣﺞ
٣٣
Prog : Mohamed Youssef
Window
ﯾﺤﺘﻮى ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﻓﺮﻋﯿﺔ ﺑﮭﺎ اﻟﻜﺜﯿﺮ ﻣﻦ ادوات ﺗﺘﺒﻊ وﺗﺼﺤﯿﺢ اﻻﺧﻄﺎء
ﻣﺜﻞBreakpoint Watch,
Continue
اﺳﺘﺌﻨﺎف ﻋﻤﻠﯿﺔ اﻟﺘﻨﻘﯿﺢ
Stop Debugging
اﯾﻘﺎف ﻋﻤﻠﯿﺔ اﻟﺘﻨﻘﯿﺢ
Detach all
ﻓﺼﻞ اﻟﻤﻨﻘﺢ ﻋﻦ اﻟﻌﻤﻠﯿﺎت اﻟﻤﺮﺗﺒﻄﺔ ﺑﺔ وﻟﻜﻦ ﻻ ﯾﻘﻮم ﺑﺎﻧﮭﺎ ﺗﻠﻚ اﻟﻌﻤﻠﯿﺎت
Terminate all
اﻧﮭﺎ أي ﻋﻤﻠﯿﺔ ﻣﺮﺗﺒﻄﺔ ﺑﺎﻟﻤﻨﻘﺢ
Restart
اﯾﻘﺎف ﻋﻤﻠﯿﺔ اﻟﺘﻨﻘﯿﺢ اﻟﺤﺎﻟﯿﺔ واﻋﺎدة ﺗﺸﻐﯿﻠﮭﺎ ﻣﻦ اﻟﺒﺪاﯾﺔ
Exceptions
ﯾﻘﻮم ﺑﻔﺘﺢ ﻧﺎﻓﺬة اﻻﺳﺘﺜﻨﺎﺋﺎت ﺣﯿﺚ ﯾﻤﻜﻨﻨﻚ ﺗﺤﯿﺪ ﻧﻮع اﻟﺨﻄﺎء اﻟﺬي ﺗﺮﯾﺪ ان ﯾﺘﻌﺮف اﻟﻤﻨﻘﺢ ﻋﻠﯿﺔ
New Breakpoint
ﻻﺿﺎﻓﺔ ﻧﻘﻄﺔ ﺗﻮﻗﻒ ﺟﺪﯾﺪة
][Data
٣٤
Prog : Mohamed Youssef
][Format
ﺗﺤﺘﻮي ﻋﻠﻰ ازرار اﻻواﻣﺮ اﻟﺘﻰ ﺗﻘﻮم ﺑﺘﺮﺗﯿﺐ وﺗﻨﻈﯿﻢ اﻻدوات ﻋﻠﻰ اﻟﻔﻮرم
واﻇﻦ ان ھﺬة اﻟﻘﺎﺋﻤﺔ ﻻ ﺗﺤﺘﺎج اﻟﻰ ﺷﺮح ﻓﺎﺳﻤﺎء ازرارھﺎ ﺗﻈﮭﺮ اﻋﻤﺎﻟﮭﺎ
][Tools
ﺗﺤﺘﻮي ھﺬة اﻟﻘﺎﺋﻤﺔ ﻋﻠﻰ اﻻواﻣﺮ اﻟﺘﻰ ﻻ ﯾﺘﻼﺋﻢ وﺿﻌﮭﺎ ﻓﻲ أي ﻗﺎﺋﻤﺔ اﺧﺮي
وھﻲ اﻟﺘﻲ ﺗﺴﺘﻄﯿﻊ ﺗﻐﯿﯿﺮ ﺑﯿﺌﺔ ﺗﻄﻮﯾﺮ اﻟﻔﺠﻮل ﻧﻔﺴﮭﺎ
٣٥
Prog : Mohamed Youssef
Attach To Process
ﯾﻘﻮم ﺑﻔﺘﺢ ﻧﺎﻓﺬة رﺑﻂ اﻟﻤﻨﻘﺢ ﻣﻊ ﻋﻤﻠﯿﺔ ﺗﻨﻔﺬ ﺣﺎﻟﯿﺎ اﺧﺘﺮ أي ﻋﻤﻠﯿﺔ ﺛﻢ اﺿﻐﻂ Attach
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
ﯾﻘﻮم ﺑﻔﺘﺢ ﻧﺎﻓﺬة ﺗﺴﺘﻄﯿﻊ ﻣﻦ ﺧﻼﻟﮭﺎ ﺗﺤﺪﯾﺪ اﻟﺨﯿﺎرات اﻟﺨﺎﺻﺔ ﺑﺒﯿﺌﺔ اﻟﺘﻄﻮي
٣٦
Prog : Mohamed Youssef
] [ Window
ﺗﺤﺘﻮي ھﺬة اﻟﻘﺎﺋﻤﺔ ﻋﻠﻰ اﻻواﻣﺮ اﻟﺘﻰ ﺗﺘﺤﻜﻢ ﻓﻲ ﻧﻮاﻓﺬ اﻟﻔﺠﻮل ﺑﺴﯿﻚ دوت ﻧﺖ
Auto Hide
ﺗﻘﻮم ﺑﺨﻔﺎء ﺑﺨﻔﺎء ﺗﻠﻘﺎﺋﻲ ﻟﻠﻨﺎﻓﺬة اﻟﺜﺎﻧﻮﯾﺔ وﺗﻈﮭﺮ ﻋﻨﺪ ﻣﺮور اﻟﻤﺎوس ﻋﻠﯿﮭﺎ
Hide
ﯾﻘﻮم ھﺬا اﻟﺨﯿﺎر ﺑﺎﻏﻼق اﻟﻨﺎﻓﺬة اﻟﺜﺎﻧﻮﯾﺔ وﺗﺴﺘﻄﯿﻊ اﻇﮭﺎرھﺎ ﻣﺮة ﺛﺎﻧﯿﮫ ﻣﻦ اﻟﻘﺎﺋﻤﺔview
او ﻣﻦ ﺧﻼل اﻟﻀﻐﻂ ﻋﻠﻰ اﺧﺘﺼﺎر اﻇﮭﺎرھﺎ ﻣﻦ ﺷﺮﯾﻂ اﻻﺧﺘﺼﺎرات
٣٧
Prog : Mohamed Youssef
New Horizontal Tab Group
ﯾﻘﻮم ھﺬا اﻟﺨﯿﺎر ﺑﻌﺮض اﻛﺜﺮ ﻣﻦ ﻣﺤﺮر ﻓﻲ وﻗﺖ واﺣﺪ ﻋﻠﻰ اﻟﺸﻜﻞ اﻻﻓﻘﻲ
أي اذا ﻛﺎﻧﺖ ﺗﻌﻤﻞ ﻋﻠﻰ ﻣﺤﺮراﻟﺘﺼﻤﯿﻢ ﻟﻠﻤﺸﺮوع وﺗﺮﯾﺪ اﯾﻀﺎ اﻟﻌﻤﻞ ﻋﻠﻰ ﻣﺤﺮر اﻟﻜﻮد
ﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ھﺬا اﻟﺨﯿﺎر وﺳﯿﻜﻮن اﻟﺸﻜﻞ ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة
ﯾﻘﻮم ھﺬا اﻟﺨﯿﺎر ﺑﻌﺮض اﻛﺜﺮ ﻣﻦ ﻣﺤﺮر ﻓﻲ وﻗﺖ واﺣﺪ ﻋﻠﻰ اﻟﺸﻜﻞ اﻟﻌﻤﻮدﯾﺄي اذا ﻛﺎﻧﺖ ﺗﻌﻤﻞ ﻋﻠﻰ ﻣﺤﺮراﻟﺘﺼﻤﯿﻢ ﻟﻠﻤﺸﺮوع وﺗﺮﯾﺪ
اﯾﻀﺎ اﻟﻌﻤﻞ ﻋﻠﻰ ﻣﺤﺮر اﻟﻜﻮد ﻗﻮم ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ھﺬا اﻟﺨﯿﺎر وﺳﯿﻜﻮن اﻟﺸﻜﻞ ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺼﻮرة
٣٨
Prog : Mohamed Youssef
Windows
ﯾﻘﻮم ﺑﻔﺘﺢ ﻧﺎﻓﺬة ﺗﺴﺘﻄﯿﻊ ﻣﻨﮭﺎ ﺗﺤﺪﯾﺪة او اﻏﻼق اي ﻣﺤﺮر ﻣﻔﺘﻮح
][Community
ﺗﺤﺘﻮي ﻋﻠﻰ اﻻواﻣﺮ اﻟﺘﻰ ﺗﺴﺎﻋﺪك ﻓﻲ اﻻرﺗﺒﺎط ﻣﻊ ﻣﺠﺘﻤﻊ اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﻔﺠﻮل ﺑﯿﺴﻚ
٣٩
Prog : Mohamed Youssef
ﺑﺤﯿﺚ ﯾﻤﻜﻨﻚ ان ﺗﺴﺌﻞ وﺗﻘﻮم ﺑﺎﻟﺒﺤﺚ ﻋﻦ اﺟﺎﺑﺔ او اﻣﺜﻠﺔ وھﺬة اﻻواﻣﺮ ﻣﺮﺗﺒﻄﺔ
ﺑﺼﻔﺤﺎت ﻣﯿﻜﺮوﺳﻮﻓﺖ ﻛﻤﺎ ﯾﻤﻜﻨﻚ زﯾﺎرة MSDN Community Center
ﻣﻦ ﺧﻼل ھﺬا اﻟﺮاﺑﻂ
[Link]
][Help
ﺗﺤﺘﻮي ﻋﻠﻰ اﻻواﻣﺮ اﻟﻤﺎﻟﻮﻓﺔ اﻟﺨﺎﺻﺔ ﺑﺎﻟﻤﺴﺎﻋﺪة واﻻﺗﺼﺎل ﺑﻤﻮﻗﻊ اﻟﺸﺮﻛﺔ واﻟﺘﻌﺮف ﻋﻠﻰ ﻛﯿﻔﯿﺔ اﺳﺘﺨﺪام اﻟﻠﻐﺔ وﺧﯿﺎر اﻟﻌﺜﻮر ﻋﻠﻰ
اﻟﺘﺤﺪﯾﺜﺎت اﻟﻼزﻣﺔ ﻟﻠﺒﺮﻧﺎﻣﺞ
٤٠
Prog : Mohamed Youssef
اﻻدوات ﻓﻰ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ ٢٠٠٥
اﺷﻜﺎل رﺳﻮﻣﯿﺔ وﻟﻜﻞ اداة ﻋﻤﻠﮭﺎ اﻟﺨﺎص ﺗﺎﺧﺬ ھﻲ ﻋﺒﺎرة ﻋﻦ ﻋﻨﺎﺻﺮ ﺑﺮﻣﺠﯿﺔ ﻟﮭﺎ ﻣﮭﺎم ﻣﻌﯿﻨﺔ :اﻻدوات
Control :
اﻟﺒﺮﻧﺎﻣﺞ وﯾﻘﻮم ﺑﺘﺎدﯾﺔ ﻣﮭﻤﺔ ﻣﻌﯿﻨﺔ ﻣﺜﻞ ﺗﺼﻤﯿﻢ ﻣﻌﯿﻦ وﯾﻮﺿﻊ ﻋﻠﻰ اﻟﻔﻮرم اﺛﻨﺎ ء اﻟﻌﻨﺼﺮ اﻟﺒﺮﻣﺠﻲ اﻟﺬي ﯾﺄﺧﺬ ﺷﻜﻞ رﺳﻮﻣﻲ وھﻮ
ﺧﺼﺎﺋﺺ ووﻇﺎﺋﻒ ﺗﻤﯿﺰة ﻋﻦ ﻏﯿﺮة Controlوﻟﻜﻞ Button , Textbox , Label
Component :
:اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻻدوات*
ﻓﺘﻘﻮم ﺑﺎﺧﺘﺼﺎر اﻟﻜﺜﯿﺮ ﻣﻦ اﻻﻛﻮاد اﻟﺼﻌﺒﺔواﻟﻄﻮﯾﻠﺔوﻟﻜﻞ اداة ﻣﻦ ادوات ﺗﺼﻤﯿﻤﺔ ﺑﺮﻧﺎﻣﺞ ﺑﻘﺪر ﻛﺒﯿﺮ اﻻدوات ﺗﺴﺎﻋﺪ اﻟﻤﺒﺮﻣﺞ اﺛﻨﺎء
وﻣﮭﻤﺔ ﻣﻌﯿﻨﺔ وﺗﻘﻮﻣﻜﻞ اداة ﺑﻌﻤﻞ ﻣﺨﺘﻠﻒ ﻋﻦ اﻻداة اﻻﺧﺮى اﻟﻔﺠﻮل ﺑﯿﺴﻚ دوت ﻧﺖ ﻏﺮض ﻣﻌﯿﻦ
٤١
Prog : Mohamed Youssef
اﻧﺸﺎء اﻻدوات:
*ﯾﻤﻜﻨﻚ اﺿﺎﻓﺔ اى اداة اﻟﻰ ﺑﺮﻧﺎﻣﺠﻚ ﺑﺎﺣﺪى ھﺬة اﻟﻄﺮق :اﻟﻨﻘﺮ اﻟﻤﺰدوج ﻋﻠﻰ اﻻداة اﻟﻤﺮاد اﺿﺎﻓﺘﮭﺎﻟﺴﺤﺐ واﻻﻓﻼت
ﺑﺎﺳﺘﺨﺪام اﻟﻤﺎوﺳﺎﻟﻨﻘﺮ ﻧﻘﺮة واﺣﺪة ﻋﻠﻰ اﻻداة اﻟﻤﺮاد اﺿﺎﻓﺘﮭﺎ وﺛﻤﺎﻟﻨﻘﺮ ﻧﻘﺮة واﺣﺪة ﻋﻠﻰ اﻟﻔﻮرم وﺳﯿﺘﻢ اﺿﺎﻓﺘﮭﺎ
*وﻟﻜﻦ ﻟﻮ اردﻧﺎ اﻧﺸﺎء ﻣﺠﻤﻮﻋﺔ ﻛﺒﯿﺮة ﻣﻦ اﻻدواة ﻛﻌﻤﻞ ﺑﺮﻧﺎﻣﺞ ﺣﺎﺳﺒﺔ ﺑﺔ ازرار ﻋﺪﯾﺪة ﻣﺜﻼﻓﺎءن اﻟﻄﺮق اﻟﺴﺎﺑﻘﺔ
ﻻﺿﺎﻓﺔ اﻻزرار ﺳﺘﻜﻮن ﻣﺘﻌﺒﺔ ﻗﻠﯿﻼﻓﻤﺎ ھﻮ اﻟﺤﻞ ﯾﺎﺗﺮي ﻓﻲ راﯾﻚ ؟اﻟﺤﻞ ھﻮ اﻟﻀﻐﻂ اﻟﻤﺘﻮاﺻﻞ ﻋﻠﻰ ﻣﻔﺘﺎح Ctrlﺛﻢ اﻟﻨﻘﺮ
ﻧﻘﺮة واﺣﺪة ﺑﺎﺳﺘﺨﺪام اﻟﻤﺎوس ﻋﻠﻰ اﻻداة اﻟﺘﻰ ﺗﺮﯾﺪ اﺿﺎﻓﮫ ﻋﺪدأ ﻣﻨﮭﺎ ﺛﻢ اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﻔﻮرم ﺳﺘﻼﺣﻆ ﻓﻲ ﻛﻞ ﻣﺮة ﺗﻘﻮم
ﺑﮭﺎ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﻔﻮرم اﺿﺎﻓﺔ اﻻداة ﻣﺮة ﺟﺪﯾﺪة وﺑﺎﺳﻢ ﺟﺪﯾﺪوﻋﻨﺪﻣﺎ ﺗﺮﯾﺪ اﻻﻧﺘﮭﺎء ﻣﻦ اﺿﺎﻓﺔ اﻻداة ﻓﻤﺎ ﻋﻠﯿﻚ ﺳﻮىﺎﯾﻘﺎف
اﻟﻀﻐﻂ ﻋﻠﻰ ﻣﻔﺘﺎح Ctrlاواﻟﻀﻐﻂ ﻋﻠﻰ اﯾﻘﻮﻧﺔ ﻣﻮﺷﺮ اﻟﻤﺎوس اﻟﺘﻲ ﻓﻲ اﻋﻠﻲ اﻻدوات.
ﺗﺠﻤﯿﻊ اﻷدوات داﺧﻞ ﺣﺎوﯾﺔ:
ھﻨﺎﻟﻚ أدوات ﻋﻤﻠﮭﺎ اﻷﺳﺎﺳﻲ ھﻮ اﺣﺘﻮى ادوات اﺧﺮى ﺑﺪاﺧﻠﮭﺎ ﻣﺜﻞ
TabControl, GroupBox, Panel,
وﺑﺎﺳﺘﺨﺪاﻣﮭﺎ ﺗﺴﺘﻄﯿﻊ ﺗﺠﻤﯿﻊ ﻋﺪد ﻣﻦ اﻻدوات ﻓﻲ ﺣﺎوﯾﺔ واﺣﺪة ﻟﻐﺮض ﻧﻘﻞ وﺗﺤﺮﯾﻚ او اﺧﻔﺎء واﻇﮭﺎر ﺗﻠﻚ اﻻدوات او
ﻻﻏﺎض اﺧﺮى .اﻟﻤﮭﻢ ﻓﻲ ﻻﻣﺮ اﻧﻨﺎ ﺑﺎﺳﺘﺨﺪام ﺣﺎوﯾﺎت اﻻدوات ﻧﺴﺘﻄﯿﻊ ان ﻧﺘﻌﺎﻣﻞ ﻣﻊ ﻣﺠﻤﻮﻋﺔﻣﻦ اﻻدوات ﻛﻜﺘﻠﺔ واﺣﺪة
.
ھﻨﺎﻟﻚ ﻋﺪة ﻃﺮق ﻟﺘﻀﻊ اﻻدوات داﺧﻞ ﺣﺎوﯾﺔ containerوذﻟﻚ ﺑﺴﺤﺐ اﻻداة اﻟﻤﻮﺟﻮد ﻋﻠﻰ اﻟﻔﻮرم اﻟﻰ داﺧﻞ
containerاو ﺑﺘﺤﺪﯾﺪ ال containerاﻟﺬي ﻗﻤﺖ ﺑﺎﺿﺎﻓﺘﺔ ﻣﺴﺒﻘﺎ اﻟﻰ اﻟﻔﻮرﻣﺜﻢ و ﻣﻦ ﻗﺎﺋﻤﺔ اﻻدوات ﺗﻘﻮم ﺑﺎﻟﻨﻘﺮ
اﻟﻤﺰدوج ﻋﻠﻰ اﻻداة اﻟﺘىﺘﺮﯾﺪ ان ﺗﻀﯿﻔﮭﺎ اﻟﻰ containerوﺳﺘﻀﺎف ﺑﺪاﺧﻠﮫ ﻣﺒﺎﺷﺮﺗﺄ وﻟﯿﺲ ﻋﻠﻰ اﻟﻔﻮرم او ﺑﻮاﺳﻄﺔ
اﻟﺴﺤﺐ واﻻﻓﻼت ﻣﻦ ﻗﺎﺋﻤﺔ اﻻدوات اﻟﻰ داﺧﻞ ال container .او ﺑﻮاﺳﻄﺔ اﻟﻘﺺ واﻟﻠﺼﻖ ﻣﻦ ﻋﻠﻰ اﻟﻔﻮرم اﻟﻰ داﺧﻞ ال
container .
ﻏﺎﻟﺒﺎ ﻧﻘﻮم ﺑﺎﻧﺸﺎء اﻻدوات ﻋﻠﻰ اﻟﻔﻮرم ﻓﻲ وﻗﺖ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻦ ﻃﺮﯾﻖ اﺿﺎﻓﺘﮭﺎ ﻣﻦ ﻗﺎﺋﻤﺔ ToolBoxوﻟﻜﻦ
وﺑﺎﻟﺮﻏﻢ ﻣﻦ ذﻟﻚ ﻓﺎﻧﻨﺎ ﻓﻲ ﺑﻌﺾ اﻻﺣﯿﺎن ﻗﺪ ﻧﺤﺘﺎج ﻻﻧﺸﺎء اﻻدوات ﻓﻲ وﻗﺖ ﺗﻨﻔﯿﺬاﻟﺒﺮﻧﺎﻣﺞ Run Timeأي اﻧﺸﺎء اﻟﺪوات
واﻻﺣﺪاث اﻟﺨﺎﺻﺔ ﺑﮭﺎ ﻋﻦ ﻃﺮﯾﻖ اﻟﻜﻮد.
اﻟﺠﻮاب اﻧﻚ ﻓﻲ ﺑﻌﺾ اﻻﺣﯿﺎن ﻗﺪ ﺗﺤﺘﺎج ﻟﻌﻤﻞ ﺑﺮﻧﺎﻣﺞ ﯾﻤﻠﻚ واﺟﮭﺎت ﻣﺨﺘﻠﻔﺔ ﯾﺨﺪم ﻣﺴﺘﺨﺪﻣﯿﻦ ﻣﺨﺘﻠﻔﯿﻦ .اﻟﻤﺴﺘﺨﺪﻣﯿﻦ
ﻣﺨﺘﻠﻔﯿﻦ ﻓﻲ ﻣﮭﺎراﺗﮭﻢ او ﯾﺤﺘﺎﺟﻮن ﻻدوات ﻣﺨﺘﻠﻔﺔ ﺗﺒﻌﺎ ﻻﺧﺘﻼف اﻋﻤﺎﻟﮭﻢ وﻣﺘﻄﻠﺒﺎﺗﮭﻢ .او اﻧﻚ ﻻ ﺗﻌﻠﻢ ﻣﺎذا ﺳﯿﺘﻄﻠﺐ
ﺑﺮﻧﺎﻣﺠﻚ ﻣﻦ ادوات ﻟﻌﺮض او ادﺧﺎل اﻟﺒﯿﺎﻧﺎت ﻻن ذﻟﻚ ﻣﺘﻮﻗﻒ ﻋﻠﻰ ﺣﺎﺟﯿﺎت اﻟﻤﺴﺘﺨﺪم ﻟﻠﺒﺮﻧﺎﻣﺞ .أي اﻧﻚ ﺳﻮف ﺗﺤﺘﺎج
اﻟﻰ اﻧﺸﺎء ادوات ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﯿﺬ Run Time .اﻻن ﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻰ ﻛﯿﻔﯿﺔ اﻧﺸﺎء اﻻدوات وﻗﺖ اﻟﺘﻨﻔﯿﺬRun Time :
اﻧﻈﺮ اﻟﻰ ھﺬا اﻟﻜﻮد
رﻣﺰ:
1- Dim lblHi As New Label
)2- [Link] (50, 50, 70,70
"3- [Link]="Hello World
)4- [Link] (lblHi
ﺑﮭﺬا اﻟﻜﻮد ﻧﺴﺘﻄﯿﻊ اﻧﺸﺎء Labelﻋﻠﻰ اﻟﻔﻮرم ﻓﻲ وﻗﺖ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ وأﻻن ﻧﺄﺗﻲ ﻟﺸﺮح اﻟﻜﻮد ﻓﻲ اﻟﺴﻄﺮ اﻻول ﻗﻤﻨﺎ ﺑﺎﻻﻋﻼن
ﻋﻦ اﻟﻤﺘﻐﯿﺮ lblHiﻋﻠﻰ اﻧﺔ ﻣﻦ اﻟﻨﻮع Label .ﻓﻲ اﻟﺴﻄﺮ اﻟﺜﺎﻧﻲ ﻗﻤﻨﺎ ﺑﺘﺤﺪﯾﺪ اﺣﺪاﺛﯿﺎت lblHiﻋﻠﻰ اﻟﻔﻮرم ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ
SetBounds .ﻓﻲ اﻟﺴﻄﺮ اﻟﺜﺎﻟﺚ ﻗﻤﻨﺎ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ Textﻟﯿﻜﻮن اﻻﺳﻢ اﻟﻈﺎھﺮ ﻟﻞ Labelھﻮ Hello World .ﺛﻢ ﻓﻲ اﻟﺴﻄﺮ
اﻟﺮاﺑﻊ واﻻﺧﯿﺮ ﻗﻤﻨﺎ ﺑﺎﺿﺎﻓﺔ lblHiاﻟﻰ اﻻدوات اﻟﺘﺎﺑﻌﺔ ﻟﻠﻔﻮرم اﻟﺤﺎﻟﻲ ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﮫِ Addاﻟﻤﺘﺮﻓﻌﺔ ﻣﻦ اﻟﺨﺎﺻﯿﺔ Controls
اﻟﺘﺎﺑﻌﺔ ﻟﻠﻔﻮرم .وﻟﻜﻦ ﻟﻢ ﻧﺤﺘﺎج ﻟﻌﻤﻞ ﺣﺪث ﺗﺎﺑﻊ ﻟﻼداة Labelﻻﻧﻨﺎ ﻓﻲ اﻻﻏﻠﺐ ﻧﺴﺘﺨﺪﻣﮭﺎ ﻟﻌﺮض ﻣﻌﻠﻮﻣﺎت ﻋﻠﻰ اﻟﻔﻮرم وﻟﻜﻦ
ھﻨﺎﻟﻚ ادوات اﺧﺮى ﻣﺜﻞ Buttonﻻ ﻧﺴﺘﻄﯿﻊ اﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ اﻟﻰ ﺑﻮاﺳﻄﺔ اﻹﺣﺪاث اﻟﺘﺎﺑﻌﺔ ﻟﮭﺎ ﻛﺤﺪث اﻟﻀﻐﻂ ﻋﻠﯿﮭﺎ ﻣﺜﻼ .واﻻن
ﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻰ ﻛﯿﻔﯿﺔ اﻧﺸﺎء اداة ﻓﻲ وﻗﺖ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻊ اﻧﺸﺎء اﺣﺪاث ﺗﺎﺑﻌﺔ ﻟﮭﺎ واوﻻ ﯾﺠﺐ ان ﻧﻌﺮف اﻧﻨﺎ اذا اردﻧﺎ
اﻻﻋﻼن ﻋﻦ ﻣﺘﻐﯿﺮ ﻋﻠﻰ اﻧﺔ ﻣﻦ ﻧﻮع اداة ﻣﺎ ﺑﯿﺠﺐ ان ﯾﻜﻮن اﻻﻋﻼن ﻣﺒﺘﺪا ﺑﺎﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزة WithEventsأي اﻧﻨﺎ ﻧﺼﺮح ﻋﻦ
ﻣﺘﻐﯿﺮ ﻣﻦ ﻧﻮع اداة وﻟﮫ اﺣﺪاﺛﺔ اﻟﺘﺎﺑﻌﺔ ﻟﮫ ﻣﺜﻼ ﻧﻜﺘﺐ
٤٢
Prog : Mohamed Youssef
رﻣﺰ:
Dim WithEvents btnHi As New Button
ھﻨﺎ اﻋﻠﻨﺎ ﻋﻦ اﻟﻤﺘﻐﯿﺮ btnHiاﻧﺔ ﻣﻦ اﻟﻨﻮع Buttonواذا اردﻧﺎ اﻟﻮﺻﻮل اﻟﻰ اﺣﺪاﺛﺔ ﻛﻠﻤﺎ ﻋﻠﯿﻨﺎ ھﻮاﻟﺪﺧﻮل اﻟﻰ ﺷﺎﺷﺔ اﻟﻜﻮد ﺛﻢ
وﻣﻦ ﻗﺎﺋﻤﺔ ﺳﺮد اﻟﻌﻨﺎﺻﺮ اﻟﻤﻮﺟﻮدة ﺑﺎﻟﻔﻮرم اﻟﺤﺎﻟﻲ Class Nameﺛﻢ ﺗﺤﺪﯾﺪ اﻟﺤﺪث اﻟﻤﺮاد ﻣﻦ ﻗﺎﺋﻤﺔ ﺳﺮد اﺣﺪاث اﻟﻌﻨﺎﺻﺮ
Method Nameاﻧﻈﺮ اﻟﻰ اﻟﺼﻮرة اﻟﺘﺎﻟﯿﺔ
اﻻن ﻗﻢ ﺑﻔﺘﺢ ﻣﺸﺮوع ﺟﺪﯾﺪ وﻗﻢ ﻓﻲ ﻣﻨﻄﻘﺔ اﻟﺘﺼﺮﯾﺤﺎت اﻟﻌﺎﻣﺔ ﺑﻜﺘﺎﺑﺔ ھﺬا اﻟﺘﺼﺮﯾﺢ
رﻣﺰ:
Dim WithEvents btnHi As Button
ﺛﻢ ﻗﻢ ﻗﺎﺋﻤﺔ ﺳﺮد اﻟﻌﻨﺎﺻﺮ Class Nameﺑﺎﺧﺘﯿﺎر اﻟﻌﻨﺼﺮ btnHiﻛﻤﺎ ﺗﻮﺿﺢ اﻟﺼﻮرة اﻟﺴﺎﺑﻘﺔ ﺛﻢ ﻗﻢ ﺑﺎﺧﺘﯿﺎر اﻟﺤﺪث اﻟﺬي ﺗﺮﯾﺪة
ﻟﮭﺬا اﻟﻌﻨﺼﺮ ﻣﻦ ﻗﺎﺋﻤﺔ ﺳﺮد اﺣﺪاث اﻟﻌﻨﺼﺮ اﻧﻈﺮ اﻟﺼﻮرة اﻟﺘﺎﻟﯿﺔ
٤٣
Prog : Mohamed Youssef
أي اﻧﻨﺎ ﺑﻤﺠﺮد اﻻﻋﻼن ﻋﻦ ﻣﺘﻐﯿﺮ اﻧﺔ ﻣﻦ ﻧﻮع اداة ﻓﺎن اﻟﻔﺠﻮل ﯾﻘﻮم ﺑﺎﻧﺸﺎء اﺣﺪاث ﻟﺬﻟﻚ اﻟﻤﺘﻐﯿﺮ وﯾﺘﺎﻋﻤﻞ ﻣﻌﺔ وﻛﺎﻧﺔ ﻋﻨﺼﺮ
ﻣﻮﺟﻮد ﻋﻠﻰ اﻟﻔﻮرم .وﻧﮭﺎﯾﺔ ﻟﻔﮭﻢ ﻣﺎ ﺳﺒﻖ ﻧﻘﻮم ﺑﮭﺬا اﻟﻤﺜﺎل ﻗﻢ ﺑﺎﻧﺸﺎء ﻣﺸﺮوع ﺟﺪﯾﺪ ﻗﻢ ﺑﻜﺘﺎﺑﺔ ھﺬا اﻟﻜﻮد ﻓﻲ ﻣﻨﻄﺔ اﻟﺘﺼﺮﯾﺤﺎت
اﻟﻌﺎﻣﺔ
WithEvents btnHi As Buttonﺛﻢ ﻗﻢ ﺑﺎﺿﺎﻓﺔ Buttonﻋﻠﻰ اﻟﻔﻮرم وﻗﻢ ﺑﺎﻟﻨﻘﺮ اﻟﻤﺰدوج ﻋﻠﯿﺔ ﻟﺘﺪﺧﻞ اﻟﻰ ﺷﺎﺷﺔ اﻟﻜﻮد ﻓﻲ
اﻟﺤﺪث Button1_Clickﻗﻢ ﺑﻜﺘﺎﺑﺔ اﻟﻜﻮد اﻟﺘﺎﻟﻲ
رﻣﺰ:
btnHi = New Button
)[Link](96, 50, 75, 23
"[Link] = "Say Hi
)[Link](btnHi
٤٤
Prog : Mohamed Youssef
واﻻن ﺷﻐﻞ اﻟﺒﺮﻧﺎﻣﺞ وﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺰر Button1ﺳﺘﻼﺣﻆ ﻇﮭﻮر Buttonﺟﺪﯾﺪ ﻋﻠﻰ اﻟﻔﻮر ﻟﺔ اﻻﺳﻢ Say Hiاذا ﻗﻤﺖ
ﺑﺎﻟﻀﻐﻂ ﻋﻠﯿﺔ ﺳﻮف ﺗﻈﮭﺮ ﻟﻚ رﺳﺎﻟﺔ ﻣﻜﺘﻮب ﺑﮭﺎHi Man
ﺗﻜﻠﻤﻨﺎ ﻓﻲ اﻟﺪرس اﻟﺴﺎﺑﻖ ﻋﻦ اﻻدوات وﺗﻌﻠﻤﻨﺎ ﻛﯿﻔﯿﺔ اﻧﺸﺎﺋﮭﺎ ﻋﻠﻰ اﻟﻔﻮرم ﻓﻲ وﻗﺖ اﻟﺘﺼﻤﯿﻢ او ﻓﻲ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ وﻟﻜﻦ ﺑﻘﻲ
ﻣﻼﺣﻈﺔ ﺗﺨﺺ اﻧﺸﺎء اﻻدوات ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﯿﺬ وھﻲ ﻛﯿﻔﯿﺔ ﺣﺬف اداة ﻣﺎ ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﯿﺬ ﺛﻢ ﺳﻨﻨﺘﻘﻞ ﺑﻌﺪھﺎ اﻟﻰ ﺧﺼﺎﺋﺺ اﻻدوات.
:
ﻣﺜﻼ ﻟﻮ ﻛﺎن ﻟﺪﯾﻨﺎ Buttonاﺳﻤﯿﻨﺎة btnHiوﻧﺮﯾﺪ ﺣﺬﻓﺔ ﻣﻦ ﻋﻠﻰ اﻟﻔﻮرم ﻓﻲ وﻗﺖ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻛﻠﻤﺎ ﻋﻠﯿﻨﺎ ھﻮ ﻛﺘﺎﺑﺔ اﻟﻜﻮد اﻟﺘﺎﻟﻲ
ﻓﻲ زر اﻣﺮ ﺣﺬف ذﻟﻚ الButton
رﻣﺰ:
)[Link](btnHi
btnHi = Nothing
ﺳﯿﻘﻮم ذﻟﻚ اﻟﻜﻮد ﺑﺤﺬف اﻟﺰر btnHiﻣﻦ ﻋﻠﻰ ﻓﻮرم اﻟﺒﺮﻧﺎﻣﺞ ﺣﺘﻰ وﻟﻮ ﺗﻢ اﻧﺸﺎء ذﻟﻚ إل Buttonﻓﻲ وﻗﺖ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ أو
ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﯿﺬ وﻟﻜﻦ ﺣﺬف أداة ﻣﻦ ﻋﻠﻰ ﻓﻮرم اﻟﺒﺮﻧﺎﻣﺞ إﺛﻨﺎء ﺗﺸﻐﯿﻠﮫ ﻻ ﯾﻌﻨﻲ اﻧﺔ ﺗﻢ ﺣﺬف أﺣﺪاث ﺗﻠﻚ اﻻداة.
:
اﻟﺨﺎﺻﯿﺔ :ھﻲ ﻗﯿﻤﺔ او ﺑﻌﺾ اﻟﻘﯿﻢ اﻟﺘﺎﺑﻌﺔ ﻻداة اﻟﺘﺤﻜﻢ واﻟﺘﻰ ﺗﺘﺤﻜﻢ ﻓﻲ ﻋﻤﻞ او ﻣﻈﮭﺮ اﻻداة .ﻣﺜﻼ اداة اﻟﺘﺤﻜﻢ TextBoxﺗﻤﺘﻠﻚ
اﻟﺨﺎﺻﯿﺔ Nameوھﻲ اﻟﺘﻰ ﺗﺘﺤﻜﻢ ﻓﻲ اﺳﻢ اﻻداة اﻟﺒﺮﻣﺠﻲ اﻟﺬي ﯾﺴﺘﺨﺪﻣﺔ اﻟﻤﺒﺮﻣﺞ اﺛﻨﺎء ﻛﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ وﻛﺬﻟﻚ اﻟﺨﺎﺻﯿﺔ Text
وھﺬة اﻟﺨﺎﺻﯿﺔ ھﻲ اﻟﺘﻰ ﺗﺘﺤﻜﻢ ﻓﻲ اﻟﻜﺘﺎﺑﺔ اﻟﺘﻲ ﺳﺘﻈﮭﺮ ﻓﻲ TextBoxوﺗﻮﺟﺪ اﯾﻀﺎء اﻟﺨﺎﺻﯿﺔ BackColorوھﻲ اﻟﺘﻰ ﺗﺘﺤﻜﻢ ﻓﻲ
ﻟﻮن اﻟﺨﻠﻔﯿﺔ وھﻜﺬا.
ﻟﻜﻞ اداة ﺧﺼﺎﺋﺺ ﻋﺪﯾﺪة وﺗﺘﺸﺎﺑﺔ ﻣﻌﻈﻢ اﻻدواة ﻓﻲ اﻟﻜﺜﯿﺮ ﻣﻦ ﺧﺼﺎﺋﺼﮭﺎ وﻟﻜﻦ ھﻨﺎﻟﻚ ﺧﺼﺎﺋﺺ ﻻ ﺗﻮﺟﺪ اﻻ ﻓﻲ ﻧﻮع ﻣﺤﺪد ﻣﻦ
اﻻدوات ﻣﺜﻼ اﻻداة ImageListﺗﻤﺘﻠﻚ اﻟﺨﺎﺻﯿﺔ Imagesاﻟﺘﻰ ﺗﺴﺘﻄﯿﻊ ﺑﺎﺳﺘﺨﺪاﻣﮭﺎ ﻣﻦ اﺧﺘﯿﺎر اﻟﻌﺪد اﻟﺬي ﺗﺮﯾﺪ ﻣﻦ اﻟﺼﻮر اﻟﺘﻰ
ﺳﻮف ﺗﺨﺰﻧﮭﺎ ھﺬة اﻻداة ﻻﺳﺘﺨﺪاﻣﮭﺎ ﻛﺎﯾﻘﻮﻧﺎت ﻣﺜﻼ ﻣﻊ ادوات اﺧﺮى ﻣﺜﻞ اﺳﺘﺨﺎﻣﮭﺎ ﻣﻊ اداة اﻟﻌﺮض اﻟﺸﺠﺮيTreeView .
:
ﻟﺘﻌﺪﯾﻞ ﺧﺼﺎﺋﺺ أي اداة ﻣﻦ ادوات اﻟﺘﺤﻜﻢ ﻓﻲ وﻗﺖ ﺗﺼﻤﯿﻢ ﺑﺮﻧﺎﻣﺠﻚ ﯾﺠﺐ اوﻻ ان ﺗﻘﻮم ﺑﻔﺘﺢ ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ وﺗﺴﺘﻄﯿﻊ ﻓﺘﺤﮭﺎ
ﻣﻦ اﻟﻘﺎﺋﻤﺔ Viewواﺧﺘﯿﺎر Properties Windowsاو ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ اﻟﻤﻔﺘﺎح F4ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ .ﺑﻌﺪ ﻓﺘﺢ ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ
ﯾﺒﻘﻰ ان ﻧﺤﺪد اﻻداة اﻟﺘﻰ ﻧﺮﯾﺪ ﺗﻌﺪﯾﻞ ﺧﺼﺎﺋﺼﮭﺎ وذﻟﻚ ﯾﺘﻢ ﺑﻄﺮﯾﻘﺘﯿﻦ اﻻوﻟﻰ ﺑﺎﺧﺘﯿﺎر اﺳﻢ اﻻداة ﻣﻦ اﻋﻠﻰ ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ او
ﺑﺎﻟﻨﻘﺮﻋﻠﯿﮭﺎ ﻧﻘﺮة واﺣﺪة ﺑﺎﺳﺘﺨﺪام اﻟﻤﺎوس ﻓﺘﻈﮭﺮ ﻟﻨﺎ ﺟﻤﯿﻊ ﺧﺼﺎﺋﺺ ﺗﻠﻚ اﻻداة ﻓﻲ ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ ﺑﻌﺪھﺎ ﻧﻘﻮم
ﺑﺎﻟﻨﻘﺮ ﺑﺎﻟﻤﺎوس اﻣﺎم اﺳﻢ اﻟﺨﺎﺻﯿﺔ اﻟﻤﺮاد ﺗﻐﯿﯿﺮھﺎ وﻛﺘﺎﺑﺔ او اﺧﺘﯿﺎر اﻟﻘﯿﻤﺔ اﻟﺠﺪﯾﺪة ﻟﮭﺎ.
٤٥
Prog : Mohamed Youssef
اﻧﻮاع اﻟﺨﺼﺎﺋﺺ:
ھﻨﺎﻟﻚ اﻧﻮاع ﻛﺜﯿﺮة ﻟﻠﺨﺼﺎﺋﺺ ﻓﮭﻨﺎﻟﻚ اﻟﺨﺼﺎﺋﺺ اﻟﻤﺮﻛﺒﺔ ﻣﻦ اﻛﺜﺮ ﻣﻦ ﻗﯿﻤﺔ واﻟﺨﺼﺎﺋﺺ اﻟﻤﺤﺼﻮرة ﺑﯿﻦ ﻗﯿﻢ ﻣﺤﺪدة وﺛﺎﺑﺘﺔ ﻛﺬﻟﻚ
ھﻨﺎﻟﻚ اﻟﺨﺼﺎﺋﺺ اﻟﻤﺠﻤﻌﺔ ﻛﻤﺠﻤﻮﻋﺔ وﺳﻮف ﻧﺴﺘﻌﺮض ﻛﻞ ﻧﻮع ﻣﻦ اﻧﻮاع اﻟﺨﺼﺎﺋﺺ ﻋﻠﻰ ﺣﺪة ﻛﻲ ﻧﻔﮭﻢ ﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ.
1-اﻟﺨﺼﺎﺋﺺ اﻟﻤﺮﻛﺒﺔ:
ﺑﻌﺾ ﻣﻦ اﻟﺨﺼﺎﺋﺺ ﺗﻤﺘﻠﻚ ﻗﯿﻢ ﻣﺮﻛﺒﺔ ﻣﺜﻼ اﻟﺨﺎﺻﯿﺔ Locationﺗﺘﻜﻮن ﻣﻦ اﻟﺤﺪاﺛﯿﺎن X and Yواﻟﺨﺎﺻﯿﺔ Sizeﺗﺘﻜﻮن ﻣﻦ
اﻟﻘﯿﻤﺘﯿﻦ width and heightواﻟﺨﺎﺻﯿﺔ Fontﻣﺜﻼ ﺗﺘﻜﻮن ﻣﻦ اﻟﻘﯿﻢ font’s name, size, boldnessوﻏﯿﺮھﺎ ﻣﻦ ﺧﺼﺎﺋﺺ
اﻟﺨﻄﻮط أي ھﻨﺎﻟﻚ ﺧﺼﺎﺋﺺ ﺗﺘﻜﻮن ﻣﻦ اﻛﺜﺮ ﻣﻦ ﻗﯿﻤﺔ وﻧﻼﺣﻆ ﻓﻲ اﻟﺼﻮرة اﻟﺴﺎﺑﻘﺔ ان ھﻨﺎﻟﻚ ﺧﺼﺎﺋﺺ اﻣﺎﻣﮭﺎ ﻋﻼﻣﺔ اﻟﺰاﺋﺪ ) +
( ﺗﻠﻚ ھﻰ اﻟﺨﺼﺎﺋﺺ اﻟﻤﺮﻛﺒﺔ ﻓﻠﻮا ﻗﻤﺖ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ ھﺬة اﻟﻌﻼﻣﺔ ﺳﻮف ﺗﻈﮭﺮ ﻟﻚ ﻗﯿﻢ ھﺬة اﻟﺨﺎﺻﯿﺔ.
2-اﻟﺨﺼﺎﺋﺺ اﻟﻤﺤﺼﻮرة:
ھﻲ اﻟﺨﺼﺎﺋﺺ اﻟﺘﻰ ﺗﻜﻮن ﻗﯿﻤﮭﺎ ﻣﺤﺼﻮرة وﻣﺤﺪدة وﺗﻜﻮن ﻗﯿﻤﮭﺎ ﻋﻠﻰ ﺷﻜﻞ ﻗﺎﺋﻤﺔ ﺳﺮد ﺑﮭﺎ اﻟﻘﯿﻢ اﻟﻤﻤﻜﻦ اﻋﻄﺎﺋﮭﺎ ﻟﻠﺨﺎﺻﯿﮫ
وﻣﺜﺎل ﻋﻠﻰ ھﺬة اﻟﺨﺼﺎﺋﺺ اﻟﺨﺎﺻﯿﺔ Visibleﻓﮭﺬة اﻟﺨﺎﺻﯿﺔ ﺗﻤﺘﻠﻚ اﺣﺪى اﻟﻘﯿﻤﺘﯿﻦ True and Falseوﻻ ﯾﻤﻜﻨﻚ اﻋﻄﺎﺋﮭﺎ ﻗﯿﻢ
اﺧﺮى اﻻ اذا ﻛﺎﻧﺖ اﻟﻘﯿﻤﺎﻻﺧﺮى ﻣﺴﺎوﯾﺔ ﻟﻠﻘﯿﻢ اﻟﺤﺎﻟﯿﺔ ﻣﺜﻼ اﻟﻘﯿﻤﺔ True= -1واﻟﻘﯿﻤﺔFalse= 0 .
3-اﻟﺨﺼﺎﺋﺺ اﻟﻤﺠﻤﻌﺔ:
ھﻨﺎﻟﻚ ﺧﺼﺎﺋﺺ ﺗﺘﻜﻮن ﻗﯿﻤﮭﺎ ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻘﯿﻢ او اﻟﻌﻨﺎﺻﺮ ﻣﺜﻼ أداة اﻟﺘﺤﻜﻢ ListBoxﺗﻤﺘﻠﻜﺎﻟﺨﺎﺻﯿﺔ Itemsاﻟﺘﻰ ﺗﺘﻜﻮن
ﻗﯿﻤﺘﮭﺎ ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ ﺗﻠﻚ اﻟﺘﻰ ﺗﻘﻮم اداة ListBoxﺑﻌﺮﺿﻌﺎاو ﻣﺜﻞ اﻟﺨﺎﺻﯿﺔ ImageListﻓﯿﻤﮭﺎ ﺗﺘﻜﻮن ﻣﻦ ﻣﺠﻤﻮﻋﺔ
ﻣﻦ اﻟﺼﻮر ﯾﺘﻢ ﻋﺮﺿﮭﺎ ﺑﺄدوات أﺧﺮىﻜﺬﻟﻚ ھﻨﺎﻟﻚ ﺧﺼﺎﺋﺺ ﻗﯿﻤﮭﺎ ﺗﺘﻄﻠﺐ وﺟﻮد أداة أﺧﺮى ﻓﻤﺜﻼ ﻟﻌﻤﻞ ﺻﻮر ﺑﺎﻋﻠﻰ ﻋﻨﺎﺻﺮ اﻻداة
TabControlﯾﺠﺐ ان ﺗﻮﺟﺪ اﻻداة ImageListواﻋﻄﺎء اﻟﺨﺎﺻﯿﺔ Imagesاﻟﺘﺎﺑﻌﺔ ﻟﮭﺎ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺼﻮر ﻛﻲ ﻧﻘﻮم ﺑﻌﺮﺿﻌﺎ
ﻛﺎﯾﻘﻮﻧﺎت ﻓﻲ ﻋﻨﺎوﯾﻦ TabControl .وﺳﻮف ﻧﻘﻮم ﺑﻤﺜﺎل ﻟﻌﻤﻞ ذﻟﻚ.
٤٦
Prog : Mohamed Youssef
ﻣﺜﺎل وﺿﻊ اﻟﺼﻮر ﺑﻌﻨﺎوﯾﻦTabControl :
ﻗﻢ ﺑﻔﺘﺢ ﻣﺸﺮوع ﺟﺪﯾﺪ ﺑﺎﻟﻔﺠﻮل ﺑﯿﺴﻚ دوت ﻧﺖ ﺛﻢ ﻗﻢ ﺑﺎﺿﺎﻓﺔ ھﺬة اﻻدوات اﻟﻰ ﻓﻮرم اﻟﺒﺮﻧﺎﻣﺞ اﻻداة TabControlوﻋﺪل
اﻟﺨﺎﺻﯿﺔ Nameﻟﺘﻜﻮن TabExpواﻻداة ImageListوﻋﺪل اﻟﺨﺎﺻﯿﺔ Nameﻟﺘﻜﻮن ImglstTabExpﺛﻢ ﻗﻢ ﺑﺎﻟﻨﻘﺮ ﻧﻘﺮة واﺣﺪة
ﻋﻠىﺎﻻداة ImglstTabExpﻓﺘﻈﮭﺮ ﻟﻚ ﺧﺼﺎﺋﺼﮭﺎ ﺑﻨﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ وﻣﻨﮭﺎ ﻗﻢ ﺑﺎﻟﻨﻘﺮاﻣﺎم اﻟﺨﺎﺻﯿﺔ Imagesوﺳﺘﻈﮭﺮ ﻟﻚ ﻧﺎﻓﺬة
ﻣﺤﺮر اﺿﺎﻓﺔ اﻟﺼﻮر اﻟﺘﺎﺑﻊ ﻟﻼداة
وﻟﻮ ﺗﻼﺣﻆ اﻟﺼﻮرة ﻓﺎﻧﺔ ﯾﻮﺟﺪ ﺻﻮرﺗﯿﻦ ﺗﻢ اﺿﺎﻓﺘﮭﻤﺎ ﻣﺴﺒﻘﺎ ﻓﻘﻢ اﻧﺖ اﻻﻧﺒﺎﺧﺘﯿﺎر ﺻﻮرﺗﯿﻦ ﺑﻮاﺳﻄﺔ اﻟﺰر Addﺛﻢ ﺑﻌﺪ ذﻟﻚ اﺿﻐﻂ
Okﻋﻨﺪھﺎ ﺳﯿﻐﻠﻖ ﻣﺤﺮراﺿﺎﻓﺔ اﻟﺼﻮر وﺳﺘﻌﻮد اﻟﻰ وﺿﻊ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ اﻻن ﻗﻢ ﺑﺘﺤﺪﯾﺪ اﻻداة TabExpﻟﺘﻈﮭﺮ ﺧﺼﺎﺋﺼﮭﺎ
ﺑﻨﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ واﻻن ﻗﻢ ﺑﺎﻟﻨﻘﺮ اﻣﺎم اﻟﺨﺎﺻﯿﺔ ImageListاﻟﺘﺎﺑﻌﺔ ﻟﻼداة TabExpوﻗﻢ ﺑﺎﺧﺘﯿﺎر اﻻداةImglstTabExp
واﻻن ﻗﻢ ﺑﺎﻟﻨﻘﺮ اﻣﺎم اﻟﺨﺎﺻﯿﺔ TabPagesاﻟﺘﺎﺑﻌﺔ ﻟﻼداة TabExpوﺳﺘﻈﮭﺮ ﻟﻚ ﻧﺎﻓﺬة ﺗﻌﺪﯾﻞ واﺿﺎﻓﺔ اﻟﺘﺎب ) (Tabsوﺑﺎﻗﻲ
٤٧
Prog : Mohamed Youssef
اﻟﺸﺮح اﻧﻈﺮ ﻟﻠﺼﻮرة
وﯾﺠﺐ ان ﺗﻌﺮف ان اﻟﺼﻔﺤﺎت او ﻣﺎ ﯾﻌﺮف ﺑﺎﻟﺘﺎب ) (Tabsاﻟﻤﻜﻮﻧﺔ ﻟﻼداة TabExpﺗﻌﺘﺒﺮ ادوات داﺧﻠﯿﺔ ﻟﮭﺎ ﺧﺼﺎﺋﺼﮭﺎ اﻟﻤﺮﺗﻜﺰة
ﻋﻠﻰ ﺧﺼﺎﺋﺺ اﻻداة اﻟﺮﺋﯿﺴﯿﺔ وھﻲ TabControlوﯾﻤﻜﻨﻚ اﺿﺎﻓﺔ اﻟﻌﺪد اﻟﺬي ﺗﺮﯾﺪ ﻣﻦ اﻟﺘﺎب ﻣﻦ ﺧﻼل اﻟﺰر Addاﻟﻤﻮﺟﻮد
اﺳﻔﻞ ﻧﺎﻓﺬة ﻣﺤﺮر اﺿﺎﻓﺔ وﺗﻌﺪﯾﻞ اﻟﺘﺎب
وﻓﻲ اﻟﻨﮭﺎﯾﺔ ﺳﻮف ﯾﻈﮭﺮ اﻟﺒﺮﻧﺎﻣﺞ ﺑﮭﺬا اﻟﺸﻜﻞ
٤٨
Prog : Mohamed Youssef
ﻣﺼﻔﻮﻓﺔ اﻻدوات
ﻓﻲ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٦ﻛﺎﻧﺖ ھﻨﺎﻟﻚ ﻣﯿﺰة ﺟﻤﯿﻠﺔ وﻣﻔﯿﺪة وھﻲ اﻟﻤﻘﺪرة ﻋﻠﻰ ﻋﻤﻞ ﻣﺼﻔﻮﻓﺔ ﻣﻦ اﻻدواﺗﻮﻣﺼﻔﻮﻓﺔ اﻻدوات ﻋﺒﺎرة
ﻋﻦ ﻣﺼﻔﻮﻓﺔ ﻣﻦ اداة ﻣﻌﯿﻨﺔ ﺑﺤﯿﺚ ﺗﺘﺸﺎرك ﻧﻔﺲ اﻻﺣﺪاث واﯾﻀﺎ ﻟﮭﺎ ﻧﻔﺲ اﻻﺳﻢ وﻧﺴﺘﻄﯿﻊ اﻟﺘﻤﯿﯿﺰ ﺑﯿﻨﮭﺎ ﺑﻮاﺳﻄﺔ indexاﻟﻤﻤﯿﺰ
ﻟﻜﻞ ﻋﻨﺼﺮ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ.
واﯾﻀﺎ ھﻮ اﻟﺤﺎل ﻓﻲ [Link] 2005ﻓﺈن ھﺬة اﻟﻤﯿﺰة ﺑﺎﻗﯿﺔ وﻟﻜﻦ ﻣﻊ ﺑﻌﺾ اﻻﺧﺘﻼف ﻓﻲ ﻛﯿﻔﯿﺔ اﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ اﻻدوات ﻋﻦ
اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ .٦
ﻣﺎھﻲ اﻟﻔﺎﺋﺪة ﻣﻦ ﻣﺼﻔﻮﻓﺔ اﻻدوات وﻣﺎ اﻟﻔﺎﺋﺪة ﻣﻨﮭﺎ? ﺳﺆال ﻗﺪ ﯾﺪور ﻓﻲ ﻋﻘﻮل اﻟﻜﺜﯿﺮ وﺳﺎﺟﯿﺐ ﻋﻠﯿﺔ ﺑﺎﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ
ﺗﺼﻮر ﻟﻮ اﻧﻚ اردت اﻟﻘﯿﺎم ﺑﻌﻤﻞ ﺣﺎﺳﺒﺔ ﺗﺘﻜﻮن ﻣﻦ اﻟﻜﺜﯿﺮ ﻣﻦ اﻻزرار ﻓﺎﻧﻚ ﺑﺎﻟﺘﺎﻟﻲ ﺳﻮف ﺗﻘﻮم ﺑﻌﻤﻞ ﺣﺪث ﻟﻜﻞ زر ﺑﺒﺮﻧﺎﻣﺠﻚ
اﻟﺤﺎﺳﺒﺔ ﻓﻠﻮ دﺧﻠﻨﺎ اﻟﻰ ﺷﺎﺷﺔ اﻟﻜﻮد ﻣﺎذا ﺳﻨﺸﺎھﺪ ﻣﻨﻈﺮ ﻏﯿﺮ ﺟﯿﺪ ﻣﻦ ﺗﺮاﻛﻢ اﻟﻜﻮد وﻋﺪم ﺗﻨﻈﯿﻤﺔ وﻟﻜﻦ ﻣﺎ راﺋﯿﻚ ﻟﻮ اﺧﺘﺼﺮت ﻛﻞ
اﺣﺪاث اﻻزرار ﺑﺤﺪث واﺣﺪ ﻓﻘﻂ ھﺬا ﺷﺊ ﻏﺎﯾﺔ ﻓﻲ اﻟﺮوﻋﺔ وﯾﻘﻠﻞ اﻟﺠﮭﺪ وﯾﺰﯾﺪ اﻟﺘﻨﻈﯿﻢ ھﺬا ﺻﺤﯿﺢ.
اﻟﺮﻣﺰPHP:
)Dim MyButton As Button = DirectCast(sender, Button
[Link] = [Link] & [Link]
اﻟﺨﺎﺻﯿﺘﺎن Anchor and Dockﺗﻌﻤﻼن ﺟﻌﻞ اﻻداة ﺗﻘﻮم ﺗﻠﻘﺎﺋﯿﺎ ﺑﺘﻐﯿﯿﺮ ﺣﺠﻤﮭﺎ وﻣﻮﺿﻌﮭﺎ ﺗﺒﻌﺄ ﻟﺤﺠﻢ اﻟﻔﻮرم اﻟﻤﻮﺿﻮﻋﺔ ﻋﻠﯿﺔ
اﻟﺨﺎﺻﯿﺔ Anchorﺗﺤﺪد أي ﺣﺪ ﻣﻦ ﺣﺪود اﻻداة ﯾﺠﺐ ان ﯾﺒﻘﻰ ﺛﺎﺑﺘﺎ واي ﺣﺪ ﯾﺠﺐ ان ﯾﺰﯾﺪ ﻋﻦ ﺣﺠﻤﺔ اﻟﺤﺎﻟﻲ ﺗﺒﻌﺎ ﻟﺤﺠﻢ اﻟﻔﻮرم
اﻟﻤﻮﺿﻮﻋﺔ ﻋﻠﯿﺔ
وﻻ ﺗﻮﺟﺪ اﻟﺨﺎﺻﯿﺔ Anchorاﻻ ﻣﻊ اﻻدوات اﻟﺘﻰ ﺗﻈﮭﺮ ﻋﻠﻰ اﻟﻔﻮرم ﻓﻲ وﻗﺖ اﻟﺘﻨﻔﯿﺬ ﻣﺜﻞ Button , TextBox , listوﺗﻤﻠﻚ ھﺬة
اﻻدوات ارﺑﻊ ﺣﺪود ھﻲ Top, Bottom, Left, Rightو ﺗﺤﺴﺐ ﻗﯿﻤﺔ ھﺬة اﻟﺤﺪود ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻔﻮرم
ﺑﺎﻟﺒﺎﺳﯿﻜﻞ ) (pixelواﻟﻘﯿﻤﺔ اﻻﻓﺘﺮاﺿﯿﺔ ﻟﮭﺬة اﻟﺨﺎﺻﯿﺔ ھﻲ Top, Left
و ﻓﻲ اﻻﺻﺪار اﻟﺴﺎدس ﻣﻦ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﻟﻮ اردﻧﺎ ﻣﺜﻼ ﻋﻤﻞ ﻣﺤﺮر ﻧﺼﻮص ﻣﺜﻞ Notepadﻓﺎﻧﻨﺎ ﺳﻮف ﻧﺤﺘﺎج ﻟﻜﺘﺎﺑﺔ ﻛﻮد ﯾﻘﻮم
ﻋﻠﻰ ﺗﻐﯿﯿﺮ ﺣﺠﻢ TextBoxاﻟﻤﺴﺘﺨﺪم ﻟﻠﻜﺘﺎﺑﺔ ﺗﺒﻌﺎ ﻟﺤﺠﻢ اﻟﻔﻮرم اﻟﻤﻮﺿﻮع ﻋﻠﯿﺔ ﻛﻲ ﯾﺘﻼﺋﻢ ﺷﻜﻞ اﻟﺒﺮﻧﺎﻣﺞ وﻛﺬﻟﻚ اﻟﺤﺎل ﻟﻮ اردﻧﺎ
ﻋﻤﻞ ﻣﺴﺘﻌﺮض اﻧﺘﺮﻧﺖ
وﻟﻜﻦ ﻣﻊ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥ﻓﺎءن ذﻟﻚ اﻻﻣﺮ ﺑﺴﯿﻂ ﺟﺪا ﺑﺎﺳﺘﺨﺪام اﻟﺨﺎﺻﯿﺔ Anchorﻓﻤﺎ ﻋﻠﯿﻨﺎ ھﻮ وﺿﻊ اﻻداة ﻋﻠﻰ اﻟﻔﻮرم
ﺑﺎﻟﺸﻜﻞ اﻟﺬي ﻧﺮﯾﺪ ان ﺗﻜﻮن ﻋﻠﯿﺔ ﻋﻨﺪ ﺗﻐﯿﯿﺮ ﺣﺠﻢ اﻟﻔﻮرم ﺛﻢ ﻧﻘﻮم ﺑﺘﺤﺪﯾﺪ ﺣﺪود اﻻداة اﻟﺘﻰ ﻧﺮﯾﺪھﺎ ان ﺗﺘﻐﯿﺮ ﺗﻠﻘﺎﺋﯿﺎ ﺗﺒﻌﺎ ﻟﺘﻐﯿﺮ ﺣﺠﻢ
اﻟﻔﻮرم
ﺳﻨﻘﻮم ﺑﻌﻤﻞ ﻣﺜﺎل ﻟﺘﺘﻀﺢ اﻟﻔﻜﺮة ﻗﻢ ﺑﺎﻧﺸﺎء ﻣﺸﺮوع ﺟﺪﯾﺪ ﺑﺎﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥ﺛﻢ ﻗﻢ ﺑﺎﺿﺎﻓﺔ اﻻداة TextBoxاﻟﻰ اﻟﻔﻮرم
وﺗﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ Multilineﻟﺘﺼﺒﺢ Trueوھﻲ اﻟﺨﺎﺻﯿﺔ اﻟﺘﻰ ﺗﻌﻤﻞ ﻋﻠﻰ ﻇﮭﻮر اﻛﺜﺮ ﻣﻦ ﺳﻄﺮ ﺑﺎﻻداة ﺑﻮﻗﺖ واﺣﺪ وﺳﺘﻈﮭﺮ ﺑﻌﺪھﺎ
ﻣﻘﺎﺑﺾ ﺗﻐﯿﯿﺮ ﺣﺠﻢ اﻻداة ﺛﻢ اﺟﻌﻞ ﺣﺠﻢ اﻻداه ﻋﻠﻰ اﻟﻔﻮرم ﻛﻤﺎ ﺑﺎﻟﺼﻮرة
٤٩
Prog : Mohamed Youssef
ﺛﻢ ﻧﻘﻮم ﺑﺘﻐﯿﯿﺮ ﻗﯿﻤﺔ اﻟﺨﺎﺻﯿﺔ Anchorﺑﺤﯿﺚ ﻧﻘﻮم ﺑﺘﺤﺪﯾﺪ ﺟﻤﯿﻊ ﺣﺪود اﻻداة TextBox
وذﻟﻚ ﺑﺎﻟﻨﻘﺮ ﺑﺎﻟﻤﺎوس ﻋﻠﻰ اﻟﺤﺪ اﻟﺬي ﻧﺮﯾﺪ اﺧﺘﯿﺎرة اﻧﻈﺮ اﻟﺼﻮرة
ﺑﻌﺪ ان ﻧﻘﻮم ﺑﺘﺤﺪﯾﺪ ﺟﻤﯿﻊ ﺣﺪود اﻻداة اﻻرﺑﻊ ﻧﻘﻮم اﻻن ﺑﺘﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ
وﻧﻌﻤﻞ ﻋﻠﻰ ﺗﻐﯿﯿﺮ ﺣﺠﻢ اﻟﻔﻮرم ﺳﺘﻼﺣﻆ ان اﻻداة TextBoxﯾﺘﻐﯿﺮ ﺣﺠﻤﮭﺎ ﺗﺒﻌﺎ ﻟﺘﻐﯿﺮ ﺣﺠﻢ اﻟﻔﻮرﻣﻮاﻻن ﻟﻨﻘﻢ ﺑﻤﺜﺎل اﺧﺮ ﻗﻢ ﺑﺎﺿﺎﻓﺔ
Buttonاﻟﻰ اﻟﻔﻮرم وﻗﻢ ﺑﻮﺿﻌﺔ اﻟﺰاوﯾﺔ اﻟﻌﻠﯿﺎ ﻣﻦ اﻟﺠﮭﺔ اﻟﯿﻤﻨﻰ ﻋﻠﻰ اﻟﻔﻮرم
٥٠
Prog : Mohamed Youssef
أي ﻗﻢ ﺑﺎﻟﻐﺎء ﺗﺤﺪﯾﺪ ﻛﻞ ﺣﺪود اﻻداة وﻗﻢ ﺑﺘﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ وﺗﻐﯿﯿﺮ ﺣﺠﻢ اﻟﻔﻮرم ﺳﺘﻼﺣﻆ ان اﻻداة ﺗﻌﻤﺪ اﻟﻰ اﻻﻧﺘﻘﺎل اﻟﻰ ﻗﺮب
ﻣﻨﺘﺼﻒ اﻟﻔﻮرم واﻻن ﻗﻢ ﺑﺎﯾﻘﺎف اﻟﺒﺮﻧﺎﻣﺞ وﺗﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ Anchorﻟﻞ Buttonﻟﺘﻜﻮن ﻗﯿﻤﺘﮭﺎ ﺗﺴﺎوي Top, Rightوھﻮ اﻧﻨﺎ
ﺣﺪد ﺛﻢ ﻗﻢ ﺑﺘﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ وﺗﻐﯿﯿﺮ ﺣﺠﻢ اﻟﻔﻮرم ﺳﺘﻼﺣﻆ ﺛﺒﺎت ال Buttonﻓﻲ اﻟﺰاوﯾﺔ اﻟﻌﻠﯿﺎ ﻣﻦ اﻟﺠﮭﺔ اﻟﯿﻤﻨﻰ ﻣﮭﻤﺎ ﺗﻐﯿﺮ ﺣﺠﻢ
اﻟﻔﻮرم وذﻟﻚ ﻻﻧﻨﺎ ﻗﻤﻨﺎ ﺑﺘﺜﺒﯿﺖ ﺣﺪود اﻻداة Top, Rightﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ ﻓﻜﻠﻤﺎ ﻗﻤﻨﺎ ﺑﺘﻐﯿﯿﺮ ﺣﺠﻢ اﻟﻔﻮرم ﻓﺎن ال Buttonﯾﻌﻤﺪ اﻟﻰ
اﻻﻧﺘﻘﺎل اﻟﻰ ﺗﻠﻚ اﻟﺠﮭﺔ اﻟﻤﺜﺒﺘﺔ ﺣﺪودة ﻋﻠﯿﮭﺎ ﻛﺬﻟﻚ ﯾﻤﻜﻨﻨﺎ ﺗﻐﯿﯿﺮ ﻣﻮﺿﻊ اﻻدوات ﻓﻲ وﻗﺖ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﻣﺜﻼ ﻗﻢ ﺑﺎﺿﺎﻓﺔ Button
اﻟﻰ اﻟﻔﻮرم وﻗﻢ ﺑﻮﺿﻌﺔ ﺑﺎي ﻣﻜﺎن ﺛﻢ ﻗﻢ ﺑﺎﺿﺎﻓﺔ ھﺬا اﻟﻜﻮد اﻟﻰ اﻟﺤﺪثForm_Load
رﻣﺰ:
واﻻن ﻟﻨﻘﻢ ﺑﻤﺜﺎل اﺧﯿﺮ ﻗﻢ ﺑﺎﺿﺎف ﺛﻼﺛﺔ TextBoxﻋﻠﻰ اﻟﻔﻮرم ﺛﻢ ﻗﻢ ﺑﺠﻌﻞ ﺷﻜﻠﮭﺎ ﻋﻠﻰ اﻟﻔﻮرم ﻛﻤﺎ ﻣﺎ ﺗﻮﺿﺢ اﻟﺼﻮرة
٥١
Prog : Mohamed Youssef
ﺛﻢ ﻗﻢ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ Anchorﻟﻼول ﻟﺘﻜﻮن ﻗﯿﻤﺘﮭﺎ Topواﻟﻘﯿﻤﺔ ﻟﻠﺜﺎﻧﻲ Noneواﻟﻘﯿﻤﺔ ﻟﻠﺜﺎﻟﺚBottom
ﺛﻢ ﻗﻢ ﺑﺘﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ وﺗﻐﯿﯿﺮ ﺣﺠﻢ اﻟﻔﻮرم وﺳﺘﻼﺣﻆ ان اﻻدوات ﯾﺘﻼﺋﻢ ﻣﻮﺿﻌﮭﺎ ﻋﻠﻰ اﻟﻔﻮرم ﻣﻊ ﺗﻐﯿﯿﺮ ﺣﺠﻤﺔ
اﻟﺨﺎﺻﯿﺔ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اﻻداة اﻟﺘﻰ ﺗﻢ وﺿﻊ اﻟﻘﯿﻤﺔ ﻟﮭﺎ اوﻻ ھﻰ
اﻟﺘﻰ ﺳﺘﺎﺧﺬ ﻣﻮﺿﻌﮭﺎ اوﻻ ﻓﺎﻟﺘﺎﻟﻰ واﻟﺘﺎﻟﻲ.
٥٢
Prog : Mohamed Youssef
وﺳﺘﻜﻮن ﺑﻌﺪ ذﻟﻚ ﻛﻤﺎ ﺑﺎﻟﺼﻮرة
٥٣
Prog : Mohamed Youssef
أﻧﺸﺎء ﻣﺸﺮوع ﺟﺪﯾﺪ ﻓﻰ ﺑﯿﺌﺔ اﻟﺪوت ﻧﺖ
ﺗﻌﺎﻟﻮا ﻧﺘﻌﻠﻢ ﻣﻌﺎ ﻛﯿﻒ ﻧﻨﺸﺊ ﻣﺸﺮوع ﺟﺪﯾﺪ ﻓﻰ ﺑﯿﺌﺔ اﻟﺪوت ﻧﺖ
أو
٥٤
Prog : Mohamed Youssef
٥٥
Prog : Mohamed Youssef
٥٦
Prog : Mohamed Youssef
٥٧
Prog : Mohamed Youssef
٥٨
Prog : Mohamed Youssef
٥٩
Prog : Mohamed Youssef
٦٠
Prog : Mohamed Youssef
٦١
Prog : Mohamed Youssef
٦٢
Prog : Mohamed Youssef
٦٣
Prog : Mohamed Youssef
٦٤
Prog : Mohamed Youssef
اﻟﺠﺰء اﻟﺜﺎﻟﺚ ھﻨﺎ ﺗﺒﺪأ اﻟﺒﺮﻣﺠﺔ
اﻟﻤﺘﻐﯿﺮات و اﻟﺜﻮاﺑﺖ اﻟﻔﺼﻞ اﻻول
اﻟﻤﺘﻐﯿﺮات
اﻟﻤﺘﻐﯿﺮات ﺗﻌﺘﺒﺮﻣﻦ ﺑﯿﻦ اﻛﺜﺮ اﺟﺰاء اﻟﺒﺮﻧﺎﻣﺞ اھﻤﯿﺔ.
واﻟﻤﺘﻐﯿﺮ :ھﻮ اﺣﺪ ﺗﻮاﺑﻊ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺬي ﯾﺴﺘﻄﯿﻊ ﺗﺨﺰﯾﻦ ﻗﯿﻤﺔ
ھﺬة اﻟﻘﯿﻤﺔ ﯾﻤﻜﻦ ان ﺗﻜﻮن رﻗﻢ او ﺣﺮف او ﺑﯿﺎﻧﺎت اوھﯿﻜﻠﯿﺔ ﺗﺘﻜﻮن ﻣﻦ اﻧﻮاع اﺧﺮى ﻋﺮﻓﻨﺎ ان اﻟﻤﺘﻐﯿﺮ ﯾﺘﻜﻮن ﻣﻦ ﻗﯿﻤﺔ ﺑﻘﻰ ان
ﻧﻌﺮف ان اﻟﺒﺮﻧﺎﻣﺞ ﯾﺴﺘﻄﯿﻊ اﺳﺘﺨﺪام وﻣﻌﺎﻟﺠﺔ ھﺬة اﻟﻘﯿﻤﺔ و ان ﯾﺠﺮي ﻋﻠﯿﮭﺎ اﻟﻌﻤﻠﺒﺎت اﻟﺤﺴﺎﺑﯿﺔ اذا ﻛﺎﻧﺖ رﻗﻢ واﻟﻌﻤﻠﯿﺎت ﻋﻠﻰ
اﻟﺒﯿﺎﻧﺎت اﻟﺤﺮﻓﯿﺔ ﻛﺎﻟﺪﻣﺞ واﻟﺒﺤﺚ واﻟﻘﻄﻊ وﻏﯿﺮھﺎ اذا ﻛﺎﻧﺖ ﺣﺮﻓﯿﺔ ﻛﺬﻟﻚ اﻟﻌﻤﻠﯿﺎت ﻋﻠﻰ اﻟﺒﯿﺎﻧﺎت اﻻﺧﺮى ﻛﺎﻟﻤﻠﻔﺎت اﻟﺼﻮﺗﯿﺔ
واﻟﺮﺳﻮﻣﯿﺔ ﻣﻦ ﻣﻘﺎرﻧﺔ واﻧﺸﺎء اﻟﻰ اﺧﺮة .
- ١ﻧﻮع اﻟﺒﯿﺎﻧﺎت:
وھﻲ ﻧﻮع اﻟﺒﯿﺎﻧﺎت اﻟﺘﻰ ﯾﻤﺜﻠﮭﺎ اﻟﻤﺘﻐﯿﺮ ) (integer, character, stringاﻟﺦ.
-٤ﻋﻤﺮ اﻟﻤﺘﻐﯿﺮ
وھﻮ ﺗﺤﺪﯾﺪ ﻛﻢ ﻣﻦ اﻟﻮﻗﺖ ﺳﺘﻜﻮن ﻗﯿﻤﺔ ھﺬا اﻟﻤﺘﻐﯿﺮ ﺻﺎﻟﺤﺔ ﻟﻼﺳﺘﻌﻤﺎل .ﻓﻤﺜﻼ ﻟﻮ ﻗﻤﻨﺎ ﺑﺎﻻﻋﻼن ﻋﻦ ﻣﺘﻐﯿﺮ داﺧﻞ اﺟﺮاء ﻓﺮﻋﻲ
ﺑﻮاﺳﻄﺔ اﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزةDim
ﻓﺎءن ھﺬا اﻟﻤﺘﻐﯿﺮ ﺳﻮف ﯾﻨﺸﺊ ﻣﺘﻰ اﻻﺳﺘﺪﻋﺎء ﺑﺪاء وﺳﯿﺪﻣﺮ ھﺬا اﻟﻤﺘﻐﯿﺮ ﻣﺘﻰ اﻧﺘﮭﻰ اﻻﺟﺮاء وﻟﻜﻦ ﻟﻮ ﻗﻤﻨﺎ ﺑﺎﻻﻋﻼن ﻋﻦ ھﺬا
اﻟﻤﺘﻐﯿﺮ ﺑﻮاﺳﻄﺔ اﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزة staticﻓﺎن ﻗﯿﻤﺔ ھﺬا اﻟﻤﺘﻐﯿﺮ ﻟﻦ ﺗﺪﻣﺮ ﻋﻨﺪ ﻧﮭﺎﯾﺔ اﻻﺟﺮاء ﺑﻞ ﺳﯿﻈﻞ اﻟﻤﺘﻐﯿﺮ ﻣﺤﺘﻔﻈﺎ ﺑﮭﺎ
اﻻﻧﻮاع اﻟﻤﺨﺘﻠﻔﺔ ﻟﻠﺒﯿﺎﻧﺎت:
٦٥
Prog : Mohamed Youssef
ﻣﻼﺣﻈﺔ :
ان اﻟﺘﻌﺮف ﻋﻠﻰ اﻧﻮاع اﻟﻤﺘﻐﯿﺮات واﻻﺧﺘﻼف ﺑﯿﻨﮭﺎ ﻣﮭﻢ ﺟﺪا ﻟﻤﻌﺮﻓﺔ اي ﻧﻮع ﺑﺎﻟﻀﺒﻂ ﯾﻤﻜﻦ ان اﺗﻌﺎﻣﻞ ﻣﻌﺔ ﻓﻤﺜﻼ ﻟﻮ ﻗﻤﻨﺎ ﺑﻤﺜﺎل
ﺻﻐﯿﺮ ھﻮ ﺗﺨﺰﯾﻦ رﻗﻢ اﻛﺒﺮ ﻣﻦ 2,147,483,647داﺧﻞ ﻣﺘﻐﯿﺮ ﻣﻦ ﻧﻮع integerﻟﻦ ﯾﻘﺒﻞ ذﻟﻚ اﻟﻤﺘﻐﯿﺮ اﻟﻘﯿﻤﺔ اﻟﻤﻌﻄﺎة ﻻﻧﮭﺎ اﻛﺒﺮ ﻣﻦ
اﻣﻜﺎﻧﯿﺔ اﺳﺘﯿﻌﺎﺑﺔ ﻓﻲ ھﺬة اﻟﺤﺎﻟﺔ ﯾﺠﺐ ان ﯾﻜﻮن ﻧﻮع اﻟﻤﺘﻐﯿﺮ Longاو Doubleﻻن ﻛﻤﯿﺔ اﺳﺘﯿﻌﺎﺑﮭﺎ ﻛﺒﯿﺮة.
اﻧﻮاع اﻟﺮﻣﻮز:
اﻟﺮﻣﻮز ﺑﺎﻟﻔﯿﺠﻮال دوت ﻧﺖ ﻟﮭﺎ ﻣﮭﺎم ﺧﺎﺻﺔ ﻛﻤﺎ ھﻮ اﻟﺤﺎل ﺑﺎﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٦ﻓﺎﻟﺮﻣﻮز ﺗﺴﺘﺨﺪم ﻟﻼﻋﻼن ﻋﻦ اﻧﻮاع اﻟﺒﯿﺎﻧﺎت
اﻟﻤﺨﺘﻠﻔﺔ وھﺬا ﺟﺪول ﻣﺒﯿﻦ ﺑﺎﻧﻮاع اﻟﺒﯿﺎﻧﺎت ﻣﻊ اﻟﺮﻣﻮز اﻟﺘﻰ ﺗﺮﻣﺰ اﻟﯿﮭﺎ وھﻲ ﻣﻦ اﻟﻨﻮع اﻟﺮﻣﺰي اﻟﻐﯿﺮ ﻟﻔﻈﻲ
٦٦
Prog : Mohamed Youssef
اﻟﺮﻣﺰPHP:
Dim x&=5
"Dim y$="salem4it - Youssef
اﻟﺮﻣﺰPHP:
Dim x=10000000000
"Dim y ="salem4it - Youssef
٦٧
Prog : Mohamed Youssef
اﻟﺮﻣﺰPHP:
X=100L
Y="A"c
وھﺬا اﻟﻘﯿﻤﺔ اﻻوﻟﻰ longواﻟﻘﯿﻤﺔ اﻟﺜﺎﻧﯿﺔ ﻣﻦ اﻟﻨﻮع Charوﻟﻜﻦ ﯾﺠﺐ ان ﻧﻌﻠﻢ اﻧﻨﺎ ﻻ ﻧﺴﺘﻄﯿﻊ ان ﻧﻜﺘﺐ اﻟﻤﺘﻐﯿﺮات ﺑﺎﻟﺸﻜﻞ اﻟﺴﺎﺑﻖ
اﻻ اذا ﻛﺎن اﻟﺨﯿﺎر Option Explicit Offﻏﯿﺮ ﻣﻔﻌﻞ ﻛﺬﻟﻚ ﯾﺴﻤﺢ ﻟﻚ اﻟﻔﯿﺠﻮال ﺑﺘﻌﯿﯿﻦ اﻧﻮاع اﻟﻘﯿﻢ ﺑﺎﺳﺘﺨﺪام رﻣﻮز ﺣﺮﻓﯿﺔ
ﻣﺜﻞ &Hﻟﻠﺒﻘﯿﻢ اﻟﺴﺎدس ﻋﺸﺮﯾﺔ &Oﻟﻠﻘﯿﻢ اﻟﺜﻤﺎﻧﯿﺔ
اﻟﺮﻣﺰPHP:
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.
اﯾﻀﺎ ﯾﻮﻓﺮ ﻟﻨﺎ اﻟﻔﯿﺠﻮال اﻟﻜﺜﯿﺮ ﻣﻦ دوال واﺳﺎﻟﯿﺐ اﻟﺘﻐﯿﯿﺮ ﺑﯿﻦ اﻧﻮاع اﻟﺒﯿﺎﻧﺎت
٦٨
Prog : Mohamed Youssef
اﻟﻤﺘﻐﯿﺮات و اﻟﺜﻮاﺑﺖ اﻟﻔﺼﻞ اﻟﺜﺎﻧﻰ
أوﻻ :اﻟﻤﺘﻐﯿﺮات
ﻗﺒﻞ اﻟﺒﺪء ﻓﻰ اﻟﺪرس أﺣﺐ أن أﻧﻮه أن اﻟﻰ أﻧﮫ ھﻨﺎك ﺑﻌﺾ اﻟﻨﻘﺎط اﻟﻤﻔﺘﻮﺣﺔ ﻓﻰ اﻟﺪروس اﻟﺴﺎﺑﻘﺔ واﻟﺘﻰ ﺳﻨﻌﻮد اﻟﯿﮭﺎ ﺑﻤﺰﯾﺪ ﻣﻦ
اﻟﺘﻔﺎﺻﯿﻞ ﻓﻰ ﺣﯿﻨﮫ
٦٩
Prog : Mohamed Youssef
٧٠
Prog : Mohamed Youssef
اﻧﻮاع اﻟﻤﺘﻐﯿﺮات
٧١
Prog : Mohamed Youssef
٧٢
Prog : Mohamed Youssef
٧٣
Prog : Mohamed Youssef
٧٤
Prog : Mohamed Youssef
٧٥
Prog : Mohamed Youssef
٧٦
Prog : Mohamed Youssef
٧٧
Prog : Mohamed Youssef
٧٨
Prog : Mohamed Youssef
٧٩
Prog : Mohamed Youssef
٨٠
Prog : Mohamed Youssef
ﻛﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ
ﺗﺴﺘﻄﯿﻊ ﻛﺘﺎﺑﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻦ ﺧﻼل ﻣﺤﺮر اﻟﻜﻮد
٨١
Prog : Mohamed Youssef
٨٢
Prog : Mohamed Youssef
وﻟﻠﺮﺟﻮع ﻟﻮاﺟﮭﺔ اﻟﺘﺼﻤﯿﻢ
٨٣
Prog : Mohamed Youssef
٨٤
Prog : Mohamed Youssef
اﻟﺜﻮاﺑﺖ واﻟﺘﺮﻛﯿﺒﺎت
اﻟﺜﻮاﺑﺖ
اﻟﺘﺮﻛﯿﺒﺎت
٨٥
Prog : Mohamed Youssef
enums اﻟﺘﺮﻛﯿﺒﺎت ﻣﻦ ﻧﻮع
٨٦
Prog : Mohamed Youssef
structures اﻟﺘﺮﻛﯿﺒﺎت ﻣﻦ ﻧﻮع
٨٧
Prog : Mohamed Youssef
٨٨
Prog : Mohamed Youssef
٨٩
Prog : Mohamed Youssef
Array اﻟﻤﺼﻔﻮﻓﺎت
:ﯾﻤﻜﻨﻚ اﺧﺒﺎر اﻟﻔﺠﻮال ﻧﺖ ﺑﺎﻧﻚ ﺗﻌﺮف ھﺬا اﻟﻤﺘﻐﯿﺮ ﻛﻤﺼﻔﻮﻓﺔ ﺑﻌﺪة ﻃﺮق وأﺷﻜﺎل أﻧﻈﺮ اﻟﺘﺎﻟﻲ
End Class
: ﻓﻲ ﺑﺮﻧﺎﻣﺠﻚ ﻛﺎﻟﺘﺎﻟﻲLoop ﻛﻤﺎ ﯾﻤﻜﻨﻚ ﺗﻌﺒﺌﺘﮭﺎ ﺑﻮاﺳﻄﺔ
Public Class Form1
Dim mycounter As Integer
Dim myvalue(5) As Integer
Private Sub Form1_Load(ByVal sender As [Link], ByVal e As [Link]) Handles
[Link]
For mycounter = 0 To [Link] - 1
myvalue(mycounter) = mycounter
Next
End Sub
End Class
ﻓﮭﻲ ﺳﺘﺒﺪأ ﻣﻦ اﻟﺼﻔﺮ اﻟﻰFor اﻣﺎ اﻟﻌﺒﺎرة، ﻻﺳﺘﺨﺪاﻣﮫ ﻓﻲ اﻟﻌﺪmycounter وھﻮinteger ﻻﺣﻆ اﻧﻨﺎ ﻋﺮﻓﻨﺎ ﻣﺘﻐﯿﺮ ﻣﻦ اﻟﻨﻮع
١ ﻛﻤﺎ ﻋﺮﻓﻨﺎھﺎ وﻟﻜﻨﻨﻲ اﻧﻘﺼﺖ ﻣﻨﮭﺎ٦ ﺗﻌﻮد ﺑﺮﻗﻢ ﯾﻤﺜﻞ ﻣﺠﺎل اﻟﻤﺼﻔﻮﻓﺔ وﺳﻮف ﺗﻌﻮد ﺑﺮﻗﻢLength و[Link] - 1
.ًﻻﻧﮫ ﯾﺘﻢ اﺣﺘﺴﺎب اﻟﺼﻔﺮ أﯾﻀﺎ
mycounter وﺑﻌﺪھﺎ أﺳﻨﺪت ﻟﻠﻤﺼﻔﻮﻓﺔ ﻋﻠﻰ اﻟﺘﺮﺗﯿﺐ اﻟﻘﯿﻤﺔ اﻟﺼﺎﻋﺪة ﺑﺪاﺧﻞ اﻟﻤﺘﻐﯿﺮ
؟..وﻟﻜﻦ ﻛﯿﻒ ﯾﻤﻜﻦ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﺼﻔﻮﻓﺔ ﻣﻦ اﻟﻨﻮع اﻟﺜﺎﻧﻲ
Public Class Form1
Dim myvalue(5, 3) As Integer
Private Sub Form1_Load(ByVal sender As [Link], ByVal e As [Link]) Handles
[Link]
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
myvalue(3, 0) = 13
myvalue(3, 1) = 14
myvalue(3, 2) = 15
٩٠
Prog : Mohamed Youssef
myvalue(3, 3) = 16
myvalue(4, 0) = 17
myvalue(4, 1) = 18
myvalue(4, 2) = 19
myvalue(4, 3) = 20
myvalue(5, 0) = 21
myvalue(5, 1) = 22
myvalue(5, 2) = 23
myvalue(5, 3) = 24
End Sub
End Class
.أﻧﻈﺮ ھﻨﺎ ﻗﺪ ﺗﻢ ﺗﻌﺒﺌﺔ اﻟﻤﺼﻔﻮﻓﺔ
:ﻃﺒﻌﺎً ﯾﻤﻜﻨﻚ اﺳﺘﺨﺪام اﻟﻤﺼﻔﻮﻓﺔ ﻷي ﻧﻮع ﺗﺮﯾﺪ أﻧﻈﺮ ﻟﻠﻤﺜﺎل اﻟﺜﺎﻟﻲ
Public Class Form1
Dim myvalue(5) As String
Private Sub Form1_Load(ByVal sender As [Link], ByVal e As [Link]) Handles
[Link]
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 [Link], ByVal e As [Link]) Handles
[Link]
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 [Link], ByVal e As [Link]) Handles
[Link]
MsgBox([Link])
MsgBox([Link])
٩١
Prog : Mohamed Youssef
End Sub
End Class
وﺑﺎﻟﺮﺳﺎﻟﺔ اﻟﺜﺎﻧﯿﺔ ﺳﺘﺤﺼﻞ ﻋﻠﻰ اﻟﺮﻗﻢ ﺛﻼﺛﺔ١ ﺣﯿﺚ ﺑﺎﻟﺮﺳﺎﻟﺔ اﻷوﻟﻰ ﺳﺘﺤﺼﻞ ﻋﻠﻰ اﻟﺮﻗﻢ
:ﻛﻤﺎ ﯾﻤﻜﻨﻚ ﺗﺤﺪﯾﺪ اﻟﻘﯿﻤﺔ اﻟﻤﻌﻄﺎة اي اﻟﺮﻗﻢ اﻟﻤﺤﺪد ﻓﻲ ﺗﻌﺮﯾﻒ اﻟﻤﺼﻔﻮﻓﺔ اﻧﻈﺮ اﻟﺘﺎﻟﻲ
Public Class Form1
Dim myvalue1(5) As Integer
Dim myvalue2(5, 5, 6) As Integer
MsgBox(UBound(myvalue1))
MsgBox(([Link](2)))
End Sub
End Class
وﻻﺣﻆ اﻧﻨﺎ ﺣﺪدﻧﺎ رﻗﻢ اﻟﺨﺎﻧﺔ اﻟﻤﺮاد ﻗﺮاءة، ﺑﺎﻟﺮﺳﺎﻟﺔ اﻟﺜﺎﻧﯿﺔ٦ وﺳﺘﺤﺼﻞ ﻋﻠﻰ اﻟﺮﻗﻢ، ﺑﺎﻟﺮﺳﺎﻟﺔ اﻻوﻟﻰ٥ ﺳﺘﺤﺼﻞ ﻋﻠﻰ اﻟﺮﻗﻢ
. ﻻﻧﮭﺎ ﺗﺤﺘﻮي ﻋﻠﻰ ﺛﻼث ﺧﺎﻧﺎت٢-١-٠ أي اﻧﮭﺎ٢ ﻗﯿﻤﺘﮭﺎ وھﻲ
End Class
. او اي أداة أﺧﺮى ﻻ ﻓﺮقTextbox او اﻟﻌﻜﺲ ﯾﻤﻜﻨﻚ ان ﺗﻀﻊ ﺑﺎﻟﻤﺼﻔﻮﻓﺔ ﻗﯿﻢ ﻣﻦ اﻻداة
٩٢
Prog : Mohamed Youssef
اﻟﺠﺰء اﻟﺮاﺑﻊ :ﺗﻄﺒﯿﻘﺎت ﻣﺘﻨﻮﻋﺔ
ﻛﯿﻔﯿﺔ ﻋﻤﻞ ﻣﺘﺼﻔﺢ اﻹﻧﺘﺮﻧﺖ
ﻛﯿﻔﯿﺔ ﻋﻤﻞ ﻣﺘﺼﻔﺢ ﻣﻦ ﺧﻼل ﺑﺮﻧﺎﻣﺞ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ2005
ﻗﻢ ﺑﻔﺘﺢ اﻟﺒﺮﻧﺎﻣﺞ ﻛﻤﺎ ﺗﻌﻠﻤﻨﺎ ﻣﻌﺎ ﺑﺎﻟﺪروس اﻟﺴﺎﺑﻘﺔ وأﺗﺒﻊ ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﺑﺎﻷﺷﻜﺎل اﻟﺘﺎﻟﯿﺔ
ﺑﯿﺌﺔ اﻟﻌﻤﻞ
٩٣
Prog : Mohamed Youssef
ﻗﻢ ﺑﺘﻐﯿﯿﺮ ﺣﺠﻢ اﻟﻨﺎﻓﺬة " ﺑﯿﺌﺔ اﻟﻤﺸﺮوع " اﻟﻰ ﻣﺎ ﯾﻨﺎﺳﺒﻚ أو ﺑﺄﻣﻜﺎﻧﻚ ﺟﻌﻞ ﺑﯿﺌﺔ اﻟﻌﻤﻞ ﺗﻈﮭﺮ ﺑﻤﻞء اﻟﺸﺎﺷﺔ وذﻟﻚ ﺑﺄﺗﺒﺎع ﻣﺎ ھﻮ
ﻣﻮﺿﺢ ﺑﺎﻷﺷﻜﺎل اﻟﺘﺎﻟﯿﺔ.
٩٤
Prog : Mohamed Youssef
وﻗﻢ ﺑﺄﺿﺎﻓﺔ ﺗﻠﻚ اﻷداة ﻛﻤﺎ ﺗﻌﻠﻤﻨﺎ ﻣﻌﺎ ﺑﺎﻟﺪروس اﻟﺴﺎﺑﻘﺔ اﻟﻰ ﺑﯿﺌﺔ اﻟﻌﻤﻞ ﻟﯿﺼﺒﺢ ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ
٩٥
Prog : Mohamed Youssef
٩٦
Prog : Mohamed Youssef
٩٧
Prog : Mohamed Youssef
ﻗﻢ ﺑﺄﺿﺎﻓﺔ اﻷدوات اﻟﺘﺎﻟﯿﺔ وﻗﻢ ﺑﺘﺴﻤﯿﺘﮭﺎ ﺑﺘﻠﻚ اﻷﺳﻤﺎء
Button2إﻟﻰ Refresh
Button3إﻟﻰ Stop
Button4إﻟﻰ Back
Button5إﻟﻰ Forward
ﻗﻢ ﺑﺘﺴﻤﯿﺔ اﻟﺰر اﻟﺬى ﺑﺠﻮار اﻟﻤﻜﺎن اﻟﺬى ﯾﻮﺿﻊ ﺑﮫ اﻟﺮواﺑﻂ Go to URL
اﻷﻛﻮاد
ﻛود:
)[Link]([Link]
Refresh
ﻛود:
)([Link]
Stop
ﻛود:
)([Link]
Back
ﻛود:
)([Link]
Forward
ﻛود:
)([Link]
ﯾﻤﻜﻨﻚ أﯾﻀﺎً إﺿﺎﻓﺔ ﺑﻌﺾ اﻟﻤﻮاﻗﻊ اﻟﻤﻔﻀﻠﺔ ﻟﻚ ﻟﺘﺼﻞ إﻟﯿﮭﺎ ﺑﺸﻜﻞ أﺳﺮع دون ﻛﺘﺎﺑﺘﮭﺎ.
ﻟﻌﻤﻞ ذﻟﻚ ﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ أداة Combo boxاﻟﻤﻮﺟﻮدة ﻋﻠﻰ اﻷداة Panelو اﺿﻐﻂ ﻋﻠﻰ اﻟﺜﻼث ﻧﻘﺎط اﻟﻤﻮﺟﻮدة ﺑﺤﺎﻧﺐ اﻟﺨﺎﺻﯿﺔ
Items.
ﺳﺘﻈﮭﺮ ﻟﻚ ﻧﺎﻓﺬة ،اﻛﺘﺐ ﻓﯿﮭﺎ ﻣﻮاﻗﻌﻚ اﻟﻤﻔﻀﻠﺔ )ﻛﻞ ﻣﻮﻗﻊ ﻓﻰ ﺳﻄﺮ(
ﺿﻒ زر آﺧﺮ إﻟﻰ اﻷداة Panelو ﻏﯿﺮ اﻟﺨﺎﺻﯿﺔ Textإﻟﻰ Save web pageأو أى ﻧﺺ ﺗﺮﯾﺪ إﻇﮭﺎره ﻋﻠﻰ اﻟﺰر ﯾﺪل ﻋﻠﻰ ﻋﻤﻠﮫ
اﻧﻘﺮ ﻧﻘﺮاً ﻣﺰدوﺟﺎً ﻋﻠﻰ ھﺬا اﻟﺰر
٩٨
Prog : Mohamed Youssef
ﻛود:
)([Link]
ﻛﺬﻟﻚ ﯾﻤﻜﻨﻚ ﻓﺘﺢ ﺻﻔﺤﺔ ﻗﺪ ﻗﻤﺖ ﺑﺤﻔﻈﮭﺎ .أﺿﻒ زر آﺧﺮ إﻟﻰ اﻷداة Panelو ﻏﯿﺮ اﻟﺨﺎﺻﯿﺔ Textإﻟﻰ Openو أﺿﻒ أداة أﺧﺮى
ﻣﻦ ﻗﺎﺋﻤﺔ اﻷدوات و ھﻰ اﻷداة OpenFileDialogﻓﻰ ﻗﺴﻢ Dialogsﻓﻰ ﻗﺎﺋﻤﺔ اﻷدوات
ﻣﻠﺤﻮﻇﺔ :ﺿﻊ اﻷداة OpenFileDialogﻓﻰ أى ﻣﻜﺎن ﻣﻦ اﻟﻔﻮرم ﻷﻧﮭﺎ ﻓﻰ ﻛﻞ اﻷﺣﻮال ﻟﻦ ﺗﻈﮭﺮ ﻟﻠﻤﺴﺘﺨﺪم ﺣﯿﺚ أﻧﮫ ﻓﻰ visual
[Link]ھﻨﺎك ﺑﻌﺾ اﻷدوات ﻏﯿﺮ ﻣﺮﺋﯿﺔ ﺗﻈﮭﺮ ﻟﻠﻤﺒﺮﻣﺞ ﻓﻘﻂ ﻟﯿﺴﺘﺨﺪﻣﮭﺎ ﻟﻜﻨﮭﺎ ﻟﻦ ﺗﻈﮭﺮ ﻟﻠﻤﺴﺘﺨﺪم.
ﻛود:
)([Link]
)[Link]([Link]
٩٩
Prog : Mohamed Youssef
ﻛﯿﻔﯿﺔ ﻋﻤﻞ ﻛﺘﺎب أﻟﻜﺘﺮوﻧﻰ PDF
-١ﻓﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ ٢٠٠٥
- ٢اي اﺻﺪار ﻣﻦAdobe Acrobat
ﻃﺮﯾﻘﺔ اﻟﻌﻤﻞ
اوﻻ اﻓﺘﺢ اﻟﺒﺮﻧﺎﻣﺞ
ﺛﺎﻧﯿﺎ
ﻧﻔﺘﺢ ﻋﻤﻞ ﺟﺪﯾﺪ
١٠٠
Prog : Mohamed Youssef
راﺑﻌﺎ
ﻧﻨﺸﺊ ﻓﻮرم ﺟﺪﯾﺪ ﻛﻤﺎ ﺑﺎﻟﺼﻮره
ﺧﺎﻣﺴﺎ
ﻧﺨﺘﺎر اﻟﻤﺤﺪد
١٠١
Prog : Mohamed Youssef
اﻷن ﻃﺮﯾﻘﺔ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ
اوﻻ:
اﺻﻨﻊ ﻣﺜﻞ ھﺬا اﻟﺸﻜﻞ
ﺛﺎﻧﯿﺎ
ه اﺿﻐﻂ ﻛﻠﻚ ﯾﺴﺎو اﺧﺘﺮ اﻟﻤﺤﺪد ﺑﺎﻟﺼﻮرة
ﺛﺎﻟﺜﺎ
اﺧﺘﺮ اﻻداة اﻟﻤﺤﺪد
١٠٢
Prog : Mohamed Youssef
راﺑﻌﺎ
ﺿﻌﮭﺎ ﻋﻠﻰ اﻟﻔﻮرم ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ
١٠٣
Prog : Mohamed Youssef
ﺧﺎﻣﺴﺎ
اﺿﻐﻂ ﻋﻠﻰ زر إﻗﺮأ ﻣﺮﺗﯿﻦ وﺿﻊ ھﺬا اﻟﻜﻮد
ﻛﻮد:
)"[Link]("D:/[Link]
ﺷﺮح اﻟﻜﻮد
ي اﻧﮫ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ زر إﻗﺮأ ﯾﻘﻮم ﺑﻔﺘﺢ ﻣﻠﻒ [Link]اﻟﻤﻮﺟﻮد ﻋﻠﻰ ﻗﺮص dﻓﻲ ﺧﺎﻧﮫ AxAcroPDF1اﻟﺘﻲ ﻗﻤﻨﺎ
ﺑﺈﺿﺎﻓﺘﮭﺎ اﺿﻐﻂ f5واﺿﻐﻂ ﻋﻠﻰ إﻗﺮأ
اذھﺐ اﻟﻰ ﻣﻜﺎن ﺗﺨﺰﯾﻦ اﻟﻤﺸﺮوع واﻓﺘﺤﺔ ﺗﺠﺪ ﻣﺠﻠﺪ ﻓﻲ داﺧﻠﺔ اﺳﻤﺔbin
اﻓﺘﺤﺔ ﺗﺠﺪ ﻣﺸﺮوﻋﻚ ﺑﺼﯿﻐﺔexe
اﻷن زر اھﺪاء
" msgboxإھﺪاء اﻟﻰ ﻣﻨﺘﺪى ﺗﻜﻨﻮﺑﻠﻮﺟﯿﺎ اﻟﺘﻌﻠﯿﻢ"
زر ﺗﺼﻤﯿﻢ
" msgboxﺗﺼﻤﯿﻢ ﻣﺤﻤﺪ ﯾﻮﺳﻒ "
١٠٤
Prog : Mohamed Youssef
ﻛﯿﻔﯿﺔ ﻋﻤﻞ أﻟﺔ ﺣﺎﺳﺒﺔ ﺑﺴﯿﻄﺔ وﻣﺘﻘﺪﻣﺔ
ﻗﻢ ﺑﻔﺘﺢ اﻟﺒﺮﻧﺎﻣﺞ وأدراج ﺑﯿﺌﺔ اﻟﻌﻤﻞ ﻛﻤﺎ ﺗﻌﻠﻤﻨﺎ ﻣﻌﻨﺎ ﺑﺎﻟﺪروس اﻟﺴﺎﺑﻘﺔ
وﻣﻦ ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ ﻏﯿﺮ اﻟﻘﯿﻢ اﻟﺘﺎﻟﯿﺔ ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﺑﺎﻟﺸﻜﻠﯿﻦ اﻟﺘﺎﻟﯿﯿﻦ
ﻗﻢ ﺑﺄدراج اﻟﻤﻜﻮﻧﺎت اﻟﺘﺎﻟﯿﺔ اﻟﻰ ﺑﯿﺌﺔ اﻟﻌﻤﻞ ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻰ
١٠٥
Prog : Mohamed Youssef
ﺛﻢ ﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ﺑﯿﺌﺔ اﻟﻌﻤﻞ اﻟﺮﺋﯿﺴﯿﺔ ﻟﯿﻈﮭﺮ ﻣﺤﺮر اﻟﻜﻮد ﺿﻊ اﻟﺸﻔﺮة اﻟﺘﺎﻟﯿﺔ ﻛﻤﺎ ھﻮﻣﻮﺿﺢ
١٠٦
Prog : Mohamed Youssef
ﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ زر ﺗﻨﻔﯿﺬ ﻟﯿﻈﮭﺮ ﻟﻚ ﻣﺤﺮر اﻟﻜﻮد وﺿﻊ اﻟﺸﻔﺮة اﻟﺘﺎﻟﯿﺔ
١٠٧
Prog : Mohamed Youssef
وھﺬا ﺗﻄﺒﯿﻖ أﺧﺮ ﻷﻧﺸﺎء اﻟﺔ ﺣﺎﺳﺒﮫ ﻣﺘﻄﻮرة
اﻷﻛﻮاد
:ﻛود
Dim clearDisplay As Boolean
Dim Operand1 As Double, Operand2 As Double ھﻨﺎ ﺗﻜﺘﺐ اﻻﻛﻮاد ﻓﻲ اﻋﻠﻰ اﻟﺼﻔﺤﺔ وﺑﺎﻟﻀﺒﻂ
Dim [Operator] As Stringا
public class ﺗﺤﺖ ﻛﻠﻤﺔ اﻟــ
:ﻛود
Private Sub bttn1_Click(ByVal sender As [Link], ByVal e As [Link]) Handles
[Link], [Link], [Link], _
[Link], [Link], [Link], [Link], [Link], [Link], [Link]
If clearDisplay Then
[Link] = ""
clearDisplay = False
End If
[Link] = Val([Link] + [Link])
End Sub
:ﻛود
Private Sub bttnPeriod_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
١٠٨
Prog : Mohamed Youssef
End Sub
:ﻛود
( اﻟﺠﻤﻊ ﻛﻮد زر+)
Private Sub bttnPlus_Click(ByVal sender As [Link], ByVal e As [Link]) Handles
[Link]
Operand1 = Val([Link])
[Operator] = "+"
clearDisplay = True
End Sub
(=)ﻛﻮد
:ﻛود
Private Sub bttnEquals_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
:ﻛود
( ﻛﻮد ﻋﻤﻠﯿﺔ اﻟﻄﺮح-)
Private Sub bttnMinus_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
Operand1 = Val([Link])
[Operator] = "-"
clearDisplay = True ' [Link] = ""
End Sub
١٠٩
Prog : Mohamed Youssef
Operand1 = Val([Link])
[Operator] = "*"
clearDisplay = True
End Sub
_______________________
( ﻛﻮد ﻋﻤﻠﯿﺔ اﻟﻘﺴﻤﮫ/)
Private Sub bttnDivide_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
Operand1 = Val([Link])
[Operator] = "/"
clearDisplay = True
End Sub
_______________________
وﻏﯿﺮ اﻟﺨﺎﺻﯿﺔ ﻣﻦform_ اﻛﺘﺐ ھﺬا اﻟﻜﻮد ﻓﻲ اﻟـ
Form_load اﻟﻰform_keypress
[Link] = ""
End Sub
أﻧﺘﮭﻰ اﻟﺪرس
١١٠
Prog : Mohamed Youssef
ﻛﯿﻔﯿﺔ ﻋﻤﻞ ﻟﻌﺒﺔ ﺑﺴﯿﻄﺔ ﻣﺘﻄﻮرة
١١١
Prog : Mohamed Youssef
١١٢
Prog : Mohamed Youssef
ﻛﯿﻔﯿﺔ ﺣﺴﺎب اﻟﺰﻣﻦ ﺑﺎﻟﺜﺎﻧﯿﺔ ﻣﻦ أى ﺗﺎرﯾﺦ
١١٣
Prog : Mohamed Youssef
d = DateDiff([Link], [Link],
[Link])
[Link]("the difference " & d & " Second")
End Select
End Sub
١١٤
Prog : Mohamed Youssef
ﻛﯿﻔﯿﺔ ﺗﺼﻤﯿﻢ ﺟﺪول اﻟﻀﺮب اﻟﻤﺘﻄﻮر
١١٥
Prog : Mohamed Youssef
١١٦
Prog : Mohamed Youssef
[Link] = "The Result of multiplication " + CStr(n1) + "
by " + CStr(n2) + " = "
[Link] = ""
Case 3
Randomize()
n1 = 100 + 10 * Rnd()
n2 = 100 + 10 * Rnd()
[Link] = "The Result of multiplication " + CStr(n1) + "
by " + CStr(n2) + " = "
[Link] = ""
End Select
End Sub
١١٧
Prog : Mohamed Youssef
ﻛﯿﻔﯿﺔ ﺗﺼﻤﯿﻢ أﺧﺘﺒﺎر ﺧﺎص ﺑﺄﻋﻼم اﻟﺪول
١١٨
Prog : Mohamed Youssef
اﻟﺠﺰء اﻟﺨﺎﻣﺲ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت
اوﻻ :
ﻣﻔﮭﻮم SQL
ﯾﺮﻣﺰ اﺧﺘﺼﺎر SQLإﻟﻰ "ﻟﻐﺔ اﻻﺳﺘﻌﻼم اﻟﻤﮭﯿﻜﻠﺔ" Language Structured Query
إن ﻟﻐﺔ SQLھﻲ ﺑﺴﯿﻄﺔ ﻧﺴﺒﯿﺎً ،وﻟﻜﻨﮭﺎ ﻓﻌﺎﻟﺔ ﻟﻠﻐﺎﯾﺔ ،ﻓﺎﻟﻜﺜﯿﺮ ﻣﻦ اﻟﺘﻌﻠﯿﻤﺎت اﻟﺒﺴﯿﻄﺔ ﻓﻲ ھﺬه اﻟﻠﻐﺔ ﺗﺨﻔﻲ وراﺋﮭﺎ ﺧﺼﺎﺋﺺ ﻓﻌّﺎﻟﺔ
ﯾﻤﻜﻦ اﺳﺘﺨﺪاﻣﮭﺎ ﻟﻠﻘﯿﺎم ﺑﺎﻟﻌﺪﯾﺪ ﻣﻦ اﻟﻌﻤﻠﯿﺎت اﻟﻤﻌﻘﺪة اﻟﻤﻌﺮوﻓﺔ ﻓﻲ ﻗﻮاﻋﺪ اﻟﻤﻌﻄﯿﺎت .
ﺛﺎﻧﯿﺎ :
اﻟﻔﺮق ﺑﯿﻦ SQLو Access
ﻛﺜﯿﺮ ﻣﻨﺎ ﯾﺴﺄل اﻟﻔﺮق ﺑﯿﻦ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت SQLو . Microsoft Access
ﺳﻮف ﻧﺘﻨﺎول ﺑﻌﺾ اﻟﻔﺮوﻗﺎت ﺑﯿﻦ SQLو Access
ﺳﮭﻞ اﻻﺳﺘﺨﺪام
رﺧﯿﺺ اﻟﺜﻤﻦ
ﺗﻮﻓﺮ اﻟﺪﻋﻢ اﻟﻔﻨﻲ .
ﯾﺪﻋﻢ ﻧﻤﺎذج )( Forms
١١٩
Prog : Mohamed Youssef
ﺳﻠﺒﯿﺎت :
اﻻﻣﺎن :ﺿﻌﯿﻒ اﻻﻣﺎن ﺑﺤﯿﺚ ﯾﺴﮭﻞ ﺳﺮﻗﺘﮫ واﺧﺘﺮاﻗﮫ
اﻟﺤﺠﻢ :ﯾﺘﺤﻤﻞ ﺣﺘﻰ ٢ﺟﯿﺠﺎ
ﻋﺪد اﻟﻤﺴﺘﺨﺪﻣﯿﻦ ٢٥٥ :ﻣﻤﺎ ﯾﺴﺒﺐ اﻟﻀﻐﻂ ﻋﻠﻰ ﻣﺤﺮﻛﺎت ﻧﻈﺎم ) ( MicroSoft JETﻣﻤﺎ ﺗﺴﺒﺐ ﺗﻠﻒ ﻟﻠﺒﯿﺎﻧﺎت .
[Link]
[Link]
١٢٠
Prog : Mohamed Youssef
: ﺗﺤﻤﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ
[Link]
5a0f62bf7796&displaylang=en
[Link]
ﯾﺘﺮك ﻛﻤﺎ ھﻮ اﻻ اذا ﻛﺎن ﻟﺪﯾﻚ اﻛﺜﺮ ﻣﻦ ﺳﯿﺮﻓﺮ ﯾﻤﻜﻨﻚ اﺧﺘﯿﺎر اﻟﺴﯿﺮﻓﺮ اﻟﻤﺤﺪد ﻣﻦ ھﺬه اﻟﺨﺎﻧﺔServer Type ﺣﯿﺚ ﻓﻲ ﺧﺎﻧﺔ
١٢١
Prog : Mohamed Youssef
Server Nameﯾﻜﺘﺐ ﻓﯿﮫ اﺳﻢ اﻟﺴﯿﺮﻓﺮ ) اﺳﻢ اﻟﻜﻤﺒﯿﻮﺗﺮ ( وﻟﻤﻌﺮﻓﺔ اﺳﻢ اﻟﺴﯿﺮﻓﺮ
اﻧﻘﺮ ﻧﻘﺮﺗﯿﻦ ﻋﻠﻰ اﯾﻘﻮﻧﺔ SQL service managerاﻟﻤﻮﺟﻮدة ﻓﻲ ﺷﺮﯾﻂ اﻟﻤﮭﺎم
ﻓﯿﻈﮭﺮ اﻟﺒﺮﻧﺎﻣﺞ ﻛﻤﺎ ﻓﻲ اﻟﺼﻮرة
أ - Windows Authentication :دﺧﻮل اﻟﺒﺮﻧﺎﻣﺞ دون اﻟﺤﺎﺟﺔ اﻟﻰ اﺳﻢ اﻟﻤﺴﺘﺨﺪم واﻟﺮﻗﻢ اﻟﺴﺮي
ب - SQL Server Authentication :دﺧﻮل اﻟﺒﺮﻧﺎم ﺑﺎﺳﻢ اﻟﻤﺴﺘﺨﺪم واﻟﺮﻗﻢ اﻟﺴﺮي وﯾﺘﻢ ﺗﺤﺪﯾﺪه ﻋﻨﺪ ﺗﻨﺼﯿﺐ اﻟﺒﺮﻧﺎﻣﺞ.
زر Connect :اﻻﺗﺼﺎل ب SQL
اﻧﺘﮭﻰ اﻟﺪرس اﻟﺜﺎﻟﺚ وﺳﻮف ﻧﺒﺪأ ﻓﻲ اﻟﺪرس اﻟﻘﺎدم ﺑﺎذن اﷲ ﺑﺎﻟﺘﻄﺒﯿﻘﺎت ﻋﻠﻰ SQL2005
١٢٢
Prog : Mohamed Youssef
وﯾﺤﺘﻮي ﺟﻤﯿﻊ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻟﻤﺨﺰﻧﺔ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ وﯾﺤﺘﻮي ﻛﺬﻟﻚ ﺛﻼث ﻗﻮاﻋﺪ ﺑﯿﺎﻧﺎت اﺳﺎﺳﯿﺔ ﺣﯿﺚ ﻻ ﯾﺴﺘﻄﯿﻊ اﻟﻨﻈﺎم اﻟﻌﻤﻞ
ﺑﺪوﻧﮭﺎ وھﻲ :
أ - Database Master :وھﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﯾﺘﻢ ﺗﺨﺰﯾﻦ ﺟﻤﯿﻊ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻓﯿﮭﺎ .
ب - Database Model :وھﻲ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت اﻟﺘﻲ ﺗﺤﺘﻮي اﻟﺸﻜﻞ اﻻول ﻟﻘﺎﻋﺪة ﺑﯿﺎﻧﺎت.
ج - Database Tempdb :وھﻲ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﻣﺆﻗﺘﮫ .
ﺛﺎﻧﯿﺎ : Security :وﯾﺤﺘﻮي ﻋﻠﻰ اﻟﻜﺎﺋﻨﺎت اﻟﻤﺴﺌﻮﻟﺔ ﻋﻦ ﺣﻤﺎﯾﺔ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت وﺗﻮزﯾﻊ اﻟﺼﻼﺣﯿﺎت .وﯾﻨﻘﺴﻢ اﻟﻰ ﺛﻼﺛﺔ اﻗﺴﺎم :
أ - Login :ﯾﺤﺘﻮي ﻋﻠﻰ ﻣﺴﺘﺨﺪﻣﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت وﻛﻠﻤﺎت اﻟﺴﺮ اﻟﺨﺎﺻﺔ ﺑﮭﻢ .
ب -Server Role :اﻟﻤﺴﺘﺨﺪﻣﯿﻦ ﻣﻨﻘﺴﻤﯿﻦ اﻟﻰ ﻣﺠﻤﻮﻋﺎت .
اﻟﺪرس اﻟﺨﺎﻣﺲ:
ﻓﻲ ھﺬا اﻟﺪرس ﺳﻮف ﻧﻨﺸﺊ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺟﺪﯾﺪة ﺑﺎﺳﻢ Emp_info
وﯾﺤﺘﻮي ﻋﻠﻰ اﻟﺤﻘﻮل اﻟﺘﺎﻟﯿﺔ : ID - Name - Address - Gender - Country - Birthday
ﻻﻧﺸﺎء ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺟﺪﯾﺪة اﻧﻘﺮ ﺑﺎﻟﺰر اﻻﯾﻤﻦ ﻋﻠﻰ Databasesﺛﻢ اﺧﺘﺮ New Databases
١٢٣
Prog : Mohamed Youssef
ﻓﻲ ﺧﺎﻧﺔ Database Name :ﻧﻜﺘﺐ اﺳﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺛﻢ ﻧﻀﻐﻂ ﻋﻠﻰ زر OK
١٢٤
Prog : Mohamed Youssef
ﻓﻲ ﺧﺎﻧﺔ Data Typeﻧﺨﺘﺎر ﻧﻮع اﻟﺒﯿﺎن وﻃﺒﻌﺎ ﻓﻲ درﺳﻨﺎ ﻧﺨﺘﺎر اﻟﻨﻮع اﻻﻓﺘﺮاﺿﻲ
اﻣﺎ اﻧﻮاع اﻟﺒﯿﺎﻧﺎت ﻓﺴﻮف اﺷﺮﺣﮭﺎ ﺑﺸﯿﺊ ﻣﻦ اﻟﺘﻔﺼﯿﻞ :
اﻟﻨﻮع Int :ﯾﺄﺧﺬ أرﻗﺎم ﺻﺤﯿﺤﺔ ﺳﺎﻟﺐ أو ﻣﻮﺟﺐ وﺗﻜﻮن ﺑﯿﻦ ٢،١٤٧،٤٨٣،٦٤٨ -ﺣﺘﻲ ٢،١٤٧،٤٨٣،٦٤٧
وﯾﺎﺧﺬ ﺣﯿﺰ ﻓﻲ اﻟﻘﺮص ﺣﺠﻤﮫ ٤ﺑﺎﯾﺖ.
١٢٥
Prog : Mohamed Youssef
-اﻟﻨﻮع Bigint :ﻣﺜﻞ اﻟﻨﻮع اﻟﻨﻮع Intﻟﻜﻦ ﺣﺠﻤﮫ أﻛﺒﺮ وﯾﻘﺒﻞ ﻣﻦ – ٩،٢٢٣،٣٧٢،٠٣٦،٨٥٤،٧٧٥،٨٠٨ﺣﺘﻰ
9,223,372,036,854,775,807
وﯾﺎﺧﺬ ﺣﯿﺰ ٨ﺑﺎﯾﺖ.
اﻟﻨﻮع Char :ﯾﻌﻨﻲ ﺣﺮف ،وھﻮ ﻋﺒﺎرة ﻋﻦ ﻧﻮع ﯾﺠﻌﻞ ﺣﻘﻞ اﻟﺒﯿﺎﻧﺎت ﯾﺘﻘﺒﻞ ﻋﺪد ﻣﻌﯿﻦ ﻣﻦ اﻟﺤﺮوف ﻣﻦ ١إﻟﻰ ٨٠٠٠ﺣﺮف
-اﻟﻨﻮع Nchar :ﯾﺄﺧﺬ ﺣﺮوف وﻟﻜﻦ ﺣﺮوف ﻣﻦ اﻟﻨﻮع Unicodeأي ﯾﻤﻜﻦ ﺗﺨﺰﯾﻦ ﻛﻞ اﻟﻠﻐﺎت وﻟﯿﺴﺖ اﻟﻠﻐﺔ اﻹﻧﺠﻠﯿﺰﯾﺔ ﻓﻘﻂ وھﻮ
ﯾﺘﺤﻤﻞ ﻣﻦ ١إﻟﻰ ٤٠٠٠
-اﻟﻨﻮع Varchar :ﯾﺄﺧﺬ ﻣﻦ ١إﻟﻰ ٨٠٠٠ﺣﺮف – ﻟﻜﻦ ﺣﺠﻤﮫ ﺑﺨﻼف اﻷﻧﻮاع اﻟﺴﺎﺑﻘﺔ ﻏﯿﺮ ﺛﺎﺑﺖ ﺣﯿﺚ ﯾﻜﻮن ﺣﺠﻤﮫ ﺣﺴﺐ ﻋﺪد
اﻟﺤﺮوف اﻟﺘﻲ ﻓﯿﮭﺎ
-اﻟﻨﻮع (Varchar(max :ﻣﺜﻞ Varcharﯾﺄﺧﺬ ٨٠٠٠ﺣﺮف ﺣﯿﺚ ﯾﻜﻮن ﺣﺠﻤﮫ ﺣﺴﺐ ﻋﺪد اﻟﺤﺮوف اﻟﺘﻲ ﻓﯿﮫ.
اﻟﻨﻮع Nvarchar :ﻧﻔﺲ :ﻣﺜﻞ Varcharﻟﻜﻦ ﯾﺎﺧﺪ ﺣﺮوف Unicodeوﻟﺬﻟﻚ ھﻮ ﯾﻘﺒﻞ ٤٠٠٠ﺣﺮف
-اﻟﻨﻮع N**** :ﻣﺜﻞ اﻟﻨﻮع **** ﻟﻜﻦ ﯾﺨﺰن اﻟﺤﺮوف ﻛــــ Unicode
-اﻟﻨﻮع Image :ﻣﺜﻞ اﻟﻨﻮع **** ﻟﻜﻦ ﻧﻈﺎم اﻟﺘﺨﺰﯾﻦ ﺑﯿﻜﻮن Binaryﻃﺒﻌﺎً ﻧﺤﻦ ﻧﺴﺘﺨﺪﻣﮫ ﻣﻊ اﻟﺼﻮر وﻣﻠﻔﺎت اﻟﺼﻮف وﺧﻼﻓﮫ
ﻣﻦ أﻣﻮر اﻟﻤﺎﻟﺘﻤﯿﺪﯾﺎ
١٢٦
Prog : Mohamed Youssef
ﻟﻔﺘﺢ اﻟﺠﺪول ﻧﻀﻐﺾ ﺑﺎﻟﺰر اﻻﯾﻤﻦ ﻋﻠﻰ اﻟﺠﺪول اﻟﻤﺮاد ﻓﺘﺤﮫ وﻣﻦ ﺛﻢOpen Table
اﻟﻨﺘﯿﺠﺔ
١٢٧
Prog : Mohamed Youssef
اوﻻ :ﻧﻀﻐﻂ ﻋﻠﻰ New Query
١٢٨
Prog : Mohamed Youssef
- ٣ﻋﺒﺎرة DISTINCT
ھﺬه اﻟﺠﻤﻠﺔ اﻟﻤﻘﺼﻮد ﺑﮭﺎ اﻇﮭﺎر اﻟﺒﯿﺎﻧﺎت ﺑﺪون ﺗﻜﺮار
ﻓﻤﺜﻼ ﻓﻲ ﺣﻘﻞ Countryﺗﻮﺟﺪ ﺑﻌﺾ اﻟﺪول ﻣﺘﻜﺮرة ﻓﺎذا اردﻧﺎ اﻇﮭﺎر اﻟﺒﯿﺎﻧﺎت اﻟﻤﻮﺟﻮدة ﻓﻲ ﺣﻘﻞ Countryدون اﻇﮭﺎر اﻟﺪول
اﻟﻤﻜﺮرة ﻧﻜﺘﺐ اﻟﻜﻮد اﻟﺘﺎﻟﻲ :
١٢٩
Prog : Mohamed Youssef
اﻟﻨﺘﯿﺠﺔ
- ٤ﻋﺒﺎرة Where
ﻋﻠﻤﺎ اﻧﮫ ﯾﻤﻜﻨﻨﺎ اﺳﺘﺨﺪام اﻟﻤﻌﺎﻣﻼت اﻟﺘﺎﻟﯿﺔ اﺛﻨﺎء اﺳﺘﺨﺪام ﻋﺒﺎرة Where
=ﺗﺴﺎوي
١٣٠
Prog : Mohamed Youssef
><ﻻ ﺗﺴﺎوي
<اﻛﺒﺮ ﻣﻦ
>اﺻﻐﺮ ﻣﻦ
<=اﻛﺒﺮ ﻣﻦ او ﺗﺴﺎوي
>=اﺻﻐﺮ ﻣﻦ او ﺗﺴﺎوي
Betweenﺷﺮط ﺑﯿﻦ ﻗﯿﻤﺘﯿﻦ
Likeﻟﻠﺒﺤﺚ ﻋﻦ ﻛﻠﻤﺔ ﻣﺸﺎﺑﮭﺔ
5-ﻋﺒﺎرةOrder By
واﻟﻤﻘﺼﻮد ﺑﮫ اﻟﺘﺮﺗﯿﺐ ﺣﺴﺐ ﺣﻘﻞ ﻣﻌﯿﻦ
ﻣﺜﺎل :ﻧﺮﯾﺪ ﻋﻤﻞ اﺳﺘﻌﻼم ﺣﺴﺐ ﺗﺮﺗﯿﺐAdderss
اﻟﺼﯿﻐﺔ :
Select * from Emp_info
order by Adderss
ﻓﺘﻜﻮن اﻟﻨﺘﯿﺠﺔ ﻛﺎﻻﺗﻲ :
اﻟﻨﺘﯿﺠﺔ
١٣١
Prog : Mohamed Youssef
اﻟﻨﺘﯿﺠﺔ
١٣٢
Prog : Mohamed Youssef
ﺛﺎﻧﯿﺎ :ﻣﻌﺎﻣﻞ INھﻮ ﻋﺒﺎرة ﻋﻦ اﻇﮭﺎر ﺑﯿﺎﻧﺎت ﻣﻌﯿﻨﺔ ﻣﻦ ﺣﻘﻞ ﻣﻌﯿﻦ
ﻣﺜﺎل Emp_info Select * From :
('Country IN('oman','uae where
ﺛﺎﻟﺜﺎ :
Between
ﻋﺒﺎرة ﻋﻦ اﻇﮭﺎر ﺑﯿﺎﻧﺎت ﺑﯿﻦ ﻗﯿﻤﺘﯿﻦ
ھﺬه ﻟﻦ ﯾﺘﻢ ﺷﺮﺣﮭﺎ وﻟﻜﻦ ارﺟﻮا اﻟﺘﺠﺮﯾﺐ
ﻓﻲ ﺣﺎل وﺟﻮد اي ﺻﻌﻮﺑﺔ ارﺟﻮ اﺑﻼﻏﻲ .
اﻟﻘﺎﻋﺪة
Select
اﺳﻢ اﻟﺤﻘﻞ او اﻟﺤﻘﻮل
From
اﺳﻢ اﻟﺠﺪول
Where
اﺳﻢ اﻟﺤﻘﻞ
Between
ﻗﯿﻤﺔ ١
And
ﻗﯿﻤﺔ ٢
ارﺟﻮ اﻟﺘﺠﺮﯾﺐ واﺑﺮﻏﻲ ﺑﺎﻟﻨﺘﺎﺋﺞ .
١٣٣
Prog : Mohamed Youssef
اﻻن ﻧﻘﻮم ﺑﺴﺤﺐ IDﻣﻦ ﺟﺪول Empinfoاﻟﻰ IDﻟﻠﺠﺪول اﻟﺠﺪﯾﺪ اﻟﺬي اﻧﺸﺎءﺗﮫ
ﻓﯿﺼﺒﺢ اﻟﺸﻜﻞ
ﻓﻲ ھﺬا اﻟﺪرس ﺳﻮف ﻧﺘﻨﺎول ﻛﯿﻔﯿﺔ ادراج ﻗﻮاﻋﺪ ﺑﯿﺎﻧﺎت ﺟﺎھﺰة وﻛﯿﻔﯿﺔ ﻋﻤﻞ اﻟﻨﺴﺦ اﻻﺣﺘﯿﺎﻃﯿﺔ Backup
ﺳﻮف اﻋﺮض ﺑﺮﻧﺎﻣﺞ ﻓﯿﮫ ﻣﻠﻔﺎت اﻻس ﻛﯿﻮ ال اﻻﺳﺎﺳﯿﺔ ) ( Pub - NorthWind
ﯾﻤﻜﻨﻜﻢ ﺗﺤﻤﻠﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻦ اﻟﻮﺻﻠﺔ اﻟﺘﺎﻟﯿﺔ :
[Link]
١٣٤
Prog : Mohamed Youssef
ﺛﺎﻧﯿﺎ :ﺗﻨﺼﯿﺐ اﻟﺒﺮﻧﺎﻣﺞ
١٣٥
Prog : Mohamed Youssef
١٣٦
Prog : Mohamed Youssef
اﻟﻨﺘﯿﺠﺔ-٥
١٣٧
Prog : Mohamed Youssef
---------------------------------------------------------------------------------
-١ﻧﻀﻐﻂ ﺑﺎﻟﺰر اﻻﯾﻤﻦ ﻋﻠﻰ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻤﺮاد ﻋﻤﻞ ﻧﺴﺨﺔ ﻟﮭﺎ
١٣٨
Prog : Mohamed Youssef
-٣اﻟﻨﺘﯿﺠﺔ
----------------------------:
ﻓﻲ اﻟﺪرس اﻟﺴﺎﺑﻖ ﺗﻌﻠﻤﻨﺎ ﻛﯿﻔﯿﺔ ﻋﻤﻞ اﻟﻨﺴﺨﺔ اﻻﺣﺘﯿﺎﻃﯿﺔ ﻟﻘﺎﻋﺪة ﺑﯿﺎﻧﺎت ﻣﻌﯿﻨﺔ وﻗﻠﻨﺎ ان اﻟﻤﻠﻒ ﻣﻮﺟﻮد ﻓﻲ ﻣﺴﺎر ﻣﻌﯿﻦ
١٣٩
Prog : Mohamed Youssef
ﻓﻲ ھﺬا اﻟﺪرس ﺳﻮف ﻧﺘﻨﺎول ﻛﯿﻔﯿﺔ اﺳﺘﺮﺟﺎع اﻟﻨﺴﺨﺔ اﻻﺣﺘﯿﺎﻃﯿﺔ :
-ﻓﻲ ﺧﺎﻧﺔ To Database :ﻧﻜﺘﺐ اﺳﻢ اﻟﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ) ﻛﻘﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺟﺪﯾﺪة )
-ﻓﻲ اﻟﻘﺴﻢ اﻟﺜﺎﻧﻲ ﻣﻦ اﻟﺸﺎﺷﺔ ﻧﺨﺘﺎر From Deviceﻟﺠﻠﺐ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﻘﺮص اﻟﻤﺤﻠﻲ
١٤٠
Prog : Mohamed Youssef
- ٤اﻻن ﻧﻘﻮم ﺑﺎﺧﺘﯿﺎر اﻟﻨﺴﺨﺔ اﻻﺣﺘﯿﺎﻃﯿﺔ ﻣﻦ اﻟﻘﺮص او اﻟﻤﻜﺎن اﻟﺬي ﺗﻢ ﺗﺨﺰﯾﻨﮫ ﻓﯿﮫ .
١٤١
Prog : Mohamed Youssef
١٤٢
Prog : Mohamed Youssef
-٦اﻟﻨﺘﯿﺠﺔ
١٤٣
Prog : Mohamed Youssef
اﻟﺪرس اﻟﻌﺎﺷﺮ : Views
ﺛﻢ ﻧﺨﺘﺎرNewView
ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﻈﮭﺮ ﻟﻨﺎ ﻣﺮﺑﻊ ﻧﻀﯿﻒ اﻟﺠﺪاول اﻟﻤﻨﺎﺳﺒﺔ
١٤٤
Prog : Mohamed Youssef
ﺑﻌﺪ اﺿﺎﻓﺔ اﻟﺠﺪاول اﻟﺘﻲ ﻧﺮﯾﺪ اﺳﺘﺨﺮاج اﻟﺒﯿﺎﻧﺎت ﻣﻨﮭﺎ ﻧﺨﺘﺎر اﻟﺤﻘﻮل اﻟﻤﻨﺎﺳﺒﺔ
ﻟﻠﻌﻠﻢ ) ﻧﻼﺣﻆ اﻧﮫ ﺑﻤﺠﺮ ﻣﺎ ﻧﻀﯿﻒ اﻟﺠﺪاول اﻟﻌﻼﻗﺎت ﺗﻈﮭﺮ ﺑﯿﻦ اﻟﺠﺪاول وﺑﺎﻻﻣﻜﺎن اﯾﻀﺎ ﻋﻤﻞ ﻋﻼﻗﺎت ﺑﯿﻦ اﻟﺠﺪاول )
اﻟﻨﺘﯿﺠﺔ
١٤٥
Prog : Mohamed Youssef
ﻓﻲ ﺣﺎل ﻧﺮﯾﺪ اﻇﮭﺎر ﺑﯿﺎن ﻣﻌﯿﻦ ﻣﻦ ﺣﻘﻞ ﻣﻌﯿﻦ ﻓﻨﺨﺘﺎر ﺧﺎﺻﯿﺔFilter
اﻟﻨﺘﯿﺠﺔ
.
١٤٦
Prog : Mohamed Youssef
ﺣﯿﺚ ﺗﻤﺘﺎز اﻟـ [Link]ﺑﻤﯿﺰة اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻣﺼﺪر اﻟﺒﯿﺎﻧﺎت ﻓﻲ وﺿﻌﯿﻦ :اﻷول وﺿﻊ ﻣﺘﺼﻞ connectedو
اﻟﻮﺿﻊ اﻵﺧﺮ و ﺿﻊ ﻣﻨﻔﺼﻞ . Disconnected
و ﻟﻘﺪ ﻧﺸﺄت اﻟـ [Link]ﻣﻦ ﺗﻘﻨﯿﺔ ﺳﺎﺑﻘﺔ ﺗﺪﻋﻰ ADOو ھﻲ اﺧﺘﺼﺎر ﻟﻠﻜﻠﻤﺎت ActiveX data Objectو ﻛﺎﻧﺖ
اﻟـ ADOﺗﻤﺜﻞ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟـ Classesاﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ اﻟﺴﺎﺑﻘﺔ ﻣﺜﻞ basic 6 visualﻟﻠﻮﺻﻮل
إﻟﻰ اﻟﺒﯿﺎﻧﺎت ﻓﻲ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ،و [Link]ﺗﻘﻮم ﺑﻨﻔﺲ اﻷﻏﺮاض اﻟﺘﻲ ﻛﺎﻧﺖ ﺗﻘﻮم ﺑﮫﺎ اﻟـ ADOو ﻟﻜﻦ
ﺑﺄﺳﻠﻮب ﻣﺤﺪث و أﺳﮫﻞ .
ﺗﺴﻤﺢ ﻟﻚ [Link]ﺑﺎﻻﺗﺼﺎل ﻣﻊ ﻣﺼﺎدر اﻟﺒﯿﺎﻧﺎت ) ﺑﺮاﻣﺞ إدارة ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻋﻠﻰ اﺧﺘﻼﻓﮫﺎ :أوراﻛﻞSQL ،
،Access MS ،Serverوﻏﯿﺮھﺎ( وﻟﺘﺤﻘﯿﻖ ھﺬا اﻟﺘﻌﻤﯿﻢ ﻳﻮﺟﺪ ﻣﺠﻤﻮﻋﺔ واﺣﺪة ﻣﻦ ال Classesﻓﻲ ![Link]
وﺑﻤﺎ أن ﻣﺼﺎدر اﻟﺒﯿﺎﻧﺎت اﻟﻤﺨﺘﻠﻔﺔ ﺗﻌﻤﻞ ﺑﺒﺮوﺗﻮﻛﻮﻻت ﻣﺨﺘﻠﻔﺔ ،ﻟﺬﻟﻚ ﻓﻨﺤﻦ ﻧﺤﺘﺎج إﻟﻰ ﻃﺮﻳﻘﺔ ﺻﺤﯿﺤﺔ ﻟﻠﺘﻌﺎﻣﻞ
ﻣﻊ ﻛﻞ ﻣﺼﺪر ﺑﺎﻟﺒﺮوﺗﻮﻛﻮل اﻟﺬي ﻳﻨﺎﺳﺒﻪ ،ﺑﻌﺾ ﻣﺼﺎدر اﻟﺒﯿﺎﻧﺎت اﻟﻘﺪﻳﻤﺔ ﺗﺴﺘﺨﺪم ODBC protocolوﺑﻌﺾ
اﻟﺤﺪﻳﺚ ﻣﻨﮫﺎ ﻳﺴﺘﺨﺪم .protocol OleDb
[Link]ﺗﻘﺪم ﻃﺮﻳﻘﺔ ﻋﺎﻣﺔ ﻧﺴﺒﯿﺔ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻣﺼﺎدر اﻟﺒﯿﺎﻧﺎت ﻛﻞً ﻋﻠﻰ ﺣﺪه ﻓﻲ ﻣﻜﺘﺒﺔ ﺧﺎﺻﺔ ،ھﺬه
اﻟﻤﻜﺘﺒﺎت ﺗﺴﻤﻰ Data Providersوﻏﺎﻟﺒﺎً ﻳﻜﻮن اﺳﻤﮫﺎ ﻓﻲ [Link]ﻋﻠﻰ اﺳﻤﺎء اﻟﺒﺮوﺗﻮﻛﻮﻻت اﻟﺘﻲ
ﺗﺴﺘﻌﻤﻠﮫﺎ ﻣﺼﺎدر اﻟﺒﯿﺎﻧﺎت ،اﻟﺠﺪول اﻟﺘﺎﻟﻲ ﻳﻮﺿﺢ ﺑﻌﺾ ﻣﺰودات اﻟﺒﯿﺎﻧﺎت اﻟﻤﻌﺮﻓﺔ ﻓﻲ [Link]وﺳﺎﺑﻘﺔ API
اﻟﺘﻲ ﺳﺘﻌﻤﻠﮫﺎ وﻧﻮع ﻣﺼﺪر اﻟﺒﯿﺎﻧﺎت اﻟﺬي ﺗﺘﻌﺎﻣﻞ ﻣﻌﻪ:
Table 1. [Link] 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.
Provider API
Data Source Description
Name Prefix
ODBC Data Data Sources with an ODBC interface. Normally older
Odbc
Provider data bases.
OleDb Data Data Sources that expose an OleDb interface, i.e.
OleDb
Provider Access or Excel.
Oracle Data
Oracle For Oracle Data Bases.
Provider
SQL Data
Sql For interacting with Microsoft SQL Server.
Provider
Borland Data Generic access to many data bases such as
Bdp
Provider Interbase, SQL Server, IBM DB2, and Oracle.
ﻛﻤﺜــﺎل ﻳﻮﺿــﺢ اﺳــﺘﺨﺪام ﺳــﺎﺑﻘﺔ :APIﻋﻨــﺪ اﻻﺗــﺼﺎل ﺑﻘﻮاﻋــﺪ اﻟﺒﯿﺎﻧــﺎت أﺣــﺪ أول اﻟﻜﺎﺋﻨــﺎت Objectsاﻟﺘــﻲ
ﺳﺘﺴﺘﺨﺪﻣﮫﺎ ھﻮ - Connection objectﻛﻤﺎ ﺳﯿﺄﺗﻲ ﺷﺮﺣﻪ ﻻﺣﻘﺎً -واﻟﺬي ﺳﯿﺴﻤﺢ ﻟـﻚ ﺑﺒـﺪء اﺗـﺼﺎل ﻣـﻊ أﺣـﺪ
ﻣﺼﺎدر اﻟﺒﯿﺎﻧـﺎت ،ﻟـﻮ ﻛﻨـﺎ ﺳﻨـﺴﺘﺨﺪم OleDb Data Providerﻟﻜـﻲ ﻧﺘـﺼﻞ ﻣـﻊ ﻣـﺼﺪر اﻟﺒﯿﺎﻧـﺎت )ﻗﺎﻋـﺪة ﺑﯿﺎﻧـﺎت
آﻛﺴﺲ أو ﻣﻠﻒ أﻛﺴﻞ ﻣﺜﻼُ( ﻓﺈﻧﻨﺎ ﺑﺒﺴﺎﻃﺔ ﺳﻨﻀﯿﻒ ﺳﺎﺑﻘﺔ APIاﻟﺨﺎﺻﺔ ﺑــ OleDb Data Providerوھـﻲ ﻣـﻦ
اﻟﺠـــــــــــﺪول اﻟـــــــــــﺴﺎﺑﻖ OleDbإﻟـــــــــــﻰ اﺳـــــــــــﻢ اﻟﻜـــــــــــﺎﺋﻦ ﻟﯿـــــــــــﺼﺒﺢ .OleDbConnection
وھﻜﺬا ،ﻛﺎﺋﻦ اﻻﺗﺼﺎل ﻳﺒﺪأ ﺑـ Odbcﻟﯿﺼﺒﺢ OdbcConnectionﻋﻨﺪ اﺳـﺘﺨﺪام ﻣـﺰود ﺑﯿﺎﻧـﺎت ،source Odbc data
وﻛﺎﺋﻦ اﻻﺗﺼﺎل ﻳﺒﺪأ ﺑـ Sqlﻟﯿﺼﺒﺢ SqlConnectionﻋﻨﺪ اﺳﺘﺨﺪام ﻣﺰود ﺑﯿﺎﻧﺎت .data base SQL Server
وﺣﯿﺚ أﻧﻨﺎ ﺳﻨﺴﺘﺨﺪم ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت آﻛﺴﺲ ﻓﻲ دروﺳﻨﺎ و ﻣﺰود اﻟﺒﯿﺎﻧﺎت ﻟﮫﺬا اﻟﻨـﻮع ھـﻮ OleDbﻓـﺈن ﺳـﺎﺑﻘﺔ
ﻛﻞ ﻛﺎﺋﻦ ﺳﻨﻨﺸﺌﻪ ﺳﺘﻜﻮن OleDbوﺑﺈﻣﻜﺎﻧﻚ ﺗﻐﯿﯿﺮھﺎ إذا ﻛﻨﺖ ﺗﺘﻌﺎﻣﻞ ﻣﻊ ﻣﺰود ﺑﯿﺎﻧﺎت ﻟﻘﺎﻋﺪة ﺑﯿﺎﻧﺎت أﺧﺮى ﻛﻤﺎ
ﻳﻮﺿﺢ اﻟﺠﺪول اﻟﺴﺎﺑﻖ!
١٤٧
Prog : Mohamed Youssef
[Link] Objects :
1- Connection
2- Command.
و إﻟﯿﻚ ﺧﻄﻮات رﺑﻂ ﺑﺮﻧﺎﻣﺞ ﺑﺎﻟـ #Cﻣﻊ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺗﻢ إﻧﺸﺎؤھﺎ ﻋﻠﻰ اﻟــMicrosoft Access :
ﻓﻲ اﻟﺒﺪاﻳﺔ أود ذﻛﺮ أن ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﻗﻤﺖ ﺑﺎﻧﺸﺎءھﺎ ﺑﺴﯿﻄﺔ ﺟﺪا ﻗﻤﺖ ﺑﺘﺴﻤﯿﺘﮫﺎ k_s_bو ﺗﺤﺘﻮي ﻋﻠﻰ
ﺟﺪول واﺣﺪ ﻓﻘﻂ ﻳﺴﻤﻰpatient .
١٤٨
Prog : Mohamed Youssef
١٤٩
Prog : Mohamed Youssef
ﺳﯿﻈﮫﺮ ﻟﻚ ﻓﻲ ﻧﺎﻓﺬة اﻟـ Server explorerﻣﺎ ﻳﻠﻲ:
ﻻﺣﻆ ﺑﺎﻷﻋﻠﻰ أﻧﻪ ﺗﻢ إدراج ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﺳﻨﻘﻮم ﺑﺮﺑﻄﮫﺎ ﻣﻊ اﻟﺒﺮﻧﺎﻣﺞ ,ﻓﻘﻂ ﻗﻢ اﻵن ﺑﺴﺤﺐ اﻟﺠﺪول
اﻟﻤﺮاد ﻣﻦ ھﻨﺎ و إﺳﻘﺎﻃﻪ ﻋﻠﻰ اﻟـ( formﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ اﺳﻢ اﻟﺠﺪول "Patient"),وﺑﻌﺪ ذﻟﻚ ﺳﯿﻈﮫﺮ ﻟﻚ
اﻟﻜﺎﺋﻨﯿﻦ اﻟﺘﺎﻟﯿﯿﻦ أﺳﻔﻞ اﻟـform.
ﻧﺮﻳﺪ اﻵن أن ﻧﺴﺘﻌﺮض ﻣﺤﺘﻮﻳﺎت أﺣﺪ ﺟﺪاول ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﻗﻤﻨﺎ ﺑﺮﺑﻄﮫﺎ ﻣﻊ اﻟﺒﺮﻧﺎﻣﺞ:
وﻟﻌﻤﻞ ذﻟﻚ ﺳﻮف ﻧﺴﺘﺨﺪم اﻷداة DataGridﻟﻌﺮض اﻟﺠﺪول ﺑﮫﺎ ,ﻟﺬﻟﻚ ﻗﻢ ﺑﺴﺤﺐ ھﺬه اﻷداة اﻵن ﻣﻦ
ﺻﻨﺪوق اﻷدوات و إﺳﻘﺎﻃﮫﺎ ﻋﻠﻰ اﻟـForm,
١٥٠
Prog : Mohamed Youssef
ﺑﻤﺠﺮد ﺗﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻟﺬﻟﻚ ﺳﻮف ﻧﻘﻮمDataGrid و ﻓﻲ ﺣﺎﻟﺘﻨﺎ ھﺬه ﻧﺮﻳﺪ أن ﻳﺘﻢ ﺗﺤﻤﯿﻞ اﻟﺠﺪول ﻋﻠﻰ اﻟـ
Constructor......ﺑﻜﺘﺎﺑﺔ اﻷواﻣﺮ داﺧﻞ اﻟـ
public Form1()
InitializeComponent();
try
[Link](this.dataSet11, "Patient");
[Link](this.dataSet11, "Patient");
catch(Exception ex)
[Link]([Link], "error..!");
١٥١
Prog : Mohamed Youssef
ﺷﺮح اﻟﺒﺮﻧﺎﻣﺞ:
ﻓﻲ اﻟﺒﺪاﻳﺔ ﻗﻤﻨﺎ ﺑﺘﻌﺒﺌﺔ اﻟـ DataSetﺑﺎﻟﺠﺪول ""Patientاﻟﻤﻮﺟﻮد ﻓﻲ ﻗﺎﻋـﺪة اﻟﺒﯿﺎﻧـﺎت اﻟﺘـﻲ ﻗﻤﻨـﺎ ﺑﺮﺑﻄﮫـﺎ ﻣـﻊ
اﻟﺒﺮﻧﺎﻣﺞ .و ذﻟﻚ ﺑﺎﺳﺘﺨﺪام اﻟﺪاﻟﺔ Fillﻣﻊ اﻟﻜﻼس oleDbDataAdapterﺑﺤﯿﺚ أﻧﮫﺎ ﺳﻮف ﺗﺴﺘﻘﺒﻞ ﻓﻲ اﻟﺒﺎرﻣﺘﺮ
اﻻول اﺳﻢ اﻟـ DataSetاﻟﻤﺮاد ﺗﻌﺒﺌﺘﮫﺎ ،و اﻟﺒﺎرﻣﺘﺮ اﻟﺜﺎﻧﻲ ھﻮ اﺳﻢ اﻟﺠﺪول.
و ﻟﻜﻲ ﻧﻌﺮض اﻟﺠﺪول ﻓﻲ اﻷداة DataGridﻗﻤﻨﺎ ﻓﻲ اﻟﺴﻄﺮ اﻟﺬي ﻳﻠﯿﻪ ﺑـﺮﺑﻂ اﻷداة DataGridﺑﺎﻟــ DataSet
وذﻟﻚ ﺑﺎﺳﺘﺨﺪام اﻟﺪاﻟـﺔ : ()SetDataBindingﺑﺤﯿـﺚ أن ھـﺬه اﻟﺪاﻟـﺔ ﺗـﺴﺘﻘﺒﻞ ﺑـﺎرﻣﺘﺮﻳﻦ اﻷول و ھـﻮ اﺳـﻢ اﻟــ
DataSetو اﻟﺜﺎﻧﻲ ھﻮ اﺳﻢ اﻟﺠﺪول اﻟﻤﻮﺟﻮد ﺑﮫﺎ.
أﻣﺎ إذا ﻛﺎن ﻟﺪﻳﻚ اﺳﺘﻔﺴﺎر ﻓﻲ ﻋﺒﺎرة try , catchﻓﻌﻠﯿﻚ ﻣﺮاﺟﻌﺔ اﻟﺪرس " اﻟﺴﯿﻄﺮة ﻋﻠﻰ اﻷﺧﻄﺎء Exception
handling " ...
ﻟﻘﺪ ﺗﻤﻜﻨﺖ اﻵن ﻣﻦ رﺑﻂ ﺑﺮﻧﺎﻣﺠﻚ ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت و ﻋﺮض ﻣﺤﺘﻮﻳﺎت اﻟﺠﺪول ﻟﺪﻳﻚ ﺑﻨﺠﺎح ،ﺳﺘﺘﻌﻠﻢ إن ﺷﺎء اﷲ
ﻓﻲ اﻟﺪروس اﻟﻘﺎدﻣﺔ اﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺎت ﻣﺘﻘﺪﻣﺔ أﻛﺜﺮ ﻋﻠﻰ اﻟﺠﺪاول..
١٥٢
Prog : Mohamed Youssef
اﻟﺘﻘﺎرﯾﺮ Reports
ﻃﺮﯾﻘﺔ إﺿﺎﻓﺔ ﺗﻘﺮﯾﺮ ﻟﻠﻤﺸﺮوع ..
ﺑﺴﻢ اﷲ اﻟﺮﺣﻤﻦ اﻟﺮﺣﯿﻢ
ﻣﻦ اﻟﻘﺴﻢ Solution Explorerأﻧﻘﺮ ﻋﻠﻰ اﺳﻢ اﻟﻤﺸﺮوع ﺑﺎﻟﺰر اﻷﯾﻤﻦ ﺛﻢ ﺗﺎﺑﮫ اﻟﺼﻮر اﻟﺘﺎﻟﯿﺔ :
١٥٣
Prog : Mohamed Youssef
١٥٤
Prog : Mohamed Youssef
١٥٥
Prog : Mohamed Youssef
١٥٦
Prog : Mohamed Youssef
- [ xإﺿﻐﻂ ھﻨﺎ ﻟﻌﺮض اﻟﺤﺞ اﺿﻒ ﻓﻲ اﻟﺘﻘﺮﯾﺮ ﺑﺎﻟﺬات ﻓﻲ Section2ﻣﺮﺑﻊ ﻧﺺ وﻟﯿﻜﻦ اﺳﻤﮫ text1ﻛﻌﻨﻮان ﻟﻠﺘﻘﺮﯾﺮ .ﻟﺤﺠﻢ اﻷﺻﻠﻲ ] 592 ٨٣١
ثم ﻣﻦ اﻟﻘﺴﻢ Solution Explorerأﻧﻘﺮ ﻋﻠﻰ اﺳﻢ اﻟﻤﺸﺮوع ﺑﺎﻟﺰر اﻷﯾﻤﻦ ﺛﻢ اﺧﺘﺮ << Addﺛﻢ << NewItemﺛﻢ اﺧﺘﺮ <<
Windows Formﺛﻢ اﻋﻄﯿﮫ اي اﺳﻢ وﻟﯿﻜﻮن . Form2
ﺑﻌﺪ ذﻟﻚ اذھﺐ إﻟﻰ Form2واﺿﻒ إﻟﯿﺔ أداة . CrystalReportViewer1
ﺑﻌﺪ ذﻟﻚ اذھﺐ إﻟﻰ Form2ﻓﻲ وﺿﻊ ﻛﺘﺎﺑﺔ اﻟﻜﻮد وأﻛﺘﺐ ﻣﺎ ﯾﻠﺰم ﻣﻦ اﻟﻜﻮد اﻟﺘﺎﻟﻲ :
ﻛﻮد
١٥٧
Prog : Mohamed Youssef
Imports [Link]
Imports [Link]
Public Class Form2
Friend strConn2 = "Provider=[Link].4.0;Data Source=" & [Link] &
"\[Link];User Id=admin;Password=;"
Friend strSQL2 As String = "SELECT [Link], [Link], [Link], [Link]
FROM TheBank INNER JOIN data ON [Link] = [Link] ORDER BY [Link];"
'"SELECT [Link], [Link], [Link], [Link] FROM TheBank INNER JOIN data
ON [Link] = [Link] WHERE ((([Link])=18)) ORDER BY [Link];" '"SELECT
[Link], [Link], [Link], [Link] FROM TheBank INNER JOIN data ON
[Link] = [Link] ORDER BY [Link];"
Friend cn2 As New OleDbConnection(strConn2)
Friend daTheBankAndData2 As New OleDbDataAdapter(strSQL2, cn2)
Friend MyDS2 As New DataSet
Private Sub Form2_Load(ByVal sender As Object, ByVal e As [Link]) Handles [Link]
Try
[Link]()
[Link](MyDS2, "TheBankAndData")
[Link]()
Dim rpt As New rptCrystalReport1
'اﻓﻘﻲ او ﻋﻤﻮدي ﺗﺤﺪﯾﺪ ﻣﺴﺎر اﻟﺘﻘﺮﯾﺮ و اﻟﺘﺤﻜﻢ ﻓﻲ وﺿﻊ اﻟﺘﻘﺮﯾﺮ اﻣﺎ
[Link]([Link] & "\" & "[Link]")
[Link]([Link]("TheBankAndData"))
' ﻋﻤﻮدي ﻓﻲ وﺿﻊ اﻟﺘﻘﺮﯾﺮ اﻣﺎ اﻓﻘﻲ او اﻟﺘﺤﻜﻢ
[Link] =
[Link]
' ھﺬا اﻟﻜﻮد ﯾﻘﻮم ﺑﺎﻟﻜﺘﺎﺑﮫ ﻓﻲ ﻣﺮﺑﻊ اﻟﻨﺺ اﻟﻤﻮﺟﻮد ﺗﺎﺧﻞ اﻟﺘﻘﺮﯾﺮ ﻓﻲ اﻟﻤﻮﻗﻊ رﻗﻢ2
CType([Link]("Text1"),
[Link]).Text = ""واﻷﺟﻮﺑﺔ اﻟﻤﺨﺰﻧﮫ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ ﺗﻘﺮﯾﺮ ﯾﺴﺘﻌﺮض اﻻﺳﺌﻠﮫ
' ﻣﻌﯿﻨﮫ ﻣﻦ اﻟﺒﯿﺎﻧﺎت ﻛﻲ ﺗﻈﮭﺮ ﻓﻲ اﻟﺘﻘﺮﯾﺮ اﺳﺘﻌﻤﺎل اﻟﻔﻮرﻣﻼ ﻟﺘﺤﺪﯾﺪ ﻣﺠﻤﻮﻋﺔ
'ﻟﻠﺘﻘﺮﯾﺮ ﺗﻌﯿﯿﻦ ﺷﺮط ﺗﺤﺪﯾﺪ اﻟﺒﯿﺎﻧﺎت
' اﻟﺴﺠﻼت ﯾﻤﻜﻨﻚ اﻹﺳﺘﻐﻨﺎء ﻋﻦ اﻟﻔﻮرﻣﻼ إذا اردت ﻇﮭﻮر ﺟﻤﯿﻊ
[Link] = (" {[Link]} = " & [Link] & "")
' وﻋﺮﺿﮫ ﺗﮭﯿﺌﺔﻣﺴﺘﻌﺮض اﻟﺘﻘﺮﯾﺮ
[Link] = rpt
[Link] = False
[Link] = False
[Link] = [Link]
' اﻟﺘﻘﺮﯾﺮ ﻓﻲ ﺣﺠﻢ اﻟﺼﻔﺤﮫ ﻓﺘﺴﮭﻞ ﻋﻤﻠﯿﺔ ﻗﺮاءﺗﮫ وھﺬا اﻟﺴﻄﺮ اﻷﺧﯿﺮ ﻟﻜﻲ ﯾﻈﮭﺮ
١٥٨
Prog : Mohamed Youssef
' وﻣﻼﺣﻈﺔ اﻟﻔﺮق ﯾﻤﻜﻨﻚ ﺗﻐﯿﯿﺮ اﻟﻘﯿﻤﺔ
'ﺷﯿﺌﺎ ﺣﺎول وﻟﻦ ﺗﺨﺴﺮ
[Link](1)
[Link]()
[Link]()
Catch ex As Exception
[Link]([Link], " Show CrystalReport ... ", [Link], _
[Link], MessageBoxDefaultButton.Button1, _
[Link])
End Try
End Sub
End Class
١٥٩
Prog : Mohamed Youssef
اﻟﺠﺰء اﻟﺴﺎدس :اﻟﻤﺴﺎﻋﺪة Help
١٦٠
Prog : Mohamed Youssef
-٢اﻧﻘﺮ ﻣﻮﺿﻮﻋﺎ َ واﺣﺪاَ أو أﻛﺜﺮ ﺿﻤﻦ اﻟﻼﺋﺤﺔ ? How Do Iﻻﺳﺘﻜﺸﺎف ﻧﻮع اﻟﻤﻮاد اﻟﻤﺰودة ﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥
،ﯾﺤﺘ ﻮي ﻧﻈ ﺎم اﻟﻤ ﺴﺎﻋﺪة ﻋﻠ ﻲ ﻣﺌ ﺎت اﻷوﺻ ﺎف اﻟﺘﻘﻨﯿ ﺔ واﻟﻤ ﻮاد اﻟﺘﻌﻠﯿﻤﯿ ﺔ ) ﯾﺘ ﻀﻤﻦ اﻟﻌﺪﯾ ﺪ ﻣﻨﮭ ﺎ ﻣﺜ ﺎل ( .اﻻن
ﺳﺘﻀﺒﻂ ﺗﻜﻮﯾﻦ ﻧﻈﺎم اﻟﻤﺴﺎﻋﺪة ﺑﺤﯿﺚ ﯾﻌﺮض ﻓﻘﻂ اﻟﻤﺤﺘﻮي اﻟﺬي ﺗﺮﯾﺪه ﻋﻨﺪﻣﺎ ﺗﻔﺘﺤﮫ .
-٣ﻋﻠﻲ ﺷﺮﯾﻂ اﻟﻘﻮاﺋﻢ ﻣﺴﺘﻜﺸﻒ ﻣﺴﺘﻨﺪات ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ،اﻧﻘﺮ Toolsﺛﻢ اﻧﻘﺮ اﻻﻣﺮ . Options
ﺳﺘﺮي ﺧﯿﺎرات اﻟﺘﺨﺼﯿﺺ اﻟﺘﻲ ﯾﻤﻜﻨﻚ اﺳﺘﻌﻤﺎﻟﮭﺎ ﻟﻀﺒﻂ ﻃﺮﯾ ﻖ ﻋﻤ ﻞ ﻧﻈ ﺎم اﻟﻤ ﺴﺎﻋﺪة و ) اﻻھ ﻢ ﻣ ﻦ ذﻟ ﻚ ( ﻣ ﺎ ھ ﻲ
اﻟﻤﻮارد اﻟﺘﻲ ﯾﻔﺤﺼﮭﺎ ﻧﻈﺎم اﻟﻤﺴﺎﻋﺪة ﻋﻨﺪﻣﺎ ﯾﺒﺤﺚ ﻋﻦ اﻟﻤﻌﻠﻮﻣﺎت .
-٤اﻧﻘﺮ اﻟﻤﻮﺿﻮع Onlineﺗﺤﺖ اﻟﻔﺌﺔ Helpاذا ﻟﻢ ﯾﻜﻦ ﻣﻨﺘﻘﻲ ﻣﻦ ﻗﺒﻞ .
ﺗﺒﺪو ﺷﺎﺷﺘﻚ ﻣﺘﺸﺎﺑﮭﺔ ﻟﻠﺘﺎﻟﻲ :
ﻧﺼﯿﺤﺘﻲ ﻟﻚ ھﻲ أن ﺗﻀﺒﻂ ﺧﯿﺎراﺗﻚ ﻋﻠﻲ اﻹﻧﺘﺮﻧﺖ ﻛﻤﺎ ھﻮ ﻣﺒﯿﻦ ﻓﻲ ھﺬه اﻟﺸﺎﺷﺔ -اﻧﮭﺎ اﻻﻋﺪادات اﻻﻓﺘﺮاﺿﯿﺔ .أوﻻ
،اﻧﺘﻖ زر اﻟﺨﯿﺎر اﻟﻮﺳﻄﻲ ﻟﺘﺤﻤﯿﻞ ﻣﺤﺘﻮي اﻟﻤﺴﺎﻋﺪة ﻣﻦ اﻟﻤﺼﺎدر اﻟﻤﺤﻠﯿﺔ ﻓﻲ ﻗﺮﺻﻚ اﻟﺼﻠﺐ أوﻻ ﺛﻢ ﻣﻦ اﻟﻤﺼﺎدر
ﻋﻠ ﻲ اﻹﻧﺘﺮﻧ ﺖ .ﺗﺄﻛ ﺪ ﺑﻌ ﺪھﺎ ﻣ ﻦ اﻧﺘﻘ ﺎء ) Code zone Community ، MSDN Onlineاﻟﻤﺠﻤﻮﻋ ﺔ NET
( Code Wise Communityﻟﻜ ﻲ ﯾﺤﻤ ﻞ ﻓﯿﺠ ﻮال ﺳ ﺘﺪﯾﻮ اﻟﻤﻘ ﺎﻻت اﻟﺤﺪﯾﺜ ﺔ ﻣ ﻦ ﻣﻄ ﻮري ﻓﯿﺠ ﻮال ﺑﯿ ﺴﻚ ﻛﻠﻤ ﺎ
اﺳﺘﻌﻤﻠﺖ اﻻﻣ ﺮ . Searchاذا وﺟ ﺪت ﺑﻌ ﺪ ﻓﺘ ﺮة اﻧ ﻚ ﺗﻔ ﻀﻞ ﺑﻌ ﺾ اﻟﻤﺠﺘﻤﻌ ﺎت Codezoneﻋﻠ ﻲ ﺑﻌ ﻀﮭﺎ اﻻﺧ ﺮ ،
ﯾﻤﻜﻨﻚ ﺗﻌﺪﯾﻞ ﺗﺮﺗﯿﺐ اﻟﺒﺤﺚ أو ازاﻟﺔ اﻟﺒﻨﻮد ﻣﻦ اﻟﻼﺋﺤﺔ .
-٥اﻧﺘﻖ ﺧﯿﺎرات اﻟﺘﻜﻮﯾﻦ اﻟﺘﻲ ﯾﻨﺎﺳﺒﻚ ،ﺛﻢ اﻧﻘﺮ OKﻟﺤﻔﻈﮭﺎ .
ﯾﻤﻜﻨﻚ اﻟﻌﻮدة اﻟﻲ ﻗﺎﺋﻤﺔ Optionﺿ ﻤﻦ ﻣﺴﺘﻜ ﺸﻒ اﻟﻤ ﺴﺘﻨﺪات ﻓ ﻲ اي وﻗ ﺖ ﯾﻜ ﻮن ﻧﻈ ﺎم اﻟﻤ ﺴﺎﻋﺪة ﻣﻔﺘﻮﺣ ﺎ .اﻻن
ﺣﺎول اﺳ ﺘﻌﻤﺎل ﻣﯿ ﺰة ﺟﺪﯾ ﺪة اﺧ ﺮي ﻓ ﻲ ﻓﯿﺠ ﻮال ﺳ ﺘﺪﯾﻮ ، ٢٠٠٥ﻻﺋﺤ ﺔ ﻣﻔ ﻀﻼت اﻟﻤ ﺴﺎﻋﺪة ،ﺗﻌﻤ ﻞ ﺑ ﺸﻜﻞ ﻣ ﺸﺎﺑﮫ
ﻛﺜﯿﺮا ﻟﻼﺋﺤﺔ اﻟﻤﻔﻀﻼت ﺿﻤﻦ اﻧﺘﺮﻧﺖ اﻛﺴﺒﻠﻮرر .
١٦١
Prog : Mohamed Youssef
ﯾﻤﻜﻨ ﻚ ﺿ ﺒﻂ ﺗﻜ ﻮﯾﻦ ﻧﻈ ﺎم اﻟﻤ ﺴﺎﻋﺪة ﻟﺠﻌ ﻞ ﺑﺤﺜ ﻚ ﯾﻘﺘ ﺼﺮ ﻓﻘ ﻂ ﻋﻠ ﻲ اﻟﻠﻐ ﺎت واﻟﺘﻘﻨﯿ ﺎت واﻟﻤﻮاﺿ ﯿﻊ اﻟﺘ ﻲ ﺗﺮﯾ ﺪھﺎ
ﺑﺎﺳﺘﻌﻤﺎل أﺳﮭﻢ ﻋﻮاﻣﻞ اﻟﺘﺼﻔﯿﺔ .ﻻن ﺑﺪأت ﺑﺎﺳﺘﻌﻤﺎل ﻓﯿﺠﻮال ﺳﺘﺪﯾﻮ ﻟﻠﺘﻮ ،ﻓﺪ ﺗﺮﯾﺪ ﺑﺤﺜﻚ ﯾﻘﺘﺼﺮ ﻓﻘﻂ ﻋﻠﻲ ﻓﯿﺠﻮال
ﺑﯿﺴﻚ ﻓﻲ اﻟﻮﻗﺖ اﻟﺤﺎﺿﺮ .
-٤ﻓﻲ ﻣﺮﺑﻊ اﻟﻨﺺ ، Searchاﻛﺘﺐ Data Controlsواﺿﻐﻂ . Enter
ﯾﺒﺤ ﺚ ﻓﯿﺠ ﻮال ﺳ ﺘﺪﯾﻮ ﻋ ﻦ اﻟﺴﻠ ﺴﻠﺔ اﻟﻨ ﺼﯿﺔ data controlsﻓ ﻲ ﻣﻠﻔ ﺎت ﻣ ﺴﺎﻋﺪﺗﻚ اﻟﻤﺤﻠﯿ ﺔ وﻋﻠ ﻲ اﻹﻧﺘﺮﻧ ﺖ ﻓ ﻲ
MSDNوﻣﺠﻤﻮﻋ ﺎت اﻻﺧﺒ ﺎر واﻟﻤﺠﺘﻤﻌ ﺎت .Codezoneاﻧﺘﺒ ﮫ اﻧﺘﺒ ﮫ ﺟﯿ ﺪا اﻟ ﻲ اﻟﻼﺋﺤ ﺔ Sort Byﻓ ﻲ اﻻﻃ ﺎر
، Searchاﻟﺘﻲ ﯾﻤﻜﻨﻚ اﺳﺘﻌﻤﺎﻟﮭﺎ ﻻﻧﺘﻘﺎء ﻛﯿﻒ ﺗﻈﮭﺮ اﻟﻤﻘﺎﻻت اﻟﺘﻲ ﯾﺒﺤﺚ ﻋﻠﯿﮭﺎ اﻟﺒﺤﺚ .ﺗﻘﻮل اﻻﺷ ﺎﻋﺎت أن ﻓﺮﯾ ﻖ
ﻓﯿﺠﻮال ﺳﺘﺪﯾﻮ ٢٠٠٥ﺑﺬل ﺟﮭﺪا ﻛﺒﯿﺮا ﻟﺠﻌﻞ ﻓﮭﻢ واﺳﺘﻌﻤﺎل ﻧﺘﺎﺋﺞ اﻟﺒﺤﺚ ﺗﻠﻚ أﺳﮭﻞ ﻣﻤﺎ ﻛ ﺎن ﻋﻠﯿ ﮫ ﻓ ﻲ اﻟﻤﺎﺿ ﻲ .
ﻻﺣﻆ ﺑ ﺸﻜﻞ ﺧ ﺎص ﻣﯿ ﺰة ﻓﯿﺠ ﻮال ﺳ ﺘﺪﯾﻮ ٢٠٠٥اﻟﺠﺪﯾ ﺪة اﻟﺘ ﻲ ﺗﻨ ﺸﺊ ﻣﻘﺘﻄﻔ ﺎ ﻣ ﻦ ﻛ ﻞ ﻧﺘﯿﺠ ﺔ ﺑﺤ ﺚ ﻣﻌﺜ ﻮر ﻋﻠﯿﮭ ﺎ .
ﯾﻌﻄﯿﻚ ھﺬا اﻟﻤﻘﺘﻄﻒ ﻓﺮﺻﺔ أﻓﻀﻞ ﻟﺘﻘﯿﯿﻢ ﻣﺪي وﺛﺎﻗﺔ ﺻﻠﺔ ﻛﻞ ﻧﺘﯿﺠﺔ ﺑﺎﻟﺒﺤﺚ .
-٥اﻧﻘﺮ زر ﺣﻔﻆ اﻟﺒﺤﺚ ﻋﻠﻲ ﺷﺮﯾﻂ أدوات ﻣﺴﺘﻜﺸﻒ اﻟﻤﺴﺘﻨﺪات .
ﺗﻠﻤﯿﺢ ﺑﺎﻟﻀﺎﻓﺔ اﻟﻲ ﻣﻘﺎﻻت اﻟﻤﺴﺎﻋﺪة ،ﯾﻨﻤﻜﻨﻚ ﺣﻔﻆ اﻟﺒﺤﺚ اﻟﻤﮭﻤﺔ ﻓﻲ ﻻﺋﺤﺔ ﻣﻔﻀﻼﺗﻚ .
ﺗ ﺸﺒﮫ ﺷﺎﺷ ﺘﻚ اﻟ ﺸﻜﻞ اﻟﺘ ﺎﻟﻲ .ﻻﺣ ﻆ أن اﻻﻃ ﺎر Help Favoritesﯾﺘ ﻀﻤﻦ اﻻن اﻟﻤﻔ ﻀﻠﺘﯿﻦ اﻟﺠﺪﯾ ﺪﺗﯿﻦ اﻟﻠﺘ ﯿﻦ
ﺣﻔﻈﺘﮭﻤﺎ .
-٦اﻧﻘﺮ زر ﺗﻐﯿﯿ ﺮ اﻻﺳ ﻢ ﻓ ﻲ اﻻﻃ ﺎر ) Help Favoritesﯾﻤﻜﻨ ﻚ أﯾ ﻀﺎ ﻧﻘ ﺮ ﺑ ﺎﻟﯿﻤﯿﻦ اﻟﺒﺤ ﺚ اﻟ ﺬي ﺣﻔﻈﺘ ﮫ ،ﺛﻤ ﻰ اﻧﻘ ﺮ
.( Rename
ﯾﻤﯿﺰ ﻣﺴﺘﻜﺸﻒ اﻟﻤﺴﺘﻨﺪات اﻻﺳﻢ اﻟﺬي اﺳﺘﻌﻤﻠﺘﮫ ﻟﺒﺤﺜﻚ وﯾﺘﯿﺢ ﻟﻚ ﺗﻐﯿﯿﺮه ﻟﻜﻲ ﯾﻄﺎﺑﻖ اﻟﺒﺤﺚ اﻟﻔﻌﻠﻲ ﺑﺪﻗﺔ أﻛﺒ ﺮ .ﻗ ﺬه
اﻟﺨﻄﻮة اﺧﺘﯿﺎرﯾﺔ ،ﻟﻜﻨﻨﻲ أﺟﺪھﺎ ﻣﻔﯿﺪة .
-٧اﻛﺘﺐ Binding Data to Controlsواﺿﻐﻂ . Enter
ﯾﻐﯿﺮ ﻣﺴﺘﻜﺸﻒ اﻟﻤﺴﺘﻨﺪات اﺳﻢ اﻟﺒﺤﺚ ﺿﻤﻦ ﻻﺋﺤﺔ ﻣﻔﻀﻼﺗﻚ .ﻟﻘﺪ اﺧﺘﺮت ھﺬا اﻻﺳﻢ ﻻﻧﮫ ﺑﺪا أوﺿﺢ ﻟﻲ ﻣﻦ ﺳﻠﺴﻠﺔ
ﺑﺤﺜﻲ اﻻﺻﻠﯿﺔ )ﻟﻜﻨﻚ ﻗﺪ ﺗﺮﯾﺪ ﺗﺤﺪﯾﺪ اﺳﻢ ﻣﺨﺘﻠﻒ ﯾﻄﺎﺑﻖ ﺑﺪﻗﺔأﻛﺒﺮ ﻧﺘﺎﺋﺞ اﻟﺒﺤﺚ اﻟﺘﻲ أرﺷﻔﺘﮭﺎ (.
-٨اﻧﻘﺮ ? How Do Iﻓﻲ اﻻﻃﺎر . Help Favorites
ﯾﻈﮭﺮ أإول ﻣﻘﺎل ﺣﻔﻈﺘﮫ ﻓﻲ ﻣﺴﺘﻜﺸﻒ اﻟﻤﺴﺘﻨﺪات .ﺳﺘﺘﻤﺮن اﻻن ﻋﻠﻲ ﺣ ﺬف ﻣﻔ ﻀﻠﺔ ،وھ ﺬه ﻣﮭ ﺎرة ﺗ ﺼﺒﺢ ﻣﮭﻤ ﺔ
ﻋﻨﺪﻣﺎ ﺗﻨﻤﻮ ﻻﺋﺤﺔ ﻣﻘﺎﻻت ﻣﺴﺎﻋﺪﺗﻚ اﻟﻤﻔﻀﻠﺔ وﺗﺤﺘﺎج اﻟﻲ ﺗﺼﻐﯿﺮھﺎ .
-٩اﻧﻘﺮ زر اﻟﺤﺬف ﻓﻲ اﻻﻃﺎر . Help Favorites
١٦٢
Prog : Mohamed Youssef
-١٠اذاﻃﻠﺐ ﻣﻨﻚ ﺗﺄﻛﯿﺪ ﻧﺘﻚ ﺑﺤﺬف ھﺬه اﻟﻤﻔﻀﻠﺔ ،اﻧﻘﺮ . Yes
ﯾﺤﺬف اﻟﻤﻘﺎل ? How Do Iﻣﻦ ﻻﺋﺤﺔ ﻣﻔﻀﻼﺗﻚ ) وﻟﻜﻦ ﻟﯿﺲ ﻣﻦ ﻧﻈﺎﻣﺎﻟﻤﺴﺎﻋﺪة (.
-١١اﻧﻘﺮ زر اﻻﻏﻼق ﻋﻠﻲ ﺷﺮﯾﻂ ﻋﻠﻲ ﺷﺮﯾﻂ ﻋﻨﻮان ﻣﺴﺘﻜﺸﻒ اﻟﻤﺴﺘﻨﺪات .
ھﻨﺎك ﻣﯿﺰات اﻟﻤﺴﺎﻋﺪة اﺿﺎﻓﯿﺔ ﻟﺘ ﺘﻌﻠﻢ ﻋﻨﮭ ﺎ وﺗﺨﺘﺒﺮھ ﺎ ،ﻟﻜ ﻦ اﻟﻮﻗ ﺖ ﺟﯿ ﺪ اﻻن ﻟﻜ ﻲ أﻟﺨ ﺺ ﻟ ﻚ أواﻣ ﺮ اﻟﻤ ﺴﺎﻋﺪة
اﻟﻤﮭﻤﺔ وﻟﻜﻲ ﺗﻨﺘﻘﻞ اﻟﻲ ﻛﺘﺎﺑﺔ أول ﺑﺮﻧﺎﻣﺞ ﻟﻚ ﻓﻲ اﻟﻔﺼﻞ . ٢
١٦٣
Prog : Mohamed Youssef
1- [Link]/vbasic/
2- [Link]/
3- [Link]/learning/books/
4- [Link]/learning/training/
5- [Link]/communities/
١٦٤
Prog : Mohamed Youssef
١٦٥
Prog : Mohamed Youssef
SQL ﺍﻟﺘﻌﺮﻑ ﻋﻠﻰ ﻟﻐﺔ ﺍﻷﺳﺘﻌﻼﻣﺎﺕ
اﻟﮭﺪف اﻟﻌﺎم:
ﻟﻐﺔ ﺗﺴﺘﺨﺪم ﻓﻰ Visual [Link] 2005ﻋﻨﺪ أﺳﺘﺨﺪام [Link] 2 Programmingﻟﻠﺘﻌﺎﻣﻞ ﻟﺮﺑﻂ اﻟﺒﺮﻧﺎﻣﺞ ﺑﻘﻮاﻋﺪ
اﻟﺒﯿﺎﻧﺎت.
اﻷھﺪاف:
ﻣﺎﯾﻜﺮوﺳﻮﻓﺖ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥ھﻮ ﺗﺮﻗﯿﺔ و ﺗﺤﺴﯿﻦ ﻣﮭﻤﯿﻦ ﻟﻨﻈﺎم ﺗﻄﻮﯾﺮ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٦و ﺗﺮﻗﯿﺔ ﺗﻜﺮارﯾﺔ ﻟﺒﺮﻧﺎﻣﺞ
اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٣دوت ﻧﺖ و ﯾﻌﻄﯿﻚ اﻟﻤﻠﺤﻖ اﻟﻘﺪرة ﻋﻠﻰ ﻣﻌﺮﻓﺔ ﻟﻐﺔ اﻻﺳﺘﻌﻼﻣﺎت .SQL
و ﺗﺴﺘﺨﺪم ﻋﻨﺪ رﺑﻂ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﺑﻘﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت و ﺗﺴﺘﺨﺪم [Link] 2 Programmingو اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻜﺘﺒﺎت (OleDB
) , SQLClientواﺳﺘﺨﺪام اﻟﺘﺼﻨﯿﻔﺎت اﻟﺘﻰ ﺗﺴﺘﺨﺪم ﻟﺮﺑﻂ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﺑﺄﻧﻮاﻋﮭﺎ ﻣﺜﻞ-:
١٦٦
Prog : Mohamed Youssef
Content
ﻣﻘﺪﻣﺔ ﻋﻦ ﻟﻐﺔ اﻷﺳﺘﻌﻼﻣﺎت اﻟﮭﯿﻜﻠﯿﮫ SQL
اﻟﻤـﺮاﺟـﻊ
١٦٧
Prog : Mohamed Youssef
Ms-Access , Ms-SQL Server , DB2 , Oracle ,SQL Server 2000 OR 2005 , etc.
١٦٨
Prog : Mohamed Youssef
SQL Data Manipulation Language (DML) اﻟﺠﺰء اﻻول "ﻣﻌﺎﻟﺠﺔ اﻟﺒﯿﺎﻧﺎت" ﺑـ
Select ﺟﻤﻠﮫ
ﺗﺴﺘﺨﺪم ﻓﻰ إﺳﺘﺨﺮاج ﺑﯿﺎﻧﺎت ﻣﻦ داﺧﻞ اﻟﺠﺪول ﺣﺴﺐ اﻟﻤﻄﻠﻮب
Result: اﻟﻨﺘﯿﺠﮫ
LastName FirstName
Hansen Ola
Svendson Tove
Pettersen Kari
Result: اﻟﻨﺘﯿﺠﮫ
١٦٩
Prog : Mohamed Youssef
SELECT DISTINCT وھﻰ ﺟﻤﻠﮫSELECT اﻷن ﻧﻨﺪرج ﻟﺠﻤﻠﮫ أﺧﺮى او إﺿﺎﻓﮫ ﻟﺠﻤﻠﮫ
ﻟﻠﺠﻤﻠﮫ ﺗﻤﻜﻨﻚ ﻣﻦ اﻟﻌﺮض اﻟﻘﯿﻢ ﺑﺪون ﺗﻜﺮار )ﯾﻌﻨﻰ ﻟﻮ اﻟﺠﺪول ﻓﯿﮫ ﺑﯿﺎن ﻣﺘﻜﺮر اﻛﺘﺮ ﻣﻦ ﻣﺮه ﺑﺘﻌﺮﺿﮫ ﻣﺮهDISTINCT إﺿﺎﻓﮫ ﻛﻠﻤﮫ
. (واﺣﺪه ﺑﺲ
"Orders" table
Company OrderNumber
Sega 3412
W3Schools 2312
Trio 4678
W3Schools 6798
Result: اﻟﻨﺘﯿﺠﮫ
Company
Sega
W3Schools
Trio
W3Schools
Result: اﻟﻨﺘﯿﺠﮫ
Company
Sega
W3Schools
Trio
اﻻن ﻧﻨﺘﻘﻞ ﻟﺠﺰء اﺧﺮ اﻻ وھﻮ اﺳﺘﺨﺪام اﻟﺸﺮط
١٧٠
Prog : Mohamed Youssef
WHERE اﺳﺘﺨﺪام ﻋﺒﺎره
: وﺗﺤﺘﻮى ﻋﻠﻰ اﻟﺸﺮط اﻟﻤﻄﻠﻮب وﯾﻜﻮن ﺑﻨﺎﺋﮭﺎ ﺑﮭﺬا اﻟﺸﻜﻞSelect ﺗﺄﺗﻰ ﺑﻌﺪ ﺟﻤﻠﮫ
Syntax
SELECT column FROM table
WHERE column operator value
اﻟﻮﺻﻒ اﻟﻤﻌﺎﻣﻞ
ﯾﺴﺎوى =
ﻻ ﯾﺴﺎوى <>
أﻛﺒﺮ ﻣﻦ >
أﺻﻐﺮ ﻣﻦ <
أﻛﺒﺮ ﻣﻦ او ﯾﺴﺎوى >=
اﺻﻐﺮ ﻣﻦ او ﯾﺴﺎوى <=
ﯾﻜﻮن اﻟﺸﺮط ﺑﯿﻦ ﻗﯿﻤﺘﯿﻦ Between
ﻟﻠﺒﺤﺚ ﻋﻦ ﻛﻠﻤﺎت ﻣﺘﺸﺎﺑﮭﮫ LIKE
"Persons" table
Result اﻟﻨﺘﯿﺠﮫ
ﻋﻠﻰ أﺳﺘﺨﺪام ﻋﻼﻣﮫ اﻟﺘﻨﺼﯿﺺ ﻣﻊ اﻟﺠﻤﻠﮫ ) ' (ﯾﺠﺐ أﺳﺘﺨﺪام ﻋﻼﻣﮫ ﺗﻨﺼﯿﺺ ﻣﻔﺮده ﻣﻊ اﻟﻘﯿﻢ اﻟﻨﺼﯿﮫ ﻣﺜﻞ: ﻣﻼﺣﻈﮫ ھﺎﻣﮫ
. اﻷﺳﻤﺎء اﻣﺎ ﺑﺎﻟﻨﺴﺒﮫ ﻟﻠﺒﯿﺎﻧﺎت اﻟﺮﻗﻤﯿﮫ ﺗﻜﺘﺒﮫ ﻣﻦ دون ﻋﻼﻣﺎت
: ﻣﺜﺎل ﻋﻠﻰ ذﻟﻚ
١٧١
Prog : Mohamed Youssef
SELECT * FROM Persons WHERE FirstName=Tove
ﺗﺴﺘﺨﺪم ﻋﻼﻣﮫ ) ( %ﻟﺘﺤﺪﯾﺪ ﻋﺪد اﻟﺤﺮوف ﻗﺒﻞ و ﺑﻌﺪ اﻟﻜﻠﻤﮫ او اﻟﺤﺮف اﻟﺬى ﻧﺒﺤﺚ ﺑﮫ ﻣﺜﺎل :
ﻓﻰ ھﺬه اﻟﺤﺎﻟﮫ ﺳﻮف ﺗﻈﮭﺮ اﺳﻤﺎء اﻷﺷﺨﺎص اﻟﺘﻰ ﺗﺒﺪا ﺑﺤﺮف Aﺛﻢ ﯾﺄﺗﻰ ﺑﻌﺪھﺎ اى ﻋﺪد ﻣﻦ اﻟﺤﺮوف
ﻓﻰ ھﺬه اﻟﺤﺎﻟﮫ ﺳﻮف ﺗﻈﮭﺮ اﺳﻤﺎء اﻷﺷﺨﺎص اﻟﺘﻰ ﺗﻨﺘﮭﻰ ﺑﺤﺮف Aوﯾﻜﻮن ﻗﺒﻠﮭﺎ اى ﻋﺪد ﻣﻦ اﻟﺤﺮوف
ﻓﻰ ھﺬه اﻟﺤﺎﻟﮫ ﺳﻮف ﺗﻈﮭﺮ اﺳﻤﺎء اﻷﺷﺨﺎص اﻟﺘﻰ ﺗﺤﺘﻮى ﻋﻠﻰ ﺣﺮف Aﻓﻰ أى ﻣﻮﺿﻮع ﻓﻰ اﻷﺳﻢ
١٧٢
Prog : Mohamed Youssef
VALUES (value1, value2,....)
: ﻣﺜﺎل إﺿﺎﻓﮫ ﺻﻒ ﺟﺪﯾﺪ ﻟﻠﺠﺪول اﻟﺘﺎﻟﻰ
Person:
١٧٣
Prog : Mohamed Youssef
Result: اﻟﻨﺘﯿﺠﮫ
UPDATE Person
SET Address = 'Stien 12', City = 'Stavanger'
WHERE LastName = 'Rasmussen'
Result: اﻟﻨﺘﯿﺠﮫ
Person:
ﻟﺤﺬف اﻟﺼﻒ
Result :اﻟﻨﺘﯿﺤﮫ
١٧٤
Prog : Mohamed Youssef
DELETE FROM table_name
or
DELETE * FROM table_name
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
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 اﻟﻤﻌﺎﻣﻞ-
١٧٦
Prog : Mohamed Youssef
SELECT * FROM Persons
WHERE FirstName='Tove'
AND LastName='Svendson'
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,..)
١٧٧
Prog : Mohamed Youssef
Result: اﻟﻨﺘﯿﺠﮫ
: ﺑﻨﺎء اﻟﺠﻤﻠﮫ
SELECT column_name FROM table_name
WHERE column_name
BETWEEN value1 AND value2
Result: اﻟﻨﺘﯿﺠﮫ
Result: اﻟﻨﺘﯿﺠﮫ
١٧٨
Prog : Mohamed Youssef
LastName FirstName Address City
Pettersen Kari Storgt 20 Stavanger
Svendson Tove Borgvn 23 Sandnes
Result: اﻟﻨﺘﯿﺠﮫ
Family Name
Hansen Ola
Svendson Tove
Pettersen Kari
Result: اﻟﻨﺘﯿﺠﮫ
LastName FirstName
Hansen Ola
Svendson Tove
Pettersen Kari
١٧٩
Prog : Mohamed Youssef
اﻟﺮﺑﻂ JOIN
ﻣﻮﺿﻮع ﻣﻦ اھﻢ ﻣﻮاﺿﯿﻊ SQLھﻮ اﻟﺮﺑﻂ ﺑﯿﻦ اﻟﺠﺪاول اﻟﺬى ﯾﺴﮭﻞ ﻛﺜﯿﺮ ﻓﻰ ﻋﺮض اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺠﺪاول اﻟﺘﻰ ﺗﺤﺘﻮى ﻋﻠﻰ
ﻋﻼﻗﮫ ﻣﺜﻞ اﻟﻤﻮﻇﻒ و اﻟﻘﺴﻢ .
ﻓﻰ ﺑﻌﺾ اﻷﺣﯿﺎن ﻧﺤﺘﺎج إﻟﻰ ﻋﺮض ﺑﯿﺎﻧﺎت ﻣﻦ ﺟﺪوﻟﯿﻦ او أﻛﺜﺮ ﻟﺠﻌﻞ اﻟﻨﺘﯿﺠﮫ ﻛﺎﻣﻠﮫ ﯾﺠﺐ اﻧﺸﺎء ﻋﻼﻗﮫ .
اﻟﺮﺑﻂ ﺑﯿﻦ اﻟﺠﺪاو ﯾﺘﻢ ﻋﻦ ﻃﺮﯾﻖ اﻟﻤﻔﺘﺎح اﻷﺳﺎﺳﻰ ) (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 [Link]
FROM Employees, Orders
WHERE Employees.Employee_ID=Orders.Employee_ID
'AND [Link]='Printer
١٨٠
Prog : Mohamed Youssef
Result: اﻟﻨﺘﯿﺠﮫ
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 [Link], [Link]
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
: ﺑﻨﺎء اﻟﺠﻤﻠﮫ
١٨١
Prog : Mohamed Youssef
SELECT field1, field2, field3
FROM first_table
RIGHT JOIN second_table
ON first_table.keyfield = second_table.foreign_keyfield
ﺗﻨﻔﯿﺬ اﻟﺠﻤﻠﮫ ﻋﻠﻰ اﻟﻤﺜﺎل :
SELECT [Link], [Link]
FROM Employees
RIGHT JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
اﻟﻨﺘﯿﺠﮫ Result:
Name Product
Hansen, Ola Printer
Svendson, Stephen Table
Svendson, Stephen Chair
ﺗﻘﻮم اﻟﺠﻤﻠﮫ RIGHT JOINﺑﻌﺮض ﺟﻤﯿﻊ اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺠﺪول اﻟﺜﺎﻧﻰ Ordersﺣﺘﻰ ﻟﻮﺗﺔﺟﺪ ﻓﻰ اﻟﺠﺪول اﻷول
SELECT [Link]
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
'WHERE [Link] = 'Printer
Result:اﻟﻨﺘﯿﺠﮫ
Name
Hansen, Ola
١٨٢
Prog : Mohamed Youssef
: ﻣﺜﺎل
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: اﻟﻨﺘﯿﺠﮫ
١٨٣
Prog : Mohamed Youssef
E_Name
Hansen, Ola
Svendson, Tove
Svendson, Stephen
Pettersen, Kari
Turner, Sally
Kent, Clark
Svendson, Stephen
Scott, Stephen
: اﻟﺪوال
اﻟﻮﺻﻒ اﻟﺪاﻟﮫ
ﻹﯾﺠﺎد اﻟﻮﺳﻂ اﻟﺤﺴﺎﺑﻰ ﻟﻠﺤﻘﻞ اﻟﻤﺤﺪد AVG(column)
ﻣﻌﺮﻓﮫ ﻋﺪد اﻟﺼﻔﻮف)اﻟﺴﺠﻼت( ﻓﻰ اﻟﺤﻘﻞ ﺑﺪون اﻟﺴﺠﻼت اﻟﻔﺎرﻏﮫ COUNT(column)
ﻣﻌﺮﻓﮫ ﻋﺪد اﻟﺼﻔﻮف ﻓﻰ اﻟﺠﺪول COUNT(*)
ﻣﻌﺮﻓﮫ ﻗﯿﻤﮫ اول ﺳﺠﻞ ﻓﻰ اﻟﺤﻘﻞ First(column)
ﻣﻌﺮﻓﮫ ﻗﯿﻤﮫ أﺧﺮ ﺳﺠﻞ ﻓﻰ اﻟﺤﻘﻞ last(column)
ﻣﻌﺮﻓﮫ أﻛﺒﺮ ﻗﯿﻤﮫ ﺳﺠﻞ ﻓﻰ اﻟﺤﻘﻞ Max(column)
ﻣﻌﺮﻓﮫ أﺿﻐﺮ ﻗﯿﻤﮫ ﺳﺤﻞ ﻓﻰ اﻟﺤﻘﻞ Min(column)
ﻣﻌﺮﻓﮫ إﺟﻤﺎﻟﻰ اﻟﻘﯿﻢ ﻓﻰ اﻟﺤﻘﻞ SUM(column)
ﻋﺪد اﻟﺴﺠﻼت ﻓﻰ اﻟﺤﻘﻞ ﺑﺪون ﺗﻜﺮار ﺗﻌﻤﻞ ﻓﻘﻂ ﻋﻠﻰSQL SERVER COUNT(DISTINCT column)
: ﻣﺠﻤﻮﻋﮫ ﻣﻦ اﻷﻣﺜﻠﮫ
١٨٤
Prog : Mohamed Youssef
SQL GROUP BY and HAVING واﻟﻔﺮز اﻟﺘﺠﻤﯿﻊ
GROUP BY ﻛﺜﯿﺮا ﻣﺎ ﺗﺤﺘﺎج إﻟﻰ اﻟﺘﺠﻤﯿﻊSUM اﻟﺪوال اﻟﻌﺪدﯾﮫ ﻣﺜﻞ اﻟﺪاﻟﮫ
: ﺑﻨﺎء اﻟﺠﻤﻠﮫ
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
. ﻧﻼﺣﻆ ان ﺟﻤﯿﻊ اﻟﺴﺠﻼت اﺧﺬت اﻟﻤﺠﻤﻮع ﻛﻠﮫ وﻟﻢ ﻧﻌﺮف ﻣﺠﻤﻮع ﻛﻞ ﺳﺠﻞ
Company SUM(Amount)
W3Schools 12600
IBM 4500
: ﺑﻨﺎء اﻟﺠﻤﻠﮫ
١٨٥
Prog : Mohamed Youssef
: ﺗﻄﺒﯿﻖ ﻋﻠﻰ ﻧﻔﺲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ
Company Amount
W3Schools 5500
IBM 4500
W3Schools 7100
Company SUM(Amount)
W3Schools 12600
١٨٦
Prog : Mohamed Youssef
اﻟﺠﺰء اﻟﺜﺎﻟﺚ "ﺗﻌﺮﯾﻒ اﻟﺒﯿﺎﻧﺎت" ﺑـ )Data Definition Language (DDL
ﻓﻰ ھﺬا اﻟﺠﺰء ﻣﻦ اﻟﺪرس ﺳﻮف ﻧﻘﻮم ﺑﺸﺮح
اﻻن ﯾﻤﻜﻨﻨﺎ اﻧﺸﺎء ﺟﺪاول وﺗﺤﺪﯾﺪ اﻟﺤﻘﻮل واﻧﻮاع وﺣﺠﻢ اﻟﺒﯿﺎﻧﺎت ﻓﯿﮭﺎ .
١٨٧
Prog : Mohamed Youssef
اﻧﺸﺎء اﻟﻔﮭﺎرس : CREATE INDEX
اﻟﻔﮭﺮس ﯾﺼﻤﻢ ﻓﻰ اﻟﺠﺪول ﺣﺘﻰ ﯾﺠﻌﻞ ﻋﻤﻠﯿﮫ اﻷﺳﺘﻌﻼم أﺳﺮع ﻛﻤﺎ ﯾﻤﻜﻦ اﻧﺸﺎء اﻛﺜﺮ ﻣﻦ ﻓﮭﺮس ﻧﻔﺲ اﻟﺠﺪول
اﻟﻤﺴﺘﺨﺪم ﻻ ﯾﺮى ھﺬه اﻟﻔﮭﺎرس اﻧﻤﺎ ھﻰ ﻟﺘﺴﺮع ﻋﻤﻠﯿﮫ اﻷﺳﺘﻌﻼم ﻓﻘﻂ .
ھﻨﺎك ﻧﻮﻋﯿﻦ ﻣﻦ اﻟﻔﮭﺎرس اﻟﻨﻮع اﻷول ﻻ ﯾﻤﻜﻦ ان ﯾﺘﻜﺮر ﺑﮫ اﻟﺒﯿﺎﻧﺎت اﻣﺎ اﻟﻨﻮة\ع اﻟﺜﺎﻧﻰ ﯾﻤﻜﻦ ﺗﻜﺮار اﻟﺒﯿﺎﻧﺎت ﺑﮫ .
ﻣﺜﺎل :
اﻷﻣﺮ Drop
Dropﺗﺮﺟﻤﺘﮭﺎ اﻟﺤﺮﻓﯿﮫ إﻟﻘﺎء وﻟﻜﻨﻨﺎ ھﻨﺎ ﻧﺴﺘﺨﺪﻣﮭﺎ ﻛﺄﻣﺮ ﺣﺬف وﻟﻜﻦ ﺣﺬف اﯾﮫ ) ﻗﺎﻋﺪه ﺑﯿﺎﻧﺎت – ﻓﮭﺮس – ﺟﺪول(
ﺛﺎﻧﯿﺎ -:ﺣﺬف ﺟﺪول ﻣﻦ ﻗﺎﻋﺪه اﻟﺒﯿﺎﻧﺎت :ﯾﻜﻮن ﺑﻨﺎء اﻟﺠﻤﻠﮫ ﻛﺎﻟﺘﺎﻟﻰ :
ﻧﻮع ﻗﺎﻋﺪه اﻟﺒﯿﺎﻧﺎت Syntax for Microsoft SQLJet (and Microsoft Access):
١٨٨
Prog : Mohamed Youssef
Syntax for MS SQL Server: ﻧﻮع ﻗﺎﻋﺪه اﻟﺒﯿﺎﻧﺎت
Person:
Result: اﻟﻨﺘﯿﺠﮫ
١٨٩
Prog : Mohamed Youssef
ALTER TABLE Person DROP COLUMN Address
Result: اﻟﻨﺘﯿﺠﮫ
SELECT [Link],[Link]
INTO Empl_Ord_backup
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID
١٩٠
Prog : Mohamed Youssef
: ﯾﻜﻮن ﺑﻨﺎﺋﮭﺎ اﻟﻌﺎم ﻛﺎﻟﺘﺎﻟﻰ
: ﻣﻼﺣﻈﺎت ھﺎﻣﮫ
ﻗﺎﻋﺪه اﻟﺒﯿﺎﻧﺎت ﻻ ﺗﺘﺄﺛﺮ ﺑﻤﺎ ﯾﺘﻢ ﺗﻨﻔﯿﺬه ﻣﻦ ﺷﺮوط او دوال-١
ﻗﺎﻋﺪه اﻟﺒﯿﺎﻧﺎت ﻻ ﺗﻘﻮم ﺑﺤﻔﻆ اﻟﻨﺎﺗﺞ ﻓﻰ ﺟﺪول واﻧﻤﺎ ﯾﻘﻮم ﻣﺤﺮك ﻗﺎﻋﺪه اﻟﺒﯿﺎﻧﺎت ﺑﺘﻨﻔﯿﺬ اﻟﺠﻤﻠﮫ ﻛﻞ ﻣﺮه ﺗﻘﻮم ﺑﺘﺸﻐﯿﻠﮫ ﻓﯿﮭﺎ-٢
: ١ ﻣﺜﺎل
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
١٩١
Prog : Mohamed Youssef
SQL
Books
ﻣﮭﻨﺪس ﻋﺰب ﻣﺤﻤﺪ ﻋﺰب، ﻣﻌﻠﻮﻣﺎت أﺳﺎﺳﯿﺔ و ﻗﻮاﻋﺪ اﻟﻠﻐﺔOracle ، ﺳﻠﺴﻠﺔ ﺗﻌﻠﻢ ﺑﺴﮭﻮﻟﺔ •
ﺻﺎﻟﺢ زرﻣﺒﮫ/ د، SQL For Oracle ﻣﻠﺨﺺ أواﻣﺮ •
ﺻﺎﻟﺢ زرﻣﺒﮫ/ د، ﻛﺎﻣﻠﺔOracle ﻛﯿﻔﯿﺔ ﻋﻤﻞ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت •
ﻋﺒﺪ اﻟﺮﺣﻤﻦ ﺳﺎﻟﻢ/ أ، SQL Server 2000 ( ﺑﺈﺳﺘﺨﺪام٢) ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎتSections ﻣﻠﺨﺺ •
PDF
ﻗﺎم ﺑﺎﻟﻨﻘﻞ واﻟﺘﺮﺟﻤﺔ أﺣﻤﺪ ﺣﺎﻣﺪ، SQL اﻟﻤﺮﺟﻊ اﻟﺸﺎﻣﻞ ﻓﻰ ﺟﻤﻞ، ﻣﻮﻗﻊ اﻟﻔﺮﯾﻖ اﻟﻌﺮﺑﻰ ﻟﻠﺒﺮﻣﺠﺔ •
ﺗﺄﻟﯿﻒ ﺧﻀﺮ ﯾﻮﺳﻒ ﺗﺮزى، ﺑﻨﺎء اﻟﺘﻄﺒﯿﻘﺎت ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻟﻌﻤﻼﻗﺔ، ﻣﻮﻗﻊ اﻟﻔﺮﯾﻖ اﻟﻌﺮﺑﻰ ﻟﻠﺒﺮﻣﺠﺔ •
ﺗﺄﻟﯿﻒ أﺣﻤﺪ ﻛﻤﺎل، Ms-SQL Server ﻣﺮﺟﻊ اﻷواﻣﺮ، ﻣﻮﻗﻊ اﻟﻔﺮﯾﻖ اﻟﻌﺮﺑﻰ ﻟﻠﺒﺮﻣﺠﺔ •
ﺗﺄﻟﯿﻒ ﻣﺤﻤﻮد ﻣﺤﻤﺪ ﻋﺒﺪ اﻟﺮازق، ( )اﻟﺠﺰء اﻷولSQL Server ﺗﻌﻠﻢ، ﻣﻮﻗﻊ ﻛﺘﺐ اﻟﺤﺎﺳﺐ اﻟﻌﺮﺑﯿﺔ •
ﺗﺄﻟﯿﻒ ﻣﺠﻼد ﻣﺸﺎرى اﻟﺴﺒﻌﻰ، Database اﻷﺳﺎﺳﯿﺎت ﻓﻰ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت •
MaaSTracK ﺗﺄﻟﯿﻒ، ﻟﻠﻤﺒﺘﺪﺋﯿﻦSQL دﻟﯿﻞ ﺗﻌﻠﻢ اﻟـ •
ﺗﺄﻟﯿﻒ ﻣﮭﻨﺪس إﺑﺮاھﯿﻢ دروﯾﺶ، SQL ﻣﻘﺪﻣﺔ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﺑﺈﺳﺘﺨﺪام •
1- [Link]
2- [Link]
3- [Link]
4- [Link]
5- [Link]
6- [Link]
7- [Link]
8- [Link]
9- [Link]
10- [Link]
11- [Link]
12- [Link]
13- [Link]
١٩٢
Prog : Mohamed Youssef
١٩٣
Prog : Mohamed Youssef
Glossary
Visual Basic .Net 2005
ﺍﻟﻤﺼﻄﻠﺢ ﺍﻟﻤﻌﻨﻰ
Activate ﺗﻨﺸﯿﻂ اﻟﻜﺎﺋﻦ )ﺣﺪث ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Add Form إﺿﺎﻓﺔ ﻧﻤﻮذج ﺟﺎھﺰ
Add Project إﺿﺎﻓﺔ ﻣﺸﺮوع ﺟﺎھﺰ
ADO .NET ﻣﻜﺘﺒﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت
Alignment ﻣﺤﺎذاة )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Alignment - Center ﻣﺤﺎذاة إﻟﻲ اﻟﻮﺳﻂ أو اﻟﺘﻮﺳﯿﻂ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Alignment - Left ﻣﺤﺎذاة اﻟﻜﺘﺎﺑﺔ إﻟﻲ اﻟﯿﺴﺎر )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Alignment - Right ﻣﺤﺎذاة اﻟﻜﺘﺎﺑﺔ إﻟﻲ اﻟﯿﻤﯿﻦ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Apostrophe اﻟﺮﻣﺰ) (،اﻟﻔﺎﺻﻠﺔ اﻟﻌﻠﻮﯾﺔ
Applications اﻟﺘﻄﺒﯿﻘﺎت
Arithmetic ﺣﺴﺎب
Arithmetic Expressions اﻟﺘﻌﺒﯿﺮات اﻟﺤﺴﺎﺑﯿﺔ
Arithmetic Operator اﻟﻤﻌﺎﻣﻼت اﻟﺤﺴﺎﺑﯿﺔ
Arithmetical ﺣﺴﺎﺑﻲ
Array اﻟﻤﺼﻔﻮﻓﺎت
) ( Asc
داﻟﺔ ﺗﺴﺘﺨﺪم ﻓﻲ اﻟﺤﺼﻮل ﻋﻠﻰ ﻛﻮد أي ﺣﺮف أو رﻣﺰ أو ﻛﻮد أول
ﺣﺮف ﻓﻲ ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ
Auto Size ﺗﺤﺠﯿﻢ ﺗﻠﻘﺎﺋﻲ ﻃﺒﻘﺎ ﻟﻤﺤﺘﻮي اﻟﻜﺎﺋﻦ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Back Color ﻟﻮن اﻟﺨﻠﻔﯿﺔ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Back Style ﻧﻤﻂ اﻟﺨﻠﻔﯿﺔ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
BackGroundImage اﻟﺘﺤﻜﻢ ﻓﻰ ﺻﻮرة اﻟﺨﻠﻔﯿﺔ ﻟﻠﻨﻤﻮذج )ﺧﺎﺻﯿﺔ ﻟﻠﻨﻤﻮذج(
BASIC ﻛﻮد اﻟﺘﻌﻠﯿﻤﺎت اﻟﺮﻣﺰﯾﺔ ﻟﺠﻤﯿﻊ أﻏﺮاض اﻟﻤﺒﺘﺪﺋﯿﻦ وھﻮ اﺧﺘﺼﺎر
Beginner's All purpose Symbolic Instruction Code
Basic Concepts ﻣﻔﺎھﯿﻢ أﺳﺎﺳﯿﺔ
Boolean ﻣﻨﻄﻘﻲ )ﻧﻮع اﻟﺒﯿﺎن(
Border Style ﻧﻤﻂ ﺣﺪود اﻟﻜﺎﺋﻦ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Break إﯾﻘﺎف ﺗﺸﻐﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻣﺆﻗﺘﺎ ً
Byte ﻋﺪد ﺻﺤﯿﺢ )ﻧﻮع اﻟﺒﯿﺎن(
Change ﺗﻐﯿﯿﺮ ﻓﻲ اﻟﻜﺎﺋﻦ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
CharacterCasing ﻣﻌﺮﻓﺔ أو ﺗﺤﺪﯾﺪ ﻣﺎ إذا ﻛﺎﻧﺖ اﻷداة ﺳﺘﺘﺪﺧﻞ ﻓﻲ ﺗﻌﺪﯾﻞ اﻟﺤﺮوف
Check Box ﺻﻨﺪوق اﺧﺘﺒﺎر )أداة ﻣﻦ ﺻﻨﺪوق اﻷدوات(
) ( Chr
داﻟﺔ ﺗﺴﺘﺨﺪم ﻓﻲ اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﺤﺮف أو اﻟﺮﻣﺰ اﻟﻤﻨﺎﻇﺮ ﻟﻜﻮد
ﻣﻌﯿﻦ
١٩٤
Prog : Mohamed Youssef
ﺍﻟﻤﺼﻄﻠﺢ ﺍﻟﻤﻌﻨﻰ
Circle رﺳﻢ داﺋﺮة )وﺳﯿﻠﺔ ﻟﻠﻨﻤﻮذج ،ﻛﻮد ﺑﺮﻣﺠﻲ(
Classes اﻟﺘﺼﻨﯿﻒ أو اﻟﻔﺌﺔ
Click ﻧﻘﺮ ﻣﻨﻔﺮد ﺑﺎﻟﺰر اﻷﯾﺴﺮ ﻟﻠﻔﺄرة )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
CLS ﻣﺴﺢ اﻟﻜﺘﺎﺑﺔ واﻟﺮﺳﻢ ﻣﻦ داﺧﻞ اﻟﻜﺎﺋﻦ )ﻛﻮد ﺑﺮﻣﺠﻲ(
Code Window ﻧﺎﻓﺬة اﻷﻛﻮاد اﻟﺒﺮﻣﺠﺔ
Comma اﻟﻔﺎﺻﻠﺔ )(,
Command Button زر أواﻣﺮ )أداة ﻣﻦ ﺻﻨﺪوق اﻷدوات(
Comparison Operator اﻟﻤﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ
Compiler اﻟﻤﺘﺮﺟﻢ
Computer Languages ﻟﻐﺎت اﻟﻜﻤﺒﯿﻮﺗﺮ
Concatenation - String ﺳﻠﺴﻠﺔ
Concatenation Operator اﻟﻤﻌﺎﻣﻼت اﻟﺮﺑﻂ
Condition اﻟﺸﺮط
Conditional Branching اﻟﺘﻔﺮع اﻟﻤﺸﺮوط
) Const ( Constant ﺛﺎﺑﺖ – ﺗﻌﺮﯾﻒ اﻟﻤﺨﺰن اﻟﺜﺎﺑﺖ
Control Box ﺻﻨﺪوق ﺗﺤﻜﻢ ،ﺻﻨﺪوق اﻷدوات
) (CStr
داﻟﺔ ﺗﺴﺘﺨﺪم ﻓﻲ اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﺴﻠﺴﻠﺔ اﻟﺤﺮﻓﯿﺔ اﻟﻤﻜﺎﻓﺌﺔ ﻟﻌﺪد
ﻣﻌﯿﻦ أو ﻟﻤﺘﻐﯿﺮ ﻋﺪدي
Current X اﻟﺒﻌﺪ اﻟﺤﺎﻟﻲ ﻟﻠﻜﺘﺎﺑﺔ أو اﻟﺮﺳﻢ ﻋﻦ اﻟﺤﺎﻓﺔ اﻟﯿﺴﺮي ﻟﻠﻜﺎﺋﻦ
Current Y اﻟﺒﻌﺪ اﻟﺤﺎﻟﻲ ﻟﻠﻜﺘﺎﺑﺔ أو اﻟﺮﺳﻢ ﻋﻦ اﻟﺤﺎﻓﺔ اﻟﯿﻤﻨﻲ ﻟﻠﻜﺎﺋﻦ
Customize ﺗﺨﺼﯿﺺ
Data Type ﻧﻮع اﻟﺒﯿﺎن )ﺣﺮﻓﻲ – ﻋﺪدي – (.....
DB Click
ﻧﻘﺮ ﻣﺰدوج ﺑﺎﻟﺰر اﻷﯾﺴﺮ ﻟﻠﻔﺄرة )ﺣﺪث(
)( Double Click
Defined Functions اﻟﺪوال اﻟﻤﻌﺮﻓﯿﺔ
Definition ﺗﻌﺮﯾﻒ اﻟﺪاﻟﺔ
Design Mode ﻧﻤﻂ اﻟﺘﺼﻤﯿﻢ
)Dim (Dimension إﻋﻼن ،ﺗﻌﺮﯾﻒ اﻟﻤﺨﺰن اﻟﻤﺘﻐﯿﺮ أو اﻟﻤﺼﻔﻮﻓﺔ )ﻛﻮد ﺑﺮﻣﺠﻲ(
Draw Width ﺳﻤﻚ ﺧﻂ اﻟﺮﺳﻢ داﺧﻞ اﻟﻜﺎﺋﻦ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Edit ﺗﺤﺮﯾﺮ )ﻗﺎﺋﻤﺔ ﻓﻲ ﺷﺮﯾﻂ اﻟﻘﻮاﺋﻢ(
Encapsulation اﻟﺘﻐﻠﯿﻒ
End إﻏﻼق أو إﻧﮭﺎء اﻟﺒﺮﻧﺎﻣﺞ )ﻛﻮد ﺑﺮﻣﺠﻲ(
End Sub إﻧﮭﺎء اﻹﺟﺮاء )ﻛﻮد ﺑﺮﻣﺠﻲ(
Enterprise Edition اﻟﻨﺴﺨﺔ اﻟﻤﺸﺮوﻋﺎت ﻟﺒﺮﻧﺎﻣﺞ اﻟﺒﯿﺰﯾﻚ اﻟﻤﺮﺋﻲ
Enum اﻟﺒﻨﺎءات
Event ﺣﺪث )ﯾﻘﻊ ﻋﻠﻲ ﻛﺎﺋﻦ وﯾﺘﺄﺛﺮ ﺑﮫ(
Event Driven Programs اﻟﺒﺮاﻣﺞ اﻟﻤﻮﺟﮭﺔ ﺑﺎﻷﺣﺪاث
١٩٥
Prog : Mohamed Youssef
ﺍﻟﻤﺼﻄﻠﺢ ﺍﻟﻤﻌﻨﻰ
Event Driven اﻻﺳﺘﺠﺎﺑﺔ ﻟﻸﺣﺪاث اﻟﺘﻲ ﺗﻘﻊ ﻋﻠﯿﮫ
Event Handler ﻣﻌﺎﻟﺞ اﻷﺣﺪاث
EXE File ﻣﻠﻒ ﺗﻨﻔﯿﺬي )اﻟﺒﺮﻧﺎﻣﺞ اﻟﻨﮭﺎﺋﻲ(
Expression ﺗﻌﺒﯿﺮ )ﻗﺪ ﯾﻜﻮن ﻧﺼﺎً أو ﺣﺴﺎﺑﺎً أو (......
False ﺧﻄﺄ
File ﻣﻠﻒ )ﻗﺎﺋﻤﺔ ﻓﻲ ﺷﺮﯾﻂ اﻟﻘﻮاﺋﻢ(
Fill Color ﻟﻮن ﺗﻈﻠﯿﻞ اﻟﺮﺳﻮﻣﺎت أو ﻟﻮن اﻟﺘﻌﺒﺌﺔ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Fill Style ﻧﻤﻂ ﺗﻈﻠﯿﻞ اﻟﺮﺳﻮﻣﺎت أو ﻟﻮن اﻟﺘﻌﺒﺌﺔ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
) ( Fix
داﻟﺔ ﺗﺴﺘﺨﺪم ﻓﻲ اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﺠﺰء اﻟﺼﺤﯿﺢ اﻟﻤﻮﺟﻮد ﻓﻲ ﻋﺪد
ﺣﻘﯿﻘﻲ ﻣﻌﯿﻦ
Font ﺧﻂ اﻟﻜﺘﺎﺑﺔ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
For..... Next ….. ﺣﻠﻘﺔ ﺗﻜﺮارﯾﺔ )ﻛﻮد ﺑﺮﻣﺠﻲ(
Fore Color ﻟﻮن اﻷﻣﺎﻣﯿﺔ ،ﻟﻮن ﺧﻂ اﻟﻜﺘﺎﺑﺔ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Form ﻧﻤﻮذج )اﻟﻜﺎﺋﻦ اﻟﺮﺋﯿﺴﻲ ﻓﻲ اﻟﺒﯿﺰﯾﻚ اﻟﻤﺮﺋﻲ(
Form Layout Window ﻧﺎﻓﺬة اﻟﺘﺨﻄﯿﻂ ﻟﻠﻨﻤﻮذج
Form Window ﻧﺎﻓﺬة اﻟﻨﻤﻮذج
[Link] ﺑُﻌﺪ ﻧﺎﻓﺬة اﻟﻨﻤﻮذج ﻋﻨﺪ ﺣﺎﻓﺔ اﻟﺸﺎﺷﺔ اﻟﻌﻠﯿﺎ )ﺧﺎﺻﯿﺔ ﻟﻠﻨﻤﻮذج(
FormBorderStyle اﻟﺘﺤﻜﻢ ﻓﻰ اﻷﻃﺎر )ﺧﺎﺻﯿﺔ ﻟﻠﻨﻤﻮذج(
Function داﻟﺔ – ﻟﻠﺤﺼﻮل ﻋﻠﻰ اﻟﻨﺘﯿﺠﺔ ﻗﺪ ﺗﻜﻮن )ﺣﺮﻓﯿﺔ ،ﻋﺪدﯾﺔ (..... ،
GroupBox وﻋﺎء ﺗﺠﻤﯿﻊ )أداة ﻣﻦ ﺻﻨﺪوق اﻷدوات(
Hardware اﻷﺟﮭﺰة اﻟﻤﺎدﯾﺔ
Height ارﺗﻔﺎع )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Help ﻣﺴﺎﻋﺪة
High Level Language اﻟﻠﻐﺔ ﻋﺎﻟﯿﺔ اﻟﻤﺴﺘﻮى )ﻟﻐﺔ ﯾﻔﮭﻤﮭﺎ اﻹﻧﺴﺎن(
Hscrollbar ﺷﺮﯾﻂ اﻟﺘﻤﺮﯾﺮ اﻷﻓﻘﻲ )أداة ﻣﻦ ﺻﻨﺪوق اﻷدوات(
HScrollbar -LargeChange
أﻛﺒﺮ ﺗﻐﯿﯿﺮ ﻓﻲ ﺷﺮﯾﻂ اﻟﺘﻤﺮﯾﺮ اﻻﻓﻘﻰ
)ﺧﺎﺻﯿﺔ ﻟﺸﺮﯾﻂ اﻟﺘﻤﺮﯾﺮ(
HScrollbar -SmallChange
أﻗﻞ ﺗﻐﯿﯿﺮ ﻓﻲ ﺷﺮﯾﻂ اﻟﺘﻤﺮﯾﺮ اﻻﻓﻘﻰ
)ﺧﺎﺻﯿﺔ ﻟﺸﺮﯾﻂ اﻟﺘﻤﺮﯾﺮ(
Icon رﻣﺰ أو أﯾﻘﻮﻧﺔ )ﺧﺎﺻﯿﺔ ﻟﻠﻨﻤﻮذج(
If….Then ….. Else…. ﺟﻤﻠﺔ ﺷﺮﻃﯿﺔ )ﻛﻮد ﺑﺮﻣﺠﻲ(
Image أداة رﺳﻢ )أداة ﻣﻦ ﺻﻨﺪوق اﻷدوات(
Image أﺿﺎﻓﺔ ﺻﻮرة اﻟﻰ ﻛﺎﺋﻦ )ﺧﺎﺻﯿﺔ ﻟﻠﻨﻤﻮذج(
Inheritance اﻟﺘﻮرﯾﺚ
) ( InputBox
داﻟﺔ ﺗﻌﺮض رﺳﺎﻟﺔ داﺧﻞ ﺻﻨﺪوق ﺣﻮار ،ﺛﻢ ﯾﻨﺘﻈﺮ ﻣﻦ اﻟﻤﺴﺘﺨﺪم
إدﺧﺎل ﻧﺺ أو اﻟﻨﻘﺮ ﻋﻠﻰ أي زر ﻣﻦ أزرار ﺻﻨﺪوق اﻟﺤﻮار.
١٩٦
Prog : Mohamed Youssef
ﺍﻟﻤﺼﻄﻠﺢ ﺍﻟﻤﻌﻨﻰ
) ( Instr
داﻟﺔ ﺗﺴﺘﺨﺪم ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻣﻜﺎن ﺣﺮف أو ﻣﻜﺎن ﻛﻠﻤﺔ ﻣﻄﻠﻮب
اﻟﺒﺤﺚ ﻋﻨﮭﺎ داﺧﻞ ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ ﻣﻌﯿﻨﺔ.
Integer ﻋﺪد ﺻﺤﯿﺢ )ﻧﻮع اﻟﺒﯿﺎن(
IntelliSense list أﺳﺘﺸﻌﺎر ذﻛﻲ )ھﻰ اﻟﻘﺎﺋﻤﺔ اﻟﺘﻰ ﺗﻈﮭﺮ ﻋﻨﺪ ﻛﺘﺎﺑﺔ اﻟﻜﻮد(
Interpreter اﻟﻤﻔﺴﺮ
Interval ﻓﺘﺮة زﻣﻨﯿﺔ ﻣﺴﺘﻐﺮﻗﺔ )ﺗﻔﺎوت ﻋﻠﻰ ﻓﺘﺮات ،ﺧﺎﺻﯿﺔ ﻟﻤﯿﻘﺎﺗﻲ(
Interval اﻟﺘﺤﻜﻢ ﻓﻰ اﻟﻮﻗﺖ اﻟﺘﻨﻔﯿﺬ )ﺧﺎﺻﯿﺔ ﻟﻠﻤﯿﻘﺎﺗﻰ(
Label Control أداة اﻟﻌﻨﻮان )أداة ﻣﻦ ﺻﻨﺪوق اﻷدوات(
Language ﻟﻐﺔ
) ( LCase داﻟﺔ ﺗﺴﺘﺨﺪم ﻟﺘﺤﻮﯾﻞ اﻟﺤﺮوف اﻹﻧﺠﻠﯿﺰﯾﺔ اﻟﻜﺒﯿﺮة إﻟﻲ اﻟﺼﻐﯿﺮة
Left ﯾﺴﺎر )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
) ( Len داﻟﺔ ﺗﺴﺘﺨﺪم ﻓﻲ اﻟﺤﺼﻮل ﻋﻠﻰ ﻃﻮل أي ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ
Limited looping اﻟﺘﻜﺮار اﻟﻤﺤﺪد
Line وﺳﯿﻠﺔ رﺳﻢ ﺧﻂ )ﻣﻦ وﺳﺎﺋﻞ اﻟﻨﻤﻮذج(
Load ﺗﺤﻤﯿﻞ اﻟﻨﻤﻮذج )إﺟﺮاءات اﻟﺤﺪث(
Logic - logical ﻣﻨﻄﻖ – ﻣﻨﻄﻘﻲ
Logical Operator اﻟﻤﻌﺎﻣﻼت اﻟﻤﻨﻄﻘﯿﺔ
Long ﻋﺪد ﺻﺤﯿﺢ ﻃﻮﯾﻞ )ﻧﻮع اﻟﺒﯿﺎن(
Long Integer
Low Level Language اﻟﻠﻐﺔ اﻟﻤﺘﺪﻧﯿﺔ -ﻣﻨﺨﻔﻀﺔ -اﻟﻤﺴﺘﻮى )ﻟﻐﺔ ﯾﻔﮭﻤﮭﺎ اﻟﻜﻤﺒﯿﻮﺗﺮ(
Macros اﻟﻤﺎﻛﺮو
Main Window اﻟﻨﺎﻓﺬة اﻟﺮﺋﯿﺴﯿﺔ
MaxButton زر ﺗﻜﺒﯿﺮ اﻟﻨﺎﻓﺬة )ﻣﻦ ﺧﺼﺎﺋﺺ اﻟﻨﻤﻮذج(
MDI ﻧﻤﻮذج واﺟﮭﺔ اﻟﻤﺴﺘﻨﺪ اﻟﻤﺘﻌﺪدة
Multiple Document Interface Form
Menu Bar ﺷﺮﯾﻂ اﻟﻘﻮاﺋﻢ
[Link] داﻟﺔ ﻋﺮض اﻟﺮﺳﺎﺋﻞ اﻟﺜﺎﺑﺘﺔ ﺑﺄى ﻃﺮق
Method وﺳﯿﻠﺔ
) ( Mid
داﻟﺔ ﺗﺴﺘﺨﺪم ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﺟﺰء ﻣﻦ ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ ﻣﻌﯿﻨﺔ ﺑﺪءًا ﻣﻦ
ﺣﺮف ﻣﻌﯿﻦ داﺧﻞ ھﺬه اﻟﺴﻠﺴﻠﺔ.
Min Button زر ﺗﺼﻐﯿﺮ اﻟﻨﺎﻓﺬة )ﻣﻦ ﺧﺼﺎﺋﺺ اﻟﻨﻤﻮذج(
Module وﺣﺪة ﻧﻤﻄﯿﺔ )ﺟﺰء اﻟﺒﺮﻣﺠﺔ(
Mouse Down زر اﻟﻔﺎرة ﻟﻠﻀﻐﻂ ﻋﻠﯿﮫ )ﺣﺪث ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Mouse Move ﺣﺮﻛﺔ زر اﻟﻔﺎرة )ﺣﺪث ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Mouse Up ﺗﺮك زر اﻟﻔﺎرة ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﯿﮫ )ﺣﺪث ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
) ( MsgBox داﻟﺔ ﺗﻌﺮض رﺳﺎﻟﺔ ﻓﻲ ﺻﻨﺪوق ﺣﻮار
MultiLine اﻟﻜﺘﺎﺑﺔ داﺧﻞ ﺻﻨﺪوق اﻟﻨﺼﻮص ﻓﻲ ﻋﺪة اﺳﻄﺮ )ﺧﺎﺻﯿﺔ ﻟﻠﻨﺺ(
١٩٧
Prog : Mohamed Youssef
ﺍﻟﻤﺼﻄﻠﺢ ﺍﻟﻤﻌﻨﻰ
Multimedia اﻟﻮﺳﺎﺋﻂ اﻟﻤﺘﻌﺪدة
Multiple Branching اﻟﺘﻔﺮع اﻟﻤﺘﻌﺪد
Name اﻻﺳﻢ اﻟﺒﺮﻣﺠﻲ ﻟﻠﻜﺎﺋﻦ )ﺧﺎﺻﯿﺔ ﻓﻲ ﺟﻤﯿﻊ اﻟﻜﺎﺋﻨﺎت (
Name Space ﻣﺠﺎﻻت اﻷﺳﻤﺎء
New Project ﻣﺸﺮوع ﺟﺪﯾﺪ
New Value اﻟﻘﯿﻤﺔ اﻟﺠﺪﯾﺪة اﻟﺘﻲ ﯾﺘﻢ إﺿﺎﻓﺘﮭﺎ ﻟﻠﺨﻮاص
Object ﻛﺎﺋﻦ
Object Behavior ﺳﻠﻮك اﻟﻜﺎﺋﻦ
Object Name اﺳﻢ اﻟﻜﺎﺋﻦ
Object Oriented Programming اﻟﺒﺮﻣﺠﺔ اﻟﻤﻮﺟﮭﺔ ﺑﺎﻷﺣﺪاث
OOP اﻟﺒﺮﻣﺠﺔ اﻟﻜﺎﺋﯿﻨﯿﺔ اﻟﺘﻮﺟﮭﯿﺔ -اﻟﺒﻨﺎﺋﯿﺔ -
Object Oriented Programming
Open Project ﻓﺘﺢ ﻣﺸﺮوع
Operator ﻣﻌﺎﻣﻞ
Options ﺧﯿﺎرات
Paint ﺣﺪث رﺳﻢ اﻟﻨﻤﻮذج ﻋﻠﻰ اﻟﺸﺎﺷﺔ )ﻛﻮد ﺑﺮﻣﺠﻲ(
Picture ﺻﻮرة )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Pointer اﻟﻤﺆﺷﺮ
Print وﺳﯿﻠﺔ ﻃﺒﺎﻋﺔ )ﻣﻦ وﺳﺎﺋﻞ اﻟﻨﻤﻮذج(
Procedure إﺟﺮاء
Professional Edition اﻟﻨﺴﺨﺔ اﻟﻤﺘﺨﺼﺼﯿﻦ ﻟﺒﺮﻧﺎﻣﺞ اﻟﺒﯿﺰﯾﻚ اﻟﻤﺮﺋﻲ
Project Explorer Window ﻧﺎﻓﺬة ﻣﺴﺘﻜﺸﻒ اﻟﻤﺸﺮوع
Project Window ﻧﺎﻓﺬة اﻟﻤﺸﺮوع
Properties Window ﻧﺎﻓﺬة اﻟﺨﺼﺎﺋﺺ
Puse Button ﺿﻐﻂ اﻟﺰر )ﻣﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ ،اﻟﻔﺎرة(
Radio Button زر اﺧﺘﯿﺎر )أداة ﻣﻦ ﺻﻨﺪوق اﻷدوات(
Randomize وﺳﯿﻠﺔ ﻟﺘﻮزﯾﻊ اﻟﺒﯿﺎﻧﺎت ﻋﺸﻮاﺋﯿﺎً
ReadOnly ﺟﻌﻞ اﻟﻜﺎﺋﻦ ﻟﻠﻘﺮاءة ﻓﻘﻂ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Rem ﺟﻤﻠﺔ ﻟﻮﺿﻊ ﺗﻌﻠﯿﻖ ﻋﻠﻰ اﻻﻛﻮاد اﻟﺒﺮﻣﺠﯿﺔ ﻓﻲ ﻧﺎﻓﺬة اﻟﺒﺮﻣﺠﺔ
) ( Replace
داﻟﺔ ﺗﺴﺘﺨﺪم ﻓﻲ ﻻﺳﺘﺒﺪال ﺣﺮف أو ﻛﻠﻤﺔ أو ﺟﺰء ﻣﻦ ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ
ﺑﺤﺮف آﺧﺮ أو ﻛﻠﻤﺔ أو ﺳﻠﺴﻠﺔ أﺧﺮى.
Reserved Functions اﻟﺪوال اﻟﻤﺤﻔﻮﻇﺔ
RightToLeft اﻟﺘﺤﻮﯾﻞ اﻻﺗﺠﺎة ﻣﻦ اﻟﯿﻤﯿﻦ أﻟﻰ اﻟﯿﺴﺎر )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
) ( Rnd
داﻟﺔ ﺗﺴﺘﺨﺪم ﻓﻲ ﺗﻮﻟﯿﺪ ﻋﺪد ﺣﻘﯿﻘﻲ ﻋﺸﻮاﺋﻲ ﻗﯿﻤﺘﮫ أﻛﺒﺮ ﻣﻦ أو
ﺗﺴﺎوي اﻟﺼﻔﺮ وأﻗﻞ ﻣﻦ اﻟﻮاﺣﺪ اﻟﺼﺤﯿﺢ.
Run ﺗﻨﻔﯿﺬ )ﻗﺎﺋﻤﺔ ﻓﻲ ﺷﺮﯾﻂ اﻟﻘﻮاﺋﻢ(
Run Mode ﻧﻤﻂ اﻟﺘﺸﻐﯿﻞ
١٩٨
Prog : Mohamed Youssef
ﺍﻟﻤﺼﻄﻠﺢ ﺍﻟﻤﻌﻨﻰ
Save Form ﺣﻔﻆ اﻟﻨﻤﻮذج
Save Project ﺣﻔﻆ اﻟﻤﺸﺮوع
Scale Height ﻋﺪد اﻟﻮﺣﺪات اﻟﺮأﺳﯿﺔ ﻟﻠﻜﺎﺋﻦ و ھﻲ اﻟﻤﺴﺘﺨﺪﻣﺔ ﻣﻊ اﻟﺮﺳﻮﻣﺎت
Scale Mode ﻧﻤﻂ وﺣﺪة اﻟﻘﯿﺎس ﻓﻲ اﻟﻜﺎﺋﻦ )ﺧﺎﺻﯿﺔ ﻟﻠﻨﻤﻮذج(
Scale Width ﻋﺪد اﻟﻮﺣﺪات اﻷﻓﻘﯿﺔ ﻟﻠﻜﺎﺋﻦ و ھﻲ اﻟﻤﺴﺘﺨﺪﻣﺔ ﻣﻊ اﻟﺮﺳﻮﻣﺎت
Screen Saver ﺷﺎﺷﺔ ﺗﻮﻗﻒ
Scrollbar – Max Value
) ( Maximum Value
أﻛﺒﺮ ﻗﯿﻤﺔ ﻟﺸﺮﯾﻂ اﻟﺘﻤﺮﯾﺮ
Scrollbar – Min Value
) ( Minimum Value
أﻗﻞ ﻗﯿﻤﺔ ﻟﺸﺮﯾﻂ اﻟﺘﻤﺮﯾﺮ
SDLC دورة ﺣﯿﺎة ﺗﻄﻮﯾﺮ اﻟﻨﻈﺎم
System Development Life Cycle
Select a control أﺧﺘﯿﺎر اﻟﺰر
Semi Colon اﻟﻔﺎﺻﻠﺔ اﻟﻤﻨﻘﻮﻃﺔ );(
Setup Project إﻋﺪاد اﻟﻤﺸﺮوع ﻟﻠﻨﺸﺮ
Single ﻋﺪدي ﺣﻘﯿﻘﻲ )ﻧﻮع اﻟﺒﯿﺎن(
Single Precision
أﺣﺎدى اﻟﺪﻗﺔ
Size Mode ﻧﻤﻂ ﻋﺮض اﻟﺼﻮرة ﻓﻰ اﻟﻜﺎﺋﻦ )ﺧﺎﺻﯿﺔ ﻟﺼﻨﺪوق اﻟﺼﻮر(
Snap Lines ﺧﻄﻮط اﻟﺰرﻗﺎء اﻟﺘﻰ ﺗﻈﮭﺮ ﻋﻨﺪ ﺿﺒﻂ اﻟﻤﺠﺎذاة اﻟﻜﺎﺋﻨﺎت
Snippets اﻻواﻣﺮ اﻟﺠﺎھﺰة ﻓﻰ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ٢٠٠٥
Software اﻟﺒﺮﻣﺠﯿﺎت
Solution اﻟﺤﻞ
Solution Explorer ﻧﺎﻓﺬة اﻟﺤﻞ
Source Program اﻟﺒﺮﻧﺎﻣﺞ اﻟﻤﺼﺪر
Special Symbols اﻟﺮﻣﻮز اﻟﺨﺎﺻﺔ
SQL ﻟﻐﺔ اﻻﺳﺘﻌﻼﻣﺎت اﻟﮭﯿﻜﻠﯿﺔ
Structured Query Language
Stander ﻗﯿﺎﺳﻲ
Stander Edition اﻟﻨﺴﺨﺔ اﻟﻘﯿﺎﺳﯿﺔ ﻟﺒﺮﻧﺎﻣﺞ اﻟﺒﯿﺰﯾﻚ اﻟﻤﺮﺋﻲ
Statement اﻟﺠُﻤﻞ اﻟﺒﺮﻣﺠﯿﺔ
Stretch ﺗﺤﺠﯿﻢ اﻟﺼﻮرة اﻟﻤﻮﺟﻮدة داﺧﻞ ﺻﻨﺪوق اﻟﺮﺳﻢ
String ﺑﯿﺎن ﻟﺴﻠﺴﻠﺔ ﻧﺼﯿﺔ
String Expressions اﻟﺘﻌﺒﯿﺮات اﻟﻨﺼﯿﺔ
Structured Programming اﻟﺒﺮﻣﺠﺔ اﻟﮭﯿﻜﻠﯿﺔ
Sub ﺑﺪاﯾﺔ اﻹﺟﺮاء
Symbol رﻣﺰ
Text Box Control أداة ﺻﻨﺪوق اﻟﻨﺺ
TextBox ﺻﻨﺪوق اﻟﻨﺺ )أداة ﻣﻦ ﺻﻨﺪوق اﻷدوات(
TextBox – Text ﺧﺎﺻﯿﺔ اﻟﻜﺘﺎﺑﺔ داﺧﻞ ﺻﻨﺪوق اﻟﻨﺺ
١٩٩
Prog : Mohamed Youssef
ﺍﻟﻤﺼﻄﻠﺢ ﺍﻟﻤﻌﻨﻰ
) ( TimeOfDay داﻟﺔ ﺗﺴﺘﺨﺪم ﻓﻰ اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﻮﻗﺖ ﻓﻰ اﻟﯿﻮم
Timer اﻟﺘﻮﻗﯿﺖ – اﻟﻤﯿﻘﺎﺗﻲ )أداة ﻣﻦ ﺻﻨﺪوق اﻷدوات(
Title Bar ﺷﺮﯾﻂ اﻟﻌﻨﻮان
Toolbar ﺷﺮﯾﻂ اﻷدوات
Toolbox ﺻﻨﺪوق أدوات
Tools أدوات )ﻗﺎﺋﻤﺔ ﻓﻲ ﺷﺮﯾﻂ اﻟﻘﻮاﺋﻢ(
True ﺻﻮاب
…… Try ….. Catch
ﻟﺘﻔﺎدى اﻻﺧﻄﺎء اﻟﻤﻨﻄﻘﯿﺔ واﻟﺒﺮﻣﺠﯿﺔ ﻓﻰ اﻟﺒﺮﻧﺎﻣﺞ )ﻗﻨﺺ
اﻻﺧﻄﺎء(
) ( UCase داﻟﺔ ﺗﺴﺘﺨﺪم ﻟﺘﺤﻮﯾﻞ اﻟﺤﺮوف اﻹﻧﺠﻠﯿﺰﯾﺔ اﻟﺼﻐﯿﺮة إﻟﻲ اﻟﻜﺒﯿﺮة
Unconditional Branching اﻟﺘﻔﺮع اﻟﻐﯿﺮ اﻟﻤﺸﺮوط
User Interface واﺟﮭﺔ اﻟﻤﺴﺘﺨﺪم
[Link] ﺷﺮﯾﻂ اﻟﺘﻤﺮﯾﺮ رأﺳﻲ
) ( Val
داﻟﺔ ﺗﺴﺘﺨﺪم ﻓﻲ اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﻘﯿﻤﺔ اﻟﻌﺪدﯾﺔ ﻟﺴﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ ﻣﻌﯿﻨﺔ
أو ﻣﺘﻐﯿﺮ ﺣﺮﻓﻲ
Value ﻗﯿﻤﺔ )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Variable ﻣﺘﻐﯿﺮ
View ﻋﺮض )ﻗﺎﺋﻤﺔ ﻓﻲ ﺷﺮﯾﻂ اﻟﻘﻮاﺋﻢ ﻣﻦ ﺧﻼﻟﮭﺎ إﻇﮭﺎر اﻟﻨﻮاﻓﺬ(
Visible ﻇﮭﻮر اﻟﻜﺎﺋﻦ أو إﺧﻔﺎؤه )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت(
Visual Basic اﻟﺒﯿﺰﯾﻚ اﻟﻤﺮﺋﻲ
Visual [Link] ﺣﺰﻣﺔ اﻟﺒﺮﻣﺠﺔ اﻟﺘﻰ ﺗﺤﺘﻮى ﻋﻠﻰ ﺑﺮﻧﺎﻣﺞ اﻟﺒﯿﺰﯾﻚ اﻟﻤﺮﺋﻰ
Web Portal اﻟﺒﻮاﺑﺔ اﻷﻟﻜﺘﺮوﻧﯿﺔ
Width ﻋﺮض )ﺧﺎﺻﯿﺔ ﻟﺒﻌﺾ اﻟﻜﺎﺋﻨﺎت ﻟﻘﯿﺎس أو ﻟﻀﺒﻂ ﻋﺮﺿﮭﺎ(
Working Area ﻧﺎﻓﺬة ﻣﻨﻄﻘﺔ ﻋﻤﻞ
٢٠٠
Prog : Mohamed Youssef
References
Books
ﻣﻮﻗﻊ ﻓﯿﺠﻮال ﺑﯿﺴﻚ ﻟﻠﻌﺮب ،ﻣﺠﻠﺔ ﻣﻮﻗﻊ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﻟﻠﻌﺮب ،اﻟﻌﺪد اﻷول ﻟﺸﮭﺮ ﯾﻨﺎﯾﺮ ، ٢٠٠٨إﻋﺪاد ﻓﺮﯾﻖ ﻋﻤﻞ -١
اﻟﻤﻮﻗﻊ.
ﻣﻨﺘﺪى ﻋﺮب ﻧﺎو ،دورة ﻛﺎﻣﻠﺔ ﻓﻰ ، [Link]ﺑﻮاﺳﻄﺔ . Youssef -٢
ﻣﻮﻗﻊ ﻛﺘﺐ اﻟﺤﺎﺳﺐ اﻟﻌﺮﺑﯿﺔ ،ﻃﺮﯾﻘﺔ ﺗﺼﻤﯿﻢ أﻟﮫ اﻟﺤﺎﺳﺒﺔ ﺑﺈﺳﺘﺨﺪام ، [Link]ﺗﺄﻟﯿﻒ .Visual Lover -٣
ﻣﻨﺘﺪى ﻋﺮب ﻧﺎو ،أﺣﺪث اﻟﺘﻄﺒﯿﻘﺎت ﻟﺒﺮﻧﺎﻣﺞ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ ، Application Events ٢٠٠٥ﺑﻮاﺳﻄﺔ -٤
.Kenana
ﻣﻮﻗﻊ اﻟﻌﺎﺻﻔﺔ ،ﺗﺤﺰﯾﻢ ﺑﺮاﻣﺞ اﻟﻔﯿﺠﻮال ﺳﺘﯿﺪﯾﻮ ٢٠٠٥ﻋﻤﻞ اﻟـ ، Setupاﻟﻜﺎﺗﺐ اﻻﻣﺒﺮاﻃﻮر .XMT -٥
ﻣﻨﺘﺪى اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ﻟﻠﻌﺮب ،ﻓﻰ رﺣﺎب ، .Net Frameworkإﻋﺪاد ﻓﺮﯾﻖ أﻋﻀﺎء اﻟﻤﻨﺘﺪى. -٦
ﻣﻨﺘﺪى اﻟﻤﺤﯿﻂ اﻟﻌﺮﺑﻰ ،ﺗﻌﻘﺐ وﺗﺼﺤﯿﺢ اﻻﺧﻄﺎء ﻓﻰ اﻟﺪوت ﻧﺖ ،إﻋﺪاد ﻋﻼء ﺟﻤﻌﮫ. -٧
اﻟﻤﻮﺳﻮﻋﺔ اﻟﻌﺮﺑﯿﺔ ﻟﻠﻜﻤﺒﯿﻮﺗﺮ و اﻹﻧﺘﺮﻧﺖ ،ﻗﺴﻢ اﻟﺪورات اﻟﺘﻌﻠﯿﻤﯿﺔ ،ﺳﻠﺴﺔ ﻛﺘﺐ اﻟﺪورات اﻟﺘﻌﻠﯿﻤﯿﺔ اﻻﻟﻜﺘﺮوﻧﯿﺔ ، -٨
ﻣﺪﺧﻞ إﻟﻰ ، [Link]ﺗﺄﻟﯿﻒ ﺷﺎﻛﺮ ،ﺗﺠﻤﯿﻊ ﻓﺮﯾﻖ ﺑﯿﻮﻛﻮم ﻟﻠﺘﻜﻨﻮﻟﻮﺟﯿﺎ.
ﺷﺒﻜﺔ اﻟﻤﻄﻮرون اﻟﻌﺮب ،ﺑﺮﻣﺠﺔ أﻃﺎرﻋﻤﻞ ﺑﺈﺳﺘﺨﺪام ، Visual [Link]إﻋﺪاد ﺗﺮﻛﻰ اﻟﻌﺴﯿﺮى. -٩
ﻣﻨﺘﺪى اﻟﻔﺮﯾﻖ اﻟﻌﺮﺑﻰ ﻟﻠﺒﺮﻣﺠﺔ ،اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺼﻮر و اﻟﺮﺳﻢ ،إﻋﺪاد أ /ﻋﺒﺪ اﻟﺮﺣﻤﻦ ،أ /ﻓﮭﻤﻰ ﯾﺎﺳﯿﻦ. -١٠
ﻣﻮﻗﻊ ﻛﺘﺐ اﻟﺤﺎﺳﺐ اﻟﻌﺮﺑﯿﺔ ،ﺗﻌﻠﻢ ﻟﻐﺔ Visual Basicﻟﻠﻤﺒﺘﺪﺋﯿﻦ و اﻟﻤﺘﻮﺳﻄﯿﻦ ،ﺗﺄﻟﯿﻒ ﺣﺴﻦ ﻋﺜﻤﺎن ﻗﺤﻮم. -١١
اﻟﻤﺮﻛﺰ اﻟﻌﺎﻟﻰ ﻟﻠﻤﮭﻦ اﻟﺸﺎﻣﻠﺔ درﻧﺔ ،ﻗﺴﻢ اﻟﺤﺎﺳﻮب ،ﻣﻠﺨﺼﺎت ﻓﻰ ، Visual [Link] 2003إﻋﺪاد ﻣﻈﮭﺮ رﺷﯿﺪ. -١٢
ﻣﻮﻗﻊ ﻛﺘﺐ اﻟﺤﺎﺳﺐ اﻟﻌﺮﺑﯿﺔ ،ﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻣﻜﺘﯿﺔ ) ، ADO (OLEDBﺗﺄﻟﯿﻒ ﺳﺎﻣﺢ ﺳﻨﻮﺳﻰ. -١٣
ﺗﻌﻠﻢ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ ، ٢٠٠٥اﻻﺻﺪارة اﻷوﻟﻰ ،ﺗﺄﻟﯿﻒ ﻣﺤﻤﺪ ﻋﻠﻰ ﻛﻨﯿﻔﻮ. -١٤
ﺗﻌﻠﻢ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ ، ٢٠٠٥اﻻﺻﺪارة اﻟﺜﺎﻧﯿﺔ ،ﺗﺄﻟﯿﻒ ﻣﺤﻤﺪ ﻋﻠﻰ ﻛﻨﯿﻔﻮ. -١٥
ﻣﺤﺎﺿﺮات ﻣﺎدة ) [Link] 2005ﻧﻈﺮى -ﻋﻤﻠﻰ ( ،ﺗﺄﻟﯿﻒ أ.م.ﻣﺤﻤﺪ اﻟﺤﺎج. -١٦
إﻋﺪاد اﻟﻔﯿﺠﻮال ﺳﺘﯿﺪﯾﻮ ،٢٠٠٥ﺗﺄﻟﯿﻒ ﻏﺪﯾﺮ ﺳﮭﯿﻞ ﻣﺤﻤﺪ. -١٧
ﻣﺪﺧﻞ إﻟﻰ ، Visual [Link] 2005إﻋﺪاد ﻣﺤﻤﻮد ﺻﻘﺮ. -١٨
ﻣﻘﺪﻣﺔ ﻓﻰ اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ ، ٢٠٠٥اﻟﻄﺒﻌﺔ اﻻوﻟﻰ ، ٢٠٠٦ﺗﺮﺟﻤﺔ ﻣﮭﻨﺪس ﻣﺤﻤﺪ ﻋﻠﻰ ﯾﻮﺳﻒ. -١٩
ﻛﯿﻔﯿﺔ ﺗﺤﺰﯾﻢ ﺑﺮاﻣﺞ ، [Link] 2005اﻟﻜﺎﺗﺐ ﻏﯿﺮ ﻣﻌﺮوف. -٢٠
أﻧﺸﺎء ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت SQLﺑﺒﺮﻧﺎﻣﺞ ، [Link] 2005ﺗﺄﻟﯿﻒ .Ahmed Hattar -٢١
ﺗﺤﺰﯾﻢ اﻟﺒﺮاﻣﺞ ﺑﺎﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ ، ٢٠٠٥ﺗﺄﻟﯿﻒ . Fahmyessia -٢٢
اﻟﻮﺟﯿﺰ ﻓﻰ اﻟﺠﺪﯾﺪ ،أﺳﺘﺜﻤﺮ اﻟﻠﻐﺔ ﺑﻜﻞ ﻃﺎﻗﺘﮭﺎ ، Visual [Link] 2005اﻟﻄﺒﻌﺔ اﻻوﻟﻰ ، ٢٠٠٥ﺗﺄﻟﯿﻒ ﻣﺤﻤﺪ ﻋﺒﺪ -٢٣
اﻟﻨﺎﺻﺮ ﺧﻄﯿﺐ.
، Programming with [Link]إﻋﺪاد ﻣﮭﻨﺪس ﻣﺤﻤﺪ ﺟﻮدة ﺣﻤﺎﯾﻞ. -٢٤
دورة اﻟﻔﯿﺠﻮال ﺑﯿﺴﻚ دوت ﻧﺖ اﻟﺸﺎﻣﻠﺔ " ، "Step By Stepﺗﺄﻟﯿﻒ ﻣﺤﻤﺪ اﻟﺸﮭﺮى. -٢٥
ﻣﻦ اﻟﺼﻔﺮ إﻟﻰ اﻻﺣﺘﺮاف ، [Link]إﻋﺪاد ﻣﺤﻤﺪ ﺣﻤﺪى ﻏﺎﻧﻢ. -٢٦
ﺗﻌﻠﻢ إﻧﺸﺎء ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ، SQL Server 2005اﻟﻜﺎﺗﺐ ﻏﯿﺮ ﻣﻌﺮوف. -٢٧
ﻣﻘﺪﻣﺔ ﻋﺎﻣﺔ ﻟﻠﻐﺎت اﻟﺒﺮﻣﺠﺔ ،إﻋﺪاد ط /ﻋﻤﺎر اﻟﺘﺮك. -٢٨
٢٠١
Prog : Mohamed Youssef
Web Sites
1- [Link]
2- [Link]
3- [Link]
4- [Link]
5- [Link]
6- [Link]
7- [Link]
8- [Link]
9- [Link]
10- [Link]
11- [Link]
12- [Link]
13- [Link]
14- [Link]
15- [Link]
16- [Link]
17- [Link]
18- [Link]
19- [Link]
20- [Link]
21- [Link]
22- [Link]
23- [Link]
24- [Link]
25- [Link]
26- [Link]
27- [Link]
28- [Link]
29- [Link]
30- [Link]
31- [Link]
32- [Link]
33- [Link]
34- [Link]
35- [Link]
36- [Link]
٢٠٢
Prog : Mohamed Youssef
٢٠٣