You are on page 1of 109

‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫ﺑﺴﻢ ﷲ اﻟﺮﺣﻤﻦ اﻟﺮﺣﯿﻢ‬

‫‪m‬‬
‫ﻟﻤﺴﺎت ﺑﺮﻣﺠﯿﺔ‬

‫‪3- .co‬‬
‫‪o‬‬
‫ﺗﻘﺪﯾﻢ ‪:‬‬
‫أﻗﺪم ﻟﻜﻢ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻮرﯾﻘﺎت ﻣﻦ ﺗﺎﻟﯿﻔﻲ ﻓﻲ ﻣﺠﺎل اﻟﺒﺮﻣﺠﺔ ﻓﻲ ﻟﻐﺔ اﻟﺪﻟﻔﻲ‬

‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫وھﻲ ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻤﺤﺎوﻻت اﻟﺴﺎﺑﻘﺔ ﻛﺎﻧﺖ ﻣﺘﻔﺮﻗﺔ ‪ /‬ﻣﻦ طﺮﻓﻲ ﻗﻤﺖ ﺑﺘﺠﻤﯿﻌﮭﺎ ﻓﻲ ﻛﺘﺎب واﺣﺪ‬
‫‪0- ya‬‬
‫ﻓﺄرﺟﻮ أن ﺗﻨﺎل إﻋﺠﺎﺑﻜﻢ ‪:‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫إھﺪاء‬
‫أھﺪي ھﺬا اﻟﻌﻤﻞ اﻟﻤﺘﻮاﺿﻊ إﻟﻰ اﻟﻮاﻟﺪﯾﻦ اﻟﻜﺮﯾﻤﯿﻦ وأﺳﺄل اﻟﻤﻮﻟﻰ ﻋﺰ وﺟﻞ أن ﯾﺘﻘﺒﻠﮫ ﻛﺼﺪﻗﺔ ﺟﺎرﯾﺔ ﻋﻠﯿﮭﻤﺎ‬
‫‪l 0 de‬‬

‫وﻋﻠﯿﻨﺎ أﺟﻤﻌﯿﻦ‬
‫و إﻟﻰ ‪...‬‬
‫ﻧﺎس ﻋﯿﻦ اﻟﺤﺠﻞ‬
‫‪a‬‬

‫ﻧﺎس اﻟﻤﻌﺎﺿﯿﺪ‬
‫إﻟﻰ ﺑﻮﻏﺮارة اﻟﺼﺪﯾﻖ ‪/‬ﻣﺤﻤﺪ ﺟﻤﻌﻲ ‪/‬ﺑﻜﺮي زھﯿﺮ‪./‬‬
‫_‬
‫‪bi‬‬

‫إھﺪاء ﺧﺎص إﻟﻰ ذات اﻟﺮداء اﻷﺣﻤﺮ‬


‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪1‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﺗﺤﯿﺔ ﺑﺮﻣﺠﯿﺔ وﺑﻌﺪ ‪:‬‬
‫أﻗﺪم ﻟﻜﻢ أول ھﻤﺴﺎﺗﻲ اﻟﺒﺮﻣﺠﯿﺔ ﻓﻲ دﻟﻔﻲ‬

‫‪m‬‬
‫ﻣﻘﺪﻣﺔ‪:‬‬
‫ﻣﻊ ﺗﻘﺪم اﻟﺘﻄﻮر اﻟﺬي ﺷﮭﺪه ﺟﺎﻧﺐ اﻟﻤﻌﻠﻮﻣﺎﺗﯿﺔ و اﻹﻋﻼم اﻵﻟﻲ ﻓﻲ ﺟﻤﯿﻊ اﻟﺠﻮاﻧﺐ ﺧﺎﺻﺔ ﻣﻨﮭﺎ ﻓﻲ‬
‫ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ اﻟﺤﺪﯾﺜﺔ ﺣﯿﺚ ﻋﻨﺪﻣﺎ ﻛﺎﻧﺖ اﻟﺒﺮﻣﺠﺔ ﻓﻲ اﻟﺒﺪاﯾﺔ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﻟـــــــــﻐﺎت ﺑﺮﻣﺠﺔ ﺑﺪاﺋﯿﺔ‬

‫‪3- .co‬‬
‫وأﺳﺎﺳﯿﺔ ﻣﺜﻞ ‪:‬‬
‫• ‪Cobol‬‬
‫‪Pascal‬‬ ‫•‬
‫• ‪Fortran‬‬

‫‪o‬‬
‫• ‪Clipper‬‬

‫‪o‬‬
‫• ‪Dbase3+‬‬

‫‪08‬‬
‫اﻟﺦ ﻣﻦ اﻟﻠﻐﺎت اﻟﻌﺘﯿﻘﺔ ﻓﻲ ﻋﻤﻠﮭﺎ واﻷﺳﺎﺳﯿﺔ ﻓﻲ ﻣﻌﻄﯿﺎﺗﮭﺎ وأواﻣﺮھﺎ وان ﻏﺎﻟﺐ اﻟﻠﻐﺎت اﻟﺤﺪﯾﺜﺔ ……‬

‫‪88 h‬‬
‫ﻋﻠﻰ ﺗﻌﺘﻤﺪ أﺳﺎﺳﺎ ﻋﻠﻰ اﻟﻠﻐﺎت اﻟﻘﺪﯾﻤﺔ ﻣﻦ ﻧﺎﺣﯿﺔ ﺑﻨﯿﺔ اﻷواﻣﺮ و اﻟﻤﻌﻄﯿﺎت و ﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﺴﺎﺋﻞ‬
‫‪0- ya‬‬
‫اﻟﺘﻲ ظﮭﺮت ﻣﻦ طﺮف ﺷﺮﻛﺔ ﺑﻮر ﻟﻨﺪ ‪ Pascal‬ﻧﺬﻛﺮ ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻟﻐﺔ ﺑﺎﺳﻜﺎل‬
‫وﺗﻌﺘﺒﺮ ﻟﻐﺔ اﻟﺒﺮﻣﺠﺔ دﻟﻔﻲ اﻣﺘﺪاد ﻟﻠﻐﺔ ﺑﺎﺳﻜﺎل إن ﺻﺢ اﻟﺘﻌﺒﯿﺮ ﺛﻢ إن اﻟﻠﻐﺔ اﻟﻤﺼﺪر ﺑﺎﺳﻜﺎل ﻣﺎزاﻟﺖ ﻋﻠﻰ‬
‫ﺣﺎﻟﮭﺎ اﻟﻘﺪﯾﻤﺔ وﻣﺎزاﻟﺖ ﺗﺪرس ﻓﻲ اﻟﺠﺎﻣﻌﺎت و اﻟﻤﻌﺎھﺪ ﻧﻈﺮا ﻷھﻤﯿﺘﮭﺎ ﻓﻲ اﻟﺘﻮاﻓﻖ ﻣﻊ ﺑﻨﯿﺔ ﺑﺮﻧﺎﻣﺞ‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫اﻟﺨﻮار زم‬


‫ﺣﯿﺚ ﺳﻨﮭﺘﻢ ﺑﻜﯿﻔﯿﺔ إﻧﺸﺎء وﻧﺤﻦ ﺑﺼﺪد ﺗﻘﺪﯾﻢ ﻛﯿﻔﯿﺔ إﻧﺸﺎء ﺑﻌﺾ اﻟﺒﺮاﻣﺞ ﻓﻲ ﻟﻐﺔ دﻟﻔﻲ اﻹﺻﺪار‬
‫ﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻣﺮﻛﺒﺎت دﻟﻔﻲ واﺳﺘﻐﻼﻟﮭﺎ ﻓﻲ إﻧﺘﺎج ﺑﺮاﻣﺞ ﻣﮭﻤﺔ ﻓﻲ ﺷﺘﻰ (وإﻧﺘﺎج ﻋﺪة ﺗﻄﺒﯿﻘﺎت ﻋﻤﻮﻣﺎ‬
‫‪l 0 de‬‬

‫‪) ...‬اﻟﻤﯿﺎدﯾﻦ‬
‫‪ -‬إن ھﺬه اﻟﻤﻌﻄﯿﺎت ﻣﻮﺟﮭﺔ إﻟﻰ ﻣﻦ ﻟﮭﻢ ﺧﺒﺮة وﻟﻮ ﺳﻄﺤﯿﺔ ﻓﻲ ﻟﻐﺔ دﻟﻔﻲ‬
‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪2‬‬
‫‪la‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬
‫‪ou‬‬
‫‪bi‬‬
‫‪te‬‬ ‫_‬ ‫‪a‬‬
‫‪l 0 de‬‬
‫@‪79 l‬‬
‫‪0- ya‬‬
‫‪88 h‬‬
‫‪-0‬‬ ‫‪o‬‬ ‫‪o‬‬
‫‪3- .co‬‬
‫‪08‬‬ ‫‪m‬‬
‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪3‬‬
‫ﺑﻨﯿﺔ ﺑﺮﻧﺎﻣﺞ دﻟﻔﻲ‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫ﺑﻨﯿﺔ ﻣﺤﺮر اﻷواﻣﺮ‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬

‫ﺗﻌﺮﯾﻔﺎت‪:‬‬
‫‪ou‬‬

‫‪1-‬ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ‪:‬وھﻮ ﺑﺮﻧﺎﻣﺞ ﻓﺮﻋﻲ ﻓﻲ دﻟﻔﻲ ﯾﺤﻮي ﺟﻤﯿﻊ اﻟﺨﺼﺎﺋﺺ اﻟﻤﺘﻌﻠﻘﺔ ﺑﻜﻞ ﻣﺮﻛﺒﺔ ﻓﻲ دﻟﻔﻲ‬
‫ﺣﯿﺚ أن ھﺬه اﻟﺨﺼﺎﺋﺺ ﺗﺨﺘﻠﻒ ﻣﻦ ﻣﺮﻛﺒﺔ إﻟﻰ أﺧﺮى ﻣﻦ ﻧﺎﺣﯿﺔ اﻟﻤﻨﮭﺞ أو اﻟﺤﺪث ‪.....‬‬
‫‪te‬‬
‫‪la‬‬

‫‪2-‬اﻟﻨﺎﻓﺪة ‪:‬وھﻲ ﻣﺠﺎل ﺗﻮﺿﻊ اﻟﻤﺮﻛﺒﺎت و إن ﺻﺢ اﻟﺘﻌﺒﯿﺮ اﻟﺠﺎﻧﺐ اﻟﻮﺣﯿﺪ ﻣﻦ دﻟﻔﻲ اﻟﺬي ﯾﻈﮭﺮ ﻋﻨﺪﻣﺎ ﯾﺘﻢ‬
‫ﺗﻨﻔﯿﺬ ﺗﻄﺒﯿﻖ ﻣﺎ ﻣﻦ ﻧﻮع ﺗﻨﻔﯿﺬ‪(fishier executable).‬‬

‫‪4‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫‪3-‬ﺷﺮﯾﻂ ﻗﻮاﺋﻢ اﻟﻤﺮﻛﺒﺎت ‪:‬وھﻮ ﯾﺸﺒﮫ ﻓﻲ ﺑﻨﯿﺘﮫ ‪,‬اﻟﺒﻨﯿﺔ اﻟﻌﺎﻣﺔ ﻟﻠﻘﻮاﺋﻢ ﻓﻲ أي ﺑﺮﻧﺎﻣﺞ وﯾﺤﺘﻮي ﻋﻠﻰ اﻟﻤﺮﻛﺒﺎت‬
‫اﻟﻤﺘﻮﻓﺮة ﻓﻲ دﻟﻔﻲ وﯾﺘﻢ ﺗﺮﺗﯿﺒﮭﺎ ﺑﺎﻟﻤﺠﻤﻮﻋﺔ ﺣﺴﺐ اﻟﺪور واﻟﻤﮭﻤﺔ اﻟﻤﺸﺘﺮﻛﺔ ‪,‬أﺿﻒ إﻟﻰ ذﻟﻚ ﺑﻌﺾ اﻷزرار‬
‫اﻟﻤﺴﺘﻘﻠﺔ ﻣﺜﻞ ﺣﻔﻆ ﺗﻨﻔﯿﺬ‪.....‬اﻟﺦ‪.‬‬

‫‪m‬‬
‫‪4-‬ﻣﺤﺮر اﻷواﻣﺮ ‪ :‬وھﻮ ﻣﺠﺎل ﻛﺘﺎﺑﺔ وﺗﺤﺮﯾﺮ اﻷواﻣﺮ ﻓﻲ دﻟﻔﻲ ‪5‬‬

‫‪3- .co‬‬
‫ﻣﻼﺣﻈﺔ‪:‬‬
‫ﻟﺘﺴﮭﯿﻞ اﻟﺪﻻﻟﺔ ﻋﻠﯿﮭﺎ )‪(x‬ھﻨﺎك ﺑﻌﺾ اﻟﻤﺮﻛﺒﺎت اﻟﺘﻲ ﻻ ﺗﻈﮭﺮ أﺛﻨﺎء اﻟﺘﻨﻔﯿﺬ وﻧﺮﻣﺰ ﻟﮭﺎ ﻣﺜﻼ ﺑﺎﻟﺮﻣﺰ‬
‫‪.‬ﻓﻲ اﻟﺠﺪول اﻟﺘﺎﻟﻲ ﯾﺤﺘﻮي ﻋﻠﻰ وﺻﻒ ﻟﺒﻌﺾ اﻟﻤﺮﻛﺒﺎت‬

‫‪o‬‬
‫‪.‬ﺳﻮف ﻧﺤﺎول إﻋﻄﺎء ﻣﻔﮭﻮم ﻟﺒﻌﺾ اﻟﻤﺮﻛﺒﺎت اﻟﺘﻲ ﺳﻮف ﻧﻘﻮم ﺑﺈﺟﺮاء اﻟﺘﻄﺒﯿﻘﺎت اﻟﻘﺎدﻣﺔ ﻋﻠﯿﮭﺎ‬

‫‪o‬‬
‫ز اﻟﻢرﻛﺒﺔ اﻟﺘﺴﻤﯿﺔ‬

‫‪08‬‬
‫اﻟﺪﻻﻟﺔ‬
‫‪ x‬ﻹﻧﺸﺎء ﻗﺎﺋﻤﺔ ﻓﺮﻋﯿﺔ ﻓﻲ ﺗﻄﺒﯿﻖ ﻣﺎ‬

‫‪88 h‬‬
‫‪0- ya‬‬ ‫‪2 x‬ﻹﻧﺸﺎء اﻟﻘﻮاﺋﻢ ﻓﻲ دﻟﻔﻲ اﻟﺸﻜﻞ‬
‫‪ Label‬وھﻲ ﻣﺮﻛﺒﺔ ﺗﺴﺘﻌﻤﻞ ﻟﻠﺪﻻﻟﺔ أ و اﻟﻌﺮض‬
‫ﻣﺮﻛﺒﺔ ﺣﺠﺰ اﻟﻤﻌﻄﯿﺎت وﻋﺮﺿﮭﺎ‬ ‫‪Edit‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﻟﺤﺠﺰ اﻟﻨﺼﻮص وﻋﺮﺿﮭﺎ‬


‫ﻣﺮﻛﺒﺔ ﺗﻨﻔﯿﺬ‬ ‫‪Button‬‬
‫‪Memo‬‬

‫ﻣﺮﻛﺒﺔ ﺗﻨﻔﯿﺬ‬ ‫‪Radiogroup1‬‬


‫‪l 0 de‬‬

‫وھﻲ ﻋﺒﺎرة ﻋﻦ ﻣﺮﻛﺒﺔ ﯾﻤﻜﻦ ﺗﺸﻜﯿﻞ ﻗﺎﺋﻤﺔ ﺑﮭﺎ ﻻﺳﺘﻐﻼھﺎ ﻓﻲ‬ ‫‪Combobox‬‬
‫ﺗﻨﻔﯿﺬ اﻷواﻣﺮ‬
‫إطﺎر ﺗﻨﻈﯿﻢ‬
‫‪a‬‬

‫‪Groupbox‬‬
‫إطﺎر ﺗﻨﻈﯿﻢ ﯾﺤﺘﻮي ﻋﻠﻰ ﺗﻌﺪاد ﻧﻜﻲ آو رﻗﻤﻲ‬ ‫‪Radiobox‬‬
‫_‬

‫ﻣﺮﻛﺒﺔ ﺗﻨﻈﯿﻢ وﻋﺮض‬ ‫‪Panel‬‬


‫‪bi‬‬

‫ﯾﺤﺘﻮى ﻋﻠﻰ أﯾﻘﻮﻧﺔ ﻟﻠﺪﻻﻟﺔ ﯾﻜﻮن ‪)(button‬ﻟﮫ ﻧﻔﺲ ﻋﻤﻞ اﻟﺰر‬ ‫‪Button2‬‬
‫ﺗﻐﯿﯿﺮھﺎ ﺣﺴﺐ طﺒﯿﻌﺔ ﻋﻤﻞ اﻟﺰر‬
‫‪ou‬‬

‫ﯾﺤﺘﻮى ﻋﻠﻰ أﯾﻘﻮﻧﺔ ﻟﻠﺪﻻﻟﺔ ﯾﻜﻮن ‪)(button‬ﻟﮫ ﻧﻔﺲ ﻋﻤﻞ اﻟﺰر‬ ‫‪Speed button‬‬
‫ﺗﻐﯿﯿﺮھﺎ ﺣﺴﺐ طﺒﯿﻌﺔ ﻋﻤﻞ اﻟﺰر ﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ اﻧﻌﺪام اﻟﺪﻻﻟﺔ‬
‫‪te‬‬

‫ﻹدراج ﺻﻮرة‬ ‫‪Image‬ه‬


‫‪la‬‬

‫ﻹدراج ﺷﻜﻞ ﻣﻌﯿﻦ‬ ‫‪Shape‬‬


‫ﻟﻌﺮض اﻟﺘﺎرﯾﺦ و اﻟﻮﻗﺖ‬ ‫‪Datetimepicker1‬‬
‫)ﺑﺎﻟﺜﺎﻧﯿﺔ(ﻣﺮﻛﺒﺔ ﻟﺘﻨﻔﯿﺬ أﻣﺮ ﻣﺎ ﺣﺴﺐ اﻟﻨﺒﻀﺔ‬ ‫‪Timer‬‬

‫‪5‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫ﺑﻌﺾ اﻟﻤﺮﻛﺒﺎت اﻟﺨﺎﺻﺔ ﺑﻘﻮاﻋﺪ اﻟﻤﻌﻄﯿﺎت ‪:‬‬

‫‪m‬‬
‫اﻟﺪﻻﻟﺔ‬ ‫اﻟﺘﺴﻤﯿﺔ‬ ‫اﻟﻤﺮﻛﺒﺔ‬
‫ﻟﺮﺑﻂ ﺟﺪول ﺑﻌﻨﺎﺻﺮ اﻟﻌﺮض و اﻟﺤﺠﺰ‬ ‫‪Data source‬‬

‫‪3- .co‬‬
‫ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬ ‫‪Table‬‬
‫ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ أواﻣﺮ ‪SQL‬‬ ‫‪Query‬‬
‫ﻟﻌﺮض ﺑﯿﺎﻧﺎت ﻗﺎﻋﺪة ﻣﻌﻄﯿﺎت ﻣﺎ ﻋﻠﻰ ﺷﻜﻞ ﺟﺪول‬ ‫‪Dbgrid‬‬

‫‪o‬‬
‫ﻹﺟﺮاء ﻋﻤﻠﯿﺎت اﻟﺘﺤﯿﯿﻦ ﻋﻠﻰ ﻗﺎﻋﺪة ﻣﻌﻄﯿﺎت‬ ‫‪Dbvigateur‬‬

‫‪o‬‬
‫‪08‬‬
‫)‪..........‬ﺣﺬف‪.‬ﺗﻐﯿﯿﺮ‪.‬إﺿﺎﻓﺔ(ﻣﺎ‬
‫ﻟﻌﺮض ﻗﯿﻤﺔ ﻣﻦ ﺣﻘﻞ ﻟﻘﺎﻋﺪة ﻣﻌﻄﯿﺎت ﻣﺎ‬

‫‪88 h‬‬
‫‪Dbtext‬‬
‫ﻟﻌﺮض ﻗﯿﻢ ﺣﻘﻮل ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﻣﺎ‬ ‫‪Dbedit‬‬
‫‪0- ya‬‬
‫ﻟﻌﺮض ﺻﻮرة ﻓﻲ ﺣﻘﻞ ﻟﻘﺎﻋﺪة ﺑﯿﺎﻧﺎت ﻣﺎ‬ ‫‪Dbimage‬‬
‫ﻟﻌﺮض ﻣﻌﻄﯿﺎت ﺣﻘﻞ‬ ‫‪Dblookupcombobo‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫اﻟﺤﺪث ‪:‬وﯾﻘﺼﺪ ﺑﮫ ﺗﻨﻔﯿﺬ أﻣﺮ ﻣﺎ ﻋﻨﺪ ﺣﺎﻟﺔ ﻣﺎ‬


‫إﻟﯿﻚ اﻟﺼﯿﻐﺔ اﻟﺘﺎﻟﯿﺔ ‪:‬ﻋﻨﺪﻣﺎ ﯾﺤﺪث اﻓﻌﻞ أو ﻧﻔﺬ‪.‬‬
‫ﻣﺜﺎل ‪:‬ﻋﻨﺪﻣﺎ ﺗﺪق اﻟﺴﺎﻋﺔ اﻟﻌﺎﺷﺮة ﻟﯿﻼ ﻗﻢ ﺑﺈﻏﻼق اﻟﻤﺤﻞ ﻣﺜﺎل ﻓﻲ دﻟﻔﻲ‬
‫‪l 0 de‬‬

‫ﺣﺪث ﻋﻠﻰ ﻧﺎﻓﺬة;‪on show - form1.color:=clred‬‬ ‫‪1-‬‬


‫ﺷﺮح اﻟﺤﺪث ‪:‬ھﻨﺎ ﯾﻘﺼﺪ ﺑﮭﺬا اﻟﺤﺪث ‪:‬ﻋﻨﺪ ظﮭﻮر اﻟﻨﺎﻓﺬة ﻟﻮﻧﮭﺎ ﺑﺎﻟﻠﻮن اﻷﺣﻤﺮ‬
‫‪a‬‬

‫*اﻟﺠﺪول اﻟﺘﺎﻟﻲ ﯾﺤﺘﻮي ﻋﻠﻰ ﺑﻌﺾ اﻷﺣﺪاث اﻟﻜﺜﯿﺮ ة اﻻﺳﺘﺨﺪام ﻓﻲ دﻟﻔﻲ‪:‬‬


‫_‬

‫اﻟﺪﻻﻟﺔ‬ ‫اﻟﺤﺪث‬
‫‪bi‬‬

‫ﻋﻨﺪ اﻟﻈﮭﻮر‬ ‫‪on show‬‬


‫ﻋﻨﺪ اﻹﻏﻼق‬ ‫‪on close‬‬
‫‪ou‬‬

‫ﻋﻨﺪا ﯾﺘﺤﺮك ﻣﺆﺷﺮ اﻟﻔﺄرة‬ ‫‪on mouse move‬‬


‫ﻋﻨﺪ دﺧﻮل‬ ‫‪on enter‬‬
‫‪te‬‬
‫‪la‬‬

‫‪6‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫ﻣﺜﻼ إﺟﺮاء ﻋﻨﺪ ﺧﺮوج ‪.‬وھﻮ ﺑﺮﻧﺎﻣﺞ ﻓﺮﻋﻲ ﺻﻐﯿﺮ ﯾﺤﺘﻮي ﻋﻠﻰ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻷواﻣﺮ‬

‫‪m‬‬
‫اﻷواﻣﺮ ﻓﻲ دﻟﻔﻲ داﺋﻤﺎ ﺗﻨﺘﮭﻲ ﺑـ ‪:‬ﻧﻘﻄﺔ ﻓﺎﺻﻠﺔ ;إﻻ ﻓﻲ ﺑﻌﺾ اﻟﺤﺎﻻت ﻧﺬﻛﺮ ﻣﻨﮭﺎ ‪:‬‬

‫‪3- .co‬‬
‫)‪(while‬‬ ‫اﻟﺤﻠﻘﺔ‬
‫ﺑﻌﺪ اﻷﻣﺮ ‪do‬‬
‫ﻓﻲ ﻧﮭﺎﯾﺔ اﻷﻣﺮ اﻟﺨﺎص ﺑﺎﻟﺒﻨﻲ اﻟﺸﺮطﯿﺔ ﺑﻌﺪ ‪... ( then. else).‬اﻟﺦ‬

‫‪o‬‬
‫أﻧﻮاع اﻟﻤﻌﻄﯿﺎت ﻓﻲ دﻟﻔﻲ ‪:‬‬

‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬ ‫ﯾﺸﻤﻞ ﺟﻤﯿﻊ اﻷﻋﺪاد اﻟﺤﻘﯿﻘﯿﺔ‬
‫اﻟﺪﻻﻟﺔ‬ ‫اﻟﻨﻮع‬
‫‪0- ya‬‬ ‫‪Real‬‬
‫ﯾﺸﻤﻞ ﺟﻤﯿﻊ اﻷﻋﺪاد اﻟﺼﺤﯿﺤﺔ‬ ‫‪Integer‬‬
‫ﯾﺸﻤﻞ اﻟﻤﺘﻐﯿﺮات ﻋﻠﻰ ﺷﻜﻞ ﺳﻼﺳﻞ ﺣﺮﻓﯿﺔ‬ ‫‪String‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﻣﻨﻄﻘﻲ ‪/‬ﺻﺢ ﺧﻄﺄ‬


‫وﻗﺖ‬
‫ﺗﺎرﯾﺦ‬
‫‪Boolean‬‬
‫‪Time‬‬
‫‪Date‬‬
‫‪l 0 de‬‬

‫‪...........................................................................‬‬ ‫ﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ‬


‫ﻣﺠﻤﻮﻋﺔ أﺧﺮى‬
‫‪a‬‬

‫دوال اﻟﺘﺤﻮﯾﻞ ﻓﻲ دﻟﻔﻲ ‪:‬‬


‫ﺑﺎﺧﺘﻼف اﻟﻤﺘﻐﯿﺮات و اﻟﻤﻌﻄﯿﺎت ﻓﻲ دﻟﻔﻲ ﻧﻠﺠﺄ ﻋﺎدة ﻓﻲ اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ إﻟﻰ ﺑﻌﺾ اﻟﺘﺤﻮﯾﻼت ﺑﯿﻦ‬
‫_‬

‫اﻟﻤﻌﻄﯿﺎت ﻗﺼﺪ ﺗﺤﻘﯿﻖ ﺗﻨﺴﯿﻖ ﺑﯿﻦ ﻣﺨﺘﻠﻒ اﻟﻤﻌﻄﯿﺎت ‪,‬دﻟﻔﻲ ﯾﻤﻨﺢ ﻟﻨﺎ دوال ﺗﺤﻮﯾﻞ ﻣﺘﻨﻮﻋﺔ ﻧﺬﻛﺮ ﻣﻨﮭﺎ‪:‬‬
‫‪bi‬‬

‫اﻟﺪﻻﻟﺔ‬ ‫داﻟﺔ اﻟﺘﺤﻮﯾﻞ‬


‫ﻟﻠﺘﺤﻮﯾﻞ ﻣﻦ ﺻﺤﯿﺢ إﻟﻰ ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ‬
‫‪ou‬‬

‫‪Inttostr‬‬
‫ﻟﻠﺘﺤﻮﯾﻞ ﻣﻦ ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ إﻟﻰ ﻋﺪد ﺻﺤﯿﺢ‬ ‫‪Strtoint‬‬
‫ﻟﻠﺘﺤﻮﯾﻞ ﻣﻦ ﻋﺪد ﺣﻘﯿﻘﻲ إﻟﻰ ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ‬
‫‪te‬‬

‫‪Floattostr‬‬
‫‪la‬‬

‫ﻟﻠﺘﺤﻮﯾﻞ ﻣﻦ ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ إﻟﻰ ﻋﺪد ﺣﻘﯿﻘﻲ‬ ‫‪Strtofloat‬‬


‫ﻟﻠﺘﺤﻮﯾﻞ ﻣﻦ ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ إﻟﻰ ﺣﺰﻣﺔ وﻗﺖ‬ ‫‪Strtotime‬‬
‫ﻟﻠﺘﺤﻮﯾﻞ ﻣﻦ ﺣﺰﻣﺔ وﻗﺖ إﻟﻰ ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ‬ ‫‪Strtotime‬‬
‫ﻟﻠﺘﺤﻮﯾﻞ ﻣﻦ ﻧﻤﻂ ﺗﺎرﯾﺨﻲ إﻟﻲ ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ‬ ‫‪Datetostr‬‬
‫ﻟﻠﺘﺤﻮﯾﻞ ﻣﻦ ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ إﻟﻲ ﻧﻤﻂ ﺗﺎرﯾﺨﻲ‬ ‫‪Strtodate‬‬

‫‪7‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ و اﻟﻤﻘﺎرﻧﺔ ﻓﻲ دﻟﻔﻲ ‪:‬‬

‫‪m‬‬
‫اﻟﺪﻻﻟﺔ‬ ‫اﻟﻌﻤﻠﯿﺔ‬

‫‪3- .co‬‬
‫‪a*b‬ﻋﻤﻠﯿﺔ اﻟﻀﺮب‬ ‫*‬
‫‪a/b b<>0‬ﻋﻤﻠﯿﺔ اﻟﻘﺴﻤﺔ‬ ‫‪/‬‬
‫‪a+b‬ﻋﻤﻠﯿﺔ اﻟﺠﻤﻊ‬ ‫‪+‬‬

‫‪o‬‬
‫‪a-b‬ﻋﻤﻠﯿﺔ اﻟﻄﺮح‬ ‫‪-‬‬

‫‪o‬‬
‫اﻟﻌﻤﻠﯿﺔ أﻛﺒﺮ ﻣﻦ‬ ‫>‬

‫‪08‬‬
‫اﻟﻌﻤﻠﯿﺔ أﺻﻐﺮ ﻣﻦ‬ ‫<‬

‫‪88 h‬‬ ‫اﻟﻌﻤﻠﯿﺔ اﻛﺒﺮ أو ﯾﺴﺎوي‬ ‫=>‬


‫‪0- ya‬‬ ‫اﻟﻌﻤﻠﯿﺔ أﺻﻐﺮ أو ﯾﺴﺎوي‬ ‫=<‬
‫اﻟﻌﻤﻠﯿﺔ ﻻ ﯾﺴﺎوي‪ /‬ﯾﺨﺘﻠﻒ‬ ‫><‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﻛﯿﻔﯿﺔ اﻟﺘﺼﺮﯾﺢ ﺑﺎﻟﻤﺘﻐﯿﺮات ﻓﻲ دﻟﻔﻲ ‪:‬‬


‫ﻋﻨﺪﻣﺎ ﻧﺮﯾﺪ اﻟﻘﯿﺎم ﺑﺈﻧﺸﺎء ﻋﻤﻠﯿﺎت ﺣﺴﺎﺑﯿﺔ ﻣﺎ ﻻﺑﺪ ﻣﻦ ﺗﻮﻓﺮ ﻣﺘﻐﯿﺮات ﻟﺘﺤﻘﯿﻖ اﻟﺤﺴﺎﺑﺎت ﺑﺼﻮرة‬
‫ﺳﻮاء ﻓﻲ إﺟﺮاء ﻣﻌﯿﻦ أو اﻟﺒﺮﻧﺎﻣﺞ ﻛﻜﻞ ‪VAR‬وﯾﻜﻮن ذﻟﻚ ﺗﺤﺖ اﻷﻣﺮ ‪.‬ﻣﺘﻜﺎﻣﻠﺔ‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫اﻟﺠﺪول اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ ﻛﯿﻔﯿﺔ اﻟﺘﺼﺮﯾﺢ ﺑﺎﻟﻤﺘﻐﯿﺮات اﻟﺴﺎﺑﻘﺔ‬

‫‪8‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫اﻟﺪﻻﻟﺔ‬ ‫اﻟﺼﯿﻐﺔ‬
‫اﻟﺘﺼﺮﯾﺢ ﺑﻤﺘﻐﯿﺮ ﻣﻦ ﻧﻮع ﺣﻘﯿﻘﻲ‬ ‫; ‪A : integer‬‬
‫اﻟﺘﺼﺮﯾﺢ ﺑﻤﺘﻐﯿﺮ ﻣﻦ ﻧﻮع ﺻﺤﯿﺢ‬ ‫‪B :real‬‬
‫اﻟﺘﺼﺮﯾﺢ ﺑﻤﺘﻐﯿﺮ ﻣﻦ ﻧﻮع ﺣﺮﻓﻲ‬

‫‪m‬‬
‫‪S:string‬‬
‫اﻟﺘﺼﺮﯾﺢ ﺑﻤﺘﻐﯿﺮ ﻣﻦ ﻧﻮع ﻣﻨﻄﻘﻲ‬ ‫;‪H: Boolean‬‬
‫اﻟﺘﺼﺮﯾﺢ ﺑﻤﺘﻐﯿﺮ ﻣﻦ ﻧﻮع ﺗﺎرﯾﺦ وﻗﺖ‬

‫‪3- .co‬‬
‫;‪K: tdatetime‬‬
‫ﺗﺼﺮﯾﺢ ﺑﺠﺪول ﯾﺤﻮي ‪ 99‬ﺧﻠﯿﺔ ﻣﻦ ﻧﻮع ﺻﺤﯿﺢ‬ ‫;‪T : array[1..99] of integer‬‬
‫ﻣﺜﺎل ‪:‬ﺳﻨﻘﻮم ﺑﺈﻧﺸﺎء ﻣﺸﺮوع ﻓﻲ دﻟﻔﻲ ﯾﻘﻮم ﺑﺠﻤﻊ ﻋﺪ دﯾﻦ ‪:‬‬

‫‪o‬‬
‫اﻟﻤﺮﻛﺒﺎت اﻟﻼزﻣﺔ‬

‫‪o‬‬
‫‪08‬‬
‫ﺛﻼﺛﺔ ﻣﺮﻛﺒﺎت ‪ edit‬ﻟﻌﻤﻠﯿﺔ اﻟﺤﺠﺰ و اﻟﻌﺮض‬

‫‪88 h‬‬
‫ﺛﻼﺛﺔ ﻣﺮﻛﺒﺎت ‪ :label‬ﻟﻠﺪﻻﻟﺔ ﻋﻠﻰ ﻣﺎھﯿﺔ ﻣﻨﻄﻘﺔ اﻟﺤﺠﺰ‬
‫زري ‪ button‬ﻟﺘﻨﻔﯿﺬ اﻟﻌﻤﻠﯿﺔ و اﻵﺧﺮ ﻟﻠﻌﻮدة إﻟﻰ وﺿﻊ اﻟﺼﻔﺮ ‪1 :‬‬
‫‪0- ya‬‬
‫آﻟﯿﺔ ﺗﺸﻜﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﻧﻔﺬ ﺑﺮﻧﺎﻣﺞ دﻟﻔﻲ‬


‫ﻗﻢ ﺑﺈﺣﻀﺎر ‪3‬ﻣﺮﻛﺒﺎت ‪ edit. text‬ﻣﻦ ﺷﺮﯾﻂ ‪standard‬‬
‫ﻗﻢ ﺑﺈﺣﻀﺎر ‪3‬ﻣﺮﻛﺒﺎت ‪ label‬ﻣﻦ ﺷﺮﯾﻂ ‪standard‬‬
‫‪ button‬ﻣﻦ ﺷﺮﯾﻂ ‪standard‬‬ ‫ﻗﻢ ﺑﺈﺣﻀﺎر زري‬
‫‪l 0 de‬‬

‫ﻗﻢ ﺑﺘﻐﯿﯿﺮ ﻣﺤﺘﻮى ‪edit1.text‬ﺑﺎﻟﻘﯿﻤﺔ ‪0‬ﺑﺪل ‪text‬ﻣﻦ اﻟﻤﺮﻛﺒﺔ ‪text‬ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ﻛﻤﺎ ھﻮ‬
‫ﻣﻮﺿﻊ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬
‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪ -‬ﻗﻢ ﺑﺘﻐﯿﯿﺮ ﻣﺤﺘﻮى اﻟﻤﺮﻛﺒﺔ ‪label 1‬ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ ‪caption‬اﻟﻌﺒﺎرة اﻟﺘﺎﻟﯿﺔ‬
‫اﻟﻌﺪد اﻷول ‪:‬ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺼﻮرة‪:‬‬

‫‪9‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫ﻛﺮر ﻧﻔﺲ اﻟﻌﻤﻠﯿﺔ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻤﺮﻛﺒﺘﯿﻦ اﻟﺒﺎﻗﯿﺘﯿﻦ ﻣﻊ ﻣﺮاﻋﺎة اﻟﺮﺗﯿﺐ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪3- .co‬‬
‫'اﻟﻘﯿﻤﺔ‪Label1.caption:='1‬‬
‫'اﻟﻘﯿﻤﺔ‪Label1.caption:='2‬‬
‫'اﻟﻨﺘﯿﺠﺔ'=‪Label1.caption:‬‬
‫‪ -8‬ﻗﻢ ﺑﺘﻐﯿﯿﺮ دﻻﻟﺔ اﻟﺰرﯾﻦ‬

‫‪o‬‬
‫ب ‪:‬اﻟﻌﺒﺎرة "اﺟﻤﻊ "ﻣﻦ اﻟﺨﺎﺻﯿﺔ ‪caption‬ﻣﻦ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت‬ ‫‪1 - button1‬‬

‫‪o‬‬
‫ب ‪:‬اﻟﻌﺒﺎرة "ﻣﺴﺢ "ﻣﻦ اﻟﺨﺎﺻﯿﺔ ‪caption‬ﻣﻦ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت‬ ‫‪2 - button2‬‬

‫‪08‬‬
‫ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺼﻮرة‬

‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫‪ -10‬ﻧﺼﻞ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ إﻟﻰ ﻣﺮﺣﻠﺔ ﻛﺘﺎﺑﺔ اﻷواﻣﺮ‬

‫* ﺑﻤﺎ أﻧﻨﺎ ﻧﺮﯾﺪ إﻧﺸﺎء ﺑﺮﻧﺎﻣﺞ ﯾﻘﻮم ﺑﺠﻤﻊ ﻋﺪ دﯾﻦ ﻓﺈﻧﻨﺎ ﺑﺤﺎﺟﺔ إﻟﻰ ‪03‬ﻣﺘﻐﯿﺮات ﻣﻦ ﻧﻮع ﺣﻘﯿﻘﻲ‬
‫‪l 0 de‬‬

‫;‪A,B ,C:REAL‬‬
‫=‪A:‬ﯾﺤﻮي اﻟﻘﯿﻤﺔ ‪1‬‬
‫=‪B:‬ﯾﺤﻮي اﻟﻘﯿﻤﺔ ‪2‬‬
‫‪a‬‬

‫‪C:=A+B‬ﯾﺤﻮي ﻣﺠﻤﻮع اﻟﻘﯿﻤﺘﯿﻦ‬


‫_‬

‫‪Edit1.text :‬ﻻﺣﺘﻮاء اﻟﻌﺪد اﻷول‬


‫‪Edit2.text :‬ﻻﺣﺘﻮاء اﻟﻌﺪد اﻟﺜﺎﻧﻲ‬
‫‪bi‬‬

‫‪Edit3.text :‬ﻟﻌﺮض ﻗﯿﻤﺔ ”‪a+b“C‬ﯾﺤﺘﻮي ﻋﻠﻰ اﻟﻤﺠﻤﻮع‬


‫‪ou‬‬

‫ﺳﻨﻠﺠﺄ إﻟﻰ دوال اﻟﺘﺤﻮﯾﻞ ﺛﻢ أﻧﻨﺎ‬


‫‪te‬‬
‫‪la‬‬

‫‪ - 1‬داﻟﺔ اﻟﺘﺤﻮﯾﻞ ﻣﻦ ﻧﻤﻂ ﺣﺮﻓﻲ إﻟﻰ ﻧﻤﻂ ﺻﺤﯿﺢ و اﻟﻌﻜﺲ أي اﻟﺪاﻟﺘﯿﻦ ﻻن ﻧﻮع ﻗﯿﻢ اﻟﻤﺮﻛﺒﺔ‬
‫ﺣﺮﻓﻲ ﻟﺬا ﻧﻠﺠﺄ إﻟﻰ ﺗﺤﻮﯾﻞ ﻗﯿﻤﺘﮭﺎ إﻟﻰ ﻋﺪد ﺻﺤﯿﺢ و اﻟﻌﻜﺲ ﺑﺎﻟﻨﺴﺒﺔ اﻟﻤﺘﻐﯿﺮات اﻟﺒﺎﻗﯿﺔ‬
‫‪Strtofloat *floattostr‬‬

‫‪10‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﻧﻘﺮا ﻣﺰدوﺟﺎ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪ button‬ذات اﻟﺘﺴﻤﯿﺔ اﺟﻤﻊ و ﻧﺤﺮر اﻷواﻣﺮ اﻟﻼزﻣﺔ‬ ‫‪-2‬‬
‫ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫ھﻜﺬا ﻧﻜﻮن ﻗﺪ اﻧﮭﯿﻨﺎ ﺑﺮﻧﺎﻣﺞ اﻟﺠﻤﻊ وﻟﻢ ﯾﺒﻖ ﻟﻨﺎ اﻹﺟﺮاء ﻣﺴﺢ اﻟﺨﻼﯾﺎ ﺑﻌﺪ ﻋﻤﻠﯿﺔ اﻟﺠﻤﻊ وﻻﻧﺠﺎز ذﻟﻚ‬
‫ﻧﻘﻮم ﺑﺎﻟﻨﻘﺮ اﻟﻤﺰدوج ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪button2‬إﻟﻲ ﺗﺤﻤﻞ اﺳﻢ ﻣﺴﺢ وﻧﺤﺮر اﻷواﻣﺮ اﻟﺘﺎﻟﯿﺔ ﻛﻤﺎ ھﻮ‬
‫‪l 0 de‬‬

‫ﻣﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﯿﺔ‪:‬‬


‫_‬ ‫‪a‬‬
‫‪bi‬‬

‫ﺛﻢ ﻧﻘﻮم ﺑﺘﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ وذﻟﻚ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﻤﺜﻠﺚ اﻷﺧﻀﺮ أو ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺰر‪ F9‬ﻣﻦ اﺟﻞ اﻟﻘﯿﻤﺘﯿﻦ ‪:‬‬
‫‪ou‬‬

‫‪5‬و‪9‬‬
‫‪te‬‬
‫‪la‬‬

‫‪11‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫و ﺑﮭﺬا ﻧﻜﻮن ﻗﺪ ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎء ﺗﻄﺒﯿﻖ ﯾﻘﻮم ﺑﺠﻤﻊ ﻋﺪدﯾﻦ‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﺣﺎول ﺗﻄﻮﯾﺮ اﻟﺒﺮﻧﺎﻣﺞ ﻟﻠﻘﯿﺎم ﺑﺠﻤﯿﻊ اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ اﻟﻤﺘﺒﻘﯿﺔ‬

‫اﻟﺘﻄﺒﯿﻖ اﻟﺜﺎﻧﻲ‪:‬‬
‫‪l 0 de‬‬

‫إﻧﺸﺎء ﺗﻄﺒﯿﻖ ﺳﺎﻋﺔ ﻓﻲ دﻟﻔﻲ ﺳﻨﻘﻮم ﻓﻲ ھﺬا اﻹﺟﺮاء ﺑﻜﺘﺎﺑﺔ اﻷواﻣﺮ اﻟﺘﻲ ﺗﺘﯿﺢ ﻟﻨﺎ إﻧﺸﺎء ﺳﺎﻋﺔ‬

‫اﻟﻤﺮﻛﺒﺎت اﻟﻼزﻣﺔ‬
‫_‬ ‫‪a‬‬

‫اﻟﺪﻻﻟﺔ‬ ‫اﻟﻤﺮﻛﺒﺔ‬
‫ﻟﻌﺮض اﻟﺴﺎﻋﺔ‬
‫‪bi‬‬

‫‪label‬‬
‫ﻟﺘﻨﻔﯿﺬ اﻷﻣﺮ‬
‫‪ou‬‬

‫‪button‬‬
‫‪te‬‬

‫ﺑـ ‪button‬ﺛﻢ ﻧﻘﻮم ﺑﺘﻐﯿـــــــﯿﺮ ﺗﻠﻤﯿﺢ اﻟﻤﺮﻛﺒﺔ ‪standard‬ﻧﻘﻮم ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺘﯿﻦ ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت‬
‫‪la‬‬

‫‪button‬ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ﺛﻢ ﻧﻨﻘﺮ ﻧﻘﺮا ﻣﺰدوﺟﺎ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪caption‬اﻟﺴﺎﻋﺔ اﻵن ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ‬
‫‪:‬وﻧﻜﺘﺐ اﻷﻣﺮ اﻟﺘﺎﻟﻲ‬

‫‪12‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫ﻋﻨﺪ ﺗﻨﻔﯿﺬ اﻟﻤﺸﺮوع‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫ﻧﻼﺣﻆ أن اﻟﺴﺎﻋﺔ ﻻ ﺗﺒﻘﻰ ﻧﺸﻄﺔ إﻻ ﺑﻌﺪ اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر اﻟﺴﺎﻋﺔ اﻵن ﻟﺘﻨﺸﯿﻄﮭﺎ‬
‫‪0- ya‬‬
‫‪.‬ﺳﻨﻘﻮم ﺑﺤﻞ ھﺬا اﻟﻤﺸﻜﻞ و ذﻟﻚ ﺑﺘﻌﻮﯾﺾ اﻟﺰر اﻟﺴﺎﻋﺔ اﻵن ﺑﻤﺮﻛﺒﺔ ﺟﺪﯾﺪة‬
‫آﻟﯿﺔ اﻟﺘﻨﻔﯿﺬ‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﻧﻘﻮم ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﻘﺎﺋﻤﺔ ‪system‬وﻧﺨﺘﺎر اﻟﻤﺮﻛﺒﺔ ‪timer‬‬


‫ﺣﯿﺚ ﻧﻜﺘﺐ ﻧﻔﺲ اﻷﻣﺮ اﻟﺴﺎﺑﻖ ﻓﻲ اﻟﻤﺮﻛﺒﺔ اﻟﺠﺪﯾﺪة ﺑﻌﺪ اﻟﻨﻘﺮ ﻋﻠﯿﮭﺎ ﻣﺮﺗﯿﻦ وﻋﻨﺪ اﻟﺘﻨﻔﯿﺬ ﺳﻨﻼﺣﻆ‬
‫أن اﻟﺴﺎﻋﺔ ﺗﺒﻘﻰ ﻧﺸﻄﺔ داﺋﻤﺎ‪.‬‬
‫‪l 0 de‬‬

‫اﻟﺘﻄﺒﯿﻖ اﻟﺜﺎﻟﺚ ‪:‬ﻛﯿﻔﯿﺔ إﻧﺸﺎء رﺳﺎﺋﻞ اﻟﺘﻠﻤﯿﺢ‬


‫ﯾﻤﻜﻦ ﻟﺪﻟﻔﻲ اﻟﺘﻌﺎﻣﻞ ﻣﻊ رﺳﺎﺋﻞ اﻟﺘﻨﺒﯿﮫ ﺑﺘﻨﻮع اﻟﺤﺎﻻت‬
‫إﻧﺸﺎء ﺗﻄﺒﯿﻖ رﺳﺎﻟﺔ ﺗﺮﺣﯿﺐ ﺗﺤﺘﻮي ﻋﻠﻰ اﻟﻨﺺ اﻟﺘﺎﻟﻲ ‪:laoubi Adel‬‬
‫‪a‬‬

‫اﻷﻣﺮ ‪:‬‬
‫_‬
‫‪bi‬‬

‫ﻋﻨﺪ اﻟﺘﻨﻔﯿﺬ‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪13‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫اﻟﺘﻄﺒﯿﻖ اﻟﺮاﺑﻊ‬

‫‪o‬‬
‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻨﻮاﻓﺬ‬
‫ﻹﻧﺸﺎء ﻋﺪة ﻧﻮاﻓﺬ ﻓﻲ ﺗﻄﺒﯿﻖ واﺣﺪ ﻧﺘﺒﻊ اﻟﺨﻄﻮات اﻟﺘﺎﻟﯿﺔ ‪:‬‬

‫‪o‬‬
‫‪08‬‬
‫ﻓﺘﻼﺣﻆ ﻣﺒﺎﺷﺮة أﻧﮫ ﺗﻢ إﻧﺸﺎء ﻧﺎﻓﺬة ﺟﺪﯾﺪة ‪form2‬‬ ‫اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪nouvelle fiche‬‬

‫‪88 h‬‬
‫وﺗﺘﺒﻊ ﻧﻔﺲ اﻟﻄﺮﯾﻘﺔ إذا أردﻧﺎ إﻧﺸﺎء ﻋﺪة ﻧﻮاﻓﺬ أﺧﺮى‬
‫ﻛﯿﻔﯿﺔ ﻣﻨﺎداة ﻧﺎﻓﺬة‬
‫‪0- ya‬‬
‫ﺳﻨﻘﻮم ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﺑﺈﻧﺸﺎء ﺗﻄﺒﯿﻖ ﯾﺤﺘﻮي ﻋﻠﻰ ﺛﻼث ﻧﻮاﻓﺬ و اﻟﻤﻨﺎداة ﺗﻜﻮن اﻧﻄﻼﻗﺎ ﻣﻦ اﻟﻨﺎﻓﺬة اﻷوﻟﻰ‬
‫ﻧﻨﻔﺬ ﺑﺮﻧﺎﻣﺞ دﻟﻔﻲ و ﺑﻤﺠﺮد ﺗﻨﻔﯿﺬه ﻧﺠﺪ أن اﻟﻨﺎﻓﺬة اﻷوﻟﻰ ﻣﻨﺸﺄة ﻣﺴﺒﻘﺎ ﻣﻦ طﺮف دﻟﻔﻲ‬
‫ﻧﻘﻮم ﺑﺈﻧﺸﺎء اﻟﻨﺎﻓﺬﺗﯿﻦ اﻟﻤﺘﺒﻘﯿﺘﯿﻦ ﻛﻤﺎ ﺳﺒﻖ وان ذﻛﺮﻧﺎ‪.‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﺛﻢ ﻧﻘﻮم ﺑﺈﺣﻀﺎر ﺛﻼﺛﺔ أزرار ‪ok‬وﻧﺼﻨﻔﮭﺎ ﻋﻠﻰ اﻟﻨﺎﻓﺬة اﻷوﻟﻲ ‪form1‬‬
‫ﻧﻐﯿﺮ دﻻﻟﺔ اﻷزرار اﻟﺜﻼﺛﺔ ﺑﺎﻟﺘﺴﻤﯿﺎت اﻟﺘﺎﻟﯿﺔ ﻋﻠﻰ اﻟﺘﻮاﻟﻲ ‪...‬اﻟﺒﻄﺎﻗﺔ اﻟﺜﺎﻧﯿﺔ‪..‬اﻟﺒﻄﺎﻗﺔ اﻟﺜﺎﻟﺜﺔ‪..‬ﺧﺮوج‬
‫وذﻟﻚ ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ ‪caption‬ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ﻛﻞ ﻋﻠﻰ ﺣﺪة ٍ ‪......‬اﻟﺸﻜﻞ ‪03‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪14‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫اﻟﺸﻜﻞ ‪03‬‬

‫‪o‬‬
‫وﻧﺤﺮر اﻷواﻣﺮ اﻟﺘﺎﻟﯿﺔ ﺣﺴﺐ اﻟﺠﺪول اﻟﺘﺎﻟﻲ‪:‬‬

‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫اﻟﻤﺮﻛﺒﺔ‬ ‫اﻷﻣﺮ اﻟﻤﻄﺒﻖ ﺑﻮاﺳﻄﺔ اﻟﻨﻘﺮ‬
‫اﻟﺰر اﻟﺒﻄﺎﻗﺔ اﻷوﻟﻰ‬ ‫‪2‬اظﮭﺮ اﻟﻨﺎﻓﺬة رﻗﻢ ;‪Form2.show‬‬
‫‪0- ya‬‬
‫اﻟﺰر اﻟﺒﻄﺎﻗﺔ اﻟﺜﺎﻧﯿﺔ‬ ‫‪3‬اظﮭﺮ اﻟﻨﺎﻓﺬة رﻗﻢ ;‪Form3.show‬‬
‫اﻟﺰر ﺧﺮوج‬ ‫;‪Close‬‬ ‫إﻏﻼق اﻟﺘﻄﺒﯿﻖ‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫‪:‬ﻋﻨﺪ ﺗﻨﻔﯿﺬ ھﺬا اﻟﻤﺸﺮوع ﻧﻼﺣﻆ ظﮭﻮر رﺳﺎﻟﺔ اﻟﺘﻨﺒﯿﮫ اﻟﺘﺎﻟﯿﺔ‬


‫_‬ ‫‪a‬‬

‫اﻟﺪﻻﻟﺔ‬ ‫اﻟﺮﺳﺎﻟﺔ‬
‫وﯾﻘﺼﺪ ﺑﮭﺎ ھﻞ ﺗﺮﯾﺪ أن ﯾﺘﻢ‬
‫‪bi‬‬

‫اﻟﺘﺼﺮﯾﺢ ﺑﺎﻟﻮﺣﺪة اﻟﺨﺎﺻﺔ‬


‫ﺑﺎﻟﻨﺎﻓﺬة اﻟﻤﺮاد إظﮭﺎرھﺎ ﻓﻲ‬
‫‪ou‬‬

‫وﺣﺪة اﻟﻨﺎﻓﺬة اﻟﻤﻨﺎدﯾﺔ‬


‫و ﺑﻤﻌﻨﻰ آﺧﺮ ھﻞ ﺗﺮﯾﺪ رﺑﻂ‬
‫‪te‬‬

‫اﻟﻨﺎﻓﺬة اﻟﻤﻨﺎداة ﻓﻲ وﺣﺪة‬


‫‪la‬‬

‫اﻟﻨﺎﻓﺬة اﻟﻤﻨﺎدﯾﺔ‬
‫ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﯾﺠﺐ ﻋﻠﯿﻚ‬
‫ﻟﻜﻲ ‪oui‬اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر‬
‫ﺗﺮﺗﺒﻂ اﻟﻨﺎﻓﺬﺗﺎن‬

‫‪15‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫ﻣﻼﺣﻈﺔ ﯾﻤﻜﻦ ﻣﻨﺎداة اﻟﻨﺎﻓﺬة اﻷوﻟﻰ ﺑﻮاﺳﻄﺔ اﻟﻨﻮاﻓﺬ اﻟﻔﺮﻋﯿﺔ اﻷﺧﺮى ﺑﻨﻔﺲ اﻟﻄﺮﯾﻘﺔ و ﺗﺤﺮﯾﺮ ﻧﻔﺲ اﻷواﻣﺮ‬
‫ﻣﻊ ﺗﻐﯿﯿﺮ اﺳﻢ اﻟﻨﺎﻓﺬة وﻧﻼﺣﻆ ظﮭﻮر ﻧﻔﺲ رﺳﺎﻟﺔ اﻟﺘﺄﻛﯿﺪ اﻟﺴﺎﺑﻘﺔ اﻟﻤﺘﻌﻠﻘﺔ ﺑﺮﺑﻂ اﻟﻮﺣﺪات ﻣﻊ ﺑﻀﻌﮭﺎ‬

‫‪m‬‬
‫اﻟﺒﻌﺾ‬

‫‪3- .co‬‬
‫اﻟﺘﻄﺒﯿﻖ اﻟﺨﺎﻣﺲ‬

‫‪o‬‬ ‫‪o‬‬
‫ﺗﻄﺒﯿﻖ ﯾﺴﻤﺢ ﻟﻚ ﺑﻤﻌﺮﻓﺔ ﻣﺎ إن ﻛﺎن ﻋﺪد زوﺟﻲ أو ﻓﺮدي ﻟﺬﻟﻚ ﻧﻌﺘﻤﺪ ﻋﻠﻰ اﻟﺪاﻟﺔ ‪mod‬اﻟﺘﻲ ﺗﺮﺟﻊ ﻟﻚ‬

‫‪08‬‬
‫ﺑﺎﻗﻲ ﻗﺴﻤﺔ ﻋﺪد ﺻﺤﯿﺢ ﻋﻠﻰ ﻋﺪد أﺧﺮ ﺻﺤﯿﺢ ب ‪0‬أو ‪1‬‬

‫‪88 h‬‬
‫إذا ﻛﺎن اﻟﺒﺎﻗﻲ =‪ 1‬ﻓﮭﺬا ﯾﻌﻨﻲ أن اﻟﻌﺪد ﻓﺮدي و إذا ﻛﺎن اﻟﻌﻜﺲ ﻓﮭﺬا ﯾﻌﻨﻲ أن اﻟﻌﺪد زوﺟﻲ‬
‫‪0- ya‬‬
‫ﻓﻲ ھﺬا اﻟﺘﻄﺒﯿﻖ ﻗﻢ ﺑﺎﻟﺘﺼﺮﯾﺢ ﺑﻤﺘﻐﯿﺮ ﻣﻦ ﻧﻮع ﺻﺤﯿﺢ ﺛﻢ ﻗﻢ ﺑﺎﺧﺘﯿﺎر اﻟﻤﺮﻛﺒﺎت اﻟﻼزﻣﺔ ﻛﻤﺎ ﻓﻲ اﻟﺠﺪول‬
‫اﻟﺘﺎﻟﻲ ‪:‬‬
‫اﻟﺪﻻﻟﺔ‬ ‫اﻷﻣﺮ‬
‫@‪79 l‬‬

‫‪-0‬‬
‫اﻟﺘﺼﺮﯾﺢ ﺑﻤﺘﻐﯿﺮ ﻣﻦ ﻧﻮع ﺻﺤﯿﺢ‬
‫‪label1‬ﺗﻐﯿﯿﺮ دﻻﻟﺔ‬
‫‪Var‬‬ ‫;‪a: integer‬‬
‫‪=:label. caption‬أدﺧﻞ اﻟﻘﯿﻤﺔ‬
‫‪0‬ب ‪edit1‬ﺗﻐﯿﯿﺮ ﻧﺺ ﻣﻨﻄﻘﺔ اﻟﺤﺠﺰ‬ ‫;‪Edit1.text:=0‬‬
‫‪l 0 de‬‬

‫ب أﺣﺴﺐ ‪button1‬ﺗﻐﯿﯿﺮ دﻻﻟﺔ اﻟﺰر‬ ‫‪=:button1.caption‬اﺣﺴﺐ‬


‫‪a‬‬

‫ﻗﻢ ﺑﮭﻨﺪﺳﺔ اﻟﻨﺎﻓﺬة اﻟﺨﺎﺻﺔ ﺑﮭﺬا اﻟﺒﺮﻧﺎﻣﺞ ﻛﻤﺎ ھﻮ اﻟﺤﺎل ﻋﻠﯿﮫ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‪:‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪16‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪-‬‬
‫‪1‬وﺣﺮر اﻷواﻣﺮ اﻟﺘﺎﻟﯿﺔ اﻟﺘﻲ ﺗﻌﺘﻤﺪ ﻋﻠﻰ اﻟﺒﻨﯿﺔ اﻟﺸﺮطﯿﺔ ‪IF‬‬

‫‪o‬‬
‫ﻗﻢ ﺑﺎﻟﻨﻘﺮ اﻟﻤﺰدوج ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ‬

‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫اﻟﺘﻄﺒﯿﻖ اﻟﺴﺎدس‬


‫إﻧﺸﺎء ﺗﻄﺒﯿﻖ ﻹظﮭﺎر وإﺧﻔﺎء ﻧﺺ‬
‫‪l 0 de‬‬

‫ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺎت اﻟﻤﺪوﻧﺔ ﻓﻲ اﻟﺠﺪول‬


‫اﻟﺘﺎﻟﻲ ‪:‬‬
‫‪a‬‬

‫اﻷﻣﺮ‬ ‫اﻟﻤﺮﻛﺒﺔ‬
‫‪Label1.visible:=true;/interval:500‬‬ ‫‪Timer1‬‬
‫_‬

‫‪Label1.visible:=false;/ interval=1000‬‬ ‫‪Timer2‬‬


‫‪bi‬‬

‫‪Label1.caption:=BON JOUR‬‬ ‫‪Label1‬‬


‫‪ou‬‬

‫إن اﻟﻤﺮﻛﺒﺔ ‪timer‬ﺗﻌﻤﻞ ﺑﻮاﺳﻄﺔ ﻣﺠﺎل ﻣﻌﯿﻦ ﺧﺎص ﺑﺎﻟﻨﺒﻀﺔ‬


‫ﻗﻢ ﺑﺘﻐﯿﯿﺮ ﻣﺠﺎل اﻟﻤﺮﻛﺒﺔ ‪timer1‬ب ‪500‬‬
‫‪te‬‬

‫ودع ﻣﺠﺎل اﻟﻤﺮﻛﺒﺔ ‪timer2‬ﻛﻤﺎ ھﻮ اﻟﺤﺎل ﻋﻠﯿﮫ‬


‫‪la‬‬

‫وﺣﺮر اﻷﻣﺮﯾﻦ اﻟﺘﺎﻟﯿﯿﻦ‪:‬‬

‫اﻷﻣﺮ ﺑﺎﻟﻤﻄﺒﻖ ﺑﺎﻟﻨﻘﺮ‬ ‫اﻟﻤﺮﻛﺒﺔ‬


‫‪Label1.visible:=true‬‬ ‫‪timer1‬‬
‫‪Label1.visible:=false‬‬ ‫‪timer2‬‬
‫‪17‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫ﻋﻨﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ ﺳﺘﻼﺣﻆ أن اﻟﻨﺺ ‪bon jour‬ﯾﻈﮭﺮ وﯾﺨﺘﻔﻲ ﺣﺴﺐ ﻧﺒﻀﺔ ﺛﺎﻧﯿﺔ اﻟﺴﺎﻋﺔ‬
‫طﺮﯾﻘﺔ أﺧﺮى‪:‬‬

‫‪m‬‬
‫ﺣﺮر اﻷﻣﺮ اﻟﺘﺎﻟﻲ ‪ label1.visible:=not label1.visibvle; :‬ﻓﻲ اﻟﻤﺮﻛﺒﺔ ‪tmer1‬‬

‫‪3- .co‬‬
‫اﻟﺘﻄﺒﯿﻖ اﻟﺴﺎدس‪:‬‬
‫إﻧﺸﺎء ﺣﺮﻛﺎت ﻋﻠﻰ ﻧﺺ ﻣﻌﯿﻦ اﻟﺘﻔﺎف‬
‫ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺎت اﻟﻤﺪوﻧﺔ ﻓﻲ اﻟﺠﺪول اﻟﺘﺎﻟﻲ‪:‬‬

‫‪o‬‬
‫اﻟﻤﺼﺪر‬ ‫اﻟﻤﺮﻛﺒﺔ‬

‫‪o‬‬
‫ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت ‪standard‬‬

‫‪08‬‬
‫‪panel1‬‬
‫ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت ‪system‬‬

‫‪88 h‬‬
‫‪timer‬‬
‫‪label1.caption :=Adel laoubi system‬‬ ‫ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت‬ ‫‪label‬‬
‫‪0- ya‬‬
‫ﻗﻢ ﺑﺘﻠﻮﯾﻦ اﻟﻤﺮﻛﺒﺔ ‪ panel1‬ﺑﺎﻟﻠﻮن اﻷﺳﻮد ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ ‪ color‬ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت‬
‫‪font‬‬ ‫ﺛﻢ ﻗﻢ ﺑﺘﻐﯿﯿﺮ ﻟﻮن ﺧﻂ اﻟﻤﺮﻛﺒﺔ ‪label1‬ﺑﻠﻮن ﻣﺨﺎﻟﻒ ﻟﻠﻮن اﻟﻤﺮﻛﺒﺔ ‪panel1‬ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت‪.‬‬


‫‪l 0 de‬‬

‫ﻗﻢ ﺑﻤﺮاﻗﺒﺔ ﺣﺪود اﻟﻨﮭﺎﺋﯿﺔ ﻟﻠﺨﺎﺻﯿﺔ ‪label‬ﻣﻦ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت –اﻟﺨﺎﺻﯿﺔ ‪left‬‬
‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪18‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫‪12‬ﺛﻢ ﻗﻢ ﺑﺘﺤﺮﯾﺮ اﻷواﻣﺮ‬ ‫ﻗﻢ ﺑﺎﻟﻨﻘﺮ اﻟﻤﺰدوج ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪timer1‬وﻏﯿﺮ ﻣﺠﺎل ‪intervale‬ﺑﺎﻟﻘﯿﻤﺔ‬
‫‪a‬‬

‫اﻟﺘﺎﻟﯿﺔ ﻓﻲ اﻹﺟﺮاء اﻟﺨﺎص ﺑـ ‪timer1‬ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬


‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪19‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫اﻟﺘﻄﺒﯿﻖ اﻟﺴﺎﺑﻊ‪:‬إﺟﺮاءات اﻟﺘﻠﻮﯾﻦ ﻋﻠﻰ ﻧﺎﻓﺬة‬
‫ﻓﻲ ھﺬا اﻟﺘﻄﺒﯿﻖ ﺳﻨﻘﻮم ﺑﺈﺟﺮاءات اﻟﺘﻠﻮﯾﻦ ﻋﻠﻰ ﻧﺎﻓﺬة ﻣﺎ ﺑﻮاﺳﻄﺔ اﻷزرار ‪button‬‬
‫‪:‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫اﻟﻤﺮﻛﺒﺎت اﻟﻼزﻣﺔ‬
‫اﻟﺪﻻﻟﺔ‬ ‫اﻟﻤﺮﻛﺒﺔ‬
‫ﻟﻠﺪﻻﻟﺔ ﻋﻠﻰ اﻟﺘﻠﻮﯾﻦ ﺑﺎﻷﺣﻤﺮ‪=:button1.caption /‬اﺣﻤﺮ‬ ‫‪button1‬‬

‫‪o‬‬
‫ﻟﻠﺪﻻﻟﺔ ﻋﻠﻰ اﻟﺘﻠﻮﯾﻦ ﺑﺎﻷزرق ‪=:button2.caption /‬أزرق‬ ‫‪button2‬‬
‫ﻟﻠﺪﻻﻟﺔ ﻋﻠﻰ اﻟﺘﻠﻮﯾﻦ ﺑﺎﻷﺧﻀﺮ ‪=: button3.caption /‬أﺧﻀﺮ‬ ‫‪button3‬‬

‫‪o‬‬
‫‪08‬‬
‫ﻟﻠدﻻﻟﺔ ﻋﻠﻰ اﻟﺗﻠوﯾن ﺑﺎﻷﺳود ‪=: button4.caption /‬أﺳﻮد‬ ‫‪button4‬‬

‫‪88 h‬‬ ‫اﻟﺠﺪول اﻟﺘﺎﻟﻲ ﯾﺤﺘﻮي ﻋﻠﻰ اﻷواﻣﺮ اﻟﻼزﻣﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻨﺪ ﺗﺸﻜﯿﻠﮫ ‪:‬‬
‫‪0- ya‬‬
‫اﻵﻣﺮ اﻟﻮاﺟﺐ ﺗﺤﺮﯾﺮه ﻋﻨﺪ اﻟﻨﻘﺮ‬ ‫اﻟﻤﺮﻛﺒﺔ‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫;‪Form. color:=clred‬‬


‫‪Form1.color:=clblue‬‬
‫‪Form1.color:=clgreen‬‬
‫‪button1‬‬
‫‪button2‬‬
‫‪button3‬‬
‫‪Form1.color:=clblack‬‬ ‫‪button4‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪20‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫ﺑﺎﻟﻠﻮن اﻷﺣﻤﺮ ‪form1‬اﻟﺒﺮﻧﺎﻣﺞ ﻣﻨﻔﺬ ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﻠﻮﯾﻦ اﻟﻨﺎﻓﺬة‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫‪:‬إﻋﺎدة ﺗﺸﻜﯿﻞ اﻟﺒﺮﻧﺎﻣﺞ ﺑﻮاﺳﻄﺔ اﻟﻤﺮﻛﺒﺔ‬ ‫اﻟﺘﻄﺒﯿﻖ اﻟﺜﺎﻣﻦ‬


‫‪a‬‬

‫‪combobox‬‬
‫ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺔ ‪combobox‬ﻣﻦ ﺷﺮﯾﻂ ﻗﻮاﺋﻢ اﻟﻤﺮﻛﺒﺎت‪standard‬‬
‫_‬

‫ﻗﻢ ﺑﺘﻐﯿﯿﺮ ﻧﺺ اﻟﻤﺮﻛﺒﺔ ب ‪-‬ﺗﻠﻮﯾﻦ ‪-‬ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ ‪text‬‬


‫ﻗﻢ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺨﺎﺻﯿﺔ ) ‪item (tstrings‬ﻓﯿﻈﮭﺮ ﻟﻚ ﻣﺤﺮر ﻧﺼﻮص ﺑﺴﯿﻂ‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫ﻗﻢ ﺑﻜﺘﺎﺑﺔ اﻟﺼﯿﻎ اﻟﺘﺎﻟﯿﺔ‪:‬‬


‫أﺣﻤﺮ‬
‫أزرق‬
‫أﺧﻀﺮ‬
‫أﺳﻮد‬

‫‪21‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫ﺛﻢ أﻧﻘﺮ ﻋﻠﻰ اﻟﺰر ﻣﻮاﻓﻖ‬

‫‪o‬‬
‫‪08‬‬
‫اﻟﺒﺮﻧﺎﻣﺞ ﻋﻨﺪ ﺗﻨﻔﯿﺬه ﻣﻦ أﺟﻞ اﻟﻌﻤﻠﯿﺎت اﻟﺴﺎﺑﻘﺔ‬

‫‪88 h‬‬
‫‪0- ya‬‬
‫‪Combo box‬‬ ‫اﻧﺒﺜﺎق ﻗﺎﺋﻤﺔ اﻟﻤﺮﻛﺒﺔ‬
‫@‪79 l‬‬

‫‪-0‬‬
‫اﻷواﻣﺮ اﻟﻼزﻣﺔ ﻟﮭﺬا اﻟﺘﻄﺒﯿﻖ ‪:‬اﻧﻘﺮ ﻧﻘﺮا ﻣﺰدوﺟﺎ ﻋﻠﻰ‬
‫اﻟﻤﺮﻛﺒﺔ ‪combobox1‬وﺣﺮر اﻷواﻣﺮ اﻟﺘﺎﻟﯿﺔ‪:‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪22‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫ﺗﻼﺣﻆ ﻣﻦ ﺧﻼل اﻷواﻣﺮأن اﻟﻤﺮﻛﺒﺔ ﺗﺄﺧﺬ ﻗﯿﻤﺎ َ◌ َ ﻣﻦ ‪0‬إﻟﻰ ‪3‬وذﻟﻚ ﺣﺴﺐ ﻋﺪد اﻷﺳﻄﺮ اﻟﻤﺤﺠﻮزة‬
‫ﻓﻲ ﻣﺤﺮر اﻷﺳﻄﺮ اﻟﺨﺎﺻﺔ ﺑﮭﺎ ﻛﻤﺎ ﻧﻼﺣﻆ أن اﻟﺘﺮﻗﯿﻢ ﯾﺒﺪأ ﻣﻦ اﻟﺼﻔﺮ‬

‫‪m‬‬
‫ﺑﺎﻷﺣﻤﺮ‬ ‫)‪(0‬ﻟﻮن‬ ‫إذا ﻛﺎن اﻻﺧﺘﯿﺎر اﻷول‬ ‫‪1-‬‬
‫إذا ﻛﺎن اﻻﺧﺘﯿﺎر اﻟﺜﺎﻧﻲ )‪(1‬ﻟﻮن ﺑﺎﻷزرق‬

‫‪3- .co‬‬
‫إذا ﻛﺎن اﻻﺧﺘﯿﺎر اﻟﺜﺎﻟﺚ )‪(2‬ﻟﻮن ﺑﺎﻷﺧﻀﺮ‬
‫إذا ﻛﺎن اﻻﺧﺘﯿﺎر اﻟﺮاﺑﻊ )‪(3‬ﻟﻮن ﺑﺎﻷﺳﻮد‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬

‫اﻟﺘﻄﺒﯿﻖ اﻟﺘﺎﺳﻊ ‪:‬اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻷﺻﻮات ﻓﻲ دﻟﻔﻲ‬


‫‪la‬‬

‫إﻧﺸﺎء ﺗﻄﺒﯿﻖ ﯾﺘﻌﺎﻣﻞ ﻣﻊ ﻣﻘﺎطﻊ اﻟﺼﻮت ﻣﺜﺎل ﺑﺮﻧﺎﻣﺞ ﻗﺮآﻧﻲ ﻛﺮﯾﻢ ﻧﺴﻤﯿﮫ‪:‬‬
‫ﺳﻮرة اﻟﺒﻘﺮة ‪.‬ﻣﻼﺣﻈﺔ ‪:‬ﻻﺑﺪ ﻣﻦ ﺗﻮﻓﺮ ﺳﻮرة اﻟﺒﻘﺮة ﻣﺴﺒﻘﺎ َ ﻟﻜﻲ ﯾﺘﻢ رﺑﻄﮫ ﻣﻊ‬

‫اﻟﻤﺮﻛﺒﺔ اﻟﺠﺪﯾﺪة‪:mediaplyer‬‬
‫‪23‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪system‬‬ ‫ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺔ ‪media player‬ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت‬


‫ﻗﻢ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺼﺎﺋﺺ اﻟﺘﺎﻟﯿﺔ‪:‬‬
‫اﻟﺨﺎﺻﯿﺔ‬

‫‪m‬‬
‫اﻟﺪﻻﻟﺔ‬
‫ﻓﺘﺢ اﻟﻤﺮﻛﺒﺔ وﺗﺠﮭﯿﺰھﺎ ﻟﻠﻌﻤﻞ‬ ‫;‪Autoopen:=true‬‬
‫)ﺳﻮرة اﻟﺒﻘﺮة(ﺗﺤﺪﯾﺪ ﻣﻜﺎن ﺗﻮاﺟﺪ ﻣﻘﻄﻊ اﻟﺼﻮت‬ ‫‪Filename‬‬

‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫‪-‬ﺛﻢ ﻧﻘﻮم ﺑﺘﻐﯿﯿﺮ ﻋﻨﻮان اﻟﻨﺎﻓﺬة ﺑـ اﺳﻢ ﻣﻌﺒﺮ ﻟﻠﺪﻻﻟﺔ ﻋﻠﻰ اﻟﺒﺮﻧﺎﻣﺞ‬
‫ﻣﺜﺎل ‪:‬ﺳﻮرة اﻟﺒﻘﺮة‬
‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫ﺟﺪول ﯾﻮﺿﺢ ﺑﻌﺾ اﻷواﻣﺮ اﻟﺘﻲ ﯾﻤﻜﻦ ﺗﻄﺒﯿﻘﮭﺎ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ‪: Media player‬‬

‫اﻷﻣﺮ اﻟﻤﻮاﻓﻖ‬ ‫اﻟﺪﻻﻟﺔ‬


‫;‪Mediaplayer1.play‬‬ ‫ﻗﺮاءة ‪1-‬‬
‫;‪Mediaplayer1.pause‬‬ ‫ﺗﻮﻗﻒ ﻣﺆﻗﺖ‪2-‬‬
‫‪24‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫;‪Mediaplayer1.next‬‬ ‫ﺗﺒﺪﯾﻞ إﻟﻰ اﻷﻣﺎم‪3-‬‬
‫;‪Mediaplayer1.step‬‬ ‫ﺗﺴﺮﯾﻊ ‪4-‬‬
‫;‪Mediaplayer1.stop‬‬ ‫إﯾﻘﺎف‪5-‬‬

‫‪m‬‬
‫اﻟﺘﻄﺒﯿﻖ اﻟﻌﺎﺷﺮ ‪:‬ﺳﻨﻘﻮم ﺑﺎﻟﺘﺨﻠﻲ ﻋﻦ أزرار اﻟﻤﺮﻛﺒﺔ ‪Mediaplayer1‬وﺗﺤﺮﯾﺮ أواﻣﺮ ﻣﺴﺘﻘﻠﺔ ﺣﺴﺐ‬
‫ﺣﺎﺟﺘﻨﺎ إﻟﯿﮭﺎ‬

‫‪3- .co‬‬
‫ﺑﻤﻌﻨﻰ آﺧﺮ ﺳﻨﻘﻮم ﺑﺘﻄﺒﯿﻖ أﻣﺮﯾﻦ ﻋﻠﻰ ھﺬه اﻟﻤﺮﻛﺒﺔ‬
‫ﻗﺮاءة‬
‫ﺗﻮﻗﻒ ﻣﺆﻗﺖ‬

‫‪o‬‬
‫ﻧﻘﻮم ﺑﺈﺧﻔﺎء اﻟﻤﺮﻛﺒﺔ ‪Mediaplayer1‬ﻋﻨﺪ اﻟﺘﻨﻔﯿﺬ ﺑﻮاﺳﻄﺔ ﺗﻐﯿﺮ ﺧﺎﺻﯿﺔ اﻟﺮؤﯾﺔ ﻓﻲ‬
‫ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ‪.‬‬

‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫‪button1‬ذي اﻟﺪﻻﻟﺔ ﻗﺮاءة ﻛﻤﺎ ﯾﺒﯿﻨﮫ‬ ‫وﻧﺤﺮر اﻷﻣﺮ اﻟﺨﺎص ﺑﺎﻟﻘﺮاءة ﺑﻌﺪ اﻟﻨﻘﺮ اﻟﻤﺰدوج ﻋﻠﻰ اﻟﺰر‬
‫اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‪:‬‬
‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪25‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫ﺛﻢ ﻧﻘﻮم ﺑﻜﺘﺎﺑﺔ أﻣﺮ اﻟﺘﻮﻗﻒ اﻟﻤﺆﻗﺖ ﺑﻌﺪ اﻟﻨﻘﺮ اﻟﻤﺰدوج ﻋﻠﻰ اﻟﺰر ‪)button2‬ذو اﻟﺪﻻﻟﺔ ﺗﻮﻗﻒ ﻣﺆﻗﺖ( ﻛﻤﺎ‬
‫ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪o‬‬
‫اﻟﺒﺮﻧﺎﻣﺞ ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﻨﻔﯿﺬ‪:‬‬

‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫ﻣﻼﺣﻈﺔ ‪:‬ھﻨﺎك ﻋﺪة اﺳﺘﺨﺪاﻣﺎت ﻣﺘﻌﺪدة وﻣﺘﻨﻮﻋﺔ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪mediaplayer‬ﻛﻤﺎ أﻧﮭﺎ ﺗﺘﻌﺎﻣﻞ‬
‫ﻣﻊ وﺳﺎﺋﻂ اﻟﺼﻮت و اﻟﻔﯿﺪﯾﻮ‪.‬‬

‫اﻟﺘﻄﺒﯿﻖ ‪11‬‬
‫‪progressbar1‬‬ ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﺮﻛﺒﺔ‬
‫‪26‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﺳﻨﻘﻮم ﻓﻲ ھﺬا اﻹﺟﺮاء ﺑﺘﻄﺒﯿﻖ ﺑﻌﺾ اﻻﺳﺘﻌﻤﺎﻻت ﻋﻠﻰ ھﺬه اﻟﻤﺮﻛﺒﺔ‬
‫ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺔ ‪progressbar1‬ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت ‪win32‬‬
‫ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺔ ‪button‬‬

‫‪m‬‬
‫أﻧﻘﺮ ﻧﻘﺮا ﻣﺰدوﺟﺎ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪button‬وﺣﺮر اﻷﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬
‫;‪Progressbar1.position:= progressbar1.position+1‬‬
‫ﻧﻔﺬ اﻟﺒﺮﻧﺎﻣﺞ وﻗﻢ ﺑﺎﻟﻨﻘﺮ اﻟﻤﺘﺘﺎﻟﻲ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪button‬ﻓﺘﻼﺣﻆ أن ﻣﺠﺎل اﻟﺘﻘﺪم ﻓﻲ اﻟﻤﺮﻛﺒﺔ ‪progressbar1‬ﯾﺘﻘﺪم ﻣﻊ‬

‫‪3- .co‬‬
‫اﻟﺰﯾﺎدة ﻓﻲ اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪button‬‬
‫ﻣﻊ ﻣﻮاﺻﻠﺔ اﻟﻨﻘﺮ‬ ‫اﻟﺰﯾﺎدة ﻓﻲ اﻟﻨﻘﺮ‬ ‫ﺑﺪاﯾﺔ اﻟﻨﻘﺮ‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫اﻟﺠﺪول اﻟﺴﺎﺑﻖ ﯾﺒﯿﻦ ﺣﺎﻟﺔ ﺗﻘﺪم ﺗﻌﺒﺌﺔ ﻣﺴﺎ ﻣﺠﺎل اﻟﻤﺮﻛﺒﺔ ‪progressbar‬‬

‫‪88 h‬‬
‫‪0- ya‬‬ ‫أﺿﻒ اﻷﻣﺮ اﻟﺘﺎﻟﻲ إﻟﻰ إﺟﺮاء اﻟﻨﻘﺮ‪.‬‬

‫ﺳﺘﻼﺣﻆ ﻋﻨﺪ ﺑﻠﻮغ اﻟﺘﺰاﯾﺪ ﻓﻲ اﻟﺘﻌﺒﺌﺔ اﻟﻤﻨﺘﺼﻒ َ ﺗﻈﮭﺮ ﻟﻚ رﺳﺎﻟﺔ ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‪:‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫أﺿﻒ اﻷﻣﺮ اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪27‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﺳﺘﻼﺣﻆ ﻋﻨﺪ ﺑﻠﻮغ اﻟﺘﺰاﯾﺪ ﻓﻲ اﻟﺘﻌﺒﺌﺔ ِ اﻟﻨﮭﺎﯾﺔَ ﺗﻈﮭﺮ ﻟﻚ رﺳﺎﻟﺔ ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫اﻟﺘﻄﺒﯿﻖ‪12‬‬
‫اﻟﻤﺮﻛﺒﺔ ‪datetimepicker1‬اﻟﻤﺘﺨﺼﺼﺔ ﻓﻲ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻧﻤﻄﻲ ْ اﻟﺘﺎرﯾﺦ واﻟﻮﻗﺖ‪:‬‬
‫‪l 0 de‬‬

‫‪win32‬ﻓﺒﻤـﺠﺮد وﺿﻊ اﻟﻤﺮﻛﺒﺔ ﻋﻠﻰ ﺳﻄﺢ اﻟﻨﺎﻓﺬة ﺗﻼﺣﻆ أن اﻟﻤﺮﻛﺒﺔ‬ ‫ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺔ ﻣﻦ ﺷﺮﯾﻂ‬
‫ﺗﺤﻮي ﺗﺎرﯾﺦ اﻟﯿﻮم (ﺗﺎرﯾﺦ اﻟﻨﻈﺎم )ﺗﻠﻘﺎﺋﯿﺎ ً وﻋﻨﺪ اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﻨﻔﯿﺬ ﺗﻨﺒﺜﻖ ﻣﻨﮭﺎ رزﻧﺎﻣﺔ‬
‫‪a‬‬

‫ﺷﮭﺮﯾﺔ ﯾﻤﻜﻦ ﻣﻦ ﺧﻼﻟﮭﺎ اﻟﺮﺟﻮع إﻟﻰ اﻟﻮراء ﻓﻲ اﻟﺘﺎرﯾﺦ ﻣﺜﺎل ‪:‬ﻟﻤﻌﺮﻓﺔ ﯾﻮم ﻣﯿﻼدك ﺑﺎﻟﻤﻘﺎرﻧﺔ ﻣﻊ ﺗﺎرﯾﺦ‬
‫_‬

‫ﻣﯿﻼدك ﻣﺜﺎل‪:‬‬
‫ﺗﺮﯾﺪ أن ﺗﻌﺮف اﻟﯿﻮم اﻟﻤﻮاﻓﻖ ﻟﺘﺎرﯾﺦ ﻣﯿﻼدك‬
‫‪bi‬‬

‫ﺣﺪد ﺗﺎرﯾﺦ ﻣﯿﻼدك ﺑﺎﻟﯿﻮم و اﻟﺸﮭﺮ و اﻟﺴﻨﺔ‬ ‫*‬


‫ﻓﺘﻼﺣﻆ أن اﻟﯿﻮم اﻟﻤﻮاﻓﻖ ﻟﺘﺎرﯾﺦ اﻟﻤﯿﻼد ھﻮ اﻻﺛﻨﯿﻦ اﻧﺘﺒﮫ إﻟﻰ ﻧﻤﻂ اﻟﺘﺎرﯾﺦ‬ ‫)‪(07/03/1983‬‬
‫‪ou‬‬

‫ﻓﮭﻨﺎﻟﻚ ﻋﺪة أﻧﻤﺎط ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‪:‬‬


‫‪te‬‬
‫‪la‬‬

‫‪28‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫ﯾﻤﻜﻦ ﺗﻐﯿﯿﺮ ﺷﻜﻞ اﻟﺘﺎرﯾﺦ ﻣﻦ ﻧﺎﺣﯿﺔ ﻧﻤﻂ أرﻗﺎم ﻣﺜﻞ ‪:‬‬


‫‪Monday, march 07,1983‬وذﻟﻚ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ‬ ‫‪ 07/03/1983‬إﻟﻰ‬
‫‪a‬‬

‫‪Date format‬ﻣﻦ ‪short‬إﻟﻰ ‪long‬‬


‫_‬

‫آﻟﯿﺔ اﻟﺘﺤﻮﯾﻞ‬ ‫اﻟﻨﻤﻂ‬


‫‪bi‬‬

‫‪/‬‬ ‫‪07/03/1983‬‬
‫‪/‬‬ ‫‪Monday, march 07,1983‬‬
‫‪ou‬‬

‫اﻟﺘﻄﺒﯿﻖ ‪13‬‬
‫‪te‬‬

‫ﻣﻨﺎداة ﺑﺮاﻣﺞ ﻗﺎﻋﺪﯾﺔ ﻓﻲ ‪windows‬ﺳﻨﻘﻮم ﻓﻲ ھﺬا اﻹﺟﺮاء ﺑﺸﺮح آﻟﯿﺔ ﻣﻨﺎداة ﺑﺮاﻣﺞ ﻣﺨﺘﻠﻔﺔ اﻧﻄﻼﻗﺎ ﻣﻦ‬
‫‪la‬‬

‫ﺗﻄﺒﯿﻖ ﻓﻲ دﻟﻔﻲ‪.‬‬
‫اﻷﻣﺮ اﻟﻤﺴﺘﻌﻤﻞ ‪winexec‬ﻟﺘﺤﻘﯿﻖ ذﻟﻚ ﻧﻘﺘﺮح اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ‪:‬‬
‫ﻣﻨﺎداة ﺑﺮﻧﺎﻣﺞ اﻵﻟــﺔ اﻟﺤﺎﺳﺒﺔ اﻟﺨﺎﺻﺔ ﺑـ ‪:windows‬‬
‫ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺔ ‪button‬وﻏﯿﺮ اﻟﺨﺎﺻﯿﺔ ‪ caption‬ﺑـ"‪:‬ﻣﻨﺎداة آﻟﺔ ﺣﺎﺳﺒﺔ "‬

‫‪29‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﻻﺑﺪ ﻣﻦ ﻣﻌﺮﻓﺔ اﺳﻢ اﻟﺒﺮﻧﺎﻣﺞ و ﻣﺴﺎر ﻣﻮﻗﻌﮫ ﺣﺘﻰ ﺗﻜﺘﺐ طﺮﯾﻖ اﻟﺒﻠﻮغ إﻟﯿﮫ‬
‫ﻟﻨﻔﺮض ﻣﺴﺎر ﺑﺮﻧﺎﻣﺞ اﻵﻟﺔ اﻟﺤﺎﺳﺒﺔ ھﻮ ‪:c:\windows\calc‬‬
‫ﺳﻨﻄﺒﻖ اﻷﻣﺮ اﻟﺬي ﯾﺴﻤﺢ ﻟﻲ ﺑﻤﻨﺎداﺗﮫ ﻛﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫ﻣﻼﺣﻈﺎت‪:‬‬

‫‪o‬‬
‫‪ -1‬ﺣﺎﻟﺔ ﻛﺘﺎﺑﺔ اﻟﻤﺴﺎر ﺑﺸﻜﻞ ﺧﺎطﺊ ﻻ ﯾﺘﻢ ﻣﻨﺎداة اﻟﺒﺮﻧﺎﻣﺞ ﻣﻊ ﺗﻨﻔﯿﺬ اﻟﺘﻄﺒﯿﻖ اﻟﻤﻨﺎدي‬

‫‪o‬‬
‫‪08‬‬
‫‘ ‪‘ c:\windows\calc‬‬ ‫‪ -2‬ﻣﺴﺎر ﺗﻮاﺟﺪ اﻟﺒﺮﻧﺎﻣﺞ ﯾﻜﺘﺐ ﺑﯿﻦ ﺷﻠﺘﯿﻦ‬

‫‪88 h‬‬
‫ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ اﻟﺬي ﯾﺒﯿﻦ ﺣﺎﻟﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻨﺪ اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﻨﻔﯿﺬ‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪30‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫اﻟﺘﻄﺒﯿﻖ ‪14‬ﺳﻨﻘﻮم ﺑﺈﻧﺸﺎء ﺗﻄﺒﯿﻖ ﯾﻘﻮم ﺑﺈﯾﻘﺎف ﺟﮭﺎز اﻟﻜﻤﺒﯿﻮﺗﺮ ﺑﻜﺒﺴﺔ زر‬
‫ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺔ ‪BUTTON‬ﺛﻢ ﺧﯿﺮ اﻟﺨﺎﺻﯿﺔ ‪caption‬ﺑـ ‪:‬إﯾﻘﺎف ﺗﺸﻐﯿﻞ ﺟﮭﺎز اﻟﻜﻤﺒﯿﻮﺗﺮ‬

‫‪m‬‬
‫ﺛﻢ ﺣﺮر اﻷﻣﺮ اﻟﺘﺎﻟﻲ وذﻟﻚ ﺑﻌﺪ اﻟﻨﻘﺮ اﻟﻤﺰدوج ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪button‬‬

‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫ﺷﻜﻞ اﻟﺘﻄﺒﯿﻖ أﺛﻨﺎء اﻟﺘﻨﻔﯿﺬ‬

‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪31‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫اﻟﺘﻄﺒﯿﻖ ‪15:‬‬
‫ﺳﻨﻘﻮم ﺑﺘﻄﻮﯾﺮ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺴﺎﺑﻖ ﺣﺘﻲ ﯾﺼﺒﺢ أﻣﺮ ﻏﻠﻖ اﻟﺠﮭﺎز ﻣﺘﻌﻠﻖ ب ﺳﺎﻋﺔ ﺗﻮﻗﯿﺖ ﯾﺘﻢ ﺿﺒﻄﮭﺎ‬
‫ﻋﺸﻮاﺋﯿﺎ أو ﺣﺴﺐ اﻟﺤﺎﺟﺔ ﻹﯾﻘﺎف ﺗﺸﻐﯿﻞ ﺟﮭﺎز اﻟﻜﻤﺒﯿﻮﺗﺮ‪.‬‬

‫‪m‬‬
‫اﻟﺨﻄﻮات ‪:‬‬
‫ﻧﻘﻮم ﺑﺎﻟﺘﺼﺮﯾﺢ ﺑﺎﻟﻤﺘﻐﯿﺮﯾﻦ ‪ a,b‬ﻣﻦ ﻧﻮع ﺣﺮﻓﻲ ‪string‬‬
‫ﺳﻨﻘﻮم ﺑﺈﻧﺸﺎء ﺳﺎﻋﺔ ﻛﻤﺎ ﺳﺒﻖ وأﻧﺎ ﺷﺮﺣﻨﺎ ھﺬا اﻹﺟﺮاء ﺳﺎﺑﻘﺎ‬

‫‪3- .co‬‬
‫ﻧﻘﻮم ﺑﻤﻘﺎرﻧﺔ وﻗﺖ إﻏﻼق اﻟﺠﮭﺎز دورﯾﺎ ﻛﻞ ﺛﺎﻧﯿﺔ ﺑﻮاﺳﻄﺔ اﻟﻤﺮﻛﺒﺔ ‪timer1‬‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪32‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫اﻟﺒﺮﻧﺎﻣﺞ ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﻨﻔﯿﺬ‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫ﺷﺮح ھﺬه اﻟﺤﺎﻟﺔ‪:‬‬
‫‪:‬اﻟﺴﺎﻋﺔ ﺗﺸﯿﺮ إﻟﻰ ‪00:03:21‬ﯾﺘﻢ إﺳﻨﺎد ھﺬه اﻟﻘﯿﻤﺔ ﻓﻲ اﻟﻤﺘﻐﯿﺮ ‪b‬‬ ‫ﻟﺪﯾﻨﺎ‬
‫@‪79 l‬‬

‫‪-0‬‬
‫اﻟﺴﺎﻋﺔ اﻟﻤﺮاد إﯾﻘﺎف ﺗﺸﻐﯿﻞ اﻟﺠﮭﺎز ﻋﻨﺪھﺎ ھﻲ ‪00:10:00‬ﯾﺘﻢ إﺳﻨﺎدھﺎ ﻓﻲ اﻟﻤﺘﻐﯿﺮ ‪a‬‬
‫‪A‬و ‪B‬ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ اﻟﺘﻄﺎﺑﻖ ﺳﯿﺤﺪث ﺑﻌﺪ ‪:‬‬ ‫ﯾﺄﺗﻲ دور ﻣﺮاﻗﺒﺔ ﺗﻄﺎﺑﻖ ﻣﺤﺘﻮى‬
‫‪ 06‬دﻗﺎﺋﻖ و ‪39‬ﺛﺎﻧﯿﺔ أي اﻧﮫ ﺑﻌﺪ ﻣﺮور ھﺬه اﻟﻤﺪة ﺳﯿﺘﻢ ﺗﺤﻘﻖ ﺷﺮط اﻟﻤﺴﺎواة )‪(a=b‬‬
‫‪l 0 de‬‬

‫وﻋﻨﺪ ﺗﺤﻘﻖ اﻟﺸﺮط اﻟﺴﺎﺑﻖ ﺳﯿﺘﻢ ﺗﻨﻔﯿﺬ إﯾﻘﺎف ﺗﺸﻐﯿﻞ اﻟﺠﮭﺎز‬


‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪33‬‬
la
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬
ou
bi
te _ a
l 0 de
79 l@
0- ya
88 h
-0 o o
3- .co
08 m
5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬

34
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫ﻗﻮاﻋﺪ اﻟﻤﻌﻄﯿﺎت ‪base de données‬‬

‫‪m‬‬
‫ﺗﻌﺮﯾﻒ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ‪ :‬وھﻲ ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺒﯿﺎﻧﺎت ﻣﻜﺪﺳﺔ ﺣﺎﻣﻞ ﻓﯿﺰﯾﺎﺋﻲ ﻣﻌﯿﻦ‬
‫ﺗﻌﺮﯾﻒ ‪ alias‬وھﻲ ﻋﺒﺎرة ﻋﻦ ﻣﻠﻒ ﺗﺨﺰن ﻓﯿﮫ ﻗﻮاﻋﺪ‬
‫ﻣﺜﺎل ‪c:\ts\alias\base1 :‬‬

‫‪3- .co‬‬
‫ﺳﺘﺤﺎول ﻓﻲ ھﺬه اﻟﻔﻘﺮة ﺗﻘﺪﯾﻢ آﻟﯿﺔ إﻧﺸﺎء ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﻓﻲ دﻟﻔﻲ ﺑﻮاﺳﻄﺔ‬
‫‪module de base de données‬‬

‫ﺗﻌﺮﯾﻒ ‪:‬وھﻮ ﻋﺒﺎرة ﻋﻦ ﺑﺮﻧﺎﻣﺞ وﺳﯿﻂ ﻓﻲ ﻣﺠﻤﻮﻋﺔ دﻟﻔﻲ ‪ 5‬ﯾﻘﻮم ﺑﺈﻧﺸﺎء‬

‫‪o‬‬
‫ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ ﻋﺪة ﻣﺰاﯾﺎ أﺧﺮى‬
‫آﻟﯿﺔ اﻟﺘﻨﻔﯿﺬ ‪ :‬ﻋﻨﺪ ﺗﻨﺼﯿﺒﻚ ﻟﺒﺮﻧﺎﻣﺞ دﻟﻔﻲ ﯾﺘﻢ ﺗﻨﺼﯿﺐ ‪module de bdd‬‬

‫‪o‬‬
‫‪08‬‬
‫ﺗﻠﻘﺎﺋﯿﺎ واﻟﯿﻚ ﻛﯿﻔﯿﺔ ﺗﻨﻔﯿﺬه‬

‫‪88 h‬‬
‫اﻧﻘﺮ ﻋﻠﻰ اﺑﺪأ‪ /‬ﺗﻨﻔﯿﺬ ﺛﻢ اﻛﺘﺐ اﻷﻣﺮ اﻟﺘﺎﻟﻲ ‪dbd32:‬‬
‫ﻣﻼﺣﻈﺎت ‪:‬‬
‫‪0- ya‬‬ ‫‪ -1‬ﯾﻤﻜﻨﻚ إﻧﺸﺎء ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺑﻮاﺳﻄﺔ ﺑﺮﻧﺎﻣﺞ ﻣﺨﺘﺺ ورﺑﻄﮭﺎ ﻣﻊ دﻟﻔﻲ‬
‫ﻓﻌﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﺑﺮﻧﺎﻣﺞ ‪accès‬‬
‫‪ -2‬ﯾﺘﯿﺢ ﻟﻚ ‪ module de base de données‬ﻋﺪة ﺧﯿﺎرات ﻟﺘﺼﻤﯿﻢ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫‪ -3‬ﯾﺴﺘﺤﺴﻦ اﺧﺘﯿﺎر ﻧﻤﻂ اﻹﻧﺸﺎء ‪paradox7‬‬


‫ﻗﺒﻞ إﻧﺸﺎء ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﺟﻞ ﺣﻔﻈﮭﺎ ﻓﯿﮫ‬ ‫‪ -‬ﻻﺑﺪ ﻣﻦ إﻧﺸﺎء اﻟﻤﻠﻒ ‪alias‬‬

‫آﻟﯿﺔ إﻧﺸﺎء ‪ALIAS‬‬


‫‪l 0 de‬‬

‫ﻧﻔﺬ ﺑﺮﻧﺎﻣﺞ ‪module de bdd‬‬ ‫‪-1‬‬


‫اﻧﻘﺮ ﻋﻠﻰ اﻟﻘﺎﺋﻤﺔ ‪outils‬‬ ‫‪-2‬‬
‫اﻧﻘﺮ ﻋﻠﻰ اﻟﺨﯿﺎر ‪gestionnaire d’alias‬‬
‫‪a‬‬

‫‪-3‬‬
‫ﺗﻈﮭﺮ ﻟﻚ ﻧﺎﻓﺬة ﺟﺪﯾﺪة ﻗﻢ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ‪nouveau‬‬ ‫‪-4‬‬
‫_‬

‫ﻗﻢ ﺑﺤﺠﺰ اﺳﻢ ‪ alias‬اﻟﺠﺪﯾﺪ وﻟﯿﻜﻦ ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ‪ laoubi_adel :‬ﺛﻢ اﻧﻘﺮ ﻋﻠﻰ ‪ok‬‬ ‫‪-5‬‬
‫ﺗﻈﮭﺮ ﻟﻚ رﺳﺎﻟﺔ ﺗﻨﺒﯿﮫ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ‪ok‬‬ ‫‪-6‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪35‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫آﻟﯿﺔ إﻧﺸﺎء ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺑﻮاﺳﻄﺔ ‪module de bdd‬‬

‫‪-‬إﻧﺸﺎء ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﻓﻲ ‪module de bdd‬‬

‫‪m‬‬
‫ﻻﺑﺪ ﻣﻦ ﻣﻌﺮﻓﺔ ھﻨﺪﺳﺔ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬
‫• ﻟﺘﻜﻦ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﺎﻟﯿﺔ ‪Base1(code,nom,prénom,daten,information ) :‬‬

‫‪3- .co‬‬
‫ﻣﻼﺣﻈﺎت‬ ‫اﻟﻔﮭﺮﺳﺔ‬ ‫طﻮﻟﮫ‪taille‬‬ ‫ﻧﻮﻋﮫ ‪type‬‬ ‫اﺳﻢ اﻟﺤﻘﻞ‪Nom champ‬‬
‫‪index‬‬
‫*‪ :‬ﻣﻔﮭﺮس ﺣﺴﺐ اﻟﺤﻘﻞ‪code‬‬ ‫*‬ ‫‪6‬‬ ‫‪A‬‬ ‫‪code‬‬
‫‪ :A‬ﻧﻮع ﺣﺮﻓﻲ ‪Alphabétique‬‬ ‫‪20‬‬ ‫‪A‬‬ ‫‪Nom‬‬
‫‪20‬‬ ‫‪A‬‬ ‫‪Prénom‬‬

‫‪o‬‬
‫‪ :D‬ﻧﻮع ﺗﺎرﯾﺦ‬ ‫‪8‬‬ ‫‪D‬‬ ‫‪daten‬‬

‫‪o‬‬
‫‪:M‬ﻣﻦ ﻧﻮع ﻣﻔﻜﺮة ‪MEMO‬‬ ‫‪222‬‬ ‫‪M‬‬ ‫‪Information‬‬

‫‪08‬‬
‫‪88 h‬‬
‫ﺑﻌﺪ ﺗﺼﻤﯿﻢ ﺑﻨﯿﺔ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺳﻨﺤﺎول اﻵن إﻧﺸﺎﺋﮭﺎ وﻓﻖ إﺗﺒﺎع اﻟﻤﺮاﺣﻞ اﻟﺘﺎﻟﯿﺔ‬
‫‪0- ya‬‬
‫‪ -1‬اﻧﻘﺮ ﻋﻠﻰ اﻟﻘﺎﺋﻤﺔ ‪Fichier‬‬
‫‪ -2‬اﺧﺘﺮ اﻷﻣﺮ ‪nouveau /table‬‬
‫@‪79 l‬‬
‫‪ -3‬ﻗﻢ ﺑﺎﺧﺘﯿﺎر ﻧﻤﻂ ‪paradox7‬‬
‫‪-0‬‬ ‫‪ -4‬ﻓﺴﺘﻼﺣﻆ ظﮭﻮر ﻧﺎﻓﺬة ﻣﺼﻤﻤﺔ ﺗﻘﺮﯾﺒﺎ ﻣﺜﻞ اﻟﺠﺪول اﻟﻤﺪرج أﻋﻼه‬
‫‪ -5‬ﻗﻢ ﺑﺤﺠﺰ أﺳﻤﺎء اﻟﺤﻘﻮل وﺗﺤﺪﯾﺪ ﻛﻼ ﻣﻦ –)ﻧﻮع اﻟﺤﻞ‪.‬وطﻮﻟﮫ( ﻛﻼ ﻋﻠﻰ ﺣﺪا‬
‫‪ -6‬ﻋﻨﺪ اﻻﻧﺘﮭﺎء ﻣﻦ ﺣﺠﺰ ﻗﯿﻢ اﻟﺤﻘﻮل ﻗﻢ ﺑﺤﻔﻆ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺗﺤﺖ اﺳﻢ ‪ base1‬ﻓﻲ ‪alias‬‬
‫‪---‬‬
‫‪l 0 de‬‬

‫‪laoubi_adel‬‬
‫اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ ﻟﻚ اﻟﺨﻄﻮات اﻟﺴﺎﺑﻘﺔ‬
‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪36‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫اﺳﻢ ﻗﺎﻋﺪة‬
‫اﻟﺒﯿﺎﻧﺎت‬

‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬ ‫اﺧﺘﯿﺎر ‪Alias‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫إﻧﺸﺎء ﻓﮭﺎرس ﻓﺮﻋﯿﺔ ﻟﺘﺴﮭﯿﻞ ﻋﻤﻠﯿﺔ اﻟﺒﺤﺚ‬


‫آﻟﯿﺔ اﻹﻧﺸﺎء‬
‫‪l 0 de‬‬

‫ﺑﻌﺪ أن ﺗﺘﻢ ﻋﻤﻠﯿﺔ ﺗﺼﻤﯿﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬


‫• ﻗﻢ ﺑﻔﺘﺢ اﻟﻘﺎﺋﻤﺔ ‪proprieties de table‬‬
‫• ﻗﻢ ﺑﺎﺧﺘﯿﺎر اﻟﺨﯿﺎر اﻟﺜﺎﻟﺚ ﻣﻨﮭﺎ وھﻮ ‪index sécondaires‬‬
‫‪a‬‬

‫• ﻗﻢ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ‪définir‬‬


‫• ﻗﻢ ﺑﺘﺤﺪﯾﺪ اﻟﺤﻘﻞ اﻟﻤﺮاد إﻧﺸﺎء ﻓﮭﺮس ﻓﺮﻋﻲ ﻟﮫ وﻟﯿﻜﻦ ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل اﻟﺤﻘﻞ ‪nom‬‬
‫_‬

‫• اﻧﻘﺮ ﻋﻠﻰ اﻟﺰر ‪ok‬‬


‫‪bi‬‬

‫• ﻓﺘﻈﮭﺮ ﻟﻚ ﻋﻠﺒﺔ ﺣﻮار ﺗﻄﺎﻟﺒﻚ ﺑﺈدﺧﺎل اﺳﻢ اﻟﻔﮭﺮس وﻟﯿﻜﻦ ‪xnom‬‬


‫• اﻧﻘﺮ ﻓﻮق اﻟﺰر ‪ok‬‬
‫‪ou‬‬

‫ﻻﺑﺪ أن ﯾﻜﻮن اﺳﻢ اﻟﻔﮭﺮس اﻟﻔﺮﻋﻲ ﯾﺨﺘﻠﻒ ﻋﻦ اﺳﻢ اﻟﺤﻘﻞ ﻛﻤﺎ ﻗﻤﻨﺎ ﺑﺬﻟﻚ ﺳﺎﺑﻘﺎ ﺑﺈﻋﻄﺎء ‪ xnom‬ﺑﺪل ‪nom‬‬
‫‪te‬‬
‫‪la‬‬

‫‪37‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬

‫وأﺧﯿﺮا ھﺎ ﻗﺪ أﻧﺸﺄﻧﺎ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪ base1‬ﺑﻮاﺳﻄﺔ اﻟﺒﺮﻧﺎﻣﺞ ‪ module de bdd‬اﻟﺨﺎص ﺑﺪﻟﻔﻲ ‪.‬ﻟﻜـﻦ ؟‬
‫‪te‬‬
‫‪la‬‬

‫ﻻﺑﺪ ﻟﻨﺎ ﻣﻦ اﻟﻘﯿﺎم اﻵن ﺑﻌﻤﻠﯿﺔ ﺗﻌﺒﺌﺔ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪..‬ﻛﯿﻒ ذﻟﻚ؟‬
‫ﯾﺴﻤﺢ ﻟﻚ ﺑﺮﻧﺎﻣﺞ ‪ module de base de données‬ﺑﺎﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺔ إدﺧﺎل اﻟﺒﯿﺎﻧﺎت ﻟﻜﻦ ﺑﻄﺮﯾﻖ ﺗﻘﻠﯿﺪﯾﺔ‬
‫ﻟﻜﻦ ﻓﻲ ﺣﺎﻟﺔ اﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺎت اﻟﺘﺤﯿﯿﻦ اﻟﺒﺮﻧﺎﻣﺞ ﻻ ﯾﺘﯿﺢ ﻟﻚ ﺧﯿﺎرات ﺳﮭﻠﺔ ﻛﺎﻟﺒﺤﺚ و اﻟﻔﮭﺮﺳﺔ واﻻﺳﺘﻌﻼﻣﺎت ‪.....‬‬
‫وھﻨﺎ ﺳﻨﻀﻄﺮ ﻟﻼﻧﺘﻘﺎل إﻟﻰ اﻟﻤﻮﺿﻮع اﻟﺜﺎﻧﻲ ‪...‬‬

‫‪38‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫رﺑﻂ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﺑﺪﻟﻔﻲ‬


‫ﯾﺘﯿﺢ ﻟﻚ دﻟﻔﻲ ﻋﺪد ﻏﯿﺮ ﻣﻨﺘﮭﻲ ﻣﻦ اﻟﺨﯿﺎرات اﻟﻤﻄﺒﻘﺔ ﻋﻠﻰ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬

‫‪m‬‬
‫ﺣﯿﺚ ﯾﺴﻤﺢ ﺑﺎﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺎت اﻹﺿﺎﻓﺔ اﻟﺘﻐﯿﯿﺮ اﻟﺤﺬف اﻟﻔﮭﺮﺳﺔ ‪......‬ﺑﻌﺪة ﺧﯿﺎرات وطﺮق ﻣﺘﻌﺪدة وﺳﮭﻠﺔ ﺣﯿﺚ ﺗﺼﺒﺢ ﻗﺎﻋﺪة ﻣﻌﻄﯿﺎت ﺗﺤﺘﻮي ﻋﻠﻰ‬
‫أﻻف اﻟﺘﺴﺠﯿﻼت ﻛﺎﻟﻌﺠﯿﻨﺔ ﻓﻲ ﯾﺪك ﻣﻦ ﻧﺎﺣﯿﺔ ﻣﻌﺎﻟﺠﺔ اﻟﺒﯿﺎﻧﺎت ‪.‬‬

‫‪3- .co‬‬
‫اﻟﻤﺮﻛﺒﺎت اﻟﻼزﻣﺔ ﻟﻌﻤﻠﯿﺔ اﻟﺮﺑﻂ‬
‫‪ -1‬ﻣﺮﻛﺒﺎت رﺑﻂ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت وھﻲ‪:‬‬
‫اﻟﻤﺮﻛﺒﺔ ‪ table1‬و ‪data source 1‬‬
‫‪ -2‬ﻣﺮﻛﺒﺎت ﻋﺮض اﻟﺒﯿﺎﻧﺎت ‪ :‬ﻣﺮﻛﺒﺔ ‪ dbgrid1‬أو ﻣﺮﻛﺒﺔ ‪..................... dbedit1.text‬‬
‫آﻟﯿﺔ اﻟﺮﺑﻂ‬

‫‪o‬‬
‫‪ -1‬ﻗﻢ ﺑﻔﺘﺢ ﻣﺸﺮوع ﺟﺪﯾﺪ ﻓﻲ دﻟﻔﻲ ‪5‬‬

‫‪o‬‬
‫‪ -2‬ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺘﺎن ‪ table1.‬و ‪ data source1‬ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت ‪Accès bd‬‬

‫‪08‬‬
‫‪ -3‬ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ﻗﻢ ﺑﺘﺤﺪﯾﺪ اﻟﻤﺮﻛﺒﺔ ‪ table1‬ﻗﻢ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ ‪ data base name‬ﺑــ‪ laoubi_adel :‬أي اﻟﻤﻠﻒ اﻟﺬي‬

‫‪88 h‬‬
‫اﻧﺸﺄ ﻧﺎه ﺳﺎﺑﻘﺎ‬
‫‪ -4‬ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ﻗﻢ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ ‪ table name‬ﺑــ‪ base1 :‬وھﻮ اﺳﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ أﻧﺸﺄﻧﺎ ھﺎ ﺳﺎﺑﻘﺎ‬
‫‪0- ya‬‬ ‫‪ -5‬ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ﻗﻢ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ ‪ active‬ﻣﻦ ‪ false‬إﻟﻰ ‪true‬‬
‫ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﻧﻜﻮن ﻗﺪ رﺑﻄﻨﺎ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻔﯿﺰﯾﺎﺋﯿﺔ ﺑﺪﻟﻔﻲ ﻣﻨﻄﻘﯿﺎ ‪...‬ﺣﺴﺐ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬

‫ﺑﺮﺑﻂ اﻟﻤﺮﻛﺒﺔ ‪ data ource1‬ﺑــ‪table1 :‬‬


‫آﻟﯿﺔ اﻟﺮﺑﻂ‬
‫‪te‬‬

‫‪ -1‬ﻗﻢ ﺑﺘﺤﺪﯾﺪ اﻟﻤﺮﻛﺒﺔ ‪data source1‬‬


‫‪la‬‬

‫‪ -2‬ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ﻗﻢ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ ‪ data set‬ﺑﺎﻟﻘﯿﻤﺔ ‪table1‬‬

‫‪39‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫رﺑﻂ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻤﻨﻄﻘﯿﺔ ﺑﻤﺮﻛﺒﺔ اﻟﻌﺮض ‪dbgride‬‬
‫آﻟﯿﺔ اﻟﺘﻨﻔﯿﺬ ‪:‬‬
‫‪ -1‬ﻓﻲ ﻧﻔﺲ اﻟﻤﺸﺮوع ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺔ ‪ dbgrid1‬ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت ‪contrôle bd‬‬
‫‪ -2‬ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ﻗﻢ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ ‪ data source‬ﺑـ‪data sourc1 :‬‬

‫‪m‬‬
‫ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ظﮭﻮر اﻟﺤﻘﻮل‬


‫‪l 0 de‬‬

‫ﺗﻄﻮﯾﺮ ﺑﺮﻧﺎﻣﺞ ﺗﺴﯿﯿﺮ ﻓﻲ دﻟﻔﻲ‬


‫‪a‬‬

‫ﺳﻨﻘﻮم ﺑﺘﻄﻮﯾﺮ ﺑﺮﻧﺎﻣﺞ ﻗﻮاﻋﺪ ﺑﯿﺎﻧﺎت ﻓﻲ دﻟﻔﻲ وذﻟﻚ ﺑﺎﻻﻋﺘﻤﺎد ﻋﻠﻰ ﻣﺴﺒﻖ ذﻛﺮه ‪.‬ﺣﯿﺚ ﺳﻨﻌﺘﻤﺪ ﻋﻠﻰ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪BASE1‬‬
‫_‬

‫اﻟﺴﺎﺑﻘﺔ ‪.‬وﻧﻘﻮم ﺑﺘﻄﻮﯾﺮ آﻟﯿﺔ ﻣﻦ اﺟﻞ اﻟﻘﯿﺎم ﺑـﺎﻟﻌﻤﻠﯿﺎت اﻟﺘﺎﻟﯿﺔ ﻋﻠﻰ ‪base1‬‬
‫‪ -1‬إﺿﺎﻓﺔ ﺗﺴﺠﯿﻠﮫ‬
‫‪bi‬‬

‫‪ -2‬اﻟﺒﺤﺚ ﻋﻦ ﺗﺴﺠﯿﻠﮫ‬
‫‪ -3‬ﺗﻐﯿﯿﺮ ﻣﺤﺘﻮى ﺗﺴﺠﯿﻠﮫ‬
‫‪ -4‬ﺣﺬف ﺗﺴﺠﯿﻠﮫ‬
‫‪ou‬‬

‫‪ -5‬ﺣﻔﻆ اﻟﺘﻐﯿﯿﺮات ﻋﻠﻰ اﻟﻄﺎرﺋﺔ ﻋﻠﻰ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬


‫* ﻓﻲ ﻧﻔﺲ اﻟﻤﺸﺮوع ﻗﻢ ﺑﺈﺣﻀﺎر ‪ 7‬أزرار ‪ buttons‬ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت ‪standard‬‬
‫‪te‬‬

‫‪ -‬ﻗﻢ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ ‪button1‬‬


‫ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ﻗﻢ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ ‪ caption‬إﻟﻰ ‪recherché‬‬ ‫•‬
‫‪la‬‬

‫• طﺒﻖ ﻧﻔﺲ اﻟﻌﻤﻠﯿﺔ ﻋﻠﻰ ﺑﺎﻗﻲ اﻷزرار وذﻟﻚ ﺑﺘﺴﻤﯿﺘﮭﺎ ﻋﻠﻰ اﻟﺘﻮاﻟﻲ)– ‪-ajouté –modifier –enregistrer –annuler‬‬
‫‪(supprimer-quit‬‬

‫‪40‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫اﻟﺘﻐﯿﯿﺮ ﺣﺬف ﺗﺴﺠﯿﻠﺔ‪ -‬اﻟﺒﺤﺚ ﻋﻦ ﺗﺴﺠﯿﻠﺔ (‬
‫‪-‬‬ ‫ﺑـ ) إﺿﺎﻓﺔ ﺗﺴﺠﯿﻠﺔ‪ -‬ﺗﻐﯿﯿﺮ ﺗﺴﺠﯿﻠﺔ‪ -‬ﺣﻔﻆ ﺗﺴﺠﯿﻠﺔ –إﻟﻐﺎء‬ ‫ﻛﺘﺎﺑﺔ اﻷواﻣﺮ اﻟﺘﻲ ﺗﺴﻤﺢ‬

‫ﻣﻼﺣﻈﺔ ‪:‬ﻛﻞ اﻟﻌﻤﻠﯿﺎت اﻟﺴﺎﺑﻘﺔ ﺳﺘﻄﺒﻖ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪table1‬‬


‫‪l 0 de‬‬

‫ﺗﻜﻮن ﻋﻤﻠﯿﺔ ﻛﺘﺎﺑﺔ اﻷﻣﺮ ﺑﺎﻟﻨﻘﺮ اﻟﻤﺰدوج ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪ button‬وﻛﺘﺎﺑﺔ اﻷواﻣﺮ ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬
‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬

‫اﻵن ﻗﻢ ﺑﺘﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ وذﻟﻚ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ‪F9‬‬ ‫‪-‬‬


‫‪la‬‬

‫ﻗﻢ ﺑﺈدراج اﻟﺒﯿﺎﻧﺎت ﺣﺴﺐ اﻟﺠﺪول اﻟﺘﺎﻟﻲ ‪:‬‬ ‫‪-‬‬

‫‪code‬‬ ‫‪nom‬‬ ‫‪prénom‬‬ ‫‪information‬‬ ‫‪Date de naissance‬‬


‫‪001‬‬ ‫‪Laoubi‬‬ ‫‪adel‬‬ ‫‪Tel :0790-88-03-08‬‬ ‫‪07/03/1983‬‬
‫‪002‬‬ ‫‪djimi‬‬ ‫‪Mohammed‬‬ ‫‪/dresse :rue elnar-djelfa‬‬ ‫‪12/0/1985‬‬
‫‪003‬‬ ‫‪Ben yattou‬‬ ‫‪Lila‬‬ ‫‪Diplôme :universitaire‬‬ ‫‪10/03/1988‬‬

‫‪41‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫‪004‬‬ ‫‪bougrara‬‬ ‫‪seddik‬‬ ‫‪Adresse maddid‬‬ ‫‪12/02/1975‬‬
‫‪005‬‬ ‫‪hiba‬‬ ‫‪Laoubi‬‬ ‫‪Ain el hadjel‬‬ ‫‪02/02/1999‬‬

‫اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ اﻟﺒﺮﻧﺎﻣﺞ أﺛﻨﺎء اﻟﺘﻨﻔﯿﺬ ﻣﻊ اﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺔ إدراج اﻟﺒﯿﺎﻧﺎت‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫ﺑﻘﻲ ﻟﻨﺎ اﻵن ﻋﻤﻠﯿﺔ اﻟﺒﺤﺚ‬


‫‪ -‬ﻻﺑﺪ ﻟﻨﺎ ﻣﻦ ﺗﻮﻓﺮ وﺳﯿﻂ ﻟﻠﻘﯿﺎم ﺑﻌﻤﻠﯿﺔ اﻟﺒﺤﺚ ‪.‬‬
‫ﻗﻢ إﺗﺒﺎع اﻟﻤﺮاﺣﻞ اﻟﺘﺎﻟﯿﺔ ‪:‬‬
‫‪a‬‬

‫‪ -‬أﺣﻀﺮ اﻟﻤﺮﻛﺒﺔ ‪edit1.text‬‬


‫ﻓﻲ ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ﻗﻢ ﺑﺘﺨﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ ‪ text‬ب ﻓﺮاغ‬ ‫‪-‬‬
‫_‬

‫‪ -‬اﻛﺘﺐ اﻷﻣﺮ اﻟﺘﺎﻟﻲ ﺑﻌﺪ اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ‪recherché‬‬


‫‪bi‬‬

‫‪if table1.FindKey([edit1.text]) then‬‬


‫;)'‪showmessage(' données trouvées‬‬
‫‪if not table1.FindKey([edit1.text]) then‬‬
‫‪ou‬‬

‫;)'‪showmessage(' données non trouvées‬‬


‫ﻧﻔﺬ اﻟﺒﺮﻧﺎﻣﺞ‬
‫ﻗﻢ ﺑﻌﻤﻠﯿﺔ اﻟﺒﺤﺚ ﻣﻦ اﺟﻞ اﻟﻘﯿﻤﺔ ‪003‬‬
‫‪te‬‬

‫ﻓﺴﺘﻼﺣﻆ ظﮭﻮر رﺳﺎﻟﺔ " ‪ "données trouvées‬ﺗﺪل ﻋﻠﻰ وﺟﻮد اﻟﺘﺴﺠﯿﻠﯿﺔ ﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ ﺗﻤﻮﻗﻊ ﻣﺆﺷﺮ اﻟﻤﺮﻛﺒﺔ ‪ dbgrid1‬ﻋﻨﺪ‬
‫‪la‬‬

‫اﻟﺘﺴﺠﯿﻠﯿﺔ اﻟﺘﻲ ﺗﻢ اﻟﺒﺤﺚ ﻋﻨﮭﺎ‬


‫‪ -‬ﻗﻢ ﺑﻌﻤﻠﯿﺔ اﻟﺒﺤﺚ ﻣﻦ اﺟﻞ ﻗﯿﻤﺔ ﻏﯿﺮ ﻣﻮﺟﻮد ﻟﺘﻜﻦ ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ‪0125‬‬
‫ﻓﺴﺘﻼﺣﻆ ظﮭﻮر رﺳﺎﻟﺔ " ‪ "données non trouvées‬أي أن اﻟﺘﺴﺠﯿﻠﯿﺔ ﻏﯿﺮ ﻣﻮﺟﻮدة‬
‫‪-‬‬

‫‪42‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬

‫ﺑﻌﺾ طﺮق اﻟﺒﺤﺚ اﻟﺘﻲ ﯾﺴﻤﺢ دﻟﻔﻲ ﺑﺘﻄﺒﯿﻘﮭﺎ ﻋﻠﻰ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬
‫‪ -1‬اﻟﺒﺤﺚ ﺑﻮاﺳﻄﺔ اﻟﺪاﻟﺔ ‪Find key :‬‬
‫‪te‬‬

‫ﻟﺘﻄﺒﯿﻖ اﻟﺒﺤﺚ ﺑﻮاﺳﻄﺔ ھﺬه اﻟﺪاﻟﺔ ﻧﺤﺘﺎج إﻟﻰ ‪:‬‬


‫‪la‬‬

‫• ﻻ ﺑﺪ ان ﯾﻜﻮن ھﻨﺎك ﻓﮭﺮ رﺋﯿﺴﻲ ﻟﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻤﺮاد اﻟﺒﺤﺚ ﻓﯿﮭﺎ ) ‪( index principale‬‬
‫• ﻻﺑﺪ ﻣﻦ ﺗﻮﻓﺮ وﺳﯿﻂ ﻻﺣﺘﻮاء اﻟﻘﯿﻢ اﻟﻤﺮاد اﻟﺒﺤﺚ ﻋﻨﮭﺎ ﻣﺜﻞ اﻟﻤﺮﻛﺒﺔ ‪edit1.text:‬‬

‫‪43‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫آﻟﯿﺔ اﻟﺘﻨﻔﯿﺬ‪:‬‬

‫‪m‬‬
‫‪if table1.FindKey([edit1.text]) then‬‬
‫;)' ﺗﺴﺠﯿﻠﮫ ﻣﻮﺟﻮدة '(‪showmessage‬‬
‫‪if not table1.FindKey([edit1.text]) then‬‬

‫‪3- .co‬‬
‫;)' ﺗﺴﺠﯿﻠﮫ ﻏﯿﺮ ﻣﻮﺟﻮدة'(‪showmessage‬‬

‫اﻟﺪاﻟﺔ ‪.FindNearest :‬‬


‫ﺗﻘﻮم اﻟﺪاﻟﺔ ﺑﺎﻟﺒﺤﺚ ﻋﻦ ﻣﻌﻠﻮﻣﺔ وذﻟﻚ ﺣﺴﺐ ﺗﻘﺎرب اﻟﺤﺮوف اﻷﺑﺠﺪﯾﺔ‬
‫ﻣﻼﺣﻈﺔ ‪ :‬دا ﺋﻤﺎ ﻣﺎ ﯾﺘﻢ اﻟﺒﺤﺚ ن اﻷﺳﻤﺎء أو اﻷﻟﻘﺎب وذﻟﻚ ﺑﺘﺘﺒﻊ ﺗﺸﺎﺑﮫ اﻷﺣﺮف وﻣﻘﺎرﻧﺘﮭﺎ ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت وﯾﺘﻢ‬

‫‪o‬‬
‫ﺗﻤﻮﻗﻊ اﻟﻤﺆﺷﺮ ﻛﻠﻤﺎ ﻛﺎﻧﺖ ﻧﺘﯿﺠﺔ اﻟﺒﺤﺚ ﻗﺮﯾﺒﺔ وﺗﻌﺘﻤﺪ ﻋﻠﻰ‪:‬‬

‫‪o‬‬
‫‪ -1‬ﻻﺑﺪ أن ﺗﻜﻮن ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻣﻔﮭﺮﺳﺔ ﺣﺴﺐ ﻗﯿﻢ اﻟﺒﺤﺚ ﻓﻠﻮ أردﻧﺎ ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻋﻦ اﻟﺒﺤﺚ ﻋﻦ اﻷﺳﻤﺎء اﻟﺘﻲ‬

‫‪08‬‬
‫ﺗﺒﺪأ ﺑﺤﺮف ‪ f‬ﻻﺑﺪ أن ﻧﻘﻮم ﺑﻔﮭﺮﺳﺔ اﻟﺤﻘﻞ اﻟﻤﺮاد اﻟﺒﺤﺚ ﻓﯿﮫ ‪.‬وﯾﻜﻮن ذﻟﻚ أﺛﻨﺎء ﺗﺼﻤﯿﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻓﻲ اﻟﺒﺪاﯾﺔ‬

‫‪88 h‬‬
‫وﻟﻠﻘﯿﺎم ﺑﻌﻤﻞ ﻓﮭﺎرس ﻓﺮﻋﯿﺔ ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻟﺘﺴﮭﯿﻞ ﻋﻤﻠﯿﺔ اﻟﺒﺤﺚ وﺗﻮﺳﻌﺘﮭﺎ ﻛﺎﻟﺒﺤﺚ ﺑﺎﻻﺳﻢ واﻟﻠﻘﺐ و ﺗﺎرﯾﺦ‬
‫اﻟﻤﯿﻼد‪......‬‬
‫‪0- ya‬‬
‫ﺳﻨﻄﺒﻖ ﺣﺎﻟﺔ اﻟﺒﺤﺚ ﻋﻠﻰ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺴﺎﺑﻘﺔ‬
‫@‪79 l‬‬

‫‪-0‬‬
‫ﻟﻘﺪ ﻗﻤﻨﺎ ﺑﺈﻋﻄﺎء ﻓﮭﺮس ﻓﺮﻋﻲ ﻟﻠﺤﻘﻞ ‪ nom‬وھﻨﺎ ﯾﺘﻢ اﺳﺘﻐﻼل ھﺬا اﻟﻔﮭﺮس اﻟﻔﺮﻋﻲ‬
‫‪ -1‬اﺣﻀﺮ اﻟﻤﺮﻛﺒﺔ ‪edit2.text‬‬
‫‪ -2‬ﻓﻲ اﻟﺤﺪث ‪ on change‬واﻟﺨﺎص ﺑﺎﻟﻤﺮﻛﺒﺔ ‪ edit2.text‬ﻗﻢ ﺑﻜﺘﺎﺑﺔ اﻷواﻣﺮ اﻟﺘﺎﻟﯿﺔ ‪:‬‬
‫‪l 0 de‬‬

‫‪begin‬‬
‫;'‪table1.indexname:='xnom‬‬
‫;)]‪Table1.FindNearest([Edit2.Text‬‬
‫;‪end‬‬
‫‪a‬‬

‫ﻧﻔﺬ اﻟﺒﺮﻧﺎﻣﺞ وﻗﻢ ﺑﻜﺘﺎﺑﺔ اﻟﺤﺮف ‪ b‬ﻓﻲ اﻟﻤﺮﻛﺒﺔ ‪edit2.text‬‬


‫ﻓﺘﻼﺣﻆ ﺗﺤﺮك اﻟﻤﺆﺷﺮ إﻟﻰ أول اﺳﻢ ﯾﺒﺪأ ﺑﺎﻟﺤﺮف ‪ b‬ﺛﻢ اﻟﺘﺎﻟﻲ وھﻜﺬا‬
‫_‬

‫وھﻨﺎ ﯾﺘﻢ ﺗﺮﺗﯿﺐ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺣﺴﺐ اﻟﻔﮭﺮس أﺑﺠﺪﯾﺎ ﺛﻢ ﯾﻘﻮم ﺑﻤﻘﺎرﺑﺔ اﻟﻘﯿﻢ اﻟﻤﻮﺟﻮدة‬
‫‪bi‬‬

‫ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬


‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪44‬‬
la
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬
ou
bi
te _ a
l 0 de
79 l@
0- ya
88 h
-0 o o
3- .co
08 m
5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬

45
12
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ 5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬

m
SGBD : ‫اﻟﻤﺎدة‬
SQL :‫اﻟﻤﻮﺿﻮع‬
‫ ﻟﻐﺔ اﻻﺳﺘﻌﻼﻣﺎت اﻟﺒﻨﯿﻮﯾﺔ‬SQL(S :stricture L :language Q :query)

3- .co
‫وھﻲ ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻻﺳﺘﻌﻼﻣﺎت اﻟﻤﻄﺒﻘﺔ ﻣﻦ اﺟﻞ اﻟﺒﺤﺚ ﻋﻦ ﻣﻌﻄﯿﺎت ﻓﻲ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
‫ ﻟﻐﺔ اﺳﺘﻐﻼل اﻟﺒﯿﺎﻧﺎت‬LMD(L: language M: manipulation D: données)
: ‫اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ‬
Select attr1,attr2,,,attrn ‫أﺳﻤﺎء اﻟﺨﺼﺎﺋﺺ‬

o
Code Nom Prénom Daten Age Adresse Salaire sex Fro
001 Bel hadi bachir 02/11/1975 35 Rue 48 147000 H m

o
002 Fadli djamel 12/03/1975 35 Rue12 120000 H nom

08
003 ghadbane doaa 10/07/1980 30 Rue h11 115000 F de

88 h
004 Zaidi Kamel 03/06/1976 34 Rue 48 175000 H table
005 Laoubi Adel 07/03/1983 27 Rue somam 175000 H
006 Kouidri
0- ya
Nourdine 06/07/1981 29 Rue 14 230000 H ‫اﺳﻢ‬
‫ﻗﺎﻋﺪة‬
007 Sadaoui doaa 12/12/1975 35 Sidi aiche 70000 F
‫اﻟﺒﯿﺎﻧﺎ‬
008 Khebal Khemissi 10/11/1970 40 Rue ch-ben yattou 195000 H
‫ت‬
009 Fadli Mohamed 02/11/1975 35 Rue ch-ben yattou 230000 H
79 l@

ere condition
-0 ‫اﻟﺸﺮط‬
Wh
l 0 dea
_
bi
ou

Travailleur (code,nom , prénom ,daten , age , adrs,salaire ,sex): ‫ إﻟﯿﻚ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺘﺎﻟﯿﺔ‬: 1‫ﻣﺜﺎل‬
te
la

46
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ 5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬
010 Nekbil Kamel 10/10/1978 32 Rue 12 275000 H

m
3- .co
o
‫ ﻣﺎ ھﻲ أﺳﻤﺎء و أﻟﻘﺎب ﺟﻤﯿﻊ اﻟﻌﻤﺎل ؟‬-

o
Select nom ,prénom

08
From travailleur

88 h
0- ya
79 l@

-0
l 0 de

Nom Prénom
Bel hadi bachir
Fadli djamel
ghadbane doaa 195000 ‫ﻣﺎ ھﻲ ﻗﺎﺋﻤﺔ اﻟﻌﻤﺎل اﻟﺬﯾﻦ أﺟﺮھﻢ اﻟﻘﺎﻋﺪي اﻛﺒﺮ ﻣﻦ‬
a

Zaidi Kamel Select *


Laoubi Adel From travailleur
_

Kouidri Nourdine Where salaire >195000


Sadaoui doaa
bi

Khebal Khemissi
Fadli Mohamed
Nekbil Kamel
ou
te
la

7000= ‫أﻋﻂ أﺳﻤﺎء اﻟﻌﻤﺎل اﻟﺬﯾﻦ أﺟﺮھﻢ اﻟﻘﺎﻋﺪي‬


Select prénom
From travailleur
where salaire =70000
006 Kouidri Nourdine 06/07/1981 29 Rue 14 230000 H
009 Fadli Mohamed 02/11/1975 35 Rue ch-ben yattou 230000 H
47
010 Nekbil Kamel 10/10/1978 32 Rue 12 275000 H
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ 5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬

doaa

‫أﻋﻂ اﻟﻘﺎﺋﻤﺔ اﻟﻜﺎﻣﻠﺔ ﻟﺠﻤﯿﻊ اﻟﻌﺎﻣﻼت‬

m
Select *
From travailleur
Where sex=’f’

3- .co
003 ghadbane doaa 10/07/1980 30 Rue h11 115000 F

o
007 Sadaoui doaa 12/12/1975 35 Sidi aiche 70000 F
‫ﻣﺎ‬
‫؟‬005 = ‫ﻟﻘﺐ و ﻋﻨﻮان اﻟﻌﺎﻣﻞ اﻟﺬي رﻗﻤﮫ‬. ‫ھﻮ اﺳﻢ‬

o
08
Select adresse

88 h
From. travailleur
Where code =’005’
0- ya
Code Nom Prénom Adresse
79 l@
005 Laoubi

Select *
From travailleur
-0
Adel Rue somam
1980/07/10: ‫أﻋﻂ اﻟﻘﺎﺋﻤﺔ اﻻﺳﻤﯿﺔ ﻟﻠﻌﻤﺎل اﻟﺬﯾﻦ اﻟﻤﻮﻟﻮدﯾﻦ ﻗﺒﻞ ﺑﻌﺪ ﺗﺎرﯾﺦ‬

Where daten >10/07/1980


l 0 de

Code Nom Prénom Daten Age Adresse Salaire sex


a

005 Laoubi Adel 07/03/1983 27 Rue somam 175000 H


006 Kouidri Nourdine 06/07/1981 29 Rue 14 230000 H
_
bi
ou

: ‫ ﻓﻲ دﻟﻔﻲ‬SQL ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ‬


te
la

module de base de données: ‫ ﺑﻮاﺳﻄﺔ ﺑﺮﻧﺎﻣﺞ‬-1


‫ اﻟﺬي ﺳﺒﻖ وان ﺗﻄﺮﻗﻨﺎ إﻟﯿﮫ‬module de base de données : ‫ وذﻟﻚ ﺑﻮاﺳﻄﺔ اﺣﺪ ﺑﺮاﻣﺠﮫ اﻟﻔﺮﻋﯿﺔ‬SQL ‫ﯾﺴﻤﺢ ﻟﻚ دﻟﻔﻲ ﺑﺎﻟﺘﻌﺎﻣﻞ ﻣﻊ‬

‫ﻛﯿﻒ اﻟﺴﺒﯿﻞ إﻟﻰ ذﻟﻚ ؟‬


‫ ﻻﺑﺪ ﻣﻦ ﺗﻮﻓﺮ ﺑﻌﺾ اﻟﺸﺮوط اﻟﻤﮭﻤﺔ ز‬SQL ‫ ﻟﺘﺴﮭﯿﻞ ﻣﮭﻤﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ‬-1
ALIAS ‫ وﺟﻮد‬-1
48
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫‪ -2‬ھﻨﺪﺳﺔ ﻟﻠﻘﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﺗﻜﻮن ﻣﻨﻄﻘﯿﺔ‬
‫‪...... -3‬‬
‫‪...... -4‬‬

‫‪m‬‬
‫آﻟﯿﺔ اﻟﺘﻨﻔﯿﺬ ‪:‬‬

‫‪3- .co‬‬
‫‪ -1‬ﻧﻔﺬ ﺑﺮﻧﺎﻣﺞ ‪module de base données‬‬
‫‪ -2‬ﻗﻢ ﺑﻔﺘﺢ اﻟﻘﺎﺋﻤﺔ ‪fichier‬‬
‫‪ -3‬اﺧﺘﺮ اﻷﻣﺮ ‪nouveau/ fiche SQL‬‬
‫ﺗﻼﺣﻆ ظﮭﻮر ﻣﺤﺮر اﻷواﻣﺮ اﻟﺨﺎص ب ‪SQL‬‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫‪x‬‬

‫‪88 h‬‬
‫‪0- ya‬‬
‫‪6‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬

‫‪ :‬ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت اﻟﺨﺎص ﺑﻤﺤﺮر ‪SQL‬‬ ‫‪x‬‬


‫@‪79 l‬‬

‫‪-0‬‬ ‫ﺗﺤﺪﯾﺪ ‪ alias‬ﻣﻜﺎن ﺗﻮاﺟﺪ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬


‫اﻟﺒﺤﺚ ﻋﻦ ﻋﺒﺎرة ة ﻣﺎ ﻓﻲ ﻣﺤﺮر ‪SQL‬‬
‫ﺗﻨﻔﯿﺬ اﻟﻤﺴﺎءﻟﺔ ‪SQL‬‬
‫ﻋﻤﻠﯿﺔ اﻟﺼﻖ ‪coller‬‬
‫‪-1‬‬
‫‪-2‬‬
‫‪-3‬‬
‫‪-4‬‬
‫‪l 0 de‬‬

‫ﻋﻤﻠﯿﺔ اﻟﻨﺴﺦ ‪copier‬‬ ‫‪-5‬‬


‫ﻋﻤﻠﯿﺔ اﻟﻘﺺ ‪couper‬‬ ‫‪-6‬‬
‫_‬ ‫‪a‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬ﻟﻘﺪ ﺳﺒﻖ وان ﺷﺮﺣﺖ آﻟﯿﺔ إﻧﺸﺎء ‪ alias‬ﻓﻲ ‪module base de données‬‬
‫ﻟﺘﻜﻦ ‪ alias‬اﻟﺘﺎﻟﯿﺔ ‪ laoubi_adel‬و اﻟﺘﻲ ﺗﺤﻮي ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺴﺎﺑﻘﺔ – )‪(travailleur‬‬
‫‪bi‬‬

‫ﻻﺑﺪ ﻣﻦ ﺗﺤﺪﯾﺪ اﻟـ ‪ alias‬ﻗﺒﻞ ﺑﺪاﯾﺔ اﻟﻌﻤﻞ‬


‫‪ou‬‬
‫‪te‬‬

‫آﻟﯿﺔ ﺗﺤﺪﯾﺪ ‪alias‬‬


‫‪la‬‬

‫اﻧﻘﺮ ﻋﻠﻰ اﻟﻘﺎﺋﻤﺔ ‪SQL‬‬ ‫‪-1‬‬


‫اﺧﺘﺮ اﻵﻣﺮ ‪sélectionne un alias‬‬ ‫‪-2‬‬
‫ﻗﻢ ﺑﺘﺤﺪﯾﺪ اﻟــ ‪ alias‬اﻟﺘﻲ أﻧﺸﺄﺗﮭﺎ ﻣﺴﺒﻘﺎ ﻻﺣﺘﻮاء ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻓﻌﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ‪laoubi_adel:‬‬ ‫‪-3‬‬
‫اﻧﻘﺮ ﻋﻠﻰ ‪ok‬‬ ‫‪-4‬‬

‫أو اﻧﻘﺮ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ذات اﻟﺪﻻﻟﺔ )‪ (1‬ﻓﻲ اﻟﺸﻜﻞ )‪(x‬‬


‫‪49‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﻻﺣﻆ اﻟﺮﺳﻮﻣﺎت اﻟﺘﺎﻟﯿﺔ ‪:‬‬
‫ﺑﻌﺪ ﺗﺤﺪﯾﺪ ‪ alias‬اﻟﻌﻤﻞ ﻧﺒﺪأ ﻓﻲ ﺗﺤﺮﯾﺮ اﻟﻤﺴﺎءﻻت اﻟﺴﺎﺑﻘﺔ‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫ﻣﺎ ھﻲ ﻗﺎﺋﻤﺔ ﺟﻤﯿﻊ اﻟﻌﻤﺎل ؟‬

‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪ -‬ﻣﺎ ھﻲ أﺳﻤﺎء و أﻟﻘﺎب ﺟﻤﯿﻊ اﻟﻌﻤﺎل ؟‬

‫‪50‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫ﻣﺎ ھﻲ ﻗﺎﺋﻤﺔ اﻟﻌﻤﺎل اﻟﺬﯾﻦ أﺟﺮھﻢ اﻟﻘﺎﻋﺪي اﻛﺒﺮ ﻣﻦ‪195000‬؟‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬

‫أﻋﻂ أﺳﻤﺎء اﻟﻌﻤﺎل اﻟﺬﯾﻦ أﺟﺮھﻢ اﻟﻘﺎﻋﺪي =‪ 7000‬؟‬


‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫أﻋﻂ اﻟﻘﺎﺋﻤﺔ اﻟﻜﺎﻣﻠﺔ ﻟﺠﻤﯿﻊ اﻟﻌﺎﻣﻼت‬

‫‪51‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫ﻣﺎ ھﻮ اﻻﺳﻢ اﻟﻜﺎﻣﻞ و ﻋﻨﻮان اﻟﻌﺎﻣﻞ اﻟﺬي رﻗﻤﮫ =‪ 005‬؟‬

‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫أﻋﻂ اﻟﻘﺎﺋﻤﺔ اﻻﺳﻤﯿﺔ ﻟﻠﻌﻤﺎل اﻟﺬﯾﻦ اﻟﻤﻮﻟﻮدﯾﻦ ﻗﺒﻞ ﺑﻌﺪ ﺗﺎرﯾﺦ ‪ 1980/07/10:‬؟‬
‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪52‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫ﺑﻌﺾ أواﻣﺮ ‪SQL‬‬

‫‪m‬‬
‫اﻷﻣﺮ ‪AND‬‬
‫ﯾﺴﻤﺢ ﻟﻚ اﻷﻣﺮ اﻟﺴﺎﺑﻖ ﺑﺪﻣﺞ ﺷﺮطﯿﻦ أو أﻛﺜﺮ ﻓﻲ ﻋﻠﯿﺔ اﻟﺒﺤﺚ‬

‫‪3- .co‬‬
‫ﻣﺜﺎل ‪ :‬أﻋﻂ اﻟﻘﺎﺋﻤﺔ اﻻﺳﻤﯿﺔ ﻟﻠﻌﻤﺎل اﻟﺬﯾﻦ ﺳﻨﮭﻢ =‪ 35‬وأﺟﺮھﻢ اﻟﻘﺎﻋﺪي ﯾﻔﻮق ‪20000‬‬
‫* ‪select‬‬
‫‪from travailleur‬‬

‫‪o‬‬
‫‪where age=35 and salaire >20000‬‬

‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬

‫أﻋﻂ اﻟﻘﺎﺋﻤﺔ اﻻﺳﻤﯿﺔ ﻟﻠﻌﻤﺎل اﻟﺬﻛﻮر اﻟﺬﯾﻦ ﺳﻨﮭﻢ =‪ 35‬و أﺟﺮھﻢ اﻟﻘﺎﻋﺪي اﻗﻞ ﻣﻦ ‪23000‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪53‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫اﻷﻣﺮ ‪ BETWEEN‬ﯾﺴﻤﺢ ﻟﻚ ھﺬا اﻷﻣﺮ ﺑﺎﻟﺒﺤﺚ ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺒﯿﺎﻧﺎت وﻓﻖ ﺣﺼﺮ ﺷﺮط اﻟﺒﺤﺚ ﺑﯿﻦ ﻗﯿﻤﺘﯿﻦ‬

‫‪3- .co‬‬
‫إﻟﯿﻚ ﻣﺜﺎل ‪:‬‬
‫‪ -1‬أﻋﻂ ﻗﺎﺋﻤﺔ اﻟﻌﻤﺎل اﻟﺬﯾﻦ ﺳﻨﮭﻢ ﯾﺘﺮاوح ﺑﯿﻦ ‪27‬و‪ 30‬ﺳﻨﺔ‬
‫‪ -2‬أﻋﻂ ﻗﺎﺋﻤﺔ اﻟﻌﺎﻣﻼت اﻟﻼﺋﻲ أﺟﺮھﻢ اﻟﻘﺎﻋﺪي ﻣﺤﺼﻮر ﺑﯿﻦ ‪ 175000‬و ‪195000‬‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪54‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﯾﻌﻤﻞ ھﺬا اﻷﻣﺮ ﻋﻜﺲ ﻋﻤﻞ اﻷﻣﺮ اﻟﺴﺎﺑﻖ ﺣﯿﺚ ﯾﻌﻄﯿﻚ ﻣﺠﻤﻮﻋﺔ ﻗﯿﻢ ﺧﺎرج ﻣﺠﺎل ﻣﻌﯿﻦ ﺳﻨﻄﺒﻖ ھﺬا اﻻﺧﯿﺮ‬ ‫اﻷﻣﺮ ‪NOT BETWEEN‬‬
‫ﻋﻠﻰ اﻟﻤﺴﺎءﻟﺘﯿﻦ اﻟﺴﺎﺑﻘﺘﯿﻦ‬

‫‪ -3‬أﻋﻂ ﻗﺎﺋﻤﺔ اﻟﻌﻤﺎل اﻟﺬﯾﻦ ﺳﻨﮭﻢ ﯾﺘﺮاوح ﺧﺎرج اﻟﻤﺠﺎل ) ‪ (30...27‬ﺳﻨﺔ‬


‫‪ -4‬أﻋﻂ ﻗﺎﺋﻤﺔ اﻟﻌﺎﻣﻼت اﻟﻼﺋﻲ أﺟﺮھﻢ اﻟﻘﺎﻋﺪي اﻟﻐﯿﺮ ﻣﺤﺼﻮر ﺑﯿﻦ ‪ 175000‬و ‪195000‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬

‫اﻷﻣﺮ ‪ LIKE‬ﺗﺴﻤﺢ اﻟﺘﻌﻠﯿﻤﺔ اﻟﺴﺎﺑﻘﺔ ﺑﺎﻟﺒﺤﺚ ﻋﻦ ﺟﺰء ﻣﻦ ﻣﻌﻠﻮﻣﺔ إن ﺻﺢ اﻟﺘﻌﺒﯿﺮ‪.‬‬


‫_‬

‫إﻟﯿﻚ اﻟﻤﺜﺎﻟﯿﻦ اﻟﺘﺎﻟﯿﯿﻦ ‪:‬‬


‫‪ -1‬ﻣﺎ ھﻲ ﻗﺎﺋﻤﺔ اﻟﻌﻤﺎل اﻟﺬﯾﻦ اﺳﻤﮭﻢ ﯾﺒﺪأ ﺑــ‪d :‬؟‬
‫‪bi‬‬

‫‪ -2‬ﻣﺎ ھﻲ ﻗﺎﺋﻤﺔ اﻟﻌﻤﺎل اﻟﺬﯾﻦ ﯾﺒﺪأ ﻟﻘﺒﮭﻢ ﺑــ‪f:‬؟‬


‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪55‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪ -3‬ﻣﺎ ھﻲ ﻗﺎﺋﻤﺔ اﻟﻌﻤﺎل اﻟﺬﯾﻦ ﯾﺒﺪأ اﺳﻤﮭﻢ ﺑــ‪ a:‬وطﻮﻟﮫ ‪4‬؟‬

‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫ﻣﻼﺣﻈﺎت ‪ :‬ﯾﺴﺘﻌﻤﻞ اﻟﺮﻣﺰ ) ‪ ← ( %‬ﻻ ﯾﮭﻢ ﻋﺪد اﻷﺣﺮف‬


‫ﯾﺴﺘﻌﻤﻞ _ )‪ (alt.+92‬ﻟﺘﺤﺪﯾﺪ ﻋﺪد اﻷﺣﺮف‬
‫‪a‬‬

‫اﻷﻣﺮ ‪COUNT‬‬
‫ﻟﺘﺤﺪﯾﺪ ﻋﺪد اﻟﺴﺠﻼت اﻟﻤﻮﺟﻮد وﻓﻖ اﻟﺸﺮط اﻟﻤﻄﺮوح‬
‫_‬

‫إﻟﯿﻚ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ‬


‫ﻣﺎ ھﻮ ﻋﺪد اﻟﻌﻤﺎل اﻟﺬﯾﻦ ﺳﻨﮭﻢ < ‪ 30‬ﺳﻨﺔ؟‬
‫‪bi‬‬

‫اﻟﻨﺘﯿﺠﺔ ﺗﻜﻮن ‪ 6‬أي ﻋﺪد اﻟﻌﻤﺎل اﻟﺬﯾﻦ ھﻢ اﻛﺒﺮ ﻣﻦ ﺳﻦ ‪ 30‬ﺳﻨﺔ ھﻢ ﺳﺘﺔ ﻋﻤﺎل‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫اﻟﺪاﻟﺔ ‪ MAX‬ﺗﺴﻤﺢ ﻟﻚ اﻟﺪاﻟﺔ اﻟﺴﺎﺑﻘﺔ ﺑﺈﻋﻄﺎء اﻛﺒﺮ ﻗﯿﻤﺔ ﻓﻲ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت وﻓﻖ ﺷﺮط ﻣﻌﯿﻦ‬
‫أﻣﺜﻠﺔ‪:‬‬
‫‪56‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫‪ -1‬ﻣﺎ ھﻮ اﻛﺒﺮ اﺟﺮ ﻗﺎﻋﺪي ﻟﻠﻌﻤﺎل؟‬
‫‪ -2‬ﻣﺎ ھﻮ اﻛﺒﺮ ﺳﻦ ﻟﻠﻌﻤﺎل؟‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬ ‫اﻟﺪاﻟﺔ ‪ MIN‬ﺗﺴﻤﺢ ﻟﻚ اﻟﺪاﻟﺔ اﻟﺴﺎﺑﻘﺔ ﺑﺈﻋﻄﺎء اﺻﻐﺮ ﻗﯿﻤﺔ ﻓﻲ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت وﻓﻖ ﺷﺮط ﻣﻌﯿﻦ‬
‫‪0- ya‬‬
‫أﻣﺜﻠﺔ‪:‬‬
‫‪ -1‬ﻣﺎ ھﻮ اﺻﻐﺮ اﺟﺮ ﻗﺎﻋﺪي ﻟﻠﻌﻤﺎل؟‬
‫‪ -2‬ﻣﺎ ھﻮ اﺻﻐﺮ ﺳﻦ ﻟﻠﻌﻤﺎل؟‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬

‫اﻟﺪاﻟﺔ ‪ AVG‬ﺗﺴﻤﺢ ﻟﻚ ھﺬه اﻟﺪاﻟﺔ ﺑﺈﻋﻄﺎء ﻣﺘﻮﺳﻂ ﻣﻌﺪل ﻗﯿﻢ ‪ -‬ﺗﻘﻮم اﻟﺪاﻟﺔ ﺑﺘﻘﺮﯾﺐ اﻟﻘﯿﻤﺔ إﻟﻰ اﻗﺮب ﻗﯿﻤﺔ ﺻﺤﯿﺤﺔ ﻟﻜﻮن ﻧﻮع اﻟﻤﺘﻐﯿﺮ ‪age‬‬
‫‪bi‬‬

‫ﻣﻦ ﻧﻮح ﺻﺤﯿﺢ ‪integer‬‬


‫ﻣﺜﺎل ‪ :‬ﻣﺎ ھﻮ ﻣﻌﺪل أﻋﻤﺎر اﻟﻌﻤﺎل ؟‬
‫ﺗﻘﻮم اﻟﺪاﻟﺔ ﺑﺎﻟﻌﻤﻠﯿﺔ اﻟﺘﺎﻟﯿﺔ‬
‫‪ou‬‬

‫‪∑ age/nbr travailleur‬‬


‫‪te‬‬
‫‪la‬‬

‫اﻟﺪاﻟﺔ ‪ SUM‬ﺗﻘﻮم اﻟﺪاﻟﺔ اﻟﺴﺎﺑﻘﺔ ﺑﺈﻋﻄﺎء ﻣﺠﻤﻮع ﻗﯿﻢ ﺣﻘﻞ ﻣﺎ‬


‫ﻣﺜﺎل ‪ :‬ﻣﺎ ھﻲ ﻗﯿﻤﺔ اﻷﺟﻮر اﻟﻤﻮﺟﮫ ﻟﻠﻌﺎﻣﻼت ؟‬

‫‪57‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫اﻟﺪاﻟﺔ ‪ Ordre by‬ﺗﺴﻤﺢ ﻟﻚ اﻟﺪاﻟﺔ اﻟﺴﺎﺑﻘﺔ ﺑﺘﺮﺗﯿﺐ ﻗﯿﻢ ﺟﺪول ﺣﺴﺐ ﺣﻘﻞ ﻣﺤﺪد‬
‫ﻣﺜﺎل ‪ :‬ﻧرﯾد ﻋرض ﻗﺎﺋﻣﺔ اﻟﻌﻣﺎل اﻟذﯾن ﺳﻧﻬم أﻛﺑر ﻣن ‪ 30‬ﺑﺣﯾث ﯾظﻬر ﺗرﺗﯾب اﻷﺳﻣﺎء ﺗﺻﺎﻋدﯾًﺎ‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫وا ٕ ذا أردﻧﺎ ﻋرض ﻗﺎﺋﻣﺔ اﻟﻌﻣﺎل اﻟذﯾن ﺳﻧﻬم أﻛﺑر ﻣن ‪ 30‬ﺑﺣﯾث ﯾظﻬر ﺗرﺗﯾب اﻷﺳﻣﺎء ﺗﻧﺎزﻟﯾﺎ ‪..‬ﻧﺳﺗﻌﻣل اﻷﻣر ‪desc‬‬
‫ﻧرﯾد ﻋرض ﻗﺎﺋﻣﺔ اﻟﻌﻣﺎل اﻟذﯾن ﺳﻧﻬم أﻛﺑر ﻣن ‪ 30‬ﺑﺣﯾث ﯾظﻬر ﺗرﺗﯾب اﻷﺳﻣﺎء ﺛم اﻷﻟﻘﺎب ﺗﺻﺎﻋدﯾًﺎ‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪58‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ 5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬

SQL ‫إﻧﺷﺎء وﺗﺻﻣﯾم ﻗواﻋد اﻟﺑﯾﺎﻧﺎت ﺑواﺳطﺔ أواﻣر‬-2

m
3- .co
‫ﯾﻣﻛن ﺗﺻﻣﯾم ﻗواﻋد اﻟﺑﯾﺎﻧﺎت ﺑﻠﻣﺳﺎت ﺑرﻣﺟﯾﺔ دﯾﻧﺎﻣﻛﯾﺔ وأﻛﺛر ﺳﻬوﻟﺔ وﻣروﻧﺔ ﻣن ﺗﺻﻣﯾﻣﻬﺎ ﺑﺎﺳﺗﻌﻣﺎل ﺑرﻧﺎﻣﺞ ﻣﺗﺧﺻص‬
: ‫ﻣﻔﺎﻫﯾم‬
‫ ﺗﺳﻣﺢ ﻟك ﻫﺎ ﺗﻪ اﻟﺗﻌﻠﯾﻣﺔ ﺑﺗﺣدﯾد اﻟﻣﻔﺗﺎح اﻷﺳﺎﺳﻲ ﻟﻘﺎﻋدة اﻟﺑﯾﺎﻧﺎت ﻓﺑﻌوض اﺳﺗﻌﻣﺎل اﻟرﻣز )*( ﻟﺗﻌﯾن ﻓﻬر ﺳﺔ‬: Prymary key

o
‫ ﻧﺳﺗﻌﻣل اﻟﺗﻌﻠﯾﻣﺔ اﻟﺳﺎﺑﻘﺔ ﻟﺗﺣدﯾد اﻟﺣﻘول اﻟﺗﻲ ﯾﻣﻛن اﻟﺑﺣث‬module de base de donnée ‫اﻟﺑﯾﺎﻧﺎت ﺣﺳب اﻟﺣﻘل اﻟﻣﺣدد ﻓﻲ‬
‫ﺑواﺳطﺗﻬﺎ‬

o
08
: ‫اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ‬

88 h
CREATE TABLE "nom de table. extension " nom de champ1 paramètres , nom de champ2
paramètres… nom de champs paramètres
0- ya
,primary key(noms des champs)
79 l@

-0 : ‫ﺑﻌض أﻧواع اﻟﻣﺗﻐﯾرات‬


‫ ﻣﺗﻐﯾر ﺣرﻓﻲ‬CHAR -
1
‫ ﻣﺗﻐﯾر رﻗﻣﻲ‬NUMERIC -
2
l 0 de

Nom de champ Type de champ Taille index


Num_permis A :alphabétique → char 6 *
A :alphabétique → char
a

Nom 20
Prenom A :alphabétique → char 20
_

daten D:date
adress A :alphabétique → char 30
bi

age I: numerique → numeric 10:deux hombre


sex A :alphabétique → char 1
Type_p A :alphabétique → char 15
ou

‫ ﻣﺗﻐﯾر ﻣن ﻧوع ﺗﺎرﯾﺦ‬DATE -


3
‫ﻣﺗﻐﯾر ﻣن ﻧوع وﻗت‬: TIME -
4
te
la

chauffeur (N- permis,nom,prénom,daten , adrss ,age ,type_p ,sex.) : ‫ﺳﻧﺣﺎول ﺗﺻﻣﯾم ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻟﺗﺎﻟﯾﺔ‬

59
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫"‪CREATE TABLE "chauffeur‬‬

‫‪,‬‬ ‫‪,‬‬
‫‪( Num_permis CHAR(6) nom CHAR(15) prénom CHAR (20) daten DATE‬‬ ‫‪,‬‬ ‫‪, adress CHAR (40),‬‬ ‫‪age‬‬

‫‪,‬‬ ‫‪,‬‬ ‫‪,‬‬

‫‪o‬‬
‫))‪NUMERIC(10) sex CHAR (1) type_p CHAR (15) PRIMARY KEY (Num_permis‬‬

‫‪o‬‬
‫‪08‬‬
‫إذا أردت ﺗﺣدﯾد ﻣﻛﺎن ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻟﺳﺎﺑﻘﺔ ﺳﺗﺟدﻫﺎ ﻓﻲ ‪ alias‬ﺗﺣت اﺳم ‪travail‬‬

‫‪88 h‬‬
‫أو ﻗم ﺑﺗﺗﺑﻊ ﺻﯾﻐﺔ اﻟﺑﻠوغ اﻟﺗﺎﻟﯾﺔ ‪C:\Program Files\Fichiers communs\Borland Shared\Data:‬‬
‫‪0- ya‬‬
‫ﻣﻼﺣظﺔ ‪:‬اﻟﻔﻬرس اﻷب)…‪ (C:/D:/E:/F:‬ﯾﺧﺗﻠف ﺑﺎﺧﺗﻼف ﻣﻛﺎن ﺗﻧﺻﯾب ﺑرﻧﺎﻣﺞ ‪module de base de donnée :‬‬

‫ﻓﻲ ﻫذﻩ اﻟﺣﺎﻟﺔ ﻟﻘد ﻗﻣﻧﺎ ﺑﺗﺻﻣﯾم ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ‪ chauffeur‬ﺑواﺳطﺔ اﺳﺗﻌﻣﺎل أواﻣر ‪ SQL‬اﻟﻣﺗﺎﺣﺔ‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﺣﺎول ﻓﺗﺢ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻟﺳﺎﺑﻘﺔ ‪ chauffeur‬وﻻﺣظ ﺑﻧﯾﺔ ﺣﻘوﻟﻬﺎ ‪:‬‬
‫ﻻﺣــظ اﻟﺷﻛل اﻟﺗﺎﻟﻲ ‪:‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬

‫ﻗم ﺑﺣﺟز اﻟﺑﯾﺎﻧﺎت ﺣﺳب اﻟﺷﻛل اﻟﺗﺎﻟﻲ ‪:‬‬


‫‪te‬‬
‫‪la‬‬

‫‪60‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫ﺗﺻﻣﯾم ﺑرﻧﺎﻣﺞ ﻓﻲ دﻟﻔﻲ ﻟﺗﻧﻔﯾذ أواﻣر ‪ SQL‬ذاﺗﯾﺎ‬

‫‪m‬‬
‫ﺧطوات اﻟﺑرﻣﺟﺔ ‪:‬‬
‫‪ .1‬ﻓﺗﺢ ﻣﺷروﻋﺎ ﺟدﯾدا‬

‫‪3- .co‬‬
‫‪Access BD‬‬ ‫‪ .2‬اﺣﺿر اﻟﻣرﻛﺑﺗﯾن ‪ query‬و ‪table‬ﻣن ﺷرﯾط اﻟﻣﻛﺑﺎت‬
‫‪ .3‬إﺿﺎﻓﺔ اﻟﻣرﻛﺑﺗﯾن ‪data source1 ,data source2‬‬
‫‪ .4‬إﺿﺎﻓﺔ اﻟﻣرﻛﺑﺗﯾن ‪dbgride1 ,dbgrid2‬‬

‫‪o‬‬
‫‪ .5‬إﺿﺎﻓﺔ اﻟﻣرﻛﺑﺔ ‪bouton‬‬

‫‪o‬‬
‫‪ .6‬إﺿﺎﻓﺔ اﻟﻣرﻛﺑﺔ‬

‫‪08‬‬
‫‪memo1‬‬

‫‪88 h‬‬
‫ﻣﻼﺣظﺎت ‪:‬ﺳﺑق وان ﻗﻣﻧﺎ ﺑﺈﻧﺷﺎء ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ‪ chauffeur.db‬ﺑواﺳطﺔ ‪ module base de données‬وﺗم ﺣﻔظﻬﺎ‬
‫‪0- ya‬‬
‫ﻓﻲ اﻟ ـ‪ alias :‬اﻟﺗﺎﻟﯾﺔ ‪ laoubi_adel :‬اﻵن ﺳﻧﻘوم ﺑﻌﻣﻠﯾﺔ اﻟرﺑط اﻟﻔﯾزﯾﺎﺋﯾﺔ ﻟﻠﻣرﻛﺑﺎت اﻟﺧﺎﺻﺔ ﺑﺎﻟﺑﯾﺎﻧﺎت‬
‫‪ 1-‬رﺑط اﻟﻣرﻛﺑﺔ ‪ table1‬ﺑﻘﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻟﻔﯾزﯾﺎﺋﯾﺔ‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫آﻟﯾﺔ اﻟﺗﻧﻔﯾذ ‪:‬‬


‫‪ -‬ﺗﺣدﯾد اﻟﻣرﻛﺑﺔ ‪table1‬‬
‫‪1‬‬
‫‪l 0 de‬‬

‫‪laoubi_adel‬‬ ‫ﺗﻐﯾﯾر اﻟﺧﺎﺻﯾﺔ ‪ data base name‬ﺑ ـ‪-- :‬‬


‫‪alias‬‬ ‫‪-‬‬
‫‪2‬‬
‫‪ -‬ﺗﺣدﯾد اﺳم ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ﺑواﺳطﺔ اﻟﺧﺎﺻﯾﺔ ‪ table name‬وذﻟك ﺑﺎﺧﺗﯾﺎر ‪travailleur.db‬‬
‫‪3‬‬
‫ﺗﻔﻌﯾل وﻓﺗﺢ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ﺑواﺳطﺔ اﻟﺧﯾﺎر ; ‪active :=true‬‬ ‫‪-‬‬
‫‪a‬‬

‫‪4‬‬
‫_‬

‫‪ 2-‬رﺑط اﻟﻣرﻛﺑﺔ ‪ data source1‬ﺑـ ‪table1‬‬


‫‪bi‬‬

‫آﻟﯾﺔ اﻟﺗﻧﻔﯾذ‪:‬‬
‫‪ -‬ﺗﺣدﯾد اﻟﻣرﻛﺑﺔ ‪data source1‬‬
‫‪ou‬‬

‫‪1‬‬
‫‪ -‬ﺗﻐﯾﯾر اﻟﺧﺎﺻﯾﺔ ‪ data set‬ﺑ ـ ‪table1‬‬
‫‪2‬‬
‫‪te‬‬

‫‪ 3-‬رﺑط اﻟﻣرﻛﺑﺔ ‪ dbgrid1‬ﺑﺎﻟﻣرﻛﺑﺔ ‪data source1‬‬


‫‪la‬‬

‫آﻟﯾﺔ اﻟﺗﻧﻔﯾذ‬
‫‪ -‬ﺗﺣدﯾد اﻟﻣرﻛﺑﺔ ‪dbgrid1‬‬
‫‪1‬‬
‫ﺗﻐﯾﯾر اﻟﺧﺎﺻﯾﺔ ‪ data source‬ﺑ ـ ‪data source1:‬‬ ‫‪-‬‬
‫‪2‬‬
‫ﻣﻼﺣظﺔ ‪ :‬رﺑط اﻟﻣرﻛﺑﺔ ‪ query1‬ﺑـﻧﻔس ‪laoubi_adel …………alias‬‬

‫‪61‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ 5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬
‫ ﺑﻧﻔس اﻟطرﯾﻘﺔ اﻟﺳﺎﺑﻘﺔ وﻛذﻟك ﺑﺎﻟﻧﺳﺑﺔ ﻟﻌﻣﻠﯾﺔ اﻟرﺑط ﺑﯾن‬data source2 ‫ ﻣﻊ اﻟﻣرﻛﺑﺔ‬query1 ‫رﺑط اﻟﻣرﻛﺑﺔ‬ -
data source2 ‫ و‬Dbgrid2
string ‫ وذﻟك ﺑواﺳطﺔ اﻟﺧﺎﺻﯾﺔ‬memo1 ‫ اﻟﻣوﺟود ﻓﻲ اﻟﻣرﻛﺑﺔ‬memo1 ‫ﻗم ﺑﻣﺣو اﻟﻣﺣﺗوى‬

m
: ‫رﺑط اﻟﻣرﻛﺑﺎت ﺑرﻣﺟﯾﺎ‬

3- .co
botton1 ‫ﯾﻣﻛﻧك رﺑط اﻟﻣرﻛﺑﺎت اﻟﺳﺎﺑﻘﺔ ﺑرﻣﺟﯾﺎ وذﻟك ﺑﺗﺣرﯾر اﻷواﻣر اﻟﺗﺎﻟﯾﺔ ﻓﻲ اﻟﻣرﻛﺑﺔ‬
Begin
Table1.databasename :=’laoubi_adel’;

o
Data source1.data set :=table1;
Dbgrid1.datasource:=datasource1;

o
08
Table1.active:=true;

88 h
Query1. databasename :=’laoubi_adel’;
0- ya
Data source2.data set :=query1;
Dbgrid2.datasource:=datasource2;
End:
79 l@

Data
base
-0 dbgrid1
l 0 de

name Dbgrid2
a

‫ﺑﻌد ﻋﻣﻠﯾﺔ اﻟرﺑط اﻟﻔﯾزﯾﺎﺋﯾﺔ ﺳﻧﻘوم اﻵن ﺑﻌﻣﻠﯾﺔ اﻟﺑرﻣﺟﺔ‬ -


_

caption : ‫ وذﻟك ﺑواﺳطﺔ اﻟﺧﺎﺻﯾﺔ‬exécuté SQL: ‫ ﺑ ـ‬bouton1 ‫ ﻗم ﺑﺗﺳﻣﯾﺔ ﻣﺎﻫﯾﺔ اﻟزر‬-


bi

: ‫ وﺣرر اﻷﻣر اﻟﺗﺎﻟﻲ‬bouton1 ‫اﻧﻘر ﻧﻘرا ﻣزدوﺟﺎ ﻋﻠﻰ اﻟﻣرﻛﺑﺔ‬


Query1.sql :=memo1.lines ;
ou

Query1.open ;
te
la

62
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫ﻣﻼﺣظﺎت‪ :‬اﻟﺑرﻧﺎﻣﺞ اﻟﺳﺎﺑق ﻟﯾس ﻣﻛﯾف ﻟﻠﻌﻣل ﻣﻊ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ‪ chauffeur‬ﻓﻘط‪ .‬ﯾﻣﻛن ﺗطوﯾر اﻟﺑرﻧﺎﻣﺞ وذﻟك ﺑﺈﺿﺎﻓﺔ‬
‫‪0- ya‬‬
‫ﺧﯾﺎرات ﺗﺣدﯾد اﺳم ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت واﻟ ـ‪ alias :‬اﻟﻣﺗواﺟدة ﺑﻬﺎ ‪..‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫اﻟطﺑﺎﻋﺔ ﻓﻲ دﻟﻔﻲ ‪:‬‬


‫ﯾﺗﯾﺢ ﻟك دﻟﻔﻲ إﻣﻛﺎﻧﯾﺔ اﻟﺗﻌﺎﻣل ﻣﻊ اﻟﺑﯾﺎﻧﺎت وطﺑﺎﻋﺗﻬﺎ وذﻟك ﺑﺗوﻓﯾر ﻣﺟﻣوﻋﺔ ﻻ ﺑﺄس ﺑﻬﺎ ﻣن اﻟﻣرﻛﺑﺎت ‪.‬ﺳﺄﺣﺎول ﺗﻘدﯾم ﺷرح ﻟﻛﯾﻔﯾﺔ اﻟﺗﻌﺎﻣل‬
‫‪l 0 de‬‬

‫ﻣﻊ اﻟطﺑﺎﻋﺔ ﻣن ﻧﺎﺣﯾﺔ ‪:‬‬


‫طﺑﺎﻋﺔ اﻟﺑﯾﺎﻧﺎت‬ ‫‪-‬‬
‫‪1‬‬
‫طﺑﺎﻋﺔ اﻟﺻور‬ ‫‪-‬‬
‫‪2‬‬
‫‪a‬‬

‫‪........‬‬ ‫‪-‬‬
‫‪3‬‬
‫_‬

‫ﺗﻌرﯾف اﻟﻣرﻛﺑﺔ ‪ QuickRep1:‬ﺗﺳﻣﺢ ﻟك ﻫذﻩ اﻟﻣرﻛﺑﺔ ﺑطﺑﺎﻋﺔ اﻟﺑﯾﺎﻧﺎت ﻣﻊ إﺿﺎﻓﺔ ﺧﯾرات ﻣﺗﻌددة‬
‫‪bi‬‬

‫ﯾﻣﻛﻧك ﺗﺣدﯾد إﯾﺟﺎد اﻟﻣرﻛﺑﺔ اﻟﺳﺎﺑﻘﺔ ﻓﻲ ﺷرﯾط اﻟﻣرﻛﺑﺎت ‪Qreport‬‬


‫ﺷرح ﺑﻌض ﻣرﻛﺑﺎت اﻟﺷرﯾط ‪Qreport‬‬
‫‪ou‬‬

‫‪ -‬اﻟﻣرﻛﺑﺔ‬
‫‪1‬‬
‫‪te‬‬

‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬

‫‪ -‬اﻟﻣرﻛﺑﺔ ‪Qelabel‬‬
‫‪la‬‬

‫‪2‬‬
‫‪ -‬اﻟﻣرﻛﺑﺔ ‪Qrdbtext‬‬
‫‪3‬‬

‫اﻟﺗﻌﯾﯾن‬ ‫اﻟﻣرﻛﺑﺔ‬
‫‪ QuickRep1‬ﺻﻔﺣﺔ اﻟﻌﻣل واﻟﻌرض واﻟطﺑﺎﻋﺔ‬

‫‪63‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫‪ Qlabel‬ﻟﺗﺣدﯾد اﻟﻌﻧﺎوﯾن واﻟﻛﺗﺎﺑﺔ ﻣﺛﺎل رﻗم اﻟﻬﺎﺗف ‪.‬اﻻﺳم‪....‬‬
‫‪ Qrdbtext‬ﻟﻌرض ﻗﯾم اﻟﺣﻘول‬
‫‪ QRSysData1‬ﻟﻌرض أدوات اﻟﻧظﺎم ﻣﺛل اﻟﺳﺎﻋﺔ اﻟﺗﺎرﯾﺦ‪...‬رﻗم اﻟﺻﻔﺣﺔ ‪...‬‬

‫‪m‬‬
‫‪ QRExpr1‬ﻟﻌرض ﺗﻌﻠﯾق أو ﻋﺑﺎرة‬

‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬

‫‪1‬‬
‫‪2‬‬
‫‪ou‬‬

‫‪3‬‬

‫‪4‬‬
‫‪te‬‬
‫‪la‬‬

‫‪64‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫ﺷرح اﻟﺧﺎﺻﯾﺔ ‪Bands‬‬
‫ﺗﺳﻣﺢ ﻟك ﻫذﻩ اﻟﺧﺎﺻﯾﺔ ﺑﻌرض أﺟزاء ورﻗﺔ اﻟﻌﻣل وذﻟك وﻓق اﻟﺟدول اﻟﺗﺎﻟﻲ ‪:‬‬

‫‪o‬‬
‫اﻟدﻻﻟﺔ‬ ‫اﻟﻣرﻛﺑﺔ‬

‫‪o‬‬
‫ﻟﻌرض ﻋﻧﺎوﯾن اﻷﻋﻣدة‬

‫‪08‬‬
‫‪1‬‬

‫‪88 h‬‬
‫ﻟﻌرض اﻟﺗﻔﺎﺻﯾل‬ ‫‪2‬‬
‫ﻟﻌرض ﻣﻠﺧص اﻟﺻﻔﺔ‬
‫‪0- ya‬‬ ‫‪3‬‬
‫ﻟﻌرض ﻣﻘدﻣﺔ ﻣﺣﺗوى اﻟﺻﻔﺣﺔ‬ ‫‪4‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬

‫ﺗﺧطﯾط ورﻗﺔ اﻟطﺑﺎﻋﺔ وﺗﺻﻣﯾﻣﻬﺎ ‪:‬‬


‫_‬

‫ﺳﻧﺣﺎول ﺗﺻﻣﯾم وﺗﺧطﯾط ورﻗﺔ اﻟطﺑﺎﻋﺔ ﺣﺳب ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ‪chauffeur . db‬‬
‫‪bi‬‬

‫)‪chauffeur (N- permis,nom,prénom,daten , adrss ,age ,type_p ,sex.‬‬


‫ﻟدﯾﻧﺎ ﻋدد اﻟﺣﻘول =‪ 8‬ﺣﻘول ﻫذا ﯾﻌﻧﻲ اﻧﻪ ﯾﻠزﻣﻧﺎ‪:‬‬
‫‪ou‬‬

‫‪ -‬إﺣﺿﺎر‪ 14‬ﻣرﻛﺑﺎت ﻣن ﻧوع‪Qlabel‬‬


‫‪1‬‬
‫‪ -‬إﺣﺿﺎر ‪ 8‬ﻣرﻛﺑﺎت ﻣن ﻧوع ‪Qrdbtext‬‬
‫‪2‬‬
‫‪te‬‬
‫‪la‬‬

‫إﻟﯾك ﺗﺻﻣﯾم اﻟﺻﻔﺣﺔ اﻟﻣﻘﺗرح ‪:‬‬

‫‪65‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ 5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬
‫أوﻻ وﻗﺒﻞ ﻛﻞ ﺷﻲء ﻗﻢ ﺑﺘﺼﻤﯿﻢ ﻧﺎﻓﺬة ﺻﺎرﻣﺔ وذﻟﻚ ﻋﻠﻰ ﻧﺤﻮ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﻟﻤﺰﯾﺪ ﻣﻦ اﻟﻤﻌﻠﻮﻣﺎت راﺟﻊ اﻟﺠﺰء اﻟﺜﺎﻧﻲ ﻣﻦ‬
. ‫إﺻﺪار ھﺬا اﻟﻜﺘﺎب‬

m
3- .co
o
o
08
88 h
0- ya ‫طﺒﺎﻋﺔ‬
79 l@

-0
l 0 dea
_

: ‫ﺑﻌﺪ اﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺔ اﻟﺘﺼﻤﯿﻢ ﺳﻨﺤﺎول اﻵن ﺗﺼﻤﯿﻢ ﺻﻔﺤﺔ اﻟﻄﺒﺎﻋﺔ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ‬
bi

La république algérienne démocratique et Qrlabel


ou

populaire Qrlabe2
Ministre de transport Qrlabe3
Direction de m’sila Qrlabe4
Secteur de : ain el hadjel
te

Fiche conducteur Qrlabe5


la

Numéro de permis :………………. Qrlabe6. :……………….

Nom :…………….. Prénom. :……………. QRLabel7 :………QRLabel8. :……………

Date de naissance :…………….. QRLabel9:…………. QRLabel10:…………


sex. :…………
QRLabel1:…………… ……………….
Adresse :…………………………………….
QRLabel2:……………… QRLabel3:……...
Type de permis :…………………age :……...
66

Dérecteur Qrlabel4
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫ﻋﻨﺪ اﻟﺘﻤﻌﻦ ﻓﻲ ﺗﺼﻤﯿﻢ اﻟﻮرﻗﺔ ﻧﻼﺣﻆ ﻣﺎ ﯾﻠﻲ ‪:‬‬
‫‪ 1-‬إن رأس اﻟﺼﻔﺤﺔ ﯾﺤﺘﻮي ﻋﻠﻰ ﺑﯿﺎﻧﺎت ﻻ ﺗﺘﻐﯿﺮ ﻋﻠﻰ اﻷﻗﻞ ﻣﺒﺪﺋﯿﺎ وھﺬه اﻟﻤﻌﻠﻮﻣﺎت ھﻲ ‪:‬‬

‫‪o‬‬ ‫‪o‬‬
‫اﻟﺪوﻟﺔ‬

‫‪08‬‬
‫‪La république algérienne démocratique et populaire‬‬
‫‪Ministre de transport‬‬ ‫اﻟﻮزارة اﻟﻮﺻﯿﺔ‬

‫‪88 h‬‬
‫‪Direction de m’sila‬‬ ‫اﻟﻤﺪﯾﺮﯾﺔ‬
‫‪Secteur de : ain el hadjel‬‬ ‫اﻟﻔﺮع‬
‫اﺳﻢ اﻟﻮﺛﯿﻘﺔ‬
‫‪Fiche conducteur‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫‪2‬‬
‫‪l 0 de‬‬

‫‪ -‬ﻋﻨﺎوﯾﻦ اﻟﺤﻘﻮل ‪ :‬وھﻲ دﻻﻻت ﻟﺘﺤﺪﯾﺪ ﻣﺎھﯿﺔ اﻟﻤﻌﻠﻮﻣﺔ‬


‫وھﻲ داﺋﻤﺎ ﺛﺎﺑﺘﺔ وﻻ ﺗﺘﻐﯿﺮ إﻻ ﻓﻲ ﺣﺎﻟﺔ ﺗﻐﯿﺮ ﺗﺼﻤﯿﻢ اﻟﻮرﻗﺔ اﻹداري وھﻨﺎ ﯾﻘﻮم اﻟﻤﺒﺮﻣﺞ ﺑﺈﻋﺎدة ﺣﻞ اﻟﺒﺮﻧﺎﻣﺞ‬
‫وﺗﻐﯿﯿﺮ ﻣﺎ ﯾﺠﺐ ﺗﻐﯿﯿﺮه‬
‫‪a‬‬

‫‪.‬رﻗﻢ اﻟﺮﺧﺼﺔ………………‪Numéro de permis :‬‬


‫_‬

‫‪……….‬اﻻﺳﻢ……‪…….. Prénom. :‬اﻟﻠﻘﺐ………‪Nom :‬‬

‫اﻟﺠﻨﺲ‪….. sex. :‬ﺗﺎرﯾﺦ اﻟﻤﯿﻼد… …‪Date de naissance :‬‬


‫‪bi‬‬

‫‪……….‬اﻟﻌﻨﻮان……‪Adresse :‬‬
‫‪ou‬‬

‫‪…...‬اﻟﺴﻦ…‪……age :‬ﻧﻮع اﻟﺮﺧﺼﺔ……‪Type de permis :‬‬

‫اﻟﻤﺪﯾﺮ ‪Dérecteur‬‬
‫‪te‬‬
‫‪la‬‬

‫ﻣﻼﺣﻈﺎت ‪ :‬ﻧﻼﺣﻆ إن ﻋﺪد اﻟﻘﯿﻢ اﻟﻤﺘﻐﯿﺮة ﻓﻲ ﻛﻞ ﺣﺎﻟﺔ ھﻲ ‪ 8:‬ﻗﯿﻢ وذﻟﻚ راﺟﻊ ﻟﻌﺪد اﻟﺤﻘﻮل اﻟﻤﺮاد طﺒﺎﻋﺘﮭﺎ وﻓﻲ ﺣﺎﻟﺘﻨﺎ‬
‫ھﺬه ﻟﺪﯾﻨﺎ ‪ 8‬ﺣﻘﻮل و اﻟﺨﺎﺻﺔ ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت)‪ (chauffeur‬ﺣﯿﺚ اﻧﮫ ﻻﺑﺪ أن ﯾﻜﻮن ﻋﺪد اﻟﺒﯿﺎﻧﺎت ﻣﺮاد ﻋﺮﺿﮭﺎ‬
‫ﻣﺘﻮاﻓﻖ ﻣﻊ ﻋﺪد اﻟﻤﺮﻛﺒﺔ ‪ Qrdbtext‬اﻟﻤﺘﺨﺼﺼﺔ ﻓﻲ ﻋﺮض ﻗﻲ اﻟﺘﺴﺠﯿﻠﯿﺔ اﻟﺤﺎﻟﯿﺔ‬
‫‪67‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ 5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬

Numéro de permis :……………Qdbtext1.


: ‫ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬
Nom :… Qdbtext2. …….. Prénom. :…… Qdbtext3.

m
Date de naissance :…Qdbtext4. sex. : Qdbtext5.

3- .co
Adresse :…… Qdbtext6.

Type de permis : … Qdbtext7.……age :… Qdbtext8.

o
‫ ﻣﺨﻄﻂ ﺗﻮﺿﯿﺤﻲ ﻟﺘﻨﻈﯿﻢ ﺗﻤﻮﻗﻊ اﻟﻤﺮﻛﺒﺎت‬-2-

o
Qdbtext

08
88 h ‫ ﻓﻲ دﻟﻔﻲ‬QuickRep1: ‫ﺗﻄﺒﯿﻖ اﻟﺘﺼﻤﯿﻢ ﻋﻠﻰ ورﻗﺔ اﻟﻄﺒﺎﻋﺔ‬
0- ya
: ‫ﻓﻲ ﻧﻔﺲ اﻟﻤﺸﺮوع اﻟﺴﺎﺑﻖ ﻗﻢ ﺑﻤﺎ ﯾﻠﻲ‬
79 l@

-0Qerport: ‫ ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت‬QuickRep1 ‫ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺔ‬-


bands ‫ وذﻟﻚ ﻣﻦ ﺧﻼل اﻟﺨﺎﺻﯿﺔ‬détail ‫ﻗﻢ ﺑﺘﻔﻌﯿﻞ اﻟﻨﻄﺎق‬
‫ ﻟﻜﻲ ﯾﺘﻨﺎﺳﺐ ﻣﻊ ﻋﺪد ﺑﯿﺎﻧﺎﺗﻚ‬détail ‫ﻗﻢ ﺑﺘﻮﺳﯿﻊ اﻟﻨﻄﺎق‬
1
2
3
Qrlabel ‫ ﻣﺮﻛﺒﺔ ﻣﻦ ﻧﻮع‬14 ‫ﻗﻢ ﺑﺈﺣﻀﺎر‬ 4
l 0 de

‫ﺣﺎول ﺗﺼﻤﯿﻢ ورﻗﺔ اﻟﻄﺒﺎﻋﺔ وذل ﺑﺘﻮزﯾﻊ اﻟﻤﺮﻛﺒﺎت اﻟﺴﺎﺑﻘﺔ ﻓﻲ ﻧﻄﺎق اﻟﻮرﻗﺔ ﻛﻤﺎ ھﻮ ﻣﺤﺪد ﻓﻲ‬
a

5
-2 -‫اﻟﺸﻜﻞ‬
_

: ‫ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ‬Caption ‫ﻗﻢ ﺑﺘﻐﯿﯿﺮ ﻣﺤﺘﻮى اﻟﻤﺮﻛﺒﺎت ﺑﻮاﺳﻄﺔ ﺗﺤﺪﯾﺪ اﻟﺨﺎﺻﯿﺔ‬ 6
bi

- Qrlabel.caption :=( La république algérienne démocratique et populaire)


- Qrlabe2.caption :=( Ministre de transport)
ou

- Qrlabe3.caption :=( Direction de m’sila)


- Qrlabe4.caption :=( Secteur de : ain el hadjel)
- Qrlabel5.caption :=( Fiche conducteur)
te

- Qrlabe6.caption :=(numéro de permis)


la

- Qrlabe7.caption :=(Nom)
- Qrlabe8.caption :=(Prénom)
- Qrlabe9.caption :=(Date de naissance)
- Qrlabel0.caption :=(Sex.)
- Qrlabel1.caption :=(type de permis)
- Qrlabel2.caption :=(age)
- Qrlabel3.caption :=(Nom)
- Qrlabel.caption :=(directeur)

68
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﺑﻌد اﻟﻘﯾﺎم ﺑﻌﻣﻠﯾﺔ ﺗوزﯾﻊ اﻟﻣرﻛﺑﺎت‬
‫‪ -‬ﻗم ﺑﺈﺣﺿﺎر ‪ 8‬ﻣرﻛﺑﺎت ﻣن ﻧوع ‪ dbqrlabel‬ﻣن ﻧﻔس ﺷرﯾط اﻟﻣرﻛﺑﺎت ‪Qerport:‬‬ ‫‪8‬‬
‫‪ -9‬ﻗﻢ ﺑﺘﺨﺼﯿﺺ ﻣﻮﻗﻊ ھﺬه اﻟﻤﺮﻛﺒﺎت اﻟﺜﻤﺎﻧﯿﺔ ﺑﺤﺴﺐ ﺗﻤﻮﻗﻊ ﻋﻨﺎوﯾﻦ اﻟﺤﻘﻮل وذﻟﻚ ﺣﺴﺐ اﻟﺸﻜﻞ‪-2 -‬‬

‫‪m‬‬
‫رﺑﻂ اﻟﻤﺮﻛﺒﺎت ‪ Qrdbtext‬ﻣﻊ ﺣﻘﻮل ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪chauffeur‬‬

‫‪3- .co‬‬
‫ﻟﻨﻔﺮض أن ﻣﻜﺎن ﺗﻮاﺟﺪ اﻟﻤﺮﻛﺒﺔ ‪ QuickRep1:‬ﻓﻲ ‪ form1‬أي أﻧﻨﺎ ﺳﻨﺴﺘﻌﻤﻞ ﻧﻔﺲ اﻟﻤﺮﻛﺒﺘﯿﻦ ‪ table1‬و‪data source1‬‬
‫وذﻟﻚ ﻣﻦ اﺟﻞ إﺣﻀﺎر اﻟﺒﯿﺎﻧﺎت وﻋﺮﺿﮫ ﻋﻠﻰ ورﻗﺔ اﻟﻄﺒﺎﻋﺔ ‪.‬‬
‫آﻟﯿﺔ اﻟﺮﺑﻂ ‪:‬‬
‫‪ -1‬ﻗﻢ ﺑﺘﺤﺪﯾﺪ اﻟﻤﺮﻛﺒﺔ ‪Qrdbtext1‬‬

‫‪o‬‬
‫‪ -2‬ﻗﻢ ﺑﺘﻐﯿﯿﺮ ﻣﺤﺘﻮى اﻟﺨﺎﺻﯿﺔ ‪ data set‬ب اﻟﻘﯿﻤﺔ ‪table1‬‬

‫‪o‬‬
‫‪ -3‬ﻗﻢ ﺑﺘﺤﺪﯾﺪ اﻟﺤﻘﻞ اﻟﻤﺮاد ﻋﺮﺿﮫ ﻣﻦ ﺧﻼل ﺗﺤﺪﯾﺪ ﻗﯿﻤﺘﮫ ﻣﻦ اﻟﺨﺎﺻﯿﺔ ‪data Field‬‬

‫‪08‬‬
‫ﻣﻼﺣﻈﺔ ‪ :‬ان ﻋﻤﻠﯿﺔ رﺑﻂ اﻟﺤﻘﻮل ﻓﻲ ورﻗﺔ اﻟﻄﺒﺎﻋﺔ ھﻲ ﻧﻔﺴﮭﺎ ﺗﻘﺮﯾﺒﺎ ﻋﻨﺪ رﺑﻂ اﻟﺤﻘﻮل ﻣﻦ اﺟﻞ ﻋﻤﻠﯿﺔ ﻋﺮض اﻟﺒﯿﺎﻧﺎت ‪:‬‬

‫‪88 h‬‬
‫ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬
‫ﻗﻢ ﺑﺘﻜﺮﯾﺮ ﻧﻔﺲ اﻟﻌﻤﻠﯿﺔ ﻣﻊ ﺑﺎﻗﻲ اﻟﻤﺮﻛﺒﺎت ﻣﻊ ﻣﺮاﻋﺎة ﻋﻨﻮان اﻟﺤﻘﻞ )ﺗﺤﺪﯾﺪ ﻗﯿﻤﺔ اﻟﺤﻘﻞ ﺣﺴﺐ دﻻﻟﺔ اﻟﻌﺮض(‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﺻﻔﺤﺔ اﻟﻄﺒﺎﻋﺔ ﺑﻌﺪ اﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺔ اﻟﺮﺑﻂ‬


‫‪ -:1‬ﻋﻨﻮان اﻟﺤﻘﻞ ‪ -:2‬ﻗﯿﻤﺔ اﻟﺤﻘﻞ)ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﺘﺴﺠﯿﻠﺔ اﻟﻨﺸﻄﺔ (‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬

‫‪1‬‬ ‫‪2‬‬
‫‪1‬‬
‫‪te‬‬
‫‪la‬‬

‫‪69‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫اﻵن ﻟم ﯾﺑق ﻟﻧﺎ إﻻ ﺗﺣدﯾد ﻣﻛﺎن ﻟورﻗﺔ اﻟطﺑﺎﻋﺔ وذﻟك ﺑﺎﻟﻘﯾﺎم ﺑﻌﻣﻠﯾﺔ إﺧﻔﺎﺋﻬﺎ ﻟﻛﻲ ﻻ ﺗﺷوﻩ ﻫﯾﺋﺔ اﻟﺑرﻧﺎﻣﺞ أﺛﻧﺎء اﻟﺗﻧﻔﯾذ‬
‫ﺛم ﺗﺣرﯾر اﻷﻣر اﻟﺗﺎﻟﻲ ‪ :‬ﻓﻲ اﻟزر ‪ BOUTTON‬اﻟذي ﯾﺣﻣل اﻟدﻻﻟﺔ ‪(on click) imprimer‬‬

‫‪3- .co‬‬
‫‪begin‬‬
‫;‪QuickRep1.preview‬‬
‫;‪end‬‬

‫‪o‬‬
‫ﻣن اﻟﻣﻌروف أن ﻋﻣﻠﯾﺔ اﻟطﺑﺎﻋﺔ ﺗﻛون ﺣﺳب اﻟﻣﻧﻬﺞ اﻟﺗﺎﻟﻲ ‪:‬‬

‫‪o‬‬
‫‪08‬‬
‫‪ -‬اﻟﺑﺣث ﻋن اﻟﺑﯾﺎﻧﺎت اﻟﻣراد طﺑﺎﻋﺗﻬﺎ‬
‫‪1‬‬

‫‪88 h‬‬
‫‪0- ya‬‬ ‫‪ -‬اﻟﺗﺄﻛد ﻣن اﻟﻣﻌﻠوﻣﺔ‬
‫‪2‬‬
‫ﻋﻣﻠﯾﺔ اﻟطﺑﺎﻋﺔ‬ ‫‪-‬‬
‫‪3‬‬
‫ﻣﺛﺎل ‪ :‬ﻧرﯾد طﺑﺎﻋﺔ ﺑﯾﺎﻧﺎت اﻟﺳﺎﺋق اﻟذي ﯾﺣﻣل رﺧﺻﺔ اﻟﺳﯾﺎﻗﺔ رﻗم ‪001254 :‬‬
‫‪ -‬ﺣﺟز ﻗﯾﻣﺔ رﻗم رﺧﺻﺗﻪ‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫‪1‬‬
‫‪ -‬اﻟﺑﺣث ﻋن اﻟﻘﯾﻣﺔ‬
‫‪ -‬طﺑﺎﻋﺔ اﻟﺑﯾﺎﻧﺎت ﻓﻲ ﺣﺎﻟﺔ وﺟودﻫﺎ‬
‫‪3‬‬
‫‪2‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪70‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫اﻟﺷﻛل اﻟﻧﻬﺎﺋﻲ ﻟورﻗﺔ اﻟطﺑﺎﻋﺔ‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬

‫‪27‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫ﻫﻧﺎك ﻋدة ﺧﯾﺎرات ﯾﻣﻛن ﺗطﺑﯾﻘﻬﺎ ﻋﻠﻰ ورﻗﺔ اﻟطﺑﺎﻋﺔ ﻛرﺳم اﻟﺟداول وا ٕ ﺿﺎﻓﺔ دوال اﻟﺣﺳﺎب و اﻟﺻور ‪....‬اﻟﺦ‬

‫‪71‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬

‫ﺗﻤﮭﯿﺪ ‪ :‬ﺳﺄﺣﺎول إﻋﻄﺎء ﺻﻮر ﺗﻨﺴﯿﻘﯿﺔ ﻟﺘﺼﻤﯿﻢ اﻟﺒﺮاﻣﺞ ﺑﺪﻟﻔﻲ ﺣﺴﺐ وﺟﮭﺔ ﻧﻈﺮي ‪ ,‬ﺣﯿﺚ ﺗﻜﻮن‬
‫ھﺬه اﻟﻮﺟﮭﺔ ﻣﻤﯿﺰة ﺑﺼﻮرة ﺗﺮﻓﯿﮭﯿﺔ وﻧﻤﻮذﺟﯿﺔ ذات طﺎﺑﻊ ﺻﺎرم ‪.‬‬
‫‪te‬‬
‫‪la‬‬

‫ﺑﺮاﻣﺞ اﻟﺘﺴﯿﯿﺮ ‪ :‬ﻏﺎﻟﺒﺎ ﻣﺎ ﯾﻠﺰم اﻟﻄﺎﻟﺐ أﺛﻨﺎء إﻧﮭﺎء دراﺳﺘﮫ اﻟﺠﺎﻣﻌﯿﺔ ﺑﺈﻋﺪاد ﻣﺬﻛﺮة ﺗﺨﺮج وداﺋﻤﺎ ﻣﺎ‬
‫ﺗﻜﻮن ھﺬه اﻟﻤﺬﻛﺮة ﻣﺼﺤﻮﺑﺔ وﺟﻮﺑﺎ ﺑﺘﻄﺒﯿﻖ ﻣﯿﺪاﻧﻲ ﻟﻠﻤﺬﻛﺮة ﻣﺜﻞ ﻣﺎ ھﻮ ﻣﻌﺮوف ﻓﻲ ﻣﯿﺪان‬
‫اﻹﻋﻼم اﻵﻟﻲ ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ‪..‬ﻟﻜﻦ ﻋﻨﺪ ﺗﻄﺮق اﻟﻤﻘﺒﻞ ﻋﻠﻰ اﻟﺘﺨﺮج إﻟﻰ آﻟﯿﺔ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ‬
‫اﻟﻤﻮاﻓﻖ ﻟﻠﻤﺬﻛﺮة ﯾﻮاﺟﮫ ﻋﺪة ﻣﺸﺎﻛﻞ ﻣﻦ ﺑﯿﻨﮭﺎ آﻟﯿﺔ ﺗﺼﻤﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ واﻟﻠﻤﺴﺎت اﻟﺒﺮﻣﺠﯿﺔ اﻟﻮاﺟﺐ‬
‫ﻋﻠﯿﮫ ﺻﯿﺎﻏﺘﮭﺎ ﻣﻦ اﺟﻞ إﻋﻄﺎء طﺒﻌﺔ اﻟﺼﺮاﻣﺔ واﻟﻔﻌﺎﻟﯿﺔ ﻟﻠﺒﺮﻧﺎﻣﺞ وھﻨﺎ اﻧﺎ ﻻ أﺗﺤﺪث ﻋﻦ اﻟﺘﻠﻮﯾﻦ‬
‫‪72‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫أو اﻟﺠﺎﻧﺐ أﻟﺰﺧﺮﻓﻲ ﺑﻘﺪر اﻟﺠﺎﻧﻲ اﻟﺘﻘﻨﻲ أي ﺳﻼﺳﺔ اﻟﻌﻤﻞ وﺳﮭﻮﻟﺔ اﺳﺘﺨﺪام اﻟﺒﺮﻧﺎﻣﺞ ﺑﺎﻹﺿﺎﻓﺔ‬
‫إﻟﻰ ﻓﻌﺎﻟﯿﺔ اﻟﺒﺮﻧﺎﻣﺞ‪:‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬

‫‪ -1‬ﻟﻤﺴﺔ ﺟﻌﻞ اﻟﺒﺮﻧﺎﻣﺞ ﯾﻌﻤﻞ ﺑﻮاﺳﻄﺔ اﻟﺘﺤﺪﯾﺚ ‪:‬‬


‫_‬

‫ﺷﺮح ‪ :‬وﯾﻘﺼﺪ ھﻨﺎ ﺑﺠﻌﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻣﺪة ﺣﯿﺎة ﻣﻌﯿﻨﺔ ﻣﻘﯿﺪة ﺑﻌﺪد ﻣﺮات اﻟﺘﻨﻔﯿﺬ أي أن ﺗﺠﻌﻞ‬
‫‪bi‬‬

‫ﻣﺴﺘﻐﻞ اﻟﺒﺮﻧﺎﻣﺞ ﺑﺤﺎﺟﺔ داﺋﻤﺔ إﻟﯿﻚ ‪.‬‬


‫‪ou‬‬

‫آﻟﯿﺔ اﻟﻌﻤﻞ‪ :‬ھﻨﺎك ﻋﺪة طﺮق ﻟﺘﺪﻋﯿﻢ اﻟﺒﺮﻧﺎﻣﺞ ﺑﮭﺎ‬


‫‪te‬‬

‫*اﻟﻄﺮﯾﻘﺔ اﻷوﻟﻰ ‪/‬اﺳﺘﻌﻤﺎل اﻟﺘﺎرﯾﺦ ‪:‬‬


‫‪la‬‬

‫وﯾﺘﻢ ھﻨﺎ ﺑﻤﺮاﻗﺒﺔ ﺗﺎرﯾﺦ اﻟﻨﻈﺎم ﺑﺘﺎرﯾﺦ ﻧﮭﺎﯾﺔ ﻣﺪة ﺣﯿﺎة اﻟﺒﺮﻧﺎﻣﺞ إﻟﯿﻚ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ اﻟﺬي ﻣﻦ‬
‫ﺧﻼﻟﮫ ﯾﺘﻢ ﺗﻮﺿﯿﺢ اﻟﻔﻜﺮة أﻛﺜﺮ‪:‬‬
‫‪ -1‬ﻗﻢ ﺑﻔﺘﺢ ﻣﺸﺮوع ﺟﺪﯾﺪ ﻓﻲ دﻟﻔﻲ‪5‬‬
‫‪ -2‬ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺔ ‪ timer1‬ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت ‪system‬‬
‫‪ -3‬ﻗﻢ ﺑﺈﺣﻀﺎر اﻟﻤﺮﻛﺒﺔ ‪label1‬‬
‫‪73‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫‪ -4‬ﺣﺮر اﻟﻜﻮد اﻟﺘﺎﻟﻲ ﺑﻌﺪ اﻟﻨﻘﺮ اﻟﻤﺰدوج ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪timer1‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪74‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫‪ -‬ﺗﻘﻮم اﻟﻤﺮﻛﺒﺔ ‪ timer1‬ﺑﻤﺮاﻗﺒﺔ اﻟﺸﺮط ﻛﻞ ﺛﺎﻧﯿﺔ وﯾﺘﻢ ﺗﺤﻘﻖ اﻟﺸﺮط ‪ if‬ﻓﻲ ﺣﺎﻟﺔ ﻣﺴﺎواة‬
‫ﺗﺎرﯾﺦ اﻟﺠﮭﺎز ﻣﻊ اﻟﺘﺎرﯾﺦ اﻟﻤﺤﺪد ﻓﻲ اﻟﺒﻨﯿﺔ اﻟﺸﺮطﯿﺔ ‪if‬‬
‫‪ -‬ﻓﻲ ﺣﺎﻟﺔ ﺗﺤﻘﻖ اﻟﻤﺴﺎواة ﯾﺘﻢ ﻋﺮض رﺳﺎﻟﺔ ﺗﻮﺿﯿﺢ إن اﻟﺘﻄﺒﯿﻖ ﻟﻢ ﯾﻌﺪ ﺻﺎﻟﺢ ﻟﻠﻌﻤﻞ‬

‫‪m‬‬
‫ﺛﻢ ﯾﺘﻢ إﯾﻘﺎف ﻋﻤﻞ اﻟﻤﺸﺮوع‬

‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫اﻟﻌﯿﻮب ‪ :‬ﻟﺠﻌﻞ اﻟﺒﺮﻧﺎﻣﺞ ﯾﻌﻤﻞ ﻣﺠﺪدا ﯾﻜﻔﻲ ﺗﻐﯿﯿﺮ ﺗﺎرﯾﺦ ﺟﮭﺎز اﻟﺤﺎﺳﺐ إﻟﻰ ﺗﺎرﯾﺦ ﻣﺴﺘﻘﺒﻠﻲ‬
‫اﻛﺒﺮ ﻣﻦ اﻟﺘﺎرﯾﺦ اﻟﺬي ﺗﻢ ﺗﻮﻗﻒ اﻟﺘﻄﺒﯿﻖ ﻋﻨﺪه‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬

‫*اﻟﻄﺮﯾﻘﺔ اﻟﺜﺎﻧﯿﺔ ﺑﺎﺳﺘﻌﻤﺎل ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪:‬‬


‫‪te‬‬

‫وھﻲ طﺮﯾﻘﺔ ﻓﻌﺎﻟﺔ ﺑﻨﻈﺮي وھﻲ أﻛﺜﺮ ﻓﻌﺎﻟﯿﺔ وﻣﺼﺪاﻗﯿﺔ ﻣﻦ اﻟﻄﺮﯾﻘﺔ اﻷوﻟﻰ‬
‫‪la‬‬

‫اﻟﻤﺮﻛﺒﺎت اﻟﻼزﻣﺔ ‪:‬‬


‫‪ -1‬إﻧﺸﺎء ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﻓﻲ ‪module de base de données‬‬
‫‪ -2‬ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺗﻜﻮن ﺑﺎﺳﻢ ‪base‬‬
‫‪ -3‬واﺳﻢ اﻟﺤﻘﻞ اﻟﻮﺣﯿﺪ ﯾﻜﻮن ﺗﺤﺖ اﺳﻢ ‪test‬‬
‫‪75‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫‪ -4‬ﻗﯿﻤﺔ اﻟﺤﻘﻞ ﺗﻜﻮن ﻣﻦ ﻧﻮع ﺻﺤﯿﺢ ‪integer‬‬
‫‪ -5‬ﻣﻜﺎن اﻹﻧﺸﺎء ﯾﻜﻮن ﻓﻲ اﻟﻤﺴﺎر اﻟﺘﺎﻟﻲ\‪d:‬‬
‫‪ -6‬إﺣﻀﺎر اﻟﻤﺮﻛﺒﺔ ‪ table1‬ﻣﻤﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت ‪AccésBD‬‬

‫‪m‬‬
‫ﺑﻨﯿﺔ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‪:‬‬

‫‪3- .co‬‬
‫آﻟﯿﺔ اﻟﻌﻤﻞ ‪:‬‬
‫ﯾﺘﻢ ﺗﺼﻤﯿﻢ اﻟﻨﺎﻓﺬة اﻟﺘﺎﻟﯿﺔ ‪:‬‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫ﯾﺘﻢ رﺑﻂ اﻟﻤﺮﻛﺒﺔ ‪ table1‬ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻤﻮاﻓﻘﺔ ﻋﻠﻰ‬


‫‪a‬‬

‫اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ‪:‬‬
‫_‬

‫ﺛﻢ ﯾﺘﻢ ﺗﺤﺪﯾﺪ اﺳﻢ اﻟﺠﺪول اﻟﻤﺮاد ﻋﺮﺿﮫ ‪:‬‬


‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫ﺑﻌﺪ ذﻟﻚ ﯾﺘﻢ ﺗﻔﻌﯿﻞ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ ; ‪active .true‬‬
‫‪ -‬ﺧﻄﻮات اﻟﺒﺮﻣﺠﺔ‪:‬‬
‫‪ -1‬ﻓﻲ اﻟﺤﺪث ‪ On show‬ﻟﻠﻨﺎﻓﺬة ‪ form1‬اﻧﻘﺮ ﻧﻘﺮا ﻣﺰدوﺟﺎ‬
‫‪ -2‬ﺣﺮر اﻟﻜﻮد اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪76‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫ﻣﻼﺣﻈﺔ ‪ :‬ﺷﺮط ﺗﻮﻗﻒ اﻟﺘﻄﺒﯿﻖ ﻋﻨﺪﻣﺎ ﺗﻜﻮن ھﻨﺎك ‪ 20‬ﺗﺴﺠﯿﻠﮫ ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﺷﺮح اﻷواﻣﺮ ‪:‬‬


‫‪ //1‬ﯾﻘﻮم ﺑﻌﺮض ﻋﺪد اﻟﺘﺴﺠﯿﻼت اﻟﺤﺎﻟﯿﺔ ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻓﻲ اﻟﻤﺮﻛﺒﺔ ‪label1‬‬
‫‪ //2‬إﺿﺎﻓﺔ ﺗﺴﺠﯿﻠﮫ ﺟﺪﯾﺪة إﻟﻰ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬
‫‪l 0 de‬‬

‫‪ //3‬ﯾﺘﻢ إﺿﺎﻓﺔ ﺗﺴﺠﯿﻠﮫ ﺟﺪﯾﺪة ﺗﺤﺖ رﻗﻢ اﻟﺘﺴﺠﯿﻞ اﻷﺧﯿﺮة ‪ +‬اﻟﻘﯿﻤﺔ ‪1‬‬
‫‪ //4‬ﺣﻔﻆ اﻟﺘﻐﯿﯿﺮات ﻋﻠﻰ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬
‫‪ //5‬ﻋﻤﻠﯿﺔ ﻣﺮاﻗﺒﺔ ﺗﺤﻘﻖ اﻟﺸﺮط –ھﻞ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻋﻠﺔ ‪ 20‬ﺗﺴﺠﯿﻠﮫ‬
‫‪a‬‬

‫‪ //6‬إﯾﻘﺎف ﺗﻔﻌﯿﻞ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬


‫_‬

‫‪ -‬ﻓﻲ ﺣﺎﻟﺔ ﺗﺤﻘﻖ اﻟﺸﺮط أي أن ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺗﺤﺘﻮي ﻋﻠﻰ ‪ 20‬ﺗﺴﺠﯿﻠﮫ‬


‫‪ //7‬ﯾﻌﺮض ﻟﻚ رﺳﺎﻟﺔ ﯾﺠﺐ اﻻﺗﺼﺎل ﺑﺎﻟﻤﺒﺮﻣﺞ‬
‫‪bi‬‬

‫‪ //8‬ﻏﻠﻖ اﻟﺘﻄﺒﯿﻖ‪....‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫اﻟﺒﺮﻧﺎﻣﺞ ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﻨﻔﯿﺬ ‪:‬‬

‫اﻟﻤﺮة اﻷوﻟﻰ ‪:‬‬

‫‪77‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫اﻟﻤﺮة اﻟﺜﺎﻧﯿﺔ ‪:‬‬

‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫اﻟﻤﺮة اﻟﺘﺎﺳﻌﺔ ﻋﺸﺮ ‪:‬‬


‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬

‫اﻟﻤﺮة اﻟﻌﺸﺮون ‪:‬‬


‫‪te‬‬
‫‪la‬‬

‫‪78‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪ -‬ﺗﻼﺣﻆ ﺗﺤﻘﻖ اﻟﺸﺮط وظﮭﻮر رﺳﺎﻟﺔ ﺗﻮﺿﯿﺢ اﻻﺗﺼﺎل ﺑﺎﻟﻤﺒﺮﻣﺞ‬

‫‪o‬‬
‫‪08‬‬
‫آﻟﯿﺔ اﻟﻤﺮاﻗﺒﺔ ‪:‬‬

‫‪88 h‬‬
‫ﻓﻲ ﺑﺎدئ اﻷﻣﺮ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺗﻜﻮن ﻓﺎرﻏﺔ ﻓﻔﻲ ﻛﻞ ﺣﺎﻟﺔ ﺗﻨﻔﯿﺬ ﯾﺘﻢ إﺿﺎﻓﺔ ﺗﺴﺠﯿﻠﮫ ﺟﺪﯾﺪة‬
‫ﻻﺣﻆ ﺑﻨﯿﺔ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻔﯿﺰﯾﺎﺋﯿﺔ ﻓﻲ ﺣﺎﻟﺔ ﺑﺪاﯾﺔ وﻧﮭﺎﯾﺔ اﻟﺘﻨﻔﯿﺬ‪:‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪79‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﻟﻨﻔﺮض اﻧﻚ ﻗﻤﺖ ﺑﺘﺼﻤﯿﻢ ﺑﺮﻧﺎﻣﺞ ﺗﺴﯿﯿﺮ ﻣﺨﺰوﻧﺎن وﻗﻤﺖ ﺑﺒﯿﻌﮫ ﻷﺣﺪ اﻟﻌﻤﻼء وﺑﻌﺪ ﻣﺪة‬ ‫‪-‬‬
‫ﺷﮭﺮ وردك اﺗﺼﺎل ﻣﻦ اﻟﻌﻤﯿﻞ ﯾﻔﯿﺪك أن اﻟﺒﺮﻧﺎﻣﺞ ﺻﺎر ﻻ ﯾﻌﻤﻞ واﺳﺘﻨﺠﺪك ﺑﺎﻟﺤﻞ ﻻن‬
‫اﻟﺒﺮﻧﺎﻣﺞ ﯾﺤﺘﻮى ﻋﻠﻰ ﺑﯿﺎﻧﺎت ﻣﮭﻤﺔ ﻓﻤﺎ اﻟﻌﻤﻞ ‪..‬؟‬

‫‪m‬‬
‫طﺒﻌﺎ اﻟﻤﺒﺮﻣﺞ ﻣﺘﺄﻛﺪ ﻣﻦ اﻧﮫ ﺳﯿﺮده اﺗﺼﺎل‬ ‫‪-‬‬
‫ﯾﺠﺐ ﻋﻠﻰ اﻟﻤﺒﺮﻣﺞ اﻟﺘﺤﻀﯿﺮ ﻟﮭﺬه اﻟﻤﺮﺣﻠﺔ وﯾﻜﻮن ذﻟﻚ ﺑﺘﺼﻤﯿﻢ ﺑﺮﻧﺎﻣﺞ آﺧﺮ ﯾﻘﻮم ﺑﺘﻔﻌﯿﻞ‬ ‫‪-‬‬

‫‪3- .co‬‬
‫اﻟﺒﺮﻧﺎﻣﺞ اﻷﺻﻠﻲ ﺑﺪون ﺗﻐﯿﯿﺮ ﺑﯿﺎﻧﺎت اﻟﻌﻤﻼء‪.‬‬
‫ھﻨﺎك أﻛﺜﺮ ﻣﻦ طﺮﯾﻘﺔ ﻣﻦ اﺟﻞ ﺟﻌﻞ اﻟﺒﺮﻧﺎﻣﺞ ﯾﻌﻮد ﻟﻠﻌﻤﻞ ﻣﺮة أﺧﺮى وﯾﻜﻮن ذﻟﻚ ﺑـ ‪:‬‬ ‫‪-‬‬

‫‪o‬‬
‫‪ -1‬ﺗﺬﻛﺮ ﺑﻨﯿﺔ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻤﺴﺌﻮﻟﺔ ﻋﻦ ﻋﺪد ﻣﺮات اﻟﺘﻨﻔﯿﺬ وإﻋﺎدة ﺗﺼﻤﯿﻤﮭﺎ ﻣﻦ ﺟﺪﯾﺪ ﺣﺴﺐ‬

‫‪o‬‬
‫‪08‬‬
‫اﻟﻘﺎﻋﺪة اﻷﺻﻠﯿﺔ ﺛﻢ إﻋﺎدة ﺗﺒﺪﯾﻠﮭﺎ ﺑﺎﻷﺻﻠﯿﺔ ﻓﻲ ﻣﻜﺎن ﺗﻮاﺟﺪ ﻣﻠﻒ ﺑﺮﻧﺎﻣﺞ اﻟﺘﺴﯿﯿﺮ ﻋﻨﺪ اﻟﻌﻤﯿﻞ‬

‫‪88 h‬‬
‫ﻣﻼﺣﻈﺔ ‪ :‬ﻣﺎذا ﻟﻮ ﻟﻢ ﺗﺘﺬﻛﺮ اﻟﺒﻨﯿﺔ واﻟﻤﺴﺎر اﻟﻤﺤﺪد ﺗﺤﺪث ﻟﻚ ھﻨﺎ ﻣﺸﻜﻠﺔ ﻛﺒﯿﺮة ﻗﺪ ﺗﻌﺮض ﻋﻤﯿﻠﻚ‬
‫إﻟﻰ ﺿﯿﺎع ﺑﯿﺎﻧﺎﺗﮫ اﻷﺻﻠﯿﺔ‬
‫‪0- ya‬‬
‫‪ -2‬ﺗﻨﺼﯿﺐ ﺑﺮﻧﺎﻣﺞ ‪ module de base de données‬ﻓﻲ ﺣﺎﺳﺐ اﻟﻌﻤﯿﻞ اﻟﺬي ﯾﻌﺎﻧﻲ ﻣﻦ‬
‫اﻟﻤﺸﻜﻠﺔ وﺗﻘﻮم ﺑﻔﺘﺢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻤﺴﺌﻮﻟﺔ ﻋﻦ ﻋﺪد ﻣﺮات اﻟﺘﻨﻔﯿﺬ وﺗﻘﻮم ﺑﻌﻤﻠﯿﺔ اﻟﺤﺬف ﺣﺘﻰ‬
‫@‪79 l‬‬

‫‪-0‬‬
‫ﺗﻌﻮد ﺣﺎﻟﺘﮭﺎ إﻟﻰ اﻟﺼﻔﺮ ﻓﺘﻌﻄﻲ ﻋﻤﺮا ﺟﺪﯾﺪا ﻟﻠﺒﺮﻧﺎﻣﺞ‪......‬ﺣﻞ ﺷﺒﮫ ﻧﻤﻮذﺟﻲ‬
‫‪ -3‬ﺗﺼﻤﯿﻢ ﺑﺮﻧﺎﻣﺞ ﻓﺮﻋﻲ ﯾﻘﻮم ﺑﻌﻤﻠﯿﺔ إرﺟﺎع ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت إﻟﻰ ﺣﺎﻟﺔ اﻟﺘﺴﺠﯿﻠﺔ =‪0‬‬
‫ﺣﯿﺚ ﯾﻌﻤﻞ ھﺬا اﻷﺧﯿﺮ ﺑﻮاﺳﻄﺔ اﻟﺮﻗﻢ اﻟﺘﺴﻠﺴﻠﻲ اﻟﺬي ﺗﺤﺪده أﻧﺖ ﺑﺤﯿﺚ ﺑﻤﺠﺮد ﺗﻮاﻓﻖ اﻟﺮﻗﻢ‬
‫‪l 0 de‬‬

‫اﻟﺘﺴﻠﺴﻠﻲ ﯾﺘﻢ إرﺟﺎع اﻟﻘﯿﻢ إﻟﻰ ‪ 0‬أو اﻟﻌﻜﺲ ﻓﻲ ﺣﺎﻟﺔ ﻋﺪم ﺗﻮاﻓﻖ اﻟﺮﻗﻢ اﻟﺘﺴﻠﺴﻠﻲ‬

‫ﻣﻼﺣﻈﺔ ‪ :‬ﺣﺒﺬا ﻟﻮ ﺗﻘﻢ ﺑﺘﻐﯿﯿﺮ اﻟﺮﻗﻢ اﻟﺴﺮي ﻛﻞ ﻣﺮة ﻹﻋﻄﺎء اﻟﺒﺮﻧﺎﻣﺞ ﻓﻌﺎﻟﯿﺔ أﻛﺜﺮ‬
‫_‬ ‫‪a‬‬

‫ﻣﺜﺎل ‪:‬ﻛﻮد اﻟﺘﻔﻌﯿﻞ ھﻮ ‪laoubi_adel_0790-88-03-08 :‬‬


‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪80‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫اﻟﻤﺮﻛﺒﺎت اﻟﻼزﻣﺔ ﻟﻠﺒﺮﻧﺎﻣﺞ ‪:‬‬


‫‪ -1‬طﺒﻌﺎ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻷﺻﻠﯿﺔ اﻟﻤﺴﺌﻮﻟﺔ ﻋﻦ ﻋﺪد ﻣﺮات اﻟﺘﻨﻔﯿﺬ‬

‫‪m‬‬
‫‪ -2‬اﻟﻤﺮﻛﺒﺔ ‪edit1.text‬‬
‫‪ -3‬زر ﻟﻠﻤﺮاﻗﺒﺔ ﺗﺤﺖ ﺗﺴﻤﯿﺔ ‪teste‬‬

‫‪3- .co‬‬
‫‪ -4‬اﻟﻤﺮﻛﺒﺔ ‪ timer‬ﻣﻼﺣﻈﺔ _)ﻗﻤﺖ ﺑﺎﺳﺘﻌﻤﺎل اﻟﻤﺮﻛﺒﺔ ﻣﻜﺎن اﻟﺤﻠﻘﺎت اﻟﺘﻜﺮارﯾﺔ ﻻن اﻟﻤﺮﻛﺒﺔ‬
‫اﻟﺴﺎﺑﻘﺔ ﺗﻌﻤﻞ ﻧﻔﺲ ﻋﻤﻞ اﻟﺤﻠﻘﺎت اﻟﺘﻜﺮارﯾﺔ ﻣﻦ ﻧﺎﺣﯿﺔ اﻟﻤﺒﺪأ ﺣﯿﺚ ﺗﻘﻮم ﺑﺘﻨﻔﯿﺬ اﻷواﻣﺮ ﺣﺴﺐ‬
‫اﻟﻨﺒﻀﺔ ﻛﻤﺎ ﯾﻤﻜﻨﻚ اﻟﺘﺤﻜﻢ ﻓﻲ ﺳﺮﻋﺔ اﻟﺘﻨﻔﯿﺬ ﺑﺘﻐﯿﯿﺮ ﻗﯿﻤﺔ اﻟﻤﺠﺎل ‪ interval‬ﻣﻦ ﻣﻔﺘﺶ‬
‫اﻟﻜﺎﺋﻨﺎت (‬

‫‪o‬‬
‫إﻟﯿﻚ اﻟﮭﻨﺪﺳﺔ اﻟﺘﺎﻟﯿﺔ ‪:‬‬

‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬

‫‪ -5‬ﻗﻢ ﺑﺈﻟﻐﺎء ﺗﻔﻌﯿﻞ اﻟﻤﺮﻛﺒﺔ ‪ timer‬ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ ‪enabled‬‬


‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬

‫وﺣﺮر اﻟﻜﻮد اﻟﺘﺎﻟﻲ ‪:‬‬ ‫اﻧﻘﺮ ﻧﻘﺮا ﻣﺰدوﺟﺎ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪button‬‬
‫‪la‬‬

‫‪81‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫ﺗﻮﺿﯿﺢ ‪:‬‬

‫‪3- .co‬‬
‫‪ //1‬ﻣﺮاﻗﺒﺔ إدﺧﺎل ﻛﻮد أو اﻟﺮﻗﻢ اﻟﺴﺮي ﻟﻠﺒﺮﻧﺎﻣﺞ ﻣﻦ اﺟﻞ اﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺔ اﻟﺘﻔﻌﯿﻞ‬
‫‪ //2‬ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﻮاﻓﻖ ﯾﺘﻢ ﺗﻔﻌﯿﻞ اﻟﺨﺎﺻﯿﺔ ‪ enabled‬ﻟﻠﻤﺮﻛﺒﺔ ‪ timer‬ﻣﻦ اﺟﻞ ﺑﺪاﯾﺔ‬
‫اﻟﺘﺤﺪﯾﺚ‬

‫‪o‬‬
‫اﻵن ﻧﺼﻞ إﻟﻰ اﻟﺠﺰء اﻟﺜﺎﻧﻲ واﻟﻤﮭﻢ‬

‫‪o‬‬
‫‪08‬‬
‫‪ -‬ﻗﻢ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪ timer1‬وﺣﺮر اﻟﻜﻮد اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬

‫ﺗﻮﺿﯿﺢ ‪:‬‬
‫‪bi‬‬

‫‪ //1‬ﻋﻤﻠﯿﺔ ﺣﺬف اﻟﺘﺴﺠﯿﻠﺔ اﻷوﻟﻰ‬


‫‪ou‬‬

‫‪ //2‬اﻻﻧﺘﻘﺎل إﻟﻰ اﻟﺘﺴﺠﯿﻠﺔ اﻟﺜﺎﻧﯿﺔ‬


‫‪ //3‬ﻋﻤﻠﯿﺔ اﻟﻤﺮاﻗﺒﺔ ﻣﻦ اﺟﻞ ﺑﻘﺎء ﻋﻠﻰ اﻷﻗﻞ ﺗﺴﺠﯿﻠﮫ واﺣﺪة أي أﻧﮫ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺻﺎرت‬
‫‪te‬‬

‫ﺗﺤﺘﻮي ﻋﻠﻰ اﻷﻛﺜﺮ ﺗﺴﺠﯿﻠﮫ واﺣﺪة ﻓﻘﻂ‬


‫‪la‬‬

‫‪//4‬إﯾﻘﺎف ﻋﻤﻠﯿﺔ اﻟﻤﺮﻛﺒﺔ ‪timer1‬‬


‫‪ //5‬إظﮭﺎر رﺳﺎﻟﺔ ﺗﻮﺿﯿﺢ ﺗﺒﯿﻦ اﻧﮫ ﺗﻢ ﺗﺤﺪﯾﺚ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬
‫‪ //6‬إﯾﻘﺎف ﻋﻤﻠﯿﺔ اﻟﻤﺮﻛﺒﺔ ‪timer1‬‬

‫‪82‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫اﻟﺒﺮﻧﺎﻣﺞ ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﻨﻔﯿﺬ‪:‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫ﺗﺼﻤﯿﻢ ﻓﯿﺮوس ﺑﺪﻟﻔﻲ‬


‫ﺗﻌﺮﯾﻒ اﻟﻔﯿﺮوس‪ :‬ھﻮ ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻷواﻣﺮ ﻣﻜﺘﻮﺑﺔ ﺑﻠﻐﺔ ﺑﺮﻣﺠﺔ ﻣﻌﯿﻨﺔ ﺗﻌﻤﻞ ﻋﻠﻰ‬
‫‪a‬‬

‫ﺗﺨﺮﯾﺐ واﻟﺘﺤﻜﻢ ﻓﻲ اﻟﻨﻈﺎم‬


‫_‬

‫ﯾﺴﻤﺢ ﻟﻚ دﻟﻔﻲ ﺑﺘﻄﺒﯿﻖ ﺟﻤﻠﺔ ﻛﺒﯿﺮة ﻣﻦ اﻷواﻣﺮ ﺗﺴﺎﻋﺪك ﻋﻠﻰ اﻟﺘﺤﻜﻢ ﻓﻲ اﻟﻨﻈﺎم‬
‫اﻟﺘﺤﻜﻢ ﻓﻲ اﻟﻔﺄرة‪:‬‬
‫‪bi‬‬

‫ﻋﺎدة ﻣﺎ ﯾﻘﻮم اﻟﻤﺒﺮﻣﺞ ﺑﺘﺼﻤﯿﻢ ﻋﺪة وﺳﺎﺋﻂ ﺗﺴﺎﻋﺪ ﻣﺴﺘﺨﺪم اﻟﻜﻤﺒﯿﻮﺗﺮ ﻣﻦ اﻟﺘﺤﻜﻢ ﻓﻲ ﻣﻮارد اﻟﻨﻈﺎم‬
‫‪ou‬‬

‫ﺑﺴﮭﻮﻟﺔ ﺗﺎﻣﺔ ‪.‬ﻛﻤﺎ ﺗﻮﺟﺪ ﻧﻈﺮة أﺧﺮى وھﻮ اﺳﺘﻌﻤﺎل ﻋﺪة أواﻣﺮ ﻣﻦ اﺟﻞ ﺗﺨﺮﯾﺐ ﻋﻤﻞ اﻟﻨﻈﺎم‬
‫وﺗﻌﻘﯿﺪه‬
‫‪te‬‬
‫‪la‬‬

‫ﺗﺼﻤﯿﻢ ﺑﺮﻧﺎﻣﺞ ﯾﺴﻤﺢ ﻟﻚ ﺑﺎﻟﺘﺤﻜﻢ ﻓﻲ ﻗﻠﺐ ﻋﻤﻞ أزرار اﻟﻔﺄرة‬


‫ﺧﻄﺔ اﻟﻌﻤﻞ‬
‫ﻗﻢ ﺑﻔﺘﺢ ﻣﺸﺮوع ﻓﻲ دﻟﻔﻲ‬
‫ﻗﻢ ﺑﺈﺿﺎﻓﺔ اﻟﻤﺮﻛﺒﺘﯿﻦ‪button1 button2 :‬‬
‫ﻗﻢ ﺑﺘﺴﻤﯿﺔ اﻟﻤﺮﻛﺒﺘﯿﻦ ﻋﻠﻰ اﻟﺘﻮاﻟﻲ ﺑـ‪click droite /click gauche:‬‬
‫‪83‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﻗﻢ ﺑﺘﺤﺮﯾﺮ اﻷﻣﺮ اﻟﺘﺎﻟﻲ ﺑﻌﺪ اﻟﻨﻘﺮ اﻟﻤﺰدوج ﻓﻲ اﻟﻤﺮﻛﺒﺔ ‪button1‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫ﻗﻢ ﺑﺘﺤﺮﯾﺮ اﻷﻣﺮ اﻟﺘﺎﻟﻲ ﺑﻌﺪ اﻟﻨﻘﺮ اﻟﻤﺰدوج ﻓﻲ اﻟﻤﺮﻛﺒﺔ ‪button2‬‬

‫‪o‬‬
‫‪08‬‬
‫ﻓﻜﺮة‪ :‬أﺿﻒ اﻟﻤﺮﻛﺒﺔ ‪ timer‬وﺣﺮر اﻷﻣﺮ اﻟﺴﺎﺑﻖ ﺑﻌﺪ اﻟﻨﻘﺮ اﻟﻤﺰدوج ﻋﻠﯿﮭﺎ‬

‫‪88 h‬‬
‫ﻗﻢ ﺑﺘﻐﯿﯿﺮ ﻣﺠﺎل اﻟﻤﺮﻛﺒﺔ ﻣﻦ ‪ 1000‬إﻟﻰ ‪12‬‬
‫ﻻﺣﻆ ‪.‬ﺛﻢ طﻮر اﻟﻔﻜﺮة‬
‫‪0- ya‬‬
‫ﺑﺮﻣﺠﺔ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
‫@‪79 l‬‬

‫‪-0‬‬
‫ﺗﻨﻮﯾﮫ ‪ :‬ﯾﻌﺪ ﺟﺎﻧﺐ ﺑﺮﻣﺠﺔ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻣﻦ أھﻢ اﻟﺠﻮاﻧﺐ اﻟﻤﻌﻠﻮﻣﺎﺗﯿﺔ اﻟﻤﺘﺎﺣﺔ واﻟﻤﻌﻤﻮل ﺑﮭﺎ ﻓﻲ‬
‫ﻛﺎن ﺻﻌﺐ ﺟﻤﯿﻊ اﻟﻤﯿﺎدﯾﻦ ‪ ...‬و ﻛﻤﺎ ھﻮ ﻣﻌﺮوف ﺳﺎﺑﻘﺎ ﻛﺎﻧﺖ اﻟﺒﯿﺎﻧﺎت ﺗﺪون ﻓﻲ ﺳﺠﻼت ﻛﺒﯿﺮة‬
‫‪l 0 de‬‬

‫ﺟﺪا ﻟﺒﺪاﺋﯿﺔ اﻟﻔﮭﺮﺳﺔ وﻋﻤﻠﯿﺎت اﻟﺘﺤﯿﻦ ‪ ,‬وﻣﻊ ﺗﻄﻮر اﻟﺘﻜﻨﻮﻟﻮﺟﯿﺎ ﺑﺮزت أﻧﻈﻤﺔ ﺗﺄﻟﯿﺔ اﻟﺒﯿﺎﻧﺎت‬
‫ودراﺳﺔ اﻟﻮﺛﺎﺋﻖ ﺑﻄﺮق ﻋﻠﻤﯿﺔ ﻣﺒﺮﻣﺠﺔ ﻓﻲ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪ ....‬ﺳﻨﺤﺎول اﻵن ﺗﺼﻤﯿﻢ ﺑﺮﻧﺎﻣﺞ‬
‫ﺗﺴﯿﯿﺮ ﻣﺼﻠﺤﺔ اﻟﻤﻮظﻔﯿﻦ اﻟﮭﺪف ﻣﻦ اﻟﺒﺮﻧﺎﻣﺞ ھﻮ ﻣﺮاﻗﺒﺔ ﻣﺼﻠﺤﺔ اﻹطﻌﺎم ‪:‬‬
‫_‬ ‫‪a‬‬

‫ﺗﺼﻤﯿﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪:‬‬


‫‪bi‬‬

‫; )‪Base1(code,nom,prénom,date_n,lieu_n,classe,profession‬‬
‫ﺷﺮح اﻟﺒﯿﺎﻧﺎت ‪:‬‬
‫‪ou‬‬

‫ﻣﻼﺣﻈﺎت‬ ‫اﻟﺪﻻﻟﺔ‬ ‫اﻟﺤﻘﻞ‬


‫‪ code‬رﻗﻢ اﻟﻌﺎﻣﻞ‬
‫‪te‬‬

‫‪ Nom‬ﻟﻘﺐ اﻟﻌﺎﻣﻞ‬
‫‪la‬‬

‫‪ prénom‬اﺳﻢ اﻟﻌﺎﻣﻞ‬
‫‪ Date_n‬ﺗﺎرﯾﺦ اﻟﻤﯿﻼد‬
‫‪ Lieu_n‬ﻣﻜﺎن اﻟﻤﯿﻼد‬
‫‪ class‬اﻟﻘﺴﻢ‬
‫‪ profession‬اﻟﺼﻔﺔ‬
‫‪84‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫‪ photo‬ﺻﻮرة اﻟﻌﺎﻣﻞ‬

‫‪m‬‬
‫)‪Passe(pass‬‬ ‫ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﺨﺎﺻﺔ ﺑﻜﻠﻤﺔ اﻟﺴﺮ‬
‫ﻣﻼﺣﻈﺎت‬ ‫اﻟﺪﻻﻟﺔ‬ ‫اﻟﺤﻘﻞ‬

‫‪3- .co‬‬
‫ﻛﻠﻤﺔ اﻟﺴﺮ ﻣﻦ ﻧﻮع ﺣﺮف‬ ‫‪pass‬‬

‫ﺑﻨﯿﺔ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‪:‬‬

‫‪o‬‬
‫ﺳﻨﺴﺘﻌﻤﻞ ﺑﺮﻧﺎﻣﺞ ‪ module de base de données‬اﻟﺨﺎص ب ‪Delphi‬‬
‫ﻣﻼﺣﻈﺎت‪:‬‬

‫‪o‬‬
‫‪08‬‬
‫‪ -1‬ﻻﺑﺪ ﻣﻦ إﻧﺸﺎء ‪Alias‬‬

‫‪88 h‬‬ ‫‪ -2‬ﻟﯿﻜﻦ اﺳﻢ اﻟــ ‪ Alias‬ھﻮ ‪laoubi_adel‬‬


‫‪0- ya‬‬ ‫‪ -3‬ﺣﻔﻆ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻓﻲ ‪ Alias‬اﻟﺴﺎﺑﻘﺔ‬
‫‪ -4‬اﺳﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ھﻮ ‪ base1‬ا‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﺧﻄﻮات اﻟﺒﺮﻣﺠﺔ ‪:‬‬


‫‪ -1‬ﻧﻔﺬ ﺑﺮﻧﺎﻣﺞ ‪module de base de données‬‬
‫‪ -2‬ﻗﻢ ﺑﺈﻧﺸﺎء ‪ alias‬ﻣﻦ ﺧﻼل اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﻘﺎﺋﻤﺔ ‪outils‬‬
‫‪l 0 de‬‬

‫‪ -3‬اﺧﺘﺮ اﻷﻣﺮ اﻟﺘﺎﻟﻲ ‪gestionnaire d’alias‬‬


‫‪ -4‬اﻧﻘﺮ ﻋﻠﻰ اﻟﺰر ‪nouveau‬‬
‫‪ -5‬ﺣﺮر اﺳﻢ ال ‪Alias‬‬
‫‪a‬‬

‫‪ -6‬اﻟﻨﻘﺮ ﻋﻠﻰ زر اﻟﻤﻮاﻓﻘﺔ‬


‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪85‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫ﺳﻨﻘﻮم ﺑﺘﺼﻤﯿﻢ ﻗﺎﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻟﺨﺎﺻﺔ وﻧﻘﻮم ﺑﺤﻔﻈﮭﺎ ﻓﻲ اﻟــ ‪ Alias‬اﻟﺘﻲ ﺗﺤﺖ اﺳﻢ‬
‫‪ Laoubi_adel‬ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫ﺷﻜﻞ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪ base1‬ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪86‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫ﺷﻜﻞ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪ pass‬ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬

‫آﻟﯿﺔ اﻟﺤﻔﻆ ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬


‫‪la‬‬

‫‪87‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫ﺑﻌﺪ إﻧﺸﺎء ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻟﻼزﻣﺔ وﺣﻔﻈﮭﺎ ﺳﻨﻘﻮم اﻵن ﺑﺘﺼﻤﯿﻢ ﺑﺮﻧﺎﻣﺞ ﻟﻠﻘﯿﺎم ﺑﻌﻤﻠﯿﺎت اﻟﺘﺤﯿﯿﻦ‬

‫‪o‬‬
‫‪08‬‬
‫ﻋﻠﯿﮭﻤﺎ ‪.‬‬

‫‪88 h‬‬
‫‪0- ya‬‬
‫ﺧﻄﻮات اﻟﺒﺮﻣﺠﺔ‬
‫‪ -1‬اﻓﺘﺢ ﻣﺸﺮوﻋﺎ ﺟﺪﯾﺪا ﻓﻲ دﻟﻔﻲ‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫‪ -2‬ﻗﻢ ﺑﺈﻧﺸﺎء ﻧﺎﻓﺬﺗﯿﻦ‬


‫‪ -3‬ﻓﻲ اﻟﻨﺎﻓﺬة اﻟﺜﺎﻧﯿﺔ ﻗﻢ ﺑﺈﺿﺎﻓﺔ اﻟﻤﺮﻛﺒﺎت اﻟﺘﺎﻟﯿﺔ ‪table1 .table2:‬ﻣﻦ ﺧﻼل ﺷﺮﯾﻂ‬
‫اﻟﻤﺮﻛﺒﺎت ‪AccésBD‬‬
‫‪l 0 de‬‬

‫‪ -4‬ﻗﻢ ﺑﺈﺿﺎﻓﺔ اﻟﻤﺮﻛﺒﺘﯿﻦ ‪dataesource1.dataesource2‬‬


‫‪ -5‬ﻗﻢ ﺑﺮﺑﻂ اﻟﻤﺮﻛﺒﺔ ‪ table1‬ﺑﺎﻟــ ‪ laoubi_adel . Alias‬ﺑﻮاﺳﻄﺔ اﻟﺨﺎﺻﯿﺔ‬
‫‪Data base names‬‬
‫‪a‬‬

‫‪ -6‬ﻗﻢ ﺑﺎﺧﺘﯿﺎر اﺳﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻣﻦ ﺧﻼل اﻟﺨﺎﺻﯿﺔ ‪table name‬‬


‫_‬

‫‪ -7‬ﻗﻢ ﺑﺘﻔﻌﯿﻞ اﻟﻤﺮﻛﺒﺔ ‪ table1‬ﻣﻦ ﺧﻼل اﻟﺨﺎﺻﯿﺔ ‪Active.true‬‬


‫‪ -‬ﺑﻌﺪ اﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺔ اﻟﺮﺑﻂ اﻟﻤﻨﻄﻘﯿﺔ ﻟﻘﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻧﺄﺗﻲ إﻟﻰ ﻋﻤﻠﯿﺔ رﺑﻂ اﻟﻤﺮﻛﺒﺔ‬
‫‪bi‬‬

‫‪ data source1‬ﺑﺎﻟﻤﺮﻛﺒﺔ اﻟﺴﺎﺑﻘﺔ ‪table1‬‬


‫‪ou‬‬

‫‪ -‬ﻛﺮر ﻧﻔﺲ اﻟﺨﻄﻮات اﻟﺴﺎﺑﻘﺔ ﻣﻊ اﻟﻤﺮﻛﺒﺔ ‪table2 ; datasource2‬‬


‫ﺑﺎﺧﺘﯿﺎر ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪pass‬‬
‫‪te‬‬

‫ﻟﻤﺰﯾﺪ ﻣﻦ اﻟﺘﻮﺿﯿﺢ ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬


‫‪la‬‬

‫‪88‬‬
la
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬
ou
bi
te _ a
l 0 de
79 l@
0- ya
88 h
-0 o o
-8

3- .co
08 m
5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬

89
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪ -9‬ﻗﻢ ﺑﺈﺿﺎﻓﺔ اﻟﻤﺮﻛﺒﺔ ‪ page controle1‬ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت ‪win32‬‬
‫ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪ :‬ﻋﺪ إﺿﺎﻓﺔ اﻟﻤﺮﻛﺒﺔ‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬

‫ﺳﻨﻘﻮم ﺑﺈﺿﺎﻓﺔ ﻋﺪة ﺻﻔﺤﺎت ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪page controle1‬‬ ‫‪-10‬‬


‫‪ -‬ﻗﻢ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر اﻷﯾﻤﻦ ﻟﻠﻔﺄرة ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ اﻟﺴﺎﺑﻘﺔ ﺛﻢ اﻧﻘﺮ ﻋﻠﻰ‬
‫‪bi‬‬

‫اﻟﺨﯿﺎر ‪ nouvelle page‬ﺳﺘﻼﺣﻆ ظﮭﻮر ﺻﻔﺤﺔ ﺟﺪﯾﺪة ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ‬


‫‪ou‬‬

‫‪ -11‬ﻗﻢ ﺑﺈﺿﺎﻓﺔ ‪ 4‬ﺻﻔﺤﺎت‬


‫‪te‬‬

‫ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬


‫‪la‬‬

‫‪90‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫ﻗﻢ ﺑﺘﺴﻤﯿﺔ اﻟﺼﻔﺤﺎت ﺑﺎﻟﺘﺴﻤﯿﺔ اﻟﺘﺎﻟﻲ ﻋﻠﻰ اﻟﺘﻮاﻟﻲ ﻣﻦ ﺧﻼل اﻟﺨﺎﺻﯿﺔ ‪caption‬‬
‫‪Page d’accueil /Misa ajour / imprimer/paramètres‬‬

‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺴﺎﺑﻖ ﺑﻌﺪ اﻟﺘﺴﻤﯿﺔ‪:‬‬


‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪91‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﻗﻢ ﺑﺈﺿﺎﻓﺔ اﻟﻤﺮﻛﺒﺔ ‪Dbgrid1‬ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت ‪contrôle bd‬‬ ‫‪-11‬‬
‫ﻗﻢ ﺑﺘﻐﯿﯿﺮ اﻟﺨﺎﺻﯿﺔ ‪ data set‬ﻟﻨﻔﺲ اﻟﻤﺮﻛﺒﺔ ورﺑﻄﮭﺎ ب ‪data source1‬‬ ‫‪-12‬‬

‫‪m‬‬
‫‪ -‬ﺗﻼﺣﻆ ﺑﺮوز ﺣﻘﻮل ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪ base1‬ﻟﻜﻦ ﺗﻼﺣﻆ أن اﻟﺤﻘﻞ ‪ photo‬ﻟﻢ ﯾﻈﮭﺮ‬

‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫‪-‬ﻹﺿﺎﻓﺔ ﻣﺮﻛﺒﺔ اﻟﺼﻮرة اﺗﺒﻊ اﻟﺨﻄﻮات اﻟﺘﺎﻟﯿﺔ ‪:‬‬


‫‪ -1‬اﻧﻘﺮ ﻧﻘﺮا ﻣﺰدوﺟﺎ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪table1‬‬
‫‪ -2‬ﻓﺘﻼﺣﻆ ظﮭﻮر ﻗﺎﺋﻤﺔ ﻣﻦ ﺧﻼﻟﮭﺎ ﻗﻢ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر اﻷﯾﻤﻦ ﻟﻠﻔﺄرة واﺧﺘﺮ اﻷﻣﺮ‬
‫‪a‬‬

‫‪Ajouter touts les champs‬‬


‫_‬

‫‪ -3‬ﺗﻼﺣﻆ ظﮭﻮر ﺟﻤﯿﻊ اﻟﺤﻘﻮل‬


‫‪ -4‬ﻗﻢ ﺑﺴﺤﺐ اﻟﺤﻘﻞ ‪ photo‬ﻋﻠﻰ اﻟﺤﯿﺰ‪mise ajour‬‬
‫‪bi‬‬

‫ﻻﺣﻆ اﻷﺷﻜﺎل اﻟﺘﺎﻟﯿﺔ ‪:‬‬


‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪92‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬

‫إﺿﺎﻓﺔ أزرار اﻟﺘﺤﻜﻢ‪:‬‬


‫_‬

‫ﻗﻢ ﺑﺈﺿﺎﻓﺔ ‪ 6‬ﻣﺮﻛﺒﺎت ﻣﻦ ‪button‬‬


‫ﻗﻢ ﺑﺘﺴﻤﯿﺘﮭﻢ ﺣﺴﺐ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪93‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫اﻟﺠﺪول اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ دﻻﻟﺔ ﻛﻞ زر ﻣﻊ اﻷﻣﺮ اﻟﻤﻮاﻓﻖ‬
‫اﻷﻣﺮ‬ ‫اﻟﺪﻻﻟﺔ‬ ‫اﻟﻤﺮﻛﺒﺔ‬
‫‪ nouveau‬إﺿﺎﻓﺔ ﺗﺴﺠﯿﻠﮫ ﺟﺪﯾﺪة‬
‫‪l 0 de‬‬

‫; ‪Table1.insert‬‬
‫;‪Table1.edit‬‬ ‫‪ modifier‬ﺗﻐﯿﯿﺮ ﻣﺤﺘﻮ ﺗﺴﺠﯿﻠﮫ‬
‫;‪Table1.post‬‬ ‫‪ enregistrer‬ﺣﻔﻆ اﻟﺘﻐﯿﯿﺮات‬
‫‪a‬‬

‫;‪Table1.cancel‬‬ ‫‪ annuler‬إﻟﻐﺎء اﻟﺘﻐﯿﯿﺮات ﻗﺒﻞ اﻟﺤﻔﻆ‬


‫‪ supprimer‬ﺣﺬف ﺗﺴﺠﯿﻠﮫ‬
‫_‬

‫;‪Table1.delete‬‬
‫;‪table1.Refresh‬‬ ‫‪ actualiser‬ﺗﺤﺪﯾﺚ‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪94‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﻧﻔﺬ اﻟﺒﺮﻧﺎﻣﺞ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺰر ‪F9‬‬
‫‪ -‬ﻗﻢ ﺑﺈﺿﺎﻓﺔ اﻟﺒﯿﺎﻧﺎت ﺣﺴﺐ اﻟﺠﺪول اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫ﺳﻨﺤﺎول إﺿﺎﻓﺔ آﻟﯿﺔ ﻟﻠﺒﺤﺚ ﻋﻦ اﻟﻤﻌﻄﯿﺎت ‪:‬‬
‫ھﻨﺎك ﻋﺪة دوال ﺗﺴﺘﻌﻤﻞ ﻓﻲ اﻟﺒﺤﺚ ﻋﻦ اﻟﺒﯿﺎﻧﺎت ﺳﻨﺤﺎول ﺗﻘﺪﯾﻢ داﻟﺘﯿﻦ أو ﺛﻼث ﻟﻠﺸﺮح ﻓﻘﻂ‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫اﻟﺒﺤﺚ ﺑﺎﻟﺪاﻟﺔ ‪:findkey‬‬


‫ﺧﻄﻮات اﻟﻌﻤﻞ ‪:‬‬
‫‪ -1‬اﺣﻀﺮ اﻟﻤﺮﻛﺒﺔ ‪edit1.text‬‬
‫‪l 0 de‬‬

‫‪ -2‬اﺣﻀﺮ اﻟﻤﺮﻛﺒﺔ ‪ button‬ﻗﻢ ﺑﺘﻐﯿﯿﺮ دﻻﻟﺘﮭﺎ إﻟﻰ ‪recherché‬‬


‫‪ -3‬ﻗﻢ ﺑﺘﺤﺮﯾﺮ اﻷﻣﺮ اﻟﺘﺎﻟﻲ ﻓﻲ اﻟﻤﺮﻛﺒﺔ ‪button‬‬
‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬

‫ﺷﺮح ‪:‬‬
‫‪ //1‬اﻟﺒﺤﺚ ﻋﻦ اﻟﺒﯿﺎﻧﺎت‬
‫‪te‬‬

‫‪ //2‬إظﮭﺎر رﺳﺎﻟﺔ ‪...‬ﺗﻔﯿﺪ ﺑﻌﺪم ﺑﻮﺟﻮد اﻟﺒﯿﺎﻧﺎت‬


‫‪la‬‬

‫‪95‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫ﻧﻔﺬ اﻟﺒﺮﻧﺎﻣﺞ ‪:‬‬

‫‪m‬‬
‫‪ -1‬ﻗﻢ ﺑﺎﻟﺒﺤﺚ ﻋﻦ اﻟﻘﯿﻢ ‪125‬‬
‫‪ -2‬ﺗﻼﺣﻆ ظﮭﻮر رﺳﺎﻟﺔ ﺗﺒﯿﻦ ﻋﺪم وﺟﻮد اﻟﺒﯿﺎﻧﺎت‬

‫‪3- .co‬‬
‫‪ -3‬ﻗﻢ ﺑﺎﻟﺒﺤﺚ ﻋﻦ اﻟﻘﯿﻤﺔ ‪1‬‬
‫ﺗﻼﺣﻆ ﺗﻮﺿﻊ اﻟﻤﺆﺷﺮ ﻋﻨﺪ اﻟﺘﺴﺠﯿﻠﺔ اﻷوﻟﻰ‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪96‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫• ﺳﻨﺤﺎول اﻵن إﺿﺎﻓﺔ ﺧﺎﺻﯿﺔ أﺧﺮى ﻟﻠﺒﺮﻧﺎﻣﺞ أﻻ وھﻲ اﻟﻔﮭﺮﺳﺔ‬

‫‪3- .co‬‬
‫واﻟﻤﻘﺼﻮد ھﻨﺎ ﺗﻮﻓﯿﺮ ﺧﺎﺻﯿﺔ اﻟﺘﺮﺗﯿﺐ ب اﻟﻜﻮد اﻻﺳﻢ اﻟﻠﻘﺐ ﺗﺎرﯾﺦ اﻟﻤﯿﻼد‬

‫ﻣﻦ أﺟﻞ ﺗﺤﻘﯿﻖ ذﻟﻚ ﯾﺠﺐ ﻋﻠﯿﻚ إﺿﺎﻓﺔ ﻓﮭﺎرس ﺛﺎﻧﻮﯾﺔ وﻟﻘﺪ ان ذﻛﺮت اﻟﯿﺔ ﺗﻔﻌﯿﻞ ذﻟﻚ‬
‫ﺳﺄﺣﺎول ﺗﻮﺿﯿﺢ ذﻟﻚ ﺑﺼﻮرة ﺳﺮﯾﻌﺔ‬

‫‪o‬‬
‫اﺛﻨﺎء ﺗﺼﻤﯿﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺑﻮاﺳﻄﺔ ﺑﺮﻧﺎﻣﺞ ‪module de base de données‬‬

‫‪o‬‬
‫‪08‬‬
‫اﻟﯿﻚ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ وھﻮ اﻗﺘﺒﺎس ﻣﻦ ﻛﺘﺎﺑﻲ اﻟﺴﺎﺑﻖ ﻓﻲ دﻟﻔﻲ‬

‫‪88 h‬‬ ‫إﻧﺸﺎء ﻓﮭﺎرس ﻓﺮﻋﯿﺔ ﻟﺘﺴﮭﯿﻞ ﻋﻤﻠﯿﺔ اﻟﺒﺤﺚ‬


‫آﻟﯿﺔ اﻹﻧﺸﺎء‬
‫‪0- ya‬‬
‫ﺑﻌﺪ أن ﺗﺘﻢ ﻋﻤﻠﯿﺔ ﺗﺼﻤﯿﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬
‫• ﻗﻢ ﺑﻔﺘﺢ اﻟﻘﺎﺋﻤﺔ ‪proprieties de table‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫• ﻗﻢ ﺑﺎﺧﺘﯿﺎر اﻟﺨﯿﺎر اﻟﺜﺎﻟﺚ ﻣﻨﮭﺎ وھﻮ ‪index secondaires‬‬
‫• ﻗﻢ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ‪ddéfinir‬‬
‫• ﻗﻢ ﺑﺘﺤﺪﯾﺪ اﻟﺤﻘﻞ اﻟﻤﺮاد إﻧﺸﺎء ﻓﮭﺮس ﻓﺮﻋﻲ ﻟﮫ وﻟﯿﻜﻦ ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل اﻟﺤﻘﻞ ‪nom‬‬
‫‪l 0 de‬‬

‫• اﻧﻘﺮ ﻋﻠﻰ اﻟﺰر ‪ok‬‬


‫• ﻓﺘﻈﮭﺮ ﻟﻚ ﻋﻠﺒﺔ ﺣﻮار ﺗﻄﺎﻟﺒﻚ ﺑﺈدﺧﺎل اﺳﻢ اﻟﻔﮭﺮس وﻟﯿﻜﻦ ‪xnom‬‬
‫‪a‬‬

‫• اﻧﻘﺮ ﻓﻮق اﻟﺰر ‪ok‬‬


‫ﻻﺑﺪ أن ﯾﻜﻮن اﺳﻢ اﻟﻔﮭﺮس اﻟﻔﺮﻋﻲ ﯾﺨﺘﻠﻒ ﻋﻦ اﺳﻢ اﻟﺤﻘﻞ ﻛﻤﺎ ﻗﻤﻨﺎ ﺑﺬﻟﻚ ﺳﺎﺑﻘﺎ ﺑﺈﻋﻄﺎء‬
‫_‬

‫‪ xnom‬ﺑﺪل ‪nom‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪97‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫أﻋﻂ اﻷﺳﻤﺎء اﻟﺘﺎﻟﯿﺔ ﻟﻠﻔﮭﺎرس اﻟﻔﺮﻋﯿﺔ ﻋﻠﻰ اﻟﺘﻮاﻟﻲ ‪:‬‬


‫اﻻﺳﻢ ‪ / xn‬اﻟﻠﻘﺐ ‪ / xp‬ﺗﺎرﯾﺦ اﻟﻤﯿﻼد ‪xdn.‬‬
‫‪a‬‬

‫‪ -‬ﺑﻌﺪ اﺿﺎﻓﺔ اﻟﻔﮭﺎرس اﻟﻔﺮﻋﯿﺔ ﻧﻨﺘﻘﻞ إﻟﻰ ﻣﺮﺣﻠﺔ اﻟﺘﺼﻤﯿﻤﻲ‬


‫_‬

‫‪ -1‬ﻓﻲ اﻟﺘﺒﻮﯾﺐ ‪ Iimprimer‬أﺿﻒ اﻟﻤﺮﻛﺒﺔ ‪dbgrid‬‬


‫‪ -2‬ﺛﻢ ﻗﻢ ﺑﺈﺿﺎﻓﺔ ‪ 4‬ﻣﺮﻛﺒﺎت ﻣﻦ ﻧﻮع ‪ Radio Button‬ﻣﻦ ﺷﺮﯾﻂ اﻟﻤﺮﻛﺒﺎت ‪standard‬‬
‫‪bi‬‬

‫‪ -3‬أﻋﻂ اﻟﺘﺴﻤﯿﺎت اﻟﺘﺎﻟﯿﺔ ﺣﺴﺐ اﻟﺠﺪول اﻟﺘﺎﻟﻲ ‪:‬‬


‫‪ou‬‬

‫ﻣﻼﺣﻈﺎت‬ ‫اﻟﺘﺴﻤﯿﺔ‬ ‫اﻟﻤﺮﻛﺒﺔ‬


‫‪te‬‬

‫‪Index par code‬‬ ‫‪RadioButton1‬‬


‫‪la‬‬

‫‪Index par nom‬‬ ‫‪RadioButton2‬‬


‫‪Index par prénom‬‬ ‫‪RadioButton3‬‬
‫‪Index par date de naissance‬‬ ‫‪RadioButton4‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬ﻣﻦ اﺟﻞ اﻻطﻼع ﻋﻠﻰ ﻗﯿﻢ اﻟﻔﮭﺎرس اﻟﻔﺮﻋﯿﺔ اﺗﺒﻊ اﻟﺨﻄﻮات اﻟﺘﺎﻟﯿﺔ ‪:‬‬
‫‪98‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﺣﺪد اﻟﻤﺮﻛﺒﺔ ‪Table1‬‬ ‫‪-1‬‬
‫ﻣﻦ ﺧﻼل ﻣﻔﺘﺶ اﻟﻜﺎﺋﻨﺎت ﺣﺪد اﻟﺨﺎﺻﯿﺔ ‪Index fieldnames‬‬ ‫‪-2‬‬
‫اﻓﺘﺢ اﻟﻘﺎﺋﻤﺔ ﺗﻼﺣﻆ ظﮭﻮر ﻛﻞ اﻟﻔﮭﺎرس اﻷﺳﺎﺳﯿﺔ ﺑﺪﻻﻟﺔ اﻟﻔﮭﺎرس اﻟﻔﺮﻋﯿﺔ‬ ‫‪-3‬‬

‫‪m‬‬
‫ﺗﻼﺣﻆ ﻋﺪم ﺗﺘﻄﺎﺑﻖ اﻷﺳﻤﺎء ﻻن ھﺎ ﻗﯿﻢ اﻟﺤﻘﻮل اﻟﺘﻲ ﺗﺘﺨﺬ ﻗﯿﻢ اﻟﻔﮭﺎرس اﻟﻔﺮﻋﯿﺔ‬ ‫‪-4‬‬

‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫اﻟﯿﻚ اﻟﺸﻜﻞ اﻟﻨﮭﺎﺋﻲ ﺑﻌﺪ اﻟﺨﻄﻮات اﻟﺴﺎﺑﻘﺔ‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪99‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﻗﻢ ﺑﺘﺤﺮﯾﺮ اﻻﻛﻮاد اﻟﺘﺎﻟﯿﺔ ﻋﻠﻰ اﻟﺘﻮاﻟﻲ ﺑﺪءا ﻣﻦ اﻟﻤﺮﻛﺒﺔ اﻷوﻟﻰ ‪:‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫ﻧﻔﺬ اﻟﺒﺮﻧﺎﻣﺞ وﻗﻢ ﺑﺘﺤﺪﯾﺪ اﻟﺨﯿﺎرات اﻟﺴﺎﺑﻘﺔ ﻓﺘﻼﺣﻆ ﺗﻐﯿﺮ ﺗﺮﺗﯿﺐ ﻗﻮاﺋﻢ اﻟﻌﻤﺎل ‪:‬‬
‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪100‬‬
la
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬
ou
bi
te _ a
l 0 de
79 l@
0- ya
88 h
-0 o o
3- .co
08 m
5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬

101
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﻣﻼﺣﻈﺔ ‪:‬ﺗﻼﺣﻆ ان اﻟﻤﺆﺷﺮ ﯾﺒﻘﻰ داﺋﻤﺎ ﻓﻲ اﻟﺘﺴﺠﯿﻠﺔ ‪1‬‬


‫ﻷﻧﮭﺎ أﺧﺮ ﻗﯿﻤﺔ ﺗﻢ اﻟﺒﺤﺚ ﻋﻨﮭﺎ‬
‫ﻧﻨﺘﻘﻞ اﻵن إﻟﻰ اﻟﺘﺒﻮﯾﺐ ‪parameters‬‬
‫‪l 0 de‬‬

‫ﺳﻨﺤﺎول إﺿﺎﻓﺔ إﻣﻜﺎﻧﯿﺔ ﺗﻐﯿﯿﺮ ﻛﻠﻤﺔ ﻣﺮور اﻟﺒﺮﻧﺎﻣﺞ‬


‫ﻗﻢ ﺑﺈﺣﻀﺎر ﻣﺮﻛﺒﺔ ﻣﻦ ﻧﻮع ل‪groupbox‬‬
‫ﻗﻢ ﺑﺈﺿﺎﻓﺔ ﻣﺮﻛﺒﺔ ﻣﻦ ﻧﻮع ‪ edit. text‬وﻣﺮﻛﺒﺔ ‪ button‬وﻣﺮﻛﺒﺔ ﻣﻦ ﻧﻮع ‪label‬‬
‫‪a‬‬

‫ﻏﯿﺮ دﻻﻟﺔ ‪ label1‬إﻟﻰ ‪enterer votre mote de passe‬‬


‫_‬

‫أﻋﻂ ﺧﺎﺻﯿﺔ إﺧﻔﺎء ﻛﻠﻤﺔ اﻟﺴﺮ ﺑﺎﻟﺮﻣﺰ * ﻣﻦ ﺧﻼل اﻟﺨﺎﺻﯿﺔ ‪passwordchar‬‬


‫ﻏﯿﺮ دﻻﻟﺔ اﻟﻤﺮﻛﺒﺔ ‪ button‬إﻟﻰ ‪tester‬‬
‫‪bi‬‬

‫ﻗﻢ ﺑﺈﺣﻀﺎر ﻣﺮﻛﺒﺔ أﺧﺮى ﻣﻦ ﻧﻮع ‪groupbox‬‬


‫‪ou‬‬

‫أﻋﻄﮭﺎ ﺧﺎﺻﯿﺔ ﻋﺪم اﻟﻈﮭﻮر أﺛﻨﺎء اﻟﺘﻨﻔﯿﺬ ﻣﻦ ﺧﻼل اﻟﺨﺎﺻﯿﺔ ‪visible:=false.3‬‬


‫ﺳﻨﻘﻮم اﻵن ﺑﺘﻔﻌﯿﻞ ﺣﻘﻮل اﻟﻤﺮﻛﺒﺔ ‪ table2‬اﻟﺨﺎﺻﺔ ﺑﻤﺮاﻗﺒﺔ ﻛﻠﻤﺔ اﻟﻤﺮور‬
‫‪te‬‬

‫اﻧﻘﺮ ﻣﺮة ﺑﺎﻟﺰر اﻷﯾﻤﻦ ﻟﻠﻔﺎرة ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ اﻟﺴﺎﺑﻘﺔ‬


‫‪la‬‬

‫اﺧﺘﺮ اﻟﺨﯿﺎر ‪ajouter touts les champs‬‬


‫ﻓﯿﻈﮭﺮ ﻟﻚ اﻟﺤﻘﻞ اﻟﻮﺣﯿﺪ ‪pass‬‬
‫ﻗﻢ ﺑﺈﺿﺎﻓﺔ اﻟﺤﻘﻞ ‪ pass‬ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ‪ groupbox2‬ﺑﻮاﺳﻄﺔ ﻋﻤﻠﯿﺔ اﻟﺴﺤﺐ‬
‫ﺗﻼﺣﻆ ظﮭﻮر اﻟﺤﻘﻞ ‪ pass dbedit1‬ﻣﻊ اﻟﺪﻻﻟﺔ اﻟﺨﺎﺻﺔ ﺑﮫ‬
‫ﻗﻢ ﺑﺘﻐﯿﯿﺮ اﻟﺪﻻﻟﺔ ‪ pass‬إﻟﻰ ‪enterer nouvelle mote de passe‬‬
‫‪102‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬
‫ﻗﻢ ﺑﺈﺿﺎﻓﺔ ﻣﺮﻛﺒﺘﯿﻦ ﻣﻦ ﻧﻮع ‪ button‬ﻏﯿﺮ دﻻﻟﺘﯿﮭﻤﺎ إﻟﻰ ‪ modifier enregistrer‬ﻋﻠﻰ‬
‫اﻟﺘﻮاﻟﻲ‬
‫ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫ﻣﻼﺣﻈﺔ ‪ :‬ﺗﻼﺣﻆ أن اﻟﺤﻘﻞ ‪dbedit1‬اﻟﺨﺎص ﺑﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻛﻠﻤﺔ اﻟﻤﺮور ﻓﺎرغ وﻋﺪم اﺣﺘﻮاﺋﮫ‬
‫ﻋﻠﻰ أي ﻗﯿﻢ‬
‫‪l 0 de‬‬

‫ﻣﻌﻠﻮم أن اﻟﻤﺮﻛﺒﺔ ‪ groupbox2‬ﻻ ﺗﻈﮭﺮ أﺛﻨﺎء اﻟﺘﻨﻔﯿﺬ ﻷﻧﻨﺎ ﺳﺒﻖ وان أﻋﻄﯿﻨﺎھﺎ ﺧﺎﺻﺔ اﻟﻈﮭﻮر‬
‫ﻣﻦ اﺟﻞ ﻋﺪم ظﮭﻮر إﻣﻜﺎﻧﯿﺔ ﺗﻐﯿﯿﺮ ﻛﻠﻤﺔ اﻟﻤﺮور إﻻ ﺑﻌﺪ ﺗﻮاﻓﻖ ﻛﻠﻤﺔ اﻟﻤﺮور‬
‫‪a‬‬

‫ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬


‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪103‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫آﻟﯿﺔ ﻣﺮاﻗﺒﺔ ﻛﻠﻤﺔ اﻟﻤﺮور ‪ :‬ﯾﻘﻮم اﻟﻤﺴﺘﻌﻤﻞ ﺑﺤﺠﺰ ﻛﻠﻤﺔ اﻟﻤﺮور اﻟﺴﺎﺑﻘﺔ ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﻮاﻓﻖ ﺗﻈﮭﺮ‬
‫اﻟﻤﺮﻛﺒﺔ ‪ groupbox2‬ﻣﻦ اﺟﻞ اﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺔ اﻟﺘﻐﯿﯿﺮ و إﻻ ظﮭﻮر رﺳﺎﻟﺔ ﺗﺤﺬﯾﺮ ﺗﺒﯿﻦ ﻋﺪم ﺗﺘﻄﺎﺑﻖ‬
‫ﻛﻠﻤﺔ اﻟﻤﺮور‬
‫‪l 0 de‬‬

‫ﻣﻼﺣﻈﺔ ﻛﻠﻤﺔ اﻟﻤﺮور اﻟﺴﺎﺑﻘﺔ ھﻲ ﻋﺒﺎرة ﻋﻦ ﻓﺮاغ‬


‫ﺧﻄﻮات اﻟﺒﺮﻣﺠﺔ ‪:‬‬
‫‪a‬‬

‫اﻧﻘﺮ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ذات اﻟﺪﻻﻟﺔ ‪tester‬وﺣﺮر اﻟﻜﻮد اﻟﺘﺎﻟﻲ‬


‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫ﺗﻮﺿﯿﺢ ‪:‬‬
‫‪ //1‬ﻣﺮاﻗﺒﺔ ﺗﻮاﻓﻖ اﻟﻤﺮﻛﺒﺘﯿﻦ ‪ edit1.text‬ﻣﻊ ‪dbedit1.tex‬‬
‫‪ //2‬ﻓﻲ ﺣﺎﻟﺔ اﻟﺘﻮاﻓﻖ ﺗﻈﮭﺮ ﻟﻚ اﻟﻤﺮﻛﺒﺔ ‪ groupbox2‬ﻣﻦ اﺟﻞ ﺗﻐﯿﯿﺮ ﻛﻠﻤﺔ اﻟﻤﺮور‬
‫‪ //3‬ﻓﻲ ﺣﺎﻟﺔ ﻋﺪم ﺗﻮاﻓﻖ ﻣﺤﺘﻮى اﻟﻤﺮﻛﺒﺘﯿﻦ ‪ edit1.text‬و ‪ dbedit1.tex‬ﺗﻈﮭﺮ ﻟﻚ رﺳﺎﻟﺔ‬
‫ﺗﻮﺿﺢ ﻛﻠﻤﺔ اﻟﻤﺮور ﺧﺎطﺌﺔ‬
‫‪104‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫اﻵن ﻧﻨﺘﻘﻞ إﻟﻰ اﻟﻤﺮﻛﺒﺔ ‪groupbox2‬وﺑﺮﻣﺠﺔ وﺳﺎﺋﻄﮭﺎ‬

‫‪m‬‬
‫اﻧﻘﺮ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ذات اﻟﺪﻻﻟﺔ ‪ modifier‬وﺣﺮر اﻟﻜﻮد اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪3- .co‬‬
‫اﻧﻘﺮ ﻋﻠﻰ اﻟﻤﺮﻛﺒﺔ ذات اﻟﺪﻻﻟﺔ ‪enregistrer‬وﺣﺮر اﻟﻜﻮد اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫@‪79 l‬‬

‫‪-0‬‬
‫‪l 0 de‬‬

‫ﺗﻮﺿﯿﺢ‪:‬‬
‫‪ //1‬ﺣﻔﻆ اﻟﺘﻐﯿﯿﺮات‬
‫‪a‬‬

‫‪//2‬إﺧﻔﺎء إﻣﻜﺎﻧﯿﺔ اﻟﺘﻐﯿﯿﺮ ﺑﻌﺪ اﻟﺤﻔﻆ‬


‫_‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫ﻧﻔﺬ اﻟﺒﺮﻧﺎﻣﺞ‬
‫وادﺧﻞ اﻟﻘﯿﻤﺔ ‪ 120‬ﻓﻲ ﺣﯿﺰ اﻟﻤﺮاﻗﺒﺔ‬
‫‪105‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫‪m‬‬
‫‪3- .co‬‬
‫‪o‬‬
‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫ﺗﻼﺣﻆ ظﮭﻮر رﺳﺎﻟﺔ ﺗﻨﺒﯿﮫ ﺑﻌﺪم ﺗﻮاﻓﻖ ﻛﻠﻤﺔ اﻟﻤﺮور‬
‫اﻋﺪ ﺗﻨﻔﯿﺬ اﻟﺒﺮﻧﺎﻣﺞ وﻻ ﺗﻘﻮم ﺑﺈﺿﺎﻓﺔ أي ﻗﯿﻢ‬
‫@‪79 l‬‬

‫‪-0‬‬ ‫ﺗﻼﺣﻆ ظﮭﻮر إﻣﻜﺎﻧﯿﺔ ﺗﻐﯿﯿﺮ ﻛﻠﻤﺔ اﻟﻤﺮور‬


‫ﻏﯿﺮ ﻛﻠﻤﺔ اﻟﻤﺮور ﻣﻦ ﻓﺮاغ إﻟﻰ ‪07031983‬‬
‫ﻗﻢ ﺑﻌﻤﻠﯿﺔ اﻟﺤﻔﻆ واﻋﺪ ﻋﻤﻠﯿﺔ اﻟﻤﺮاﻗﺒﺔ ﺳﺘﻼﺣﻆ ﺗﻐﯿﯿﺮ ﻛﻠﻤﺔ اﻟﻤﺮور اﻟﺴﺎﺑﻘﺔ وﻻ ﯾﻤﻜﻨﻚ ﺗﻔﻌﯿﻞ‬
‫‪l 0 de‬‬

‫ﻋﻤﻠﯿﺔ اﻟﺘﻐﯿﯿﺮ إﻻ ﺑﺎﻟﻜﻠﻤﺔ اﻟﺠﺪﯾﺪة إﻻ وھﻲ ‪07031983‬‬


‫ﻻﺣﻆ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬
‫_‬ ‫‪a‬‬
‫‪bi‬‬
‫‪ou‬‬
‫‪te‬‬
‫‪la‬‬

‫‪106‬‬
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬ ‫ﺗﻌﻠﻢ دﻟﻔﻲ‪5‬‬

‫إﻣﻜﺎﻧﯿﺔ ﻣﻨﺎداة ﺑﺮاﻣﺞ ﻗﺎﻋﺪﯾﺔ ﻓﻲ ‪windows‬‬


‫ﻣﻨﺎداة ﺑﺮﻧﺎﻣﺞ وورد‬

‫‪m‬‬
‫ﻣﻨﺎداة ﺑﺮﻧﺎﻣﺞ اﻛﺴﻞ‬
‫ﻣﻼﺣﻈﺎت ‪:‬ﻻﺑﺪ ﻣﻦ ﺗﺤﺪﯾﺪ ﻣﺴﺎر ﺗﻮاﺟﺪ اﻟﺒﺮاﻣﺞ اﻟﻤﺮاد ﺗﻨﻔﯿﺬھﺎ‬

‫‪3- .co‬‬
‫ﻗﻢ ﺑﺈﺿﺎﻓﺔ ﻣﺮﻛﺒﺘﯿﻦ ﻣﻦ ﻧﻮع ‪button‬‬
‫ﻏﯿﺮ دﻻﻟﺔ اﻟﻤﺮﻛﺒﺘﯿﻦ اﻟﺴﺎﺑﻘﺘﯿﻦ إﻟﻰ ‪ Word Excel‬ﻋﻠﻰ اﻟﺘﻮاﻟﻲ‬
‫ﺣﺮر اﻷﻣﺮ اﻟﺘﺎﻟﻲ ﻓﻲ اﻟﻤﺮﻛﺒﺔ اﻷوﻟﻰ ‪:‬‬

‫‪o‬‬ ‫‪o‬‬
‫‪08‬‬
‫‪88 h‬‬
‫‪0- ya‬‬
‫ﺣﯿﺚ ‪ 'C:\Program Files\Microsoft Office\Office12:‬ﻣﺴﺎر ﺗﻮاﺟﺪ اﻟﺒﺮﻧﺎﻣﺞ‬
‫‪ Winword.exe‬اﺳﻢ اﻟﺒﺮﻧﺎﻣﺞ‬
‫@‪79 l‬‬

‫‪-0‬‬
‫اﻋﺪ ﺗﺤﺮﯾﺮ ﻧﻔﺲ اﻷﻣﺮ ﻓﻲ اﻟﻤﺮﻛﺒﺔ اﻟﺜﺎﻧﯿﺔ ﻟﻜﻦ ﻣﻊ ﺗﻐﯿﯿﺮ اﺳﻢ اﻟﺒﺮﻧﺎﻣﺞ ﻓﻘﻂ ﻻن ﺑﺮاﻣﺞ ﻣﺠﻤﻮﻋﺔ‬
‫‪ office‬ﻟﮭﺎ ﻧﻔﺲ اﻟﻤﺴﺎر‬
‫‪l 0 de‬‬‫‪a‬‬
‫_‬
‫‪bi‬‬

‫ﺧﺎﺗﻤﺔ ‪:‬‬
‫‪ou‬‬

‫ارﺟﻮا أن ﺗﻜﻮن ﻟﻐﺔ ﻛﺘﺎﺑﺘﻲ ﻣﻔﮭﻮﻣﺔ ﻟﻠﺠﻤﯿﻊ ‪ ...‬وآﺳﻒ ﻓﻲ ﺣﺎﻟﺔ وﺟﻮد أﺧﻄﺎء ﻟﻐﻮﯾﺔ وﻧﺤﻮﯾﺔ‬
‫وﻓﻲ اﻷﺧﯿﺮ أﺗﻤﻨﻰ اﻻﺳﺘﻔﺎدة ﻟﻠﺠﻤﯿﻊ‬
‫‪te‬‬
‫‪la‬‬

‫ﺗﺮﻗﺒﻮا اﻟﺒﻘﯿﺔ ﻋﻦ ﻗﺮﯾﺐ إن ﺷﺎء ﷲ ﺗﻌﺎﻟﻰ‪...‬‬ ‫ﻣﻊ ﺗﺤﯿﺎﺗﻲ اﻟﺨﺎﻟﺼﺔ‬

‫‪107‬‬
la
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬
ou
bi
te _ a
l 0 de
79 l@
0- ya
88 h
-0 o o
3- .co
08 m
5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬

108
la
‫ﻋﺎدل ﻟﻌﻮﺑﻲ‬
ou
bi
te _ a
l 0 de
79 l@ ‫ت‬

0- ya
88 h
-0 o o
3- .co
08 m
5‫ﺗﻌﻠﻢ دﻟﻔﻲ‬

109
:

You might also like