Visual FoxPro
Visual FoxPro
E-mai :
mebarkimouaadh@Gmail.com
Tel :+(213)0792306382
:ﺇﻫﺪﺍﺀ
ﻙ ﺖ ﻭﺣﺪ
ﻚ ﺃﻧ
ﺇﻟﻴ
ﻳﺮﺟﻊ ﺗﺎﺭﻳﺦ ﻟﻐﺔ ﺍﻟﱪﳎﺔ ﻓﻜﺲ ﺑﺮﻭ ﺇﻟــﻰ ﺃﻣﺪ ﺑﻌﺪﻱ ﺟﺪﺍ ﺃﻱ ﰲ ﺑﺪﺍﻳــﺔ ﺍﻟﺜﻤﺎﻧﻴﺎﺕ
ﻣﻊ ﺇﻧﺘﺸﺎﺭ ﺃﺟﻬﺰﺓ ﺍﳊﺎﺳﻮﺏ ﺍﻟﺸﻐﺼﻴــﺔ ﻭﺗﺘﻄﻮﺭﻫﺎ ﰎ ﻋﻤﻞ ﻧﺴﺨــﺔ ﻣﻦ ﻗﺎﻋﺪﺓ
ﺍﻟﺒﻴﺎﻧﺎﺕ ، Dase3+ﻟﺘﻌﻤﻞ ﲢﺖ ﻧﻈﺎﻡ Dosﻭﻧﻈﺮﺍ ﻟﻨﺠﺎﻉ ﻫﺬﺍ ﺍﻟﱪﻧﺎﻣﺞ ﺑﺪﺍﺕ
ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﺸﺮﻛﺎﺕ ﺍﳌﻨﺎﻓﺴــﺔ ﺑﺈﻧﺘﺎﺝ ﺑﺮﺍﻣﺞ ﺷﺒﻴﻬــﻪ ﻟﺘﻨﺎﻓﺲ ﺗﻠﻚ ﺍﻟﻠﻐــﺔ
ﻭﻛﺎﻥ ﻣﻦ ﻫﺬﻩ ﺍﻟﱪﺍﻣﺞ ﻭ ﺃﳘﻬﺎ ،Clipper،FoxBase&Quick Silverﺣﻴﺚ
ﻛﺎﻥ Clipperﳛﺘﻞ ﰲ ﺫﺍﻟﻚ ﺍﻟﻮﻗﺖ ﺍﳌﺮﺗﺒــﺔ ﺍﻷﻭﱃ ،ﻭﺍﻟﱵ ﺗﻌﺘﱪ ﻟﻐﺔ ﺑﺮﳎﺔ ﻟﻐــﺔ
ﺑﺮﳎﺔ ﻟﺌﺤﺘﻮﺍﺋﻬﺎ ﻋﻠﻰ ﻣﺘﺮﺟﻢ Comilerﻳﻨﺘﺞ ﻟﻨﺎ ﻣﻠﻔﺎﺕ ﺑﺼﻴﻐﺔ ،exeﻭﻟﻘﺪ ﻧﺸﺄ
ﺑﺮﻧﺎﻣﺞ ﻛﻠﻴﱪ ﻋﺎﻡ 1980ﻭﺑﺪﺃ ﰲ ﺍﻹﻧﺘﺸﺎﺭ ﺣﱴ ﺑﺎﻹﺻﺪﺍﺭ Clipper87ﻭﺇﺳﺘﻤﺮ ﰲ
ﺍﻟﺘﻄﻮﺭ ﺣﱴ Clipper5ﰒ ﻇﻬﺮ ﺑﻌﺪ ﺫﺍﻟﻚ Windowsﻟﻴﻨﺘﻬﻲ ﺑﺬﺍﻟﻚ ﺑﺮﻧﺎﻣﺞ
ﻛﻠﻴﱪ ﺑﺎﻹﺻﺪﺭﺍﺭﻳﻦ ﺍﻟﺸﻬﲑﻳﻦ ،CA-Clipper5.2e ,CA-Clipper5.3bﻭﰲ
ﺍﳉﺎﻧﺐ ﺍﻹﺧﺮ ﺗﻄﻮﺭ FoxBaseﻭﺍﻟﱵ ﻛﺎﻧﺖ ﺗﺘﻤﻴﺰ ﺑﺎﻟﺴﺮﻋﺔ ﺇﱃ FoxBASE+ﰒ ﻇﻬﺮ
ﺑﻌﺪ ﺫﺍﻟﻚ Foxproﻭﺍﺳﺘﻤﺮ ﰲ ﺍﻟﺘﻄﻮﺭ ﺧﱴ Foxpro 2.6 for Dosﰒ ﺟﺎﺀ
Foxpro for windowsﻭﺇﺳﺘﻤﺮ ﺣﱴ Visaul Foxpro3.0ﻭﺍﻟﺬﻱ ﻛﺎﻥ
ﻧﻘﻠﺔ ﻧﻮﻋﻴــﺔ ﻟﻠﺘﺤﻮﻝ ﺑﻪ ﻣﻦ ﳎﺮﺩ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ﺇﱃ ﻟﻐـﺔ ﺑﺮﳎﺔ ﰒ ﻇﻬﺮ ﺑﻌﺪ ﺫﺍﻟﻚ
Visaul Fox proﺩﻭﻥ ﺍﳌﺮﻭﺭ ﺑﺎﻹﺻﺪﺍﺭ ﺍﻟﺮﺍﺑﻊ ﰒ ﻇﻬﺮ ﻛﻞ ﻣﻦ ﺍﻹﺻﺪﺭﺍﺕ
) 6.7.8.9ﻣﻘﺘﺒﺲ ﻣﻦ ﻛﺘﺎﺏ ﻟﻸﺥ ﳏﻤﻮﺩ ﻓﺎﻳﺪ(
ﻭﻳﻌﺘﱪ ﺍﻹﺻﺪﺍﺭ 9ﻧﻘﻠــﺔ ﻧﻮﻋﻴــﺔ ﰲ ﺗﺎﺭﻳﺦ ﺍﻟﻔﻜﺲ ﺑﺮﻭ ﻭﲟﺠﺮﺩ ﻧﺰﻭﻟــﻪ ﺳﻨﺔ
2000ﺇﺯﺩﺍﺩ ﺍﻟﻄﻠﺐ ﻋﻠﻰ ﺍﻟﻔﻜﺲ ﺑﺮﻭ ،ﻭﺧﺎﺻــﺔ ﺗﻠﻚ ﺍﳊﺎﺩﺛــﺔ ﺣﲔ ﻗﺎﻡ ﻋﺪﺩ
ﻣﻦ ﺍﳌﱪﳎﲔ ﺑﺘﺸﻐﻴﻞ Visaul Foxproﻣﻦ ﺧﻼﻝ Linux/WINEﻭﺍﻟﺬﻱ ﻳﻌﺪ
ﺇﻧﺘﻬﺎﻙ ﺻﺮﻳﺢ ﻟﺴﻴﺎﺳــﺔ ﻣﺎﻳﻜﺮﻭﺳﻮﻑ ﻭﺍﻟﱵ ﺗﺸﺘﺮﻁ ﺍﻥ ﺗﻌﻤﻞ ﺍﻟﱪﺍﻣﺞ ﺍﻟﱵ ﻳﺘﻢ
ﺗﻄﻮﺭﻳﻬﺎ ﻟﻐﺔ ﺍﻟﻔﻜﺲ ﺑﺮﻭ ﻣﻦ ﺧﻼﻝ ﻣﻨﺼﺔ Windowsﻓﻘﻂ.
http://msdn.microsoft.com/vfoxpro.
E-mail : mebarkimouaadh@Gmail.com
ﻓﻤﻦ ﺧﻼﻝ ﻧﺎﻓﺬﺓ ﺍﻷﻣﺮ ﳝﻜﻨﻨﺎ ﺍﺩﺧﺎﻝ ﺃﻭﺍﻣﺮ ﻟﻐﺔ ﺍﻟﱪﳎﺔ ﺍﻟﻔﻜﺲ ﺑﺮﻭ ﻭﺗﻨﻔﻴﺬﻫﺎ ﻣﺒﺎﺷﺮﺓ
ﻭﳝﻜﻨﻨﺎ ﺗﻨﻔﻴﺬ ﺍﻷﻣﺮ ﻣﻦ ﺧﻼﳍﺎ ﻭﺫﺍﻟﻚ ﺑﻜﺘﺎﺑـﺔ ﺍﻷﻣﺮ ﰒ ﻧﻀﻐﻂ ﻋﻠﻰ Enterﺃﻭ ﺍﻟﺘﻨﻔﻴﺬ
ﺩﻓﻌــﺔ ﻭﺍﺣﺪﺓ.
ﻭﰲ ﺣﺎﻟــﺔ ﺃﺩﺧﺎﻝ ﺃﻣﺮ ﺧﻄﺄ ﺳﻮﻑ ﲢﺼﻞ ﻋﻠﻰ ﺭﺳﺎﻟــﺔ ﺗﻔﻴﺪ ﺑﺬﺍﻟﻚ ﻛﻤﺎ ﻫﻮ
ﻣﻮﺿﺢ ﰲ ﺍﻟﺼﻮﺭﺓ ﺍﻟﺘﺎﻟﻴــــــــــــﺔ:
ﺍﻟﻜﻮﺩ ﻫﻮ
ﻣﻦ ﺧﻼﻝ ﺍﻟﺪﺭﺱ ﺍﻟﺴﺎﺑﻖ ﻧﻜﻮﻥ ﻗﺪ ﺗﻌﺮﻓﻨﺎ ﻋﻠﻰ ﺃﻣﺮﻳﻦ ﻣﻬﻤﲔ ﺃﺣﺪﳘﺎ ﻫﻮ ﺍﻷﻣﺮ SET
COLOR TOﻭﺍﻟﺬﻱ ﺍﺳﺘﺨﺪﻡ ﻟﺘﺤﺪﻳﺪ ﺍﻷﻟﻮﺍﻥ ﻭﺑﺄﺧﺬ ﺫﺍﻟﻚ ﺍﻷﻣﺮ ﻟﻮﻥ ﺍﻟﻜﺘﺎﺑــﺔ
ﰒ ﺍﻟﻌﻼﻣــﺔ ﺍﳌﺎﺋﻠـﺔ ﻭﺍﻟﱵ ﻳﻠﻴﻬﺎ ﺑﻌﺪ ﺫﺍﻟﻚ ﻟﻮﻥ ﺍﳋﻠﻔﻴــﺔ.
ﺃﻣﺎ ﺍﻷﻣﺮ ﺍﻟﺜﺎﱐ CLEARﻭﺍﻟﺬﻱ ﻳﻔﻬﻢ ﻣﻦ ﻣﻌﻨﺎﻩ ﺍﻧــﻪ ﻳﻘﻮﻡ ﲟﺴﺢ ﺍﻟﺸﺎﺷــﺔ
ﻭﺫﺍﻟﻚ ﺑﺎﻷﻟﻮﺍﻥ ﺍﶈﺪﺩﺓ
ﺃﻣﺎ ﺍﻷﻥ ﺳﻮﻑ ﻧﺘﻌﺮﻑ ﻋﻠﻰ ﺟﺪﻭﻝ ﻳﺒﲔ ﺍﻷﻟﻮﺍﻥ ﺍﻟﱵ ﻳﺘﻌﺎﻣﻞ ﻣﻌﻬﺎ ﻫﺬﺍ ﺍﻷﻣﺮ
Color Code
Black N
Balnk X
Blue B
Brown GR
Cyan BG
Green G
Inverse I
Magenta RB
Red R
White W
Yellow GR+
Underlined U
ﻳﻈﻬﺮ ﺷﺮﻳﻂ ﺍﻟﻘﺎﺋﻤﺔ ﺍﻟﺮﺋﻴﺴﻴﺔ ﻋﻠﻰ ﺧﻂ ﺍﻟﺸﺎﺷﺔ ﺍﻟﺜﺎﻧﻴﺔ ﻣﻦ ﺳﻄﺢ ﺍﳌﻜﺘﺐ ﺍﳋﺎﺹ
. FoxProﰲ ﻧﻮﺍﺡ ﻛﺜﲑﺓ ،ﻭ ﻫﺬﺍ ﺷﺮﻳﻂ ﺍﻟﻘﻮﺍﺋﻢ ﻫﻮ ﻣﺜﻞ ﻏﻴﺾ ﻣﻦ
ﺟﺒﻞ ﺟﻠﻴﺪ .ﻛﻞ ﺧﻴﺎﺭ ﰲ ﺍﻟﻘﺎﺋﻤﺔ ،ﻭﺩﻋﺎ ﻟﻮﺣﺔ ﺍﻟﻘﺎﺋﻤﺔ ،ﻳﻌﺮﺽ ﺍﻟﻘﺎﺋﻤﺔ ﺍﳌﻨﺒﺜﻘﺔ ﻋﻨﺪ ﺍﻟﻨﻘﺮ
ﻓﻮﻗﻪ .
ﳛﺘﻮﻱ ﻋﻠﻰ ﺍﺛﻨﲔ ﺃﻭ ﺃﻛﺜﺮ ﻣﻦ ﻗﺎﺋﻤﺔ ﺍﳋﻴﺎﺭﺍﺕ .ﻋﻠﻰ ﺍﻟﺮﻏﻢ ﻣﻦ ﺃﻥ ﺍﳌﻨﺒﺜﻘﺔ ﳝﻜﻦ ﺃﻥ
ﻳﻜﻮﻥ ﳍﺎ ﺧﻴﺎﺭ ﻭﺍﺣﺪ ،ﻭﻫﻲ ﳑﺎﺭﺳﺔ ﺃﻓﻀﻞ ﻳﻘﺘﺮﻥ ﺍﻹﺟﺮﺍﺀﺍﺕ ﺍﺣﺪﺓ
ﳝﻜﻨﻚ ﺍﺧﺘﻴﺎﺭ ﻣﻨﺼﺎﺕ ﺍﻟﻘﺎﺋﻤﺔ ﻭ ﺧﻴﺎﺭﺍﺎ ﰲ ﻋﺪﺓ ﻃﺮﻕ .ﻃﺮﻳﻘﺔ ﺍﻷﻛﺜﺮ ﻭﺿﻮﺣﺎ
ﻳﺴﺘﺨﺪﻡ ﺍﳌﺎﻭﺱ ﻟﻠﻨﻘﺮ ﻋﻠﻴﻬﺎ .
ﺍﻟﻀﻐﻂ ﻋﻠﻰ F10ﺗﻨﺸﻴﻂ ﺍﻟﻘﺎﺋﻤﺔ ،ﻭ ﻳﺴﻠﻂ ﺍﻟﻀﻮﺀ ﻋﻠﻰ ﻭﺳﺎﺩﺓ ﺍﻷﻭﱃ ،ﺍﳌﻠﻒ
ﻛﻨﺖ ﻗﺪ ﻻﺣﻈﺖ ﺃﻥ ﻛﻞ ﻟﻮﺣﺔ ﺍﻟﻘﺎﺋﻤﺔ ﻗﺪ ﺣﺮﻑ ﻣﺴﻄﺮ ﻭﺍﺣﺪ .ﳝﻜﻨﻚ ﻓﺘﺢ ﺗﻠﻚ
ﺍﻟﻘﺎﺋﻤﺔ ﰲ ﻧﺎﻓﺬﺓ ﻣﻨﺒﺜﻘﺔ ﻣﺒﺎﺷﺮﺓ ﻋﻦ ﻃﺮﻳﻖ ﺍﻟﻀﻐﻂ
ﺍﳌﻔﺘﺎﺡ ) (Altﺟﻨﺒﺎ ﺇﱃ ﺟﻨﺐ ﻣﻊ ﺍﳊﺮﻑ ﺍﳌﺴﻄﺮ .ﻟﻔﺘﺢ ﺍﻟﻘﺎﺋﻤﺔ ﻣﻠﻒ ،ﻋﻠﻰ ﺳﺒﻴﻞ
ﺍﳌﺜﺎﻝ ،ﺍﺿﻐﻂ ﻋﻠﻰ . Alt + Fﻣﻊ ﺃﻱ ﺍﻟﻘﺎﺋﻤﺔ ﺍﳌﻨﺒﺜﻘﺔ ﻣﻔﺘﻮﺣﺔ،
ﺍﺳﺘﺨﺪﻡ ﻣﻔﺘﺎﺡ ﺍﻟﻴﺴﺎﺭﻳﺔ ﺃﻭ ﺍﻟﺴﻬﻢ ﺍﻷﳝﻦ ﻟﻼﻧﺘﻘﺎﻝ ﺇﱃ ﻣﻨﺼﺎﺕ ﺃﺧﺮﻯ .ﻣﻔﺎﺗﻴﺢ ﺍﻷﻋﻠﻰ
ﻭ ﺍﻟﺴﻬﻢ ﻷﺳﻔﻞ ﻓﺘﺢ ﺍﻟﻘﺎﺋﻤﺔ ﺍﳌﻨﺒﺜﻘﺔ ﻟﻮﺣﺔ ﺍﳊﺎﻟﻴﺔ ﻭ
ﻳﻨﺘﻤﻮﻥ ﻟﻸﻭ ﺍﻟﺴﻬﻢ ﺍﻷﳝﻦ ﺍﻟﺘﺤﺮﻛﺎﺕ ﺍﻟﺮﺋﻴﺴﻴﺔ ﻟﻮﺣﺔ ﺍﻟﻘﺎﺋﻤﺔ ﺍﻟﺘﺎﻟﻴﺔ ﻭﻳﻔﺘﺢ ﳍﺎ ﺍﻟﻘﺎﺋﻤﺔ
ﺍﳌﻨﺒﺜﻘﺔ ،ﻣﺎ ﱂ ﻳﺘﻀﻤﻦ ﺍﳋﻴﺎﺭ ﺳﻠﻂ ﺍﻟﻀﻮﺀ ﻋﻠﻰ ﺍﳊﻖ
ﺍﻟﺴﻬﻢ ﻋﻠﻰ ﻃﻮﻝ ﺍﳊﺪﻭﺩ ﺣﻘﻬﺎ ،ﻭﰲ ﻫﺬﻩ ﺍﳊﺎﻟﺔ ﺍﻟﻀﻐﻂ ﻋﻠﻰ ﻣﻔﺘﺎﺡ ﺍﻟﺴﻬﻢ ﺍﻷﳝﻦ ﻓﺘﺢ
ﺍﻟﻘﺎﺋﻤﺔ ﺍﻟﻔﺮﻋﻴﺔ ﺍﻟﱵ ﺗﺴﺮﺩ ﺧﻴﺎﺭﺍﺕ ﺇﺿﺎﻓﻴﺔ .ﺇﱃ
ﺍﺧﺘﻴﺎﺭ ﻋﻨﺼﺮ ﺍﻟﻘﺎﺋﻤﺔ ،ﻭﺗﺴﻠﻴﻂ ﺍﻟﻀﻮﺀ ﻋﻠﻴﻬﺎ ﻭﺍﺿﻐﻂ .Enterﺑﻨﻘﺮﺓ ﻣﺎﻭﺱ ﻳﻌﻤﻞ
ﻓﻘﻂ ﻛﺬﻟﻚ .ﳝﻜﻨﻚ ﺣﱴ ﺍﺿﻐﻂ ﻋﻠﻰ ﺍﳊﺮﻑ ﺍﳌﺴﻄﺮ
ﰲ ﺍﳋﻴﺎﺭ ،ﺇﺫﺍ ﻛﺎﻥ ﻟﺪﻳﻪ ﻭﺍﺣﺪ .ﻻﺣﻆ ﺃﻧﻪ ﰲ ﺍﻟﻘﻮﺍﺋﻢ ﺍﳌﻨﺒﺜﻘﺔ ،ﻭﻛﻨﺖ ﻻ ﺗﻀﻐﻂ ﻋﻠﻰ
ﻣﻔﺘﺎﺡ ﺑﺪﻳﻞ ﻣﻊ ﺍﳊﺮﻑ ﺍﳌﺴﻄﺮ.
ﺑﻌﺾ ﺧﻴﺎﺭﺍﺕ ﺍﻟﻘﺎﺋﻤﺔ ﻟﺪﻳﻬﺎ ﳎﻤﻮﻋﺎﺕ ﺧﺎﺻﺔ ﺍﻟﺮﺋﻴﺴﻴﺔ ،ﻭﺗﺴﻤﻰ ﻣﻔﺎﺗﻴﺢ ﺍﻻﺧﺘﺼﺎﺭ ،ﺍﻟﱵ
ﲤﻜﻨﻚ ﻣﻦ ﺍﻟﻘﻔﺰ ﺇﱃ ﻫﺬﺍ ﺍﳋﻴﺎﺭ ﻣﺒﺎﺷﺮﺓ
ﻣﻔﺘﺎﺡ ﺍﻻﺧﺘﺼﺎﺭ ﳌﻠﻒ ﺟﺪﻳﺪ ،ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﳌﺜﺎﻝ ،ﻫﻮ ﺍﻟﺴﻴﻄﺮﺓ .N +ﻫﺬﺍ ﻳﻌﲏ ﺃﻧﻪ
ﳝﻜﻨﻚ ﺍﻟﻀﻐﻂ ﻋﻠﻰ Ctrl + Nﺃﻱ ﻭﻗﺖ ﺃﺛﻨﺎﺀ ﻭﺟﻮﺩﻙ ﰲ Visual
ﲢﺘﻮﻱ ﺍﻟﻘﺎﺋﻤﺔ ﺍﳌﻨﺒﺜﻘﺔ ﻋﻠﻰ ﺍﳋﻴﺎﺭﺍﺕ ﺍﳌﺘﻌﻠﻘﺔ ﺑﺎﻟﻮﺻﻮﻝ ﺇﱃ ﺍﳌﻠﻔﺎﺕ ) ﺇﻧﺸﺎﺀ ﻣﻠﻔﺎﺕ
ﺟﺪﻳﺪﺓ ،ﻭﻓﺘﺢ ﺍﻟﻘﺎﺋﻤﺔ ،ﻭﺇﻏﻼﻕ ،ﻭﺍﻟﻄﺒﺎﻋﺔ ( .ﻭﻳﺼﻒ ﺍﳉﺪﻭﻝ ﻫﺬﻩ ﺍﳋﻴﺎﺭﺍﺕ.
ﺍﳋﻴﺎﺭﺍﺕ ﰲ ﺍﻟﻘﺎﺋﻤﺔ ﲢﺮﻳﺮ ﺗﻮﻓﺮ ﺍﻟﻮﻇﺎﺋﻒ ﺍﻟﱵ ﻳﺘﻢ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻟﱪﺍﻣﺞ ﺍﻟﺘﺤﺮﻳﺮ ،ﻭ
ﺍﻷﺷﻜﺎﻝ ،ﻭ ﺍﻟﺘﻘﺎﺭﻳﺮ .ﳛﺘﻮﻱ ﻫﺬﺍ ﺍﻟﻘﺎﺋﻤﺔ ﺃﻳﻀﺎ ﺧﻴﺎﺭﺍﺕ ﺍﻟﱵ ﲣﻠﻖ ﺭﺑﻂ ﺍﻟﻜﺎﺋﻦ
ﻭﺗﻀﻤﻴﻨﻬﺎ ) (OLEﺍﻟﻜﺎﺋﻨﺎﺕ .ﻳﺴﺮﺩ ﺍﳉﺪﻭﻝ 1.0ﺍﳋﻴﺎﺭﺍﺕ
ﺍﻟﱵ ﺗﻈﻬﺮ ﰲ ﺃﻭﻗﺎﺕ ﳐﺘﻠﻔﺔ ﰲ ﻟﻮﺣﺔ ﺍﻟﻘﺎﺋﻤﺔ ﲢﺮﻳﺮ .ﻭﻳﺼﻔﻬﺎ ﻫﺬﺍ ﺍﳉﺪﻭﻝ.
ﺗﻌﺮﺽ ﺍﻟﻘﺎﺋﻤﺔ ﺍﳋﻴﺎﺭﺍﺕ ﺍﳌﻨﺎﺳﺒﺔ ﻝ ﻋﺮﺽ ﺍﳉﺪﻭﻝ ﺍﳊﺎﱄ ،ﺇﺫﺍ ﻛﺎﻥ ﺃﺣﺪ ﻣﻔﺘﻮﺣﺎ.
ﺇﺫﺍ ﻛﻨﺖ ﻻ ﺗﺴﺘﻌﺮﺽ ﺣﺎﻟﻴﺎ ﻣﻠﻒ ،ﺗﻌﺮﺽ ﺍﻟﻘﺎﺋﻤﺔ ﺧﻴﺎﺭ ﻭﺍﺣﺪ )ﺷﺮﻳﻂ ﺍﻷﺩﻭﺍﺕ (
ﺍﻟﺬﻱ ﻳﻔﺘﺢ ﻣﺮﺑﻊ ﺍﳊﻮﺍﺭ ﺷﺮﻳﻂ ﺍﻷﺩﻭﺍﺕ ،ﺍﻟﱵ
ﻳﺴﺮﺩ ﺃﺷﺮﻃﺔ ﺍﻷﺩﻭﺍﺕ ﺍﳌﺘﺎﺣﺔ ﺍﻟﱵ ﻳﺴﺘﺨﺪﻣﻬﺎ .FoxProﻣﻦ ﻧﺎﺣﻴﺔ ﺃﺧﺮﻯ ،ﺇﺫﺍ ﻛﻨﺖ
ﺑﺎﻟﻔﻌﻞ ﺗﺘﺼﻔﺢ ﺟﺪﻭﻝ ﺃﻭ ﲢﺮﻳﺮ ﳕﻮﺫﺝ،
ﺍﻟﻘﺎﺋﻤﺔ ﺗﻨﺴﻴﻖ ﻳﺘﻜﻮﻥ ﻋﺎﺩﺓ ﻣﻦ ﺍﳋﻴﺎﺭﺍﺕ ﺍﻟﱵ ﺗﺘﺤﻜﻢ ﰲ ﺍﳋﻂ ﺍﳌﺴﺎﻓﺔ ﺍﻟﺒﺎﺩﺋﺔ ﺍﳋﺼﺎﺋﺺ
ﻋﻨﺪ ﺍﺳﺘﺨﺪﺍﻡ، ﻭﻣﻊ ﺫﻟﻚ، ﺗﺼﺒﺢ ﺍﳋﻴﺎﺭﺍﺕ ﺍﻹﺿﺎﻓﻴﺔ ﺍﳌﺘﺎﺣﺔ. ﻭﺍﻟﺘﺒﺎﻋﺪ، ﻭﺍﻟﻨﺺ،
ﳐﺘﻠﻒ ﺍﳌﺼﻤﻤﲔ
ﺑﺪﺀﺍ ﻣﻦ ﺍﳌﻌﺎﳉﺎﺕ ﻝ، ﺗﻘﺪﻡ ﺍﻟﻘﺎﺋﻤﺔ ﺃﺩﻭﺍﺕ ﳎﻤﻮﻋﺔ ﻣﺘﻨﻮﻋﺔ ﻣﻦ ﺍﻷﺩﻭﺍﺕ ﻣﱪﻣﺞ
. ﻭﳛﺪﺩ ﺍﳉﺪﻭﻝ ﺍﻟﺘﺎﱄ ﺍﳋﻴﺎﺭﺍﺕ ﰲ ﺍﻟﻘﺎﺋﻤﺔ ﺃﺩﻭﺍﺕ.ﺍﳌﺼﺤﺢ
Key Command
F2 SET
F3 LIST
F0 DIR
F5 DISPLAY
STRUCTURE
F6 DISPLAY STATUS
F7 DISPLAY MEMORY
F8 DISPLAY
F9
ﲢﺘﻮﻱ ﺍﻟﻘﺎﺋﻤﺔ ﺇﻃﺎﺭ ﺍﳋﻴﺎﺭﺍﺕ ﺍﻟﱵ ﺗﺪﻳﺮ ﺍﻟﻨﻮﺍﻓﺬ ﺍﳌﻔﺘﻮﺣﺔ ﻋﻠﻰ ﺍﻟﺸﺎﺷﺔ .ﺗﻘﺪﻡ ﺍﻟﻘﺎﺋﻤﺔ
ﺍﳋﻴﺎﺭﺍﺕ ﺍﻟﱵ ﲤﻜﻨﻚ ﻣﻦ ﺗﺮﺗﻴﺐ ﲨﻴﻊ ،ﺇﺧﻔﺎﺀ ،ﻭﺍﺿﺢ ،ﻭ ﺩﻭﺭﺓ ﻣﻦ ﺧﻼﻝ ﺍﻟﻨﻮﺍﻓﺬ .
ﺑﺎﻹﺿﺎﻓﺔ ﺇﱃ ﺫﻟﻚ ،ﺍﻟﻘﺎﺋﻤﺔ ﲤﻜﻨﻚ ﻣﻦ ﲢﻘﻴﻖ
ﺇﱃ ﺍﻷﻣﺎﻡ ﺃﻱ ﻧﺎﻓﺬﺓ ﻣﻔﺘﻮﺡ ﺣﺎﻟﻴﺎ .ﻳﺴﺮﺩ ﺍﳉﺪﻭﻝ ﺍﻟﺘﺎﱄ ﺧﻴﺎﺭﺍﺕ ﺍﻟﻨﺎﻓﺬﺓ.
ﻫﻲ ﺃﺣﺪ ﺃﻫﻢ ﻣﻜﻮﻧﺎﺕ ﻟﻐﺔ ﺍﻟﱪﳎﺔ ﻭﻫﻲ ﺍﻟﻮﺳﻴﻠــﺔ ﺍﻟﺴﺮﻳﻌــﺔ ﻟﺘﻨﻔﻴﺬ ﺍﻟﻌﺪﻳﺪ ﻣﻦ
ﺍﳌﻬﺎﻡ ﻓﻜﻤﺎ ﰲ ﻋﻠﻢ ﺍﻟﺮﻳﺎﺿﻴﺎﺕ ﻋﺮﻓﻨﺎ ﻣﻔﻬﻮﻡ ﺍﻟﺪﻭﺍﻝ ﻛﺎﻟﺪﺍﻟﺔ ﺍﻟﺘﺮﺑﻴﻌﻴﺔ ﻭﺍﻟﺪﺍﻟﺔ
ﺍﻟﻠﻮﻏﺎﺭﺗﻴﻤﻴﺔ ،ﻓﺈﻥ ﻫﺬﺍ ﺍﳌﻔﻬﻮﻡ ﺍﻧﺘﻘﻞ ﺇﱃ ﻋﺎﱂ ﺍﻟﱪﳎﺔ ﺑﺼﻮﺭﺓ ﻣﺸﺎــﺔ ﲤﺎﻣﺎ ﺣﻴﺚ
ﲢﺘﻮﻱ ﻟﻐﺔ ﺍﻟﱪﳎﺔ ﻋﻠﻰ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﻮﻇﺎﺋﻒ ﺍﻟﱵ ﳍﺎ ﺍﺳﻢ ﳏﺪﺩ ﻭﺗﺄﺧﺬ ﺑﻴﺎﻧﺎﺕ ﻟﺘﻌﻤﻞ
ﻋﻠﻴﻬﺎ ﻭﺗﻌﻄﻰ ﻧﺘﻴﺠﺔ ﳏﺪﺩﺓ،ﺃﻱ ﺃﻧــﻪ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻮﻇﻴﻔــﺔ ﺍﻭ ﺍﻟﺪﺍﻟــﺔ ﻳﻨﺒﻐﻲ
ﻣﻌﺮﻓــﺔ ﺃﲰﻬﺎ ﻭﻓﺎﺋﺪﺎ ﻭﺍﳌﻌﻄﻴﺎﺕ ﺍﻟﱵ ﺗﺴﺘﻘﺒﻠﻬﺎ ﻭﺍﻟﻘﻴﻢ ﺍﻟﱵ ﺗﻌﻴﺪﻫﺎ ،ﺑﻌﺾ ﺍﻟﺪﻭﺍﻝ ﻻ
ﺗﺄﺧﺬ ﻣﻌﻄﻴﺎﺕ ﻭﺑﻌﻀﻬﺎ ﻻ ﻳﺮﺟﻊ ﻗﻴﻢ .
ﻳﻨﺺ ﻫﺬﺍ ﺍﳌﻔﻬﻮﻡ ﻋﻠﻰ ﺍﻥ ﺍﻟﱪﻧﺎﻣﺞ ﻣﻜﻮﻥ ﻣﻦ ﳎﻤﻮﻋــﺔ ﻣﻦ ﺍﻟﻮﻇﺎﺋﻒ ﺗﻨﺎﺩﻱ ﺑﻌﻀﻬﺎ
ﺍﻟﺒﻌﺾ ﻟﺘﺆﺩﻱ ﺍﳍﺪﻑ ﺍﳌﻄﻠﻮﺏ ﻣﻦ ﺍﻟﱪﻧﺎﻣﺞ ،ﻭﻣﻦ ﺍﻟﺒﺪﻳﻬﻲ ﺃﻥ ﳛﺘﻮﻱ ﺍﻟﱪﻧﺎﻣﺞ ﻋﻠﻰ
ﻧﻘﻄــﺔ ﺑﺪﺍﻳــﺔ ﻣﻦ ﺧﻼﻝ ﺍﻟﺪﺍﻟﺔ ﺍﻷﺳﺎﺳﻴﺔ ﺃﻭ ﺍﻟﺮﺋﻴﺴﻴــﺔ ﰲ ﺍﻟﱪﻧﺎﻣﺞ ،ﻭﻧﻈﺮﺍ ﻷﻥ
ﺍﻟﱪﻧﺎﻣﺞ ﳛﺘﻮﻱ ﻋﻠﻰ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﻮﻇﺎﺋﻒ ﻓﺈﻧــﻪ ﻳﻄﻠﻖ ﻋﻠﻰ ﺍﻟﱪﻧﺎﻣﺞ ﺍﺳﻢ ﺍﻹﺟﺮﺍﺀ
Procedureﻭﻣﻦ ﻫﻨﺎ ﻓﺈﻥ ﺍﻟﱪﻧﺎﻣﺞ ﻗﺪ ﳛﺘﻮﻱ ﻋﻠﻰ ﳎﻤﻮﻋﺔ ﻣﻦ، Procedures
ﺍﻟﱵ ﺗﻨﺎﺩﻯ ﺑﻌﻀﻬﺎ ﺍﻟﺒﻌﺾ ﲝﻴﺚ ﺃﻥ ﻛﻞ Procedureﳛﺘﻮﻱ ﻋﻠﻰ ﺩﺍﻟﺔ ﺃﻭ ﳎﻤﻮﻋﺔ
ﻣﻦ ﺍﻟﺪﻭﺍﻝ.
:01ﺍﳌﺘﻐﲑﺍﺕ):(Variables
ﺍﳌﺘﻐﲑﺍﺕ ﻫﻲ ﺃﻣﺎﻛﻦ ﻟﻠﺘﺨﺰﻳﻦ ﺍﳌﻮﻗﺖ ﺩﺍﺧﻞ ﺫﺍﻛﺮﺓ ﺍﳊﺎﺳﺐ ،ﻓﺈﻧﻚ ﺗﻘﻮﻡ ﺑﺘﺨﺰﻳﻦ ﻫﺬﻩ
ﺍﳌﻌﻠﻮﻣـــﺔ ﻭﻫﻲ ﺍﻟﻄﻠﺐ ﺍﻟﺬﻱ ﻃﻠﺐ ﻣﻨﻚ ﰲ ﺫﺍﻛﺮﺓ ﻭﺗﻌﻤﻞ ﻋﻠﻰ ﻫﺬﺍ ﺍﻟﻄﻠﺐ،ﺇﺫﻥ
ﻓﺈﻥ ﺍﳊﺎﺳﺐ ﻳﻘﻮﻡ ﺑﺘﺨﺰﻳﻦ ﺍﳌﻌﻠﻮﻣﺎﺕ ﻣﺆﻗﺘﺎ ﰲ ﺍﻟﺬﺍﻛﺮﺓ ﺍﻟﻌﺸﻮﺍﺋﻴــﺔ Ramﻭﲟﺠﺮﺩ
ﺍﻹﻧﺘﻬﺎﺀ ﻣﻦ ﺍﳊﺎﺟــﺔ ﳍﺬﻩ ﺍﳌﻌﻠﻮﻣﺎﺕ ﻓﺈﻧــﻪ ﲟﺴﺤﻬﺎ ﺃﻱ ﺃﻧــﻪ:
ﻫﺬﺍ ﻣﻔﻬﻮﻡ ﺑﺴﻴﻂ ﻭﻟﻜﻦ ﻻﳝﻜﻦ ﻋﺮﺿﻪ ﺇﻻ ﻻﻧﻪ ﻳﻌﺘﻤﺪ ﻋﻠﻰ ﻣﻔﻬﻮﻡ ﺍﺧﺮ ﻭﻫﻮ ﳕﻂ
ﺍﻟﱪﳎﺔ.
"NyName"mebarkimouaadh
ﻭﺑﺎﻟﻨﺴﺒــﺔ ﻟﻠﻤﺘﻐﲑ ﺍﳌﻨﻄﻘﻲ ﻓﺈﻥ ﺍﳌﺜﺎﻝ ﺍﻟﺘﺎﱄ ﻳﺒﲔ ﻛﻴﻔﻴــﺔ ﺍﺳﺘﺨﺪﺍﻣﻪ ﺣﻴﺚ ﻳﻌﻠﻦ
ﻣﺘﻐﲑﻳﻦ ﻣﻨﻄﺜﻴﲔ ﺍﺣﺪﳘﺎ ﳛﺘﻮﻱ ﻋﻠﻰ ﻗﻴﻤــﺔ Trueﻭﺍﻷﺧﺮ ﻋﻠﻰ ﺍﻟﻘﻴﻤــﺔ False
MyTrue=.T.
MyFalse=.F.
ﻭﺍﻷﻥ ﺳﻮﻑ ﻧﺈﺧﺬ ﻣﺜﺎﻝ ﻳﻮﺿﺢ ﻣﻔﻬﻮﻡ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﳌﺘﻐﲑﺍﺕ ﻭﻳﺘﻌﺮﺽ ﺃﻳﻀﺎ ﻟﻠﻤﺘﻐﲑﺍﺕ
ﺍﻟﺘﺎﺭﳜﻴــﺔ ﻭﺑﻌﺾ ﺍﻟﻮﻇﺎﺋﻒ ﺍﳉﺪﻳﺪﺓ Foxpro
ﻧﻼﺣﻆ ﺃﻥ ﻣﻦ ﺧﻼﻝ ﻫﺬﺍ ﺍﳌﺜﺎﻝ ﰎ ﺇﻋﻼﻥ ﻋﻦ ﻣﺘﻐﲑ ﺣﺮﰲ ﻳﺴﻤﻰ Mystrﻭﺍﺳﻨﺎﺩ ﻟﻪ
ﺍﻟﻘﻴﻤــﺔ " "mouaadhﻭﰎ ﺍﻟﻨﻌﺮﺽ ﻟﺴﺘﺔ ﺩﻭﺍﻝ:
00ﺍﻟﺪﺍﻟﺔ :RIGHTﲤﺎﻣﺎ ﻣﺜﻞ ﺍﻟﺪﺍﻟﺔ LEFTﺍﻻ ﺃﺎ ﺗﺒﺪﺃ ﺑﺄﺧﺬ ﺍﳊﺮﻭﻑ ﻣﻦ ﺍﻟﻴﻤﲔ.
ﻣﻠﻔﺎﺕ ﺍﻹﺟﺮﺍﺀ ﻫﻲ ﻣﻠﻔﺎﺕ ﺍﻟﱵ ﻳﺘﻢ ﻓﻴﻬﺎ ﲣﺰﻳﻦ ﺗﻌﻠﻴﻤﺎﺕ ﺍﻟﱪﻧﺎﻣﺞ ﻭﺗﺄﺧﺬ ﻫﺬﻩ ﺍﳌﻠﻔﺎﺕ
ﺍﻹﻣﺘﺪﺍﺩ ،.PRGﻭﺑﺬﺍﻟﻚ ﳝﻜﻨﻨﺎ ﺍﻹﺣﺘﻔﺎﻅ ﺑﺎﻷﻣﺜﻠـﺔ ﺍﻟﱵ ﻗﻤﻨﺎ ﺑﻌﺮﺿﻬﺎ ﻟﺘﻨﻔﻴﺬﻫﺎ ﰲ ﺃﻱ
ﻭﻗﺖ ﻭﻛﺬﺍﻟﻚ ﺗﻌﺪﻳﻠﻬﺎ ﻭﺗﻄﻮﻳﺮﻫﺎ ﻭﻫﻨﺎﻟﻚ ﻋﺪﺓ ﻃﺮﻕ ﳐﺘﻠﻔـﺔ ﻻﻧﺸﺎﺀ ﻣﻠﻔﺎﺕ ﺍﻹﺟﺮﺍﺀ
ﻭﻧﻼﺣﻆ ﺍﻧﻪ ﳝﻜﻦ ﺇﺧﺘﺼﺎﺭ ﺍﳋﻄﻮﺓ ﺍﻻﻭﱃ ﻣﻦ ﺧﻼﻝ ﺍﻟﻀﻐﻂ ﻋﻠﻰ Ctrl+Nﻣﻦ ﺧﻼﻝ
ﻟﻮﺣﺔ ﺍﳌﻔﺎﺗﻴﺢ.
ﻳــﻘﻮﻡ FoxProﻋﻨﺪ ﺗﻨﻔﻴﺬ ﺃﻱ ﺃﻣﺮ ﺑﻮﺿﻊ ﺍﻷﻣﺮ ﺍﳌﻘﺎﺑﻞ ﻟﻪ ﺗﻠﻘﺎﺋﻴﺎ ﺩﺍﺧﻞ ﻧﺎﻓﺬﺓ
ﺍﻷﻭﺍﻣﺮ ﻟﺬﺍﻟﻚ ﺇﺫﺍ ﻗﻤﺖ ﺑﺈﻧﺸﺎﺀ ﻣﻠﻒ ﺍﻹﺟﺮﺍﺀ ﻣﻦ ﺧﻼﻝ ﺍﻟﻄﺮﻳﻘﺔ ﺍﻷﻭﱃ ﻓﺴﻮﻑ ﳒﺪ ﺃﻥ
ﺍﻷﻣﺮ MODIF COMMANDﻗﺪ ﰎ ﻛﺘﺎﺑﺘﻪ ﺑﺼﻮﺭﺓ ﺗﻠﻘﺎﺋﻴﺔ ﺩﺍﺧﻞ ﻧﺎﻓﺬﺓ ﺍﻷﻣﺮ.
ﰒ ﻧﻘﻮﻡ ﲝﻔﻆ ﺩﺍﺧﻞ ﻣﻠﻒ ﻗﻤﻨﺎ ﺑﺈﻋﺪﺍﺩﻩ ﰲ ﺳﻄﺢ ﺍﳌﻜﺘﺐ ﺑﻌﻨﻮﺍﻥ foxpro
ﻳﻘﻮﻡ ﻫﺬﺍ ﺍﻷﻣﺮ ﺑﺈﺎﺀ ﺍﻟﺘﻨﻔﻴﺬ ﺩﺍﺧﻞ ﺍﳌﻠﻒ Procedureﻕ ﺇﺫﺍ ﻛﺎﻥ ﻫﺬﺍ ﺍﳌﻠﻒ
ﺍﻟﺮﺋﻴﺴﻲ ﻓﺈﻧــﻪ ﻳﺘﻢ ﺬﺍ ﺍﻷﻣﺮ ﺃﺎﺀ ﺍﻟﱪﻧﺎﻣﺞ ﻭﺇﺫﺍ ﻛﺎﻥ ﺍﳌﻠﻒ ﻣﻠﻒ ﻓﺮﻋﻲ ﻓﺈﻧﻪ ﻳﺘﻢ
ﺍﻟﻌﻮﺩﺓ ﻟﻠﻤﻠﻒ ﺍﻟﺬﻱ ﻗﺎﻡ ﲟﻨﺎﺩﺍﺗﻪ ﳌﺘﺎﺑﻌـﺔ ﺗﻨﻔﻴﺬ ﺍﻟﻌﻤﻠﻴﺎﺕ
ﻣﻼﺣﻈـــﺔ:
ﳝﻜﻦ ﺃﻥ ﻳﻨﺎﺩﻱ ﺍﳌﻠﻒ ﺍﻟﻔﺮﻋﻲ ﻣﻠﻒ ﺃﺧﺮ،ﺃﻱ ﳝﻜﻦ ﻧﻘﻞ ﺍﻟﺘﺤﻜﻢ ﺃﻛﺜﺮ ﻣﻦ ﻣﺮﺓ ﻣﻦ
ﺑﺮﻧﺎﻣﺞ )ﻣﻠﻒ ﺇﺟﺮﺍﺀ( ﻵﺧﺮ ﺧﻼﻝ ﺍﻷﻣﺮ Doﻭﺍﻟﻌﻮﺩﺓ ﺧﻄﻮﺓ ﻟﻠﺨﻠﻒ ﻣﻦ ﺧﻼﻝ ﺍﻻﻣﺮ
Return
ﻳﻘﻮﻡ ﻫﺬﺍ ﺍﻷﻣﺮ ﺑﺈﻋﻼﻥ ﺇﺟﺮﺍﺀ ﺻﻐﲑ ﺩﺍﺧﻞ ﺍﻹﺟﺮﺍﺀ ﺍﻟﻜﺒﲑ)(.PRGﻭﻫﻬﺬﺍ ﺍﻹﺟﺮﺍﺀ
ﳝﻜﻦ ﻣﻨﺎﺩﺍﺗﻪ ﻛﻤﺎ ﻳﺘﻢ ﻣﻨﺎﺩﺍﺓ ﺃﻱ ﺇﺟﺮﺍﺀ ﺁﺧﺮ ﺑﺈﺳﺘﺨﺪﺍﻡ ﻷﻣﺮ Do
ﻳﻘﻮﻡ ﻫﺬﺍ ﺍﻻﻣﺮ ﺑﺎﻋﻼﻥ ﺩﺍﻟﺔ ﺟﺪﻳﺪﺓ ﳝﻜﻦ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻣﺒﺎﺷﺮﺓ ﻛﺎﺣﺪ ﺩﻭﺍﻝ ﻟﻐﺔ
Foxproﺍﻻﺳﺎﺳﻴﺔ ﻭﻳﺸﺘﺮﻁ ،ﺍﻥ ﻳﻜﻮﻥ ﺍﺳﻢ ﺍﻟﺪﺍﻟﺔ ﺍﳉﺪﻳﺪﺓ ﻏﲑ ﻣﻮﺟﻮﺩ ﻣﻦ ﻗﺒﻞ
ﻣﻼﺣﻈــﺔ:
ﳝﻜﻦ ﺍﻥ ﻧﻘﻮﻡ ﺑﺎﺧﺘﺼﺎﺭ ﺍﻭﺍﻣﺮ ﻟﻐﺔ ﻓﻴﺠﻮﺍﻝ ﻓﻮﻛﺲ ﺑﺮﻭ ﻣﻦ ﺧﻼﻝ ﻛﺘﺎﺑﺔ ﺍﳊﺮﻭﻑ
ﺍﻻﺭﺑﻌﺔ ﺍﻻﻭﱃ ﻣﻦ ﺍﻻﻣﺮ ﻓﻌﻠﻰ ﺳﺒﻴﻞ ،ﺍﳌﺜﺎﻝ ﺍﻻﻣﺮ procedureﳝﻜﻦ ﺍﻥ ﻳﻜﺘﺐ
procﻭﺍﻻﻣﺮ functionﳝﻜﻦ ﺍﻥ ﻳﻜﺘﺐ func
ﳝﻜﻦ ﺍﺛﻨﺎﺀ ﺗﻌﺮﻳﻒ ﺍﳌﺘﻐﲑﺍﺕ ﺍﻭ ﺍﻟﺪﻭﺍﻝ ﲢﺪﻳﺪ ﳎﺎﻝ ﺍﻟﻌﻤﻞ ﳍﺬﻩ ﺍﳌﺘﻐﲑﺍﺕ ﺍﻭ ﺍﻟﺪﻭﺍﻝ
ﻭﺍﳌﻘﺼﻮﺩ ﺑﺎﺎﻝ ﻫﻮ ﺍﻻﻧﺘﺸﺎﺭ ،ﻟﻠﻤﺘﻐﲑ ﺍﻭ ﺍﻟﺪﺍﻟﺔ ﺩﺍﺧﻞ ﺍﻟﱪﻧﺎﻣﺞ ﻭﻟﻜﻰ ﻧﻔﻬﻢ ﺫﻟﻚ
ﻳﻨﺒﻐﻰ ﺍﻟﺘﻌﺮﺽ ﻤﻮﻋﺔ ﻣﻦ ﺍﻻﻭﺍﻣﺮ ﺍﳉﺪﻳﺪﺓ ﺍﻭ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﻭﻫﻰ
،Local,Private,Public & Staticﻭﻫﻰ ﺍﺭﺑﻌﺔ ﺍﻭﺍﻣﺮ ﲢﺪﺩ ﳎﺎﻝ
ﺍﻧﺘﺸﺎﺭ ﺍﳌﺘﻐﲑ ﻭﺍﻻﻣﺮ Staticﻳﺴﺘﺨﺪﻡ ﻟﺘﺤﺪﻳﺪ ﳎﺎﻝ ﺍﻧﺘﺸﺎﺭ ﺍﻟﺪﻭﺍﻝ.
ﺍﺳﺘﺨﺪﺍﻡ ﺍﻻﻣﺮ Staticﻗﺒﻞ ﺍﻟﺪﻭﺍﻝ ﺍﳌﻌﺮﻓﺔ ﺩﺍﺧﻞ ﺍﺟﺮﺍﺀ ﻛﺒﲑ )ﻣﻠﻒ (.PRGﻳﻌﲎ
ﺍﻥ ﻫﺬﻩ ﺍﻟﺪﺍﻟﺔ ﻟﻦ ﻳﺘﻢ ﻣﻌﺮﻓﺘﻬﺎ ﺍﻻ ﺩﺍﺧﻞ ،ﻫﺬﺍ ﺍﳌﻠﻒ ﺍﻭ ﺍﻻﺟﺮﺍﺀ ﻭﺍﺫﺍ ﺁﺍﻥ ﻫﻨﺎﻙ ﺍﻛﺜﺮ
ﻣﻦ ﻣﻠﻒ .Prgﺩﺍﺧﻞ ﺍﻟﱪﻧﺎﻣﺞ ﻓﺎﻥ ﻫﺬﻩ ﺍﳌﻠﻔﺎﺕ ﺍﻻﺧﺮﻯ ﻟﻦ ﺗﺸﻌﺮ ﺑﻮﺟﻮﺩ ﻫﺬﻩ
ﺍﻟﺪﺍﻟـــــﺔ.
ﺍﺳﺘﺨﺪﺍﻡ ﺍﻻﻣﺮ staticﻗﺒﻞ ﺍﻋﻼﻥ ﺍﳌﺘﻐﲑ ﺍﻯ ﻋﻨﺪ ﺗﻌﺮﻳﻔﻪ ﺍﻭﻝ ﻣﺮﺓ ﻳﻌﲎ ﺍﻥ ﻫﺬﺍ
ﺍﳌﺘﻐﲑ ﻟﻦ ﺗﺘﻐﲑ ﻗﻴﻤﺘﻪ ﻭﺍﻧﻪ ﺳﻴﻈﻞ ﻣﺘﺎﺡ ﺍﻣﺎﻡ ﻛﺎﻓﺔ ﺍﻻﺟﺮﺍﺀﺍﺕ ﺳﻮﺍﺀ ﻛﺎﻧﺖ ﻣﻠﻔﺎﺕ
.Prgﺍﻭ ﺍﺟﺮﺍﺀﺍﺕ ﻓﺮﻋﻴﺔ ﺍﻭ ﺩﻭﺍﻝ ﺩﺍﺧﻞ ﺍﻟﱪﻧﺎﻣﺞ ﺍﻥ ﺗﻌﺮﻑ ﻗﻴﻤﺔ ﻫﺬﺍ ﺍﳌﺘﻐﲑ ﻭﻟﻜﻦ
ﻟﻦ ﻳﻜﻦ ﻣﺘﺎﺡ ﺍﻣﺎﻣﻬﺎ ﺍﻥ ﺗﻌﺪﻝ ﰱ ﻗﻴﻤﺘﻪ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻻﻣﺮ ،localﺍﻣﺎﻡ ﺍﳌﺘﻐﲑ ﻳﻌﲎ ﺍﻧﻪ
ﺩﺍﺧﻞ ﺍﻟﺪﺍﻟﺔ ﺍﻟﱴ ﰎ ﺗﻌﺮﻳﻔﻪ ﺩﺍﺧﻠﻬﺎ ﻭﻏﲑ ﻣﺘﺎﺡ ﻻﻯ ﺩﻭﺍﻝ ﻓﺮﻋﻴﺔ ) ﺍﻟﺪﻭﺍﻝ ﺍﻟﱴ ﻳﺘﻢ
ﻣﻨﺎﺩﺍﺎ ﻣﻦ ﺩﺍﺧﻞ ﺍﻟﺪﺍﻟﺔ ﺍﻟﱴ ﺗﻌﻤﻞ( ﺍﻥ ﺗﺘﻌﺎﻣﻞ ﻣﻌﻪ ﻭﻛﺬﻟﻚ ﻓﺎﻧﻪ ﲟﺠﺮﺩ ﺍﻧﺘﻬﺎﺀ ﺗﻨﻔﻴﺬ
ﺍﻟﺪﺍﻟﺔ ﺍﻟﱴ ﺍﻋﻠﻨﺖ ﻫﺬﺍ ﺍﳌﺘﻐﲑ ﻓﺎﻧﻪ ﻳﺘﻢ ﺣﺬﻑ ﺍﳌﺘﻐﲑ ﻭﻳﺼﺒﺢ ﻏﲑ ﻣﺘﺎﺡ.
ﻣﻼﺣﻈـــــﺔ:
ﺍﻭﺍﻣﺮ ﺍﺎﻝ scopeﺍﳋﺎﺻﺔ ﺑﺎﳌﺘﻐﲑﺍﺕ ﳝﻜﻦ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻗﺒﻞ ﺍﺳﻢ ﺍﳌﺘﻐﲑ ﻣﻊ ﺍﺳﻨﺎﺩ
ﻗﻴﻤﺔ ﻟﻪ ﰱ ﻧﻔﺲ ﺍﻟﺴﻄﺮ ﺍﻭ ﻣﻊ ﺍﺳﻢ ﺍﳌﺘﻐﲑ ﺑﺪﻭﻥ ﺍﺳﻨﺎﺩ ﺍﻯ ﻗﻴﻤﺔ ﻟﻪ.
ﺍﺣﺪﻯ ﺍﺭﻭﻉ ﲰﺎﺕ ﺍﻟﱪﳎﺔ ﺍﻟﱴ ﻣﻦ ﺧﻼﳍﺎ ﳝﻜﻦ ﺍﳊﺼﻮﻝ ﻋﻠﻰ ﺍﻟﻨﺘﺎﺋﺞ ﺍﳌﻄﻠﻮﺑﺔ ﻣﻦ
ﺍﻟﱪﺍﻣﺞ ﺍﻟﱴ ﻳﺘﻢ ﻛﺘﺎﺑﺘﻬﺎ ﻭﺍﻫﻢ ﻫﺬﻩ ﺍﻟﺘﺮﻛﻴﺒﺎﺕ if-else-endifﻭ for-
endforﻭ do while-enddoﻭ .case-endcase
ﺗﺘﻴﺢ ﲨﻠﺔ ifﺗﻨﻔﻴﺬ ﺗﻌﻠﻴﻤﺎﺕ ﻣﻌﻴﻨﺔ ﺍﺫﺍ ﲢﻘﻖ ﺷﺮﻁ ﳏﺪﺩ ﻭﺍﺫﺍ ﱂ ﻳﺘﺤﺪﺩ ﻳﺘﻢ ﺗﻨﻔﻴﺬ
ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺍﻟﱴ ﺗﻠﻰ ﲨﻠﺔ elseﻭﻫﻰ ﺍﺧﺘﻴﺎﺭﻳﺔ.
ﺍﻟﺘﻔﺮﻉ ﺍﳌﺸﺮﻭﻁ*
do case
case <variable> = value
…….code
case <variable> = value2
……..code
endcase
ﺗﺴﺘﺨﺪﻡ ﺍﻟﺘﻌﺒﲑﺍﺕ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﻧﺘﻴﺠﺔ ﻣﻌﻴﻨﺔ ﻣﻦ ﻋﺪﺓ ﻣﺘﻐﲑﺍﺕ ﻭﺍﺫﺍ ﻭﺟﺪ ﺍﻟﺘﻌﺒﲑ
ﻣﻊ ﲨﻠﺔ ifﺍﻭ ﺍﳉﻤﻠـﺔ whileﻓﺎﻧﻪ ﻳﺴﻤﻰ conditionﻛﺎﻧﻪ ﺳﺆﺍﻝ
ﻟﻠﺤﺎﺳﺐ ﺍﻭ ﻟﻠﻐﺔ ﺍﻟﱪﳎﺔ ﺍﻟﱴ ﺗﻌﻄﻰ ﺍﻟﻨﺘﻴﺠـﺔ .T.ﺍﺫﺍ ﲢﻘﻖ ﺍﻟﺸﺮﻁ ﺍﻭ .F.ﺍﺫﺍ ﱂ
ﻳﺘﺤﻘﻖ ﺍﻟﺒﻌﺾ ﻳﻈﻦ ﺍﻧﻪ ﻟﻴﺲ ﻫﻨﺎﻙ ﻧﺘﻴﺠﺔ ﺍﺧﺮﻯ ﻟﻜﻦ ﰱ ﺍﻟﻮﺍﻗﻊ ﻫﻨﺎﻙ ﺍﺣﺘﻤﺎﻝ ﺛﺎﻟﺚ
ﻭﻫﻮ ﺍﻥ ﲢﺼﻞ ﻋﻠﻰ ERRORﺍﻯ ﺭﺳﺎﻟﺔ ﺧﻄﺎ ﻭﺫﻟﻚ ﺍﺫﺍ ﻛﺎﻥ ﺍﻟﺘﻌﺒﲑ ﻏﲑ ﺳﻠﻴﻢ.
ﺍﳌﺘﻐﲑ ﻋﻨﺪ ﺍﻋﻼﻧﻪ ﺍﻭﻝ ﻣﺮﺓ ﺑﺪﻭﻥ ﺍﺳﻨﺎﺩ ﻗﻴﻤﺔ ﻟﻪ ﻓﺎﻥ ﻟﻐﺔ ﺍﻟﱪﳎﺔ ﻓﻴﺠﻮﺍﻝ ﻓﻮﻛﺲ ﺑﺮﻭ
ﻟﻦ ﺗﻌﺮﻑ ﻧﻮﻋﻪ ﻻﻧﻪ ﲢﺪﺩ ﻧﻮﻉ ،ﺍﳌﺘﻐﲑ ﺗﺒﻌﺎ ﻟﻠﻘﻴﻤﺔ ﺍﻟﱴ ﳛﻤﻠﻬﺎ ﻭﳍﺬﺍ ﺳﻮﻑ ﺗﻀﻊ ﰱ
ﺍﳌﺘﻐﲑ ﻗﻴﻤﺔ ﻣﻨﻄﻘﻴﺔ ﻭﻫﺬﻩ ﺍﻟﻔﻴﻤﺔ ﻫﻰ .F.
ﻭﻟﻜﻦ ﺍﺛﻨﺎﺀ ﺍﻟﻌﻤﻞ ﻣﻊ ﺍﳌﺘﻐﲑﺍﺕ ﻭﺍﺫﺍ ﺍﺭﺩﻧﺎ ﺟﻌﻞ ﻗﻴﻤﺔ ﺍﳌﺘﻐﲑ ﻻﺷﻰ ﻓﺎﻧﻨﺎ ﻧﺴﻨﺪ ﻟﻪ
ﺍﻟﻘﻴﻤﺔ NULLﻭﺍﻟﱵ ﺗﻌﲏ ﺍﻟﻌﺪﻡ.
ﻭ ﻋﻨﺪ ﺗﺸﻐﻴﻞ ﺍﻟﱪﻧﺎﻣﺞ ﻓﺎﻧﻪ ﻳﺘﻢ ﺗﻨﻔﻴﺬ ﺗﻌﻠﻴﻤﺎﺗﻪ ﺗﻌﻠﻴﻤﺔ ﺗﻠﻮ ﺍﻻﺧﺮ ﺣﱴ ﻳﺘﻢ ﺍﻻﻧﺘﻬﺎﺀ ﻣﻦ
ﺍﻟﺘﻨﻔﻴﺬ ﻭﻣﻦ ﰒ ﺍﳋﺮﻭﺝ ﻣﻦ ﺍﻟﱪﻧﺎﻣﺞ ﻭﻟﻀﻤﺎﻥ ﺍﺳﺘﻤﺮﺍﺭ ﻋﻤﻞ ﺍﻟﱪﻧﺎﻣﺞ ﻓﺎﻧﻪ ﰎ ﻛﺘﺎﺑﺔ
ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺑﲔ whileﻭ enddoﻭﻳﻜﻮﻥ ﺍﻟﺸﺮﻁ ﻫﻮ .T.ﺍﺑﺴﻂ ﺷﺮﻁ ﻭﻳﻌﲎ
ﺍﻥ ﺍﻟﺸﺮﻁ ﺩﺍﺋﻤﺎ ﻣﺘﺤﻘﻖ.
ﺍﻷﻣﺮ : EXITﺍﺫﺍ ﺍﺳﺘﺨﺪﻡ ﺩﺍﺧﻞ ﺍﳊﻠﻘﺔ ﻓﺎﻧﻪ ﻳﻨﻬﻰ ﺍﻟﻌﻤﻞ ﺩﺍﺧﻞ ﺍﳊﻠﻘﺔ ﺳﻮﺍﺀﻛﺎﻧﺖ
FORﺍﻭ DO WHILEﻭﺑﻨﻘﻞ ﺍﻟﺘﻨﻔﻴﺬ ﳌﺎ ﺑﻌﺪ ﺍﳊﻠﻘﺔ.
ﺍﻷﻣﺮ : LOOPﺍﺫﺍ ﺍﺳﺘﺨﺪﻡ ﺩﺍﺧﻞ ﺍﳊﻠﻘﺔ ﻓﺎﻧﻪ ﻳﻨﻘﻞ ﺍﻟﺘﻨﻔﻴﺬ ﻟﻠﻤﺮﺣﺔ ﺍﻻﻭﱃ ﻣﺮﺣﻠﺔ
ﺍﺧﺘﺒﺎﺭ ﺍﻟﺸﺮﻁ ﻭﻳﻬﻤﻞ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺍﻟﱴ ﺗﻠﻰ ﺫﻟﻚ ﺍﻻﻣﺮ
ﻭﺍﻟﻜﻮﺩ ﻫﻮ ﻛﺎ ﺍﻟﺘﺎﱄ
ﺍﻻﻣﺮ menu toﻳﺴﺘﺨﺪﻡ ﻟﺘﺤﺪﺩ ﺍﳌﺘﻐﲑ ﺍﻟﺮﻓﻤﻰ ﺍﻟﺬﻯ ﺳﻮﻑ ﳛﻤﻞ ﻧﺘﻴﺠﺔ
ﺍﻻﺧﺘﻴﺎﺭ ﺍﻟﺬﻯ ﻗﺎﻡ ﺑﻪ ﺍﳌﺴﺘﺨﺪﻡ ﻭﻧﻼﺣﻆ ﺍﻧﻪ ﻻﺳﺘﺠﺎﺑﺔ ﺍﻟﺘﻨﻔﻴﺬ ﻟﻼﺧﺘﻴﺎﺭ ﺍﻟﺬﻯ ﻗﺎﻡ ﺑﻪ
ﺍﳌﺴﺘﺨﺪﻡ ﻗﻤﻨﺎ ﻣﺮﺓ ﺑﻨﺪﺍﺀ ﺍﺟﺮﺍﺀ ﻓﺮﻋﻰ ﻣﻦ ﺧﻼﻝ ﺍﻻﻣﺮ Doﻭﻣﺮﺓ ﺍﺧﺮﻯ ﻗﻤﻨﺎ ﲟﻨﺎﺩﺍﺓ
ﺩﺍﻟﺔ ﻓﺮﻋﻴﺔ ﻗﻤﻨﺎ ﺑﺘﻌﺮﻳﻔﻬﺎ
ﻣﻠﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺩﺍﺧﻞ ﻓﻴﺠﻮﺍﻝ ﻓﻮﻛﺲ ﺑﺮﻭ ﻫﻮ ﻣﻠﻒ ﳛﻤﻞ ﺍﻻﻣﺘﺪﺍﺩ .DBFﻭﻫﻰ
ﺍﺧﺘﺼﺎﺭ ﻟـ (DataBase File):ﻭﳍﺬﺍ ﺍﳌﻠﻒ ﻣﻮﺍﺻﻔﺎﺕ ﻳﻘﻮﻡ ﺍﻟﺸﺨﺺ ﺍﻟﺬﻯ
ﻳﻨﺸﺌﻪ ﺑﺘﺤﺪﻳﺪﻫﺎ ﻫﺬﻩ ﺍﳌﻮﺍﺻﻔﺎﺕ ﺗﺴﻤﻰ Detailsﻭﻫﻰ ﻋﺒﺎﺭﺓ ﻋﻦ ﺍﲰﺎﺀ ﺍﳊﻘﻮﻝ
Data Fieldsﻭﺍﻧﻮﺍﻋﻬﺎ)ﺣﺮﰱ – ﺭﻓﻤﻰ – ﻭﻏﲑﻫﺎ( ﻭﺍﻟﺴﻌﺔ ﺍﻟﺘﺨﺰﻳﻨﻴﺔ ﻟﻠﺤﻘﻞ.
ﻓﻤﺜﻼ ﺍﺫﺍ ﻛﻨﺖ ﺗﻮﺩ ﺍﻧﺸﺎﺀ ﻣﻠﻒ ﺑﻴﺎﻧﺎﺕ ﳛﻤﻞ ﺍﺭﻗﺎﻡ ﻫﻮﺍﺗﻒ ﺍﻻﺻﺪﻗﺎﺀ ﻓﺎﻧﺖ ﲝﺎﺟﺔ
ﻋﻠﻰ ﺍﻻﻗﻞ ﺍﱃ ﺗﺴﺠﻴﻞ ﺍﻻﲰﺎﺀ
ﲜﺎﻧﺒﻬﺎ ﺍﻻﺭﻗﺎﻡ ﻭﻫﻨﺎ ﻧﻀﻊ ﰱ ﻣﻠﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺣﻘﻠﲔ ﺍﺣﺪﳘﺎ ﳛﻤﻞ ﺍﻻﺳﻢ ﻭﺍﻻﺧﺮ ﳛﻤﻞ
ﺭﻗﻢ ﺍﳍﺎﺗﻒ ﻭﻳﻜﻮﻥ ﻧﻮﻉ ﺍﳊﻘﻞ
ﺍﻻﻭﻝ ﺣﺮﰱ ﻻﻥ ﺍﻻﺳﻢ ﻋﺒﺎﺭﺓ ﻋﻦ ﺣﺮﻭﻑ ﻭﺍﻻﺧﺮ ﺍﻳﻀﺎ ﺣﺮﰱ ﻻﻥ ﺭﻗﻢ ﺍﳍﺎﺗﻒ ﻟﻴﺲ
ﺭﻗﻢ ﺣﺴﺎﰉ ﻭﻟﻦ ﳓﺘﺎﺝ ﻻﺟﺮﺍﺀﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﳊﺴﺎﺑﻴﺔ ﻋﻠﻴﻪ ﻭﻳﻜﻮﻥ ﺳﻌﺔ ﺣﻖ ﺍﻻﺳﻢ ﻣﺜﻼ
50ﺣﺮﻑ ﻭﺣﻘﻞ ﺭﻗﻢ ﺍﳍﺎﺗﻒ 15ﻭﻻ ﺍﻇﻦ ﺍﻧﻨﺎ ﳓﺘﺎﺝ ﺍﻛﺜﺮ ﻣﻦ ﺫﺍﻟﻚ.
ﺍﻥ ﻣﻠﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻻ ﺗﻘﺘﺼﺮ ﻣﻬﻤﺘﻪ ﻓﻘﻂ ﻋﻠﻰ ﺣﻔﻆ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻻﺳﺘﺮﺟﺎﻋﻬﺎ ﰱ ﺍﻯ ﻭﻗﺖ
ﺑﻞ ﻳﺘﻴﺢ ﻟﻨﺎ ﺍﻟﺒﺤﺚ ﺩﺍﺧﻠﻪ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﺍﳌﻌﻠﻮﻣﺔ ﺍﳌﻄﻠﻮﺑﺔ ﻭﰱ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ
ﺍﻟﱴ ﺗﺸﺘﻤﻞ ﻋﻠﻰ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﻣﻠﻔﺎﺕ ﺍﻟﺒﻴﺎﻧﺎﺕ ﰱ ﺍﻟﻘﺪﺭﺓ ﻋﻠﻰ ﺍﺳﺘﺨﻼﺹ ﺍﳌﻌﻠﻮﻣﺎﺕ ﻣﻦ
ﻫﺬﻩ ﺍﳌﻠﻔﺎﺕ ﺍﻟﱴ ﺗﻌﻤﻞ ﻣﻌﺎ ﺍﻣﺮ ﰱ ﻏﺎﻳﺔ ﺍﻻﳘﻴﺔ.
ﻭﳌﺎ ﻛﺎﻧﺖ ﻋﻤﻠﻴﺔ ﺍﻟﺒﺤﺚ ﻫﻰ ﻋﻤﻠﻴﺔ ﺷﺎﺋﻌﺔ ﰱ ﲨﻴﻊ ﺗﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﺎﻥ ﺍﻟﻌﻤﻞ
ﻋﻠﻰ ﺯﻳﺎﺩﺓ ﺳﺮﻋﺔ ﺗﻠﻚ ﺍﻟﻌﻤﻠﻴﺔ
ﺍﻣﺮ ﰱ ﻏﺎﻳﺔ ﺍﻻﳘﻴﺔ ﻭﻣﻦ ﻫﻨﺎ ﻧﺸﺄ ﻣﻔﻬﻮﻡ ﻣﻠﻔﺎﺕ ﺍﻟﻔﻬﺎﺭﺱ ﻭﺍﻟﱴ ﺗﻘﻮﻡ ﻋﻠﻰ ﻓﻬﺮﺳﺔ
ﺑﻴﺎﻧﺎﺕ ﺍﳌﻠﻒ ﻣﻦ ﺧﻼﻝ ﺑﻴﺎﻧﺎﺕ ﺣﻖ ﻣﻌﲔ ﻭﺗﻜﻮﻥ ﻋﻤﻠﻴﺔ ﺍﻟﺒﺤﺚ ﰱ ﻣﻠﻔﺎﺕ ﺍﻟﻔﻬﺎﺭﺱ
ﻭﻧﻈﺮﺍ ﻻﻥ ﲦﺮﺓ ﻋﻤﻞ ﺍﻧﻈﻤﺔ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺗﻜﻤﻦ ﰱ ﺍﻟﺘﻘﺎﺭﻳﺮ ﺍﻟﱴ ﳝﻜﻦ ﺍﺳﺘﺨﺮﺍﺟﻬﺎ
ﻣﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﺒﺎﺷﺮﺓ ﻭﻳﺴﺮﻋﺔ ﻓﺎﺋﻘﺔ ﻟﺬﺍ ﻓﺎﻥ ﻭﺟﻮﺩ ﻣﻠﻔﺎﺕ ﺍﻟﺘﻘﺎﺭﻳﺮ ﺍﻟﱴ ﺗﻘﻮﻡ ﺑﺘﻠﻚ
ﺍﳌﻬﻤﺔ ﻛﺎﻥ ﺍﻣﺮﺍ ﻃﺒﻴﻌﻴﺎ ﻭﺿﺮﻭﺭﻳﺎ ﰱ ﻧﻔﺲ ﺍﻟﻮﻗﺖ ﻟﺴﺮﻋﺔ ﻭﺳﻬﻮﻟﺔ ﺍﻻﺩﺍﺀ.
ﻭﺣﻴﺚ ﺍﻥ ﻣﻠﻔﺎﺕ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻗﺪ ﺗﻮﺟﺪ ﺭﻭﺍﺑﻂ ﺑﻴﻨﻬﺎ ﻟﻜﻔﺎﺀﺓ ﺍﻻﺩﺍﺀ ﻣﻦ ﻫﻨﺎ ﻧﺸﺎﺀ ﻣﻔﻬﻮﻡ
ﺍﻟﻌﻼﻗﺎﺕ ﺑﲔ ﺍﳉﺪﻭﺍﻝ ﻭﺍﻟﱴ ﺗﺆﺩﻯ ﺍﱃ ﺣﻞ ﻛﺜﲑ ﻣﻦ ﺍﳌﺸﺎﻛﻞ ﻭﺗﺴﺎﻫﻢ ﺑﺼﻔﺔ ﺭﺋﻴﺴﻴﺔ
ﰱ ﺍﻣﱪﺍﻃﻮﺭﻳﺔ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﱴ ﳍﺬﺍ ﺍﻟﺴﺒﺐ ﺗﺴﻤﻰ ﻗﻮﺍﻋﺪ ﺑﻴﺎﻧﺎﺕ ﻋﻼﻗﻴﺔ.
ﺗﺘﻤﻴﺰ ﻓﻴﺠﻮﺍﻝ ﻓﻮﻛﺲ ﺑﺮﻭ ﻛﻠﻐﺔ ﺑﺮﳎﺔ ﻣﺘﻜﺎﻣﻠﺔ ﺑﺎﺣﺘﻮﺍﺋﻬﺎ ﻋﻠﻰ ﻧﻈﺎﻡ ﺍﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ
ﺑﻴﺎﻧﺎﺕ ﻣﺘﻜﺎﻣﻠﺔ ﺩﺍﺧﻞ ﳏﻴﻂ ﺗﻄﻮﻳﺮ.
ﺍﻟﻠﻐﺔ ﳑﺎ ﻻ ﳚﻌﻞ ﻫﻨﺎﻙ ﺣﺎﺟﺔ ﻟﻠﺨﺮﻭﺝ ﻋﻦ ﳏﻴﻂ ﺗﻄﻮﻳﺮ ﺍﻟﻠﻐﺔ ﻻﻧﺸﺎﺀ ﻣﻠﻔﺎﺕ ﺍﻟﺒﻴﺎﻧﺎﺕ
ﻭﺍﻻﺳﺘﻌﻼﻡ ﻭﺍﻟﻔﻬﺎﺭﺱ ﺍﻭ ﺍﻟﺘﻘﺎﺭﻳﺮ ﺣﻴﺚ ﺍﻥ ﻛﻞ ﺷﻰﺀ ﳝﻜﻦ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻌﻪ ﻣﺒﺎﺷﺮﺓ ﺩﺍﺧﻞ
ﺍﻟﻠﻐﺔ ﻛﻤﺎ ﺍﺎ ﺗﺘﻴﺢ ﺑﺮﳎﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﺘﻌﺎﻣﻞ ﻣﻌﻬﺎ ﻋﻠﻰ ﻣﺴﺘﻮﻯ ﻋﺎﱃ ﺟﺪﺍ ﻣﻦ ﺍﻟﻜﻔﺎﺀﺓ.
ﻭﰱ ﺣﺎﻟﺔ ﺑﻨﺎﺀ ﺍﻻﻧﻈﻤﺔ ﺍﻟﻜﺒﲑﺓ ﻭﺍﻟﱴ ﲢﺘﺎﺝ ﻗﻮﺍﻋﺪ ﺑﻴﺎﻧﺎﺕ ﺍﻛﺜﺮ ﻓﺎﻋﻠﻴﺔ ﻭﺗﺘﻴﺢ ﺳﻌﺔ
ﲣﺰﻳﻦ ﻋﺎﻟﻴﺔ ﻓﺎﻥ ﺫﻟﻚ ﳑﻜﻦ ﺣﻴﺚ ﳝﻜﻨﻚ ﲢﻮﻳﻞ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﱃSQLﺃﻭ
Oracleﻭﻣﻊ ﺫﻟﻚ ﻳﻈﻞ ﺍﻟﱪﻧﺎﻣﺞ ﻛﻤﺎ ﻫﻮ ﺗﻘﻮﻡ ﺑﺘﻄﻮﻳﺮﻩ ﺑﻠﻐﺔ ﻓﻴﺠﻮﺍﻝ ﻓﻮﻛﺲ ﺑﺮﻭ
ﺇﻏﻼﻕ ﻣﻠﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ:ﻟﻜﻲ ﻳﺘﻢ ﺇﻏﻼﻕ ﻣﻠﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻧﺪﺧﻞ ﺍﻻﻣﺮ Useﺑﺪﻭﻥ
ﺃﻱ ﻣﻌﻄﻴﺎﺕ.
ﻓﺘﺢ ﻣﻠﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ:ﻟﻜﻲ ﻳﺘﻢ ﻓﺘﺢ ﻣﻠﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻧﺴﺘﺨﺪﻡ ﺍﻻﻣﺮ Useﻳﻠﻴـﻪ
ﺍﺳﻢ ﺍﳌﻠﻒ ﻭﻟﻔﺘﺢ ﺍﳌﻠﻒ table1ﺍﻟﺬﻱ ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎﺋــﻪ ﻳﻜﻮﻥ ﺍﻷﻣﺮ ﻛﺎ
ﺍﻟﺘﺎﱄUse table1
ﺇﺿﺎﻓـﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ:ﻟﻜﻲ ﻳﺘﻢ ﺍﺿﺎﻓﺔ ﺑﻴﺎﻧﺎﺕ ﺍﱃ ﻣﻠﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﳌﻔﺘﻮﺡ ﻫﻨﺎﻟﻚ
ﻃﺮﻳﻘﺘﲔ:
ﻟﻜﻰ ﻳﺘﻢ ﻋﺮﺽ ﺍﻟﺒﻴﺎﻧﺎﺕ ﳝﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻻﻣﺮ Listﺃﻭ ﺍﻷﻣﺮ browse
ﻟﻜﻰ ﻳﺘﻢ ﺣﺬﻑ ﺳﺠﻞ ﻳﺘﻢ ﺍﻭﻻ ﺗﻌﻠﻴﻤﻪ ﻟﻐﺮﺽ ﺍﳊﺬﻑ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻻﻣﺮ Delete
ﰒ ﺣﺬﻑ ﺍﻟﺴﺠﻼﺕ ﺍﳌﻌﻠﻤﺔ ﻟﻐﺮﺽ ﺍﳊﺬﻑ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻻﻣﺮ Packﻭﻫﻨﺎﻙ ﻣﻔﺎﻫﻴﻢ
ﺗﻘﻒ ﺧﻠﻒ ﺫﻟﻚ ﺳﻮﻑ ﻧﺘﻌﺮﺽ ﳍﺎ ﻓﻴﻤﺎ ﺑﻌﺪ ﻭﻟﻜﻦ ﻳﻨﺒﻐﻰ ﻣﻌﺮﻓﺔ ﺍﻧﻪ ﳊﺬﻑ ﺍﻟﺴﺠﻞ
ﺍﳊﺎﱃ ﻧﺴﺘﺨﺪﻡ ﺍﻻﻣﺮ Deleteﻭﳊﺬﻑ ﲨﻴﻊ ﺍﻟﺴﺠﻼﺕ ﻧﺴﺘﺨﺪﻡ ﺍﻻﻣﺮ
Delete Allﻭﳊﺬﻑ ﺍﻟﺴﺠﻼﺕ ﺎﺋﻴﺎ ﻧﺴﺘﺨﺪﻡ ﺍﻻﻣﺮ Packﻭﻻﺳﺘﺮﺟﺎﻉ
ﺍﻟﺴﺠﻞ ﺍﳊﺎﱃ ﺍﳌﻌﻠﻢ ﻟﻐﺮﺽ ﺍﳊﺬﻑ ﻧﺴﺘﺨﺪﻡ ﺍﻻﻣﺮ Recallﻭﻻﺳﺘﺮﺟﺎﻉ ﲨﻴﻊ
ﺍﻟﺴﺠﻼﺕ ﺍﳌﻌﻠﻤﺔ ﻟﻐﺮﺽ ﺍﳊﺬﻑ ﻧﺴﺘﺨﺪﻡ ﺍﻻﻣﺮ Recall allﺍﻟﺴﺠﻞ ﺍﳌﻌﻠﻢ
ﻟﻐﺮﺽ ﺍﳊﺬﻑ ﺗﻈﻬﺮ ﺍﻣﺎﻣﻪ ﻋﻼﻣﺔ ﺳﻮﺩﺍﺀ ﻋﻨﺪ ﺍﺳﺘﻌﺮﺍﺿﻪ ﻣﻦ ﺧﻼﻝ ﺍﻻﻣﺮ
Browseﻟﻠﻔﻬﻢ ﺍﺳﺘﺨﺪﻡ ﺍﻻﻣﺮ delete allﰒ browseﰒ recall
. allﰒ browse
ﻳﺴﺘﺨﺪﻡ ﺍﻻﻣﺮ set delete onﳌﻌﺎﻣﻠﺔ ﺍﻟﺴﺠﻼﺕ ﺍﳌﻌﻠﻤﺔ ﻟﻐﺮﺽ ﺍﳊﺬﻑ ﻛﺎﺎ
ﳏﺬﻭﻓﺔ ﺎﺋﻴﺎ ﻭﻻ ﻳﺘﻢ ﺭﺅﻳﺘﻬﺎ ﻭﻟﻜﻰ ﻧﺘﺮﺍﺟﻊ ﻋﻦ ﺫﻟﻚ ﻧﺴﺘﺨﺪﻡ ﺍﻻﻣﺮ set
delete off
ﻭﺍﻟﺼﻮﺭﺓ ﺍﻟﺘﺎﻟﻴﺔ ﻋﺒﺎﺭﺓ ﻋﻦ ﻣﺜﺎﻝ ﻋﻦ ﺍﺩﺧﺎﻝ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻦ ﺧﻼﻝ ﺍﻻﻣﺮ Delete
. Allﰒ browse
ﳊﺬﻑ ﲨﻴﻊ ﺍﻟﺴﺠﻼﺕ ﻣﺒﺎﺷﺮﺓ ﳝﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻻﻣﺮ ZAPﻭﺍﻟﺬﻯ ﻳﻜﻮﻥ ﺑﺪﻳﻞ
ﻟﻼﻣﺮﻳﻦ Delete Allﰒ Pack
ﻟﻜﻰ ﻧﻌﺮﻑ ﺭﻗﻢ ﺍﻟﺴﺠﻞ ﺍﳊﺎﱃ ﻭﺍﻟﺬﻯ ﻳﻘﻒ ﻋﻨﺪﻩ ﺍﳌﺆﺷﺮ ﻭﳝﻜﻦ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻌﺎﻩ ﻣﺒﺎﺷﺮﺓ
ﻧﺴﺘﺨﺪﻡ ﺍﻟﺪﺍﻟﺔ )(RECNOﻭﻟﻜﻰ ﻧﻌﺮﻑ ﻋﺪﺩ ﺍﻟﺴﺠﻼﺕ ﻧﺴﺘﺨﺪﻡ ﺍﻟﺪﺍﻟﺔ ﺍﻭ
ﺍﻟﻮﻇﻴﻔﺔ )(RECCOUNT
ﻭﺍﻟﺼﻮﺭﺓ ﺍﻟﺘﺎﻟﻴﺔ ﻋﺒﺎﺭﺓ ﻋﻦ ﻣﺜﺎﻝ ﻋﻠﻰ ﻣﻌﺮﻓﺔ ﺭﻗﻢ ﺍﻟﺴﺠﻞ ﻭﻋﺪﺩ ﺍﻟﺴﺠﻼﺕ
ﻣﻦ ﺃﺟﻞ ﺗﻌﺪﻳﻞ ﻭﺍﳊﺬﻑ ﻭﺍﻹﺿﺎﻓــﺔ ﻭﺇﻋﺪﺍﺩ ﺗﺮﺗﻴﺐ ﺍﳊﻘﻮﻝ ﻣﺎ ﻋﻠﻴﻨﺎ ﺳﻮﻯ ﺇﺧﺘﻴﺎﺭ
ﻣﻦ ﺷﺮﻳﻂ ﺍﻟﻘﻮﺍﺋﻢ Viewﰒ Table Designerﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﰲ
ﺍﻟﺼﻮﺭﺓ ﺍﻟﺘﺎﻟﻴــﺔ:
ﺳﻮﻑ ﺗﻈﻬﺮ ﻟﻨﺎ ﻧﺎﻓﺬﺓ ﺍﻟﺘﻌﺪﻳﻞ ﻭﻟﻘﺪ ﻣﺮﺕ ﺑﻨﺎ ﺳﺎﺑﻘﺎ ﺃﺛﻨﺎﺀ ﺇﻧﺸﺎﺀ ﺍﳉﺪﻭﻝ
ﻣﻦ ﺃﺟﻞ ﺍﳊﺼﻮﻝ ﻋﻠﻰ ﻧﺎﻓﺬﺓ command windowﻣﺎ ﻋﻠﻴﻨﺎ ﺳﻮﻯ ﺍﻟﺬﻫﺎﺏ ﺇﱃ
windowﻣﻦ ﺷﺮﻳﻂ ﺍﻟﻘﻮﺍﺋﻢ ﰒ ﺇﺧﺘﻴﺎﺭ Command window
ﻣﻦ ﺍﻫﻢ ﻣﻔﺎﻫﻴﻢ ﺑﺮﳎﺔ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻻﻥ ﺑﺮﳎﺔ ﺍﻟﺰﺑﻮﻥ-ﺧﺎﺩﻡ (Client-
) Serverﻭﺧﺎﺻﺔ ﻣﻊ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ SQLServerﻭﺍﻟﱴ ﺗﺘﺴﻢ ﺑﺎﻻﻧﺘﺸﺎﺭ
ﺍﻟﻜﺒﲑ ﻭﺍﻟﻘﻮﺓ ﺍﳍﺎﺋﻠﺔ ﻭﺍﻟﺴﺮﻋﺔ ﺍﻟﻌﺎﻟﻴﺔ.
ﻭﺗﺘﻴﺢ ﻟﻐﺔ ﺑﺮﳎﺔ ﻓﻴﺠﻮﺍﻝ ﻓﻮﻛﺲ ﺑﺮﻭ ﺍﻥ ﺗﻘﻮﻡ ﺑﻌﻤﻞ Interfaceﻭﺍﺟﻬﺔ ﻟﻠﱪﻧﺎﻣﺞ
ﻣﻦ ﺧﻼﻝ ﺍﻟﻠﻐﺔ ﻭﺍﻟﱴ ﺗﻘﻮﻡ ﺑﺘﺨﺰﻳﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻦ ﺧﻼﻝ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ SQL
.Server
ﻭﺑﺎﻟﻄﺒﻊ ﻟﻠﻌﻤﻞ ﰱ ﺍﻟﱪﳎﺔ ﺑﺘﻠﻚ ﺍﻟﻄﺮﻳﻘﺔ ﻳﻨﺒﻐﺔ ﺍﻻﳌﺎﻡ ﺍﳉﻴﺪ ﺑﻄﺮﻳﻘﺔ ﺍﺳﺘﺨﺪﺍﻡ SQL
Serverﻭﻛﺬﻟﻚ ﻓﻬﻢ ﻟﻐﺔ ﺍﻻﺳﺘﻌﻼﻡ SQLﻭﺍﳌﺜﺎﻝ ﺍﻟﺘﺎﱃ ﻫﻮ ﻣﺜﺎﻝ ﺑﺴﻴﻂ
ﻳﻮﺿﺤﻚ ﻛﻴﻔﻴﺔ ﺍﻻﺗﺼﺎﻝ ﺑﻘﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ SQL Serverﻣﻦ ﺧﻼﻝ ﺍﻭﺍﻣﺮ
ﻓﻴﺠﻮﺍﻝ ﻓﻮﻛﺲ ﺑﺮﻭ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺗﻘﻨﻴﺔ ODBCﻣﻊ : SQL path
through
ﳔﺘﺎﺭ File
:01ﺍﺗﺼﺎﻻﺕ
:03ﺍﺳﺘﻌﺮﺍﺽ ﺟﺪﻭﻝ
:00ﺗﻌﺪﻳﺪ ﺟﺪﻭﻝ
:07ﺣﺬﻑ ﺟﺪﻭﻝ
:08ﺇﺿﺎﻓـﺔ ﺟﺪﻭﻝ
. ﰲ ﺍﻟﺒﺪﺍﻳـﺔ ﻧﻘﻮﻡ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ ﺍﻟﺰﺭ ﺇﻧﺸﺎﺀ ﺟﺪﻭﻝ ﺟﺪﻳﺪNew Table
ﻭﻟﻘﺪ ﻗﻤﻨﺎ ﺑﺎﻟﺸﺮﺡ ﰲ ﺍﻟﺪﺭﻭﺱ ﺍﻟﺴﺎﺑﻘﺔ ﻛﻴﻔﻴﺔ ﺇﻧﺸﺎﺀ ﺟﺪﻭﻝ ،ﻭﳓﻦ ﻟﻦ ﻧﻘﻮﻡ ﺑﺎﻟﺸﺮﺡ
ﻣﻦ ﺃﺟﻞ ﻋﺪﻡ ﺍﻟﺘﻜﺮﺍﺭ .
ﰱ ﺍﻟﻮﺍﻗﻊ ﺍﻥ ﺑﺮﳎﺔ ﺍﻟﻜﺎﺋﻨﺎﺕ ﻫﻰ ﻣﺘﻌﺔ ﺍﻟﱪﳎﺔ ﺍﺫﺍ ﻓﻬﻤﺖ ﺟﻴﺪﺍ ﻣﺎﻫﻲ – ﻭﺍﻏﺮﺏ
ﻣﻔﺎﻫﻴﻤﻬﺎ ﺍﺫﺍ ﱂ ﺗﻜﻦ ﺗﺪﺭﻙ ﻣﺪﻯ .ﻓﺎﺋﺪﺎ ﻭﺍﳘﻴﺘﻬﺎ.
ﺍﻥ ﻓﻴﺠﻮﺍﻝ ﻓﻮﻛﺲ ﺑﺮﻭ ﻣﻦ ﺍﻟﻠﻐﺎﺕ ﺍﻟﻨﺎﺩﺭﺓ ﺍﻟﱴ ﺗﺪﻋﻢ ﺑﺮﳎﺔ ﺍﻟﻜﺎﺋﻨﺎﺕ ﺑﻨﺴﺒﺔ ﻣﺌﺔ ﺑﺎﳌﺌﺔ
ﻭﰱ ﻧﻔﺲ ﺍﻟﻮﻗﺖ ﺗﻮﻓﺮ ﺍﳕﺎﻁ ،ﺍﺧﺮﻯ ﻣﺜﻞ ﺍﻟﱪﳎﺔ ﺍﳍﻴﻜﻠﻴﺔ ﻭ ﺍﺩﺍﺭﺓ ﺍﻻﺣﺪﺍﺙ ﻭﺍﳉﺪﺍﻭﻝ
ﺍﻟﻌﻼﻗﻴﺔ ﺍﳌﻮﺟﻬﺔ ﻭﺍﻟﻘﺎﻟﺐ.
Select Objects
ﺍﺧﺘﻴﺎﺭ ﻭﲢﺠﻴﻢ ﺃﺩﻭﺍﺕ ﺍﻟﺘﺤﻜﻢ
View Classes
ﺍﺧﺘﻴﺎﺭ ﺍﻟﻔﺼﺎﺋﻞ ﻭﻋﺮﺿﻬﺎ
Label
ﺃﺩﺍﺓ ﻹﻇﻬﺎﺭ ﺍﻟﻨﺺ
Text box
ﺃﺩﺍﺓ ﻹﺩﺧﺎﻝ ﻣﻌﻠﻮﻣﺎﺕ ﺑﻮﺍﺳﻄـﺔ
ﺍﳌﺴﺘﺨﺪﻡ ﻋﺒﺎﺭﺓ ﻋﻦ ﺳﻄﺮ ﻭﺍﺣﺪ
Edit box
ﻣﺜﻞ ﺍﻟﺴﺎﺑﻖ ﻟﻜﻦ ﻳﺘﻴﺢ ﻋﺪﺓ ﺃﺳﻄﺮ
Command button
ﺯﺭ ﺃﻣﺮ ﻳﺮﺗﺒﻂ ﲝﺪﺙ ﻋﻨﺪ ﺍﻟﺘﻌﺎﻣﻞ
ﻣﻌﻪ
Command button
ﳎﻤﻮﻋﺔ ﻣﻦ ﺃﺯﺭﺍﺭ ﺍﻷﻭﺍﻣﺮ ﺍﻟﱵ ﺗﻌﻤﻞ group
ﻣﻊ ﺑﻌﻀﻬﺎ
Option group
ﺃﺯﺭﺍﺭ ﺍﻻﺧﺘﻴﺎﺭ ﺇﺫﺍ ﰎ ﺍﺧﺘﻴﺎﺭ ﺃﺣﺪﻫﻢ
ﻻ ﳝﻜﻦ ﺍﺧﺘﻴﺎﺭ ﺍﻷﺧﺮ
Check box
ﺍﺧﺘﺒﺎﺭ ﺣﺎﻟــﺔ ﻟﺘﺤﺪﻳﺪ ﺧﻄﺄ ﺃﻡ
ﺻﺤﻴﺤـﺔ
Combo box
ﻗﺎﺋﻤـﺔ ﺍﺧﺘﻴﺎﺭﺍﺕ ﻣﻊ ﺇﺗﺎﺣـﺔ
ﻹﺿﺎﻓـﺔ ﻟﻠﻘﺎﺋﻤـﺔ ﺑﻮﺍﺳﻄﺔ
ﺍﳌﺴﺘﺨﺪﻡ
List box
ﻗﺎﺋﻤــﺔ ﺍﺧﺘﻴﺎﺭﺍﺕ
Spinner
ﻋﺪﺍﺩ ﻳﺘﻘﺒﻞ ﻗﻴﻢ ﺭﻗﻤﻴـﺔ ﰲ ﻣﺪﻯ
ﳏﺪﺩ ﻣﻦ ﻗﺒﻞ ﺍﳌﺴﺘﺨﺪﻡ
ﺗﻌﻄﻰ ﺻﻮﺭﺓ ﺣﻴﺔ ﻣﺒﺎﺷﺮﺓ ﻟﻠﻨﻤﻮﺫﺝ ﺍﻟﺬﻯ ﺗﻘﻮﻡ ﺑﺘﺼﻤﻴﻤﻪ ﲝﻴﺚ ﳝﻜﻨﻚ ﺇﺿﺎﻓﺔ ﺍﻟﻌﻨﺎﺻﺮ
ﺍﻟﻼﺯﻣﺔ ﻣﻦ ﺧﻼﻝ ﺷﺮﻳﻂ ﺍﻻﺩﻭﺍﺕ ،ﻭﺍﻟﺘﺤﻜﻢ ﰱ ﺧﺼﺎﺋﺼﻬﺎ ﻣﻦ ﺧﻼﻝ ﻧﺎﻓﺬﺓ
ﺍﳋﺼﺎﺋﺺ ﰒ ﺑﻌﺪ ﺫﻟﻚ ﺗﻜﺘﺐ ﺍﻻﻛﻮﺍﺩ ﺍﳋﺎﺻﺔ ﺑﺎﻟﻌﻨﺎﺻﺮ ﻣﻦ ﺧﻼﻝ ﻧﺎﻓﺬﺓ ﺍﻻﺣﺪﺍﺙ.
ﺗﻈﻬﺮ ﲟﺠﺮﺩ ﺍﻟﻀﻐﻂ ﺑﺰﺭ ﺍﻟﻔﺎﺭﺓ ﺍﻻﻳﺴﺮ ﻣﺮﺗﲔ ﻣﺘﺘﺎﻳﻌﺘﲔ ﻋﻠﻰ ﺍﻟﻨﻤﻮﺫﺝ ﺍﻭ ﺍﺣﺪ ﺍﻟﻌﻨﺎﺻﺮ
ﺍﻟﱴ ﳛﺘﻮﻳﻬﺎ
ﻳﺘﻢ ﺫﻟﻚ ﺑﺎﺧﺘﻴﺎﺭ ﻧﻮﻉ ﺍﻟﻌﻨﺼﺮ ﻣﻦ ﺷﺮﻳﻂ ﺍﻻﺩﻭﺍﺕ ﰒ ﺍﻟﺬﻫﺎﺏ ﺍﱃ ﺍﻟﻨﻤﻮﺫﺝ ﻭﻧﻀﻐﻂ
ﺑﺰﺭ ﺍﻟﻔﺎﺭﺓ ﺍﻻﻳﺴﺮ ﻭﻧﺴﺘﻤﺮ ﰱ ﺍﻟﻀﻐﻂ ،ﺣﱴ ﳓﺪﺩ ﻣﺴﺎﺣﺔ ﺍﻟﻌﻨﺼﺮ ﰒ ﻧﺮﻓﻊ ﻳﺪﻧﺎ ،
ﻓﻨﺠﺪ ﺍﻥ ﺍﻟﻌﻨﺼﺮ ﻗﺪ ﻇﻬﺮ ﻋﻠﻰ ﺍﻟﻨﻤﻮﺫﺝ ﻭﰎ ﲢﺪﻳﺪﻩ ﺍﻳﻀﺎ ﲝﻴﺚ ﳝﻜﻦ ﺗﻌﺪﻳﻞ ﺧﻮﺍﺻﻪ
ﻣﺒﺎﺷﺮﺓ ﻣﻦ ﺧﻼﻝ ﻧﺎﻓﺬﺓ ﺍﳋﺼﺎﺋﺺ.
ﻧﻘﻮﻡ ﺑﺈﺿﺎﻓــﺔ ﺯﺭ ) Command buttonﺯﺭ ﺃﻣﺮ ﻳﺮﺗﺒﻂ ﲝﺪﺙ ﻋﻨﺪ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻌﻪ( ﰒ
ﻧﻘﻮﻡ ﺑﺘﻐﻴﲑ ﺇﺳﻢ ﺍﻟﺰﺭ ﺇﱃ ﺧﺮﻭﺝ ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﰲ ﺍﻟﺼﻮﺭﺓ
ﺑﺘﻢ ﺫﻟﻚ ﻣﻦ ﺧﻼﻝ ﻧﺎﻓﺬﺓ ﺍﻻﺣﺪﺍﺙ ﻭﺍﻟﱴ ﳓﺼﻞ ﻋﻠﻴﻬﺎ ﺑﺎﻟﻀﻐﻂ ﻣﺮﺗﲔ ﻋﻠﻰ ﺍﻟﻌﻨﺼﺮ
thisform.release
ﻳﺘﻢ ﺫﻟﻚ ﻣﻦ ﺧﻼﻝ ﺍﻟﻀﻐﻂ ﻋﻠﻰ Ctrl+Eﻭﻗﺪ ﺗﻈﻬﺮ ﺷﺎﺷﺔ ﺗﻄﻠﺐ ﺣﻔﻆ ﺍﻟﻨﻤﻮﺫﺝ
ﰱ ﻣﻠﻒ ﺍﺫﺍ ﱂ ﻳﻜﻦ ﻗﺪ ﰎ ﺫﻟﻚ ﻣﻦ ﻗﺒﻞ – ﺍﻭ ﳝﻜﻦ ﺗﺸﻐﻴﻞ ﺍﻟﻨﻤﻮﺫﺝ ﻣﻦ ﺧﻼﻝ ﻗﺎﺋﻤﺔ
formﰒ Runﺍﻭ ﻣﻦ ﺧﻼﻝ ﺷﺮﻳﻂ ﺍﻻﺩﻭﺍﺕ
ﻳﺸﺘﻤﻞ ﻋﻠﻴﻬﺎ ﺍﻟﻨﻤﻮﺫﺝ ﻭﺗﺄﻛﺪ ﺍﻧﻚ ﻟﻦ ﲡﺪ ﺻﻌﻮﺑﺔ ﰱ ﺫﻟﻚ ﻭﺍﳕﺎ ﻓﻘﻂ ﲢﺘﺎﺝ ﺍﱃ ﺑﻌﺾ
ﺍﻟﻮﻗﺖ.
ﺃﺯﺭﺍﺭ: 5 •
TextBox :3 •
ﻭ ﻣﻦ ﺧﻼﻝtextBox ﳝﻜﻨﻨﺎ ﺍﳊﺼﻮﻝ ﻋﻠﻰ ﺍﻷﺯﺭﺍﺭ
Window
ﻫﻮ ﻛﺎﺍﻟﺘﺎﱄ:
thisform.text1.Value= thisform.text2.Value
- thisform.text3.value
thisform.text1.Value= thisform.text2.Value
* thisform.text3.value
thisform.text1.Value= thisform.text2.Value
/ thisform.text3.value
thisform.Release
ﻭﻧﻘﻮﻡ ﲝﻔﻆ ﺍﳌﻠﻒ ﰲ ﳎﻠﺪ ﻋﻠﻰ ﺳﻄﺢ ﺍﳌﻜﺘﺐ ﻗﺪ ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎﺋﻪYes ﳓﻦ ﻧﻘﻮﻡ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ﺍﻟﺰﺭ
.ﻣﻦ ﻗﺒﻞ
If .not. empty(alltrim(ThisForm.Text1.value))
THISFORM.LockScreen = .T.
nCnt = 1
DO WHILE nCnt <= THISform.list1.ListCount
IF upper(alltrim(THISform.list1.listitem(nCnt))) ==;
upper(alltrim(ThisForm.Text1.value))
mymsg = messagebox("The statement is already
added",6,"Sorry")
return
ELSE
nCnt = nCnt + 1
ENDIF
ENDDO
THISFORM.LockScreen = .F.
ThisForm.List1.additem(alltrim(ThisForm.Text1.val
ue))
Else
mymsg = messagebox("enter the statement
",6,"sorry")
Endif
THISFORM.LockScreen = .T.
nCnt = 1
DO WHILE nCnt <= THISform.list1.ListCount
IF THISform.list1.Selected(nCnt)
THISform.list1.RemoveItem(nCnt)
ELSE
nCnt = nCnt + 1
ENDIF
ENDDO
THISFORM.LockScreen = .F.
thisform.Release
ﳓﻦ ﻧﻘﻮﻡ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ﺍﻟﺰﺭ Yesﻭﻧﻘﻮﻡ ﲝﻔﻆ ﺍﳌﻠﻒ ﰲ ﳎﻠﺪ ﻋﻠﻰ ﺳﻄﺢ ﺍﳌﻜﺘﺐ ﻗﺪ ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎﺋﻪ
ﻣﻦ ﻗﺒﻞ.
Image •
Check box • ﺛﻼﺙ ﺧﺼﺎﺋﺺ
Command• ﺯﺭ
ﳓﻦ ﻧﻘﻮﻡ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ﺍﻟﺰﺭ Yesﻭﻧﻘﻮﻡ ﲝﻔﻆ ﺍﳌﻠﻒ ﰲ ﳎﻠﺪ ﻋﻠﻰ ﺳﻄﺢ ﺍﳌﻜﺘﺐ ﻗﺪ ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎﺋﻪ
ﻣﻦ ﻗﺒﻞ.
ﺑﻌﺪ ﺍﻟﻀﻐﻂ ﻋﻠﻰ ﻣﻮﺍﻓﻖ ﺳﻨﺒﺪﺃ ﺑﺎﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻣﻌﺎﰿ ﺍﻟﺘﻘﺮﻳﺮ ﰲ ﻋﺪﺓ ﺧﻄﻮﺍﺕ:
:03ﲢﺪﻳﺪ ﻧﺴﻖ ﻭﻣﻈﻬﺮ ﺍﻟﺘﻘﺮﻳﺮ:ﺍﺧﺘﺮ ﺍﻟﺘﺼﻤﻴﻢ ﺍﻟﺬﻱ ﺗﺮﻏﺐ ﺑﻪ ﻭﳝﻜﻨﻚ ﺍﳌﻌﺎﻳﻨــﺔ ﻟﻪ
ﲢﺖ ﺍﻟﻌﺪﺳـﺔ ﺍﻧﺎ ﺍﻓﻀﻞ ﺩﻓﺘﺮ ﺍﻷﺳﺘﺎﺫ LEDGERﺇﺎ ﻋﻤﻠﻴـﺔ ﺫﻭﻕ ﳝﻜﻨﻚ ﺍﻥ ﲣﺘﺎﺭ
ﻣﺎ ﳛﻠﻮ ﻟﻚ
ﻋﺪﺩ ﺍﳊﻘﻮﻝ ﻭﻫﻲ ﺗﺴﻤﺢ ﺑﺎﻟﺘﻘﺴﻴﻢ ﺇﱃ ﺣﻘﻮﻝ ﻣﻦ 1ﺇﻟـﻰ 3ﺣﻘﻮﻝ ﻟﻠﻌﺮﺽ ﺑﺎﻟﺘﻘﺮﻳﺮ.
ﺍﻟﻌﺮﺽ ﺑﺎﳊﻘﻮﻝ ﻭﻳﻜﻮﻥ ﺻﻮﺭﺓ ﺍﻟﺘﻘﺮﻳﺮ ﻛﻤﺎ ﻳﻠﻲ":ﺗﻮﺿﺢ ﻋﻨﺎﻭﻳﻦ ﺍﳊﻘﻮﻝ ﻣﺮﺓ ﻭﺍﺣﺪﺓ
ﺃﻋﻠﻲ ﺍﻟﺘﻘﺮﻳﺮ ﻭﲢﺖ ﻣﻨﻬﺎ ﻗﻴﻢ ﺍﻟﺴﺠﻼﺕ".
ﺍﻟﻌﺮﺽ ﺑﺎﻟﺴﺠﻼﺕ ﻭﻳﺘﻢ ﻋﺮﺽ ﺳﺠﻞ ﺳﺠﻞ ﻭﻳﺘﻢ ﻋﺮﺽ ﺍﳊﻘﻮﻝ ﻭﻗﻴﻤﻬﺎ ﻟﻜﻞ ﺳﺠﻞ
:5ﺗﺮﺗﻴﺐ ﺍﻟﺴﺠﻼﺕ :ﻭﻫﻲ ﺧﻄﻮﺓ ﺍﺧﺘﻴﺎﺭﻳـﺔ ﻭﻟﻴﺴﺖ ﺍﺟﺒﺎﺭﻳـﺔ ﻭﻓﻴﻬﺎ ﳔﺘﺎﺭ ﺍﳊﻘﻮﻝ
ﺍﻟﱵ ﻧﺮﻏﺐ ﰲ ﻋﺮﺽ ﺍﻟﺘﻘﺮﻳﺮ ﺑﻨﺎﺀ ﻋﻠﻰ ﺗﺮﺗﻴﺒﻬﺎ ﺍﻟﺘﺼﺎﻋﺪﻱ ﺃﻭ ﺍﻟﺘﻨﺎﺯﱄ.
:06ﺍﻟﻨﻬﺎﻳــﺔ:
ﰲ ﻫﺬﺍ ﺍﻟﺪﺭﺱ ﻧﻨﺘﻘﻞ ﺇﱃ ﻣﺴﺘﻮﻯ ﻣﺘﻮﺳﻂ ﺣﻴﺚ ﻧﺘﺤﺮﻙ ﺇﱃ ﻣﺎ ﻳﺴﻤﻰ ﺑﺎﻟﺘﻄﺒﻴﻖ ﺍﳌﺘﻜﺎﻣﻞ
ﻭﻣﻌﺎﰿ ﺍﻟﺘﻄﺒﻴﻖ ﻫﻮ ﺍﳋﻄﻮﺓ ﺍﻻﻭﱃ ﺇﺫ ﻳﻘﻮﻡ ﺑﺘﺠﻤﻴﻊ ﲨﻴﻊ ﺍﳌﻠﻔﺎﺕ ﺍﻟﻼﺯﻣـﺔ ﻟﻠﺘﻄﺒﻴﻖ
ﺍﳋﺎﺹ Microsoft Visual FoxProﺍﳊﻘﻴﻘــﺔ ﺃﻧﻪ ﻳﻨﺸﺄ
ﻣﺸﺮﻭﻉ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ.
ﰲ ﺍﻟﺼﻨﺪﻭﻕ ﺍﳊﻮﺍﺭﻱ ﺍﻟﺘﺎﱄ ﻳﺘﻢ ﻛﺘﺎﺑــﺔ ﺍﺳﻢ ﺍﳌﺸﺮﻭﻉ ﰲ ﺍﳌﺴﺘﻄﻴﻞ ﺍﻷﻭﻝ ﻭﺳﺘﺠﺪ
ﺃﻥ ﺍﳌﺴﺘﻄﻴﻞ ﺍﻟﺜﺎﱐ ﺳﻴﺘﻢ ﻛﺘﺎﺑــﺔ ﺍﳌﺴﺎﺭ ﺍﻟﻘﺘﺮﺡ ﻟﻠﻤﺸﺮﻭﻉ ﺗﻠﻘﺎﺋﻴﺎ ﻭﺑﺎﻟﻄﺒﻊ ﳝﻜﻨﻚ
ﺗﻐﻴﲑ ﺍﻹﺳﺘﻌﺮﺍﺽ Browse
ﺍﻟﺘﺒﻮﻳﺐ ﺍﻟﻌﺎﻡGeneral:
ﺗﻨﺴﻴﻖ ﺍﻟﺘﻘﺮﻳﺮ
ﺗﻨﺴﻴﻖ ﺍﻟﻨﻤﻮﺫﺝ
ﻹﺿﺎﻓــﺔ ﳕﻮﺫﺝ.
ﺍﻟﺘﺒﻮﻳﺐ :Reports
ﲢﺪﻳﺪ ﻣﺴﺎﺭ
ﻣﻠﻒ ﺍﳌﺴﺎﻋﺪﺓ ﻟﻠﺘﻄﺒﻴﻖ.
ﲢﺪﻳﺪ ﻣﺴﺎﺭ
ﺍﻠﺪ ﺍﻹﻓﺘﺮﺍﺿﻲ ﻟﻠﻤﺸﺮﻭﻉ
ﻓﻨﺘﺤﺼﻞ ﻋﻠﻰ ﻧﺎﻓﺬﺓ ﺍﳌﺸﺮﻭﻉ ﺑﻌﺾ ﺍﻹﻧﺘﻬﺎﺀ ﻧﻘﻮﻡ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ ﺍﻟﺰﺭ
Project Managerﻭﺍﳋﺎﺻــﺔ ﺑﺘﻨﻀﻴﻢ ﻣﺸﺮﻭﻋــﻚ ﻭﺗﻄﺒﻴﻖ
ﻭﺍﻟﺘﻌﺪﻳﻞ ﻋﻠﻴــﻪ.
Source ID Source
0 None
1 Value
2 Alias
3 SQL statement
4 Query (.QPR)
5 Array
6 Fields
7 Files
8 Structure
9 Pop-up
Command • ﺯﺭ
LOCAL n,s,x,y
n=4
s=1
for x = 1 to n
? space(n-x)
FOR y = 1 to s
?? "*"
ENDFOR
s = s + 2
ENDFOR
MESSAGEBOX("حSTUV دXYZ]\ اS^_ `",0,"`")
Command • ﺯﺭ
Label •
Text Box2 •
:ﺍﻟﻜﻮﺩ ﻫﻮ ﻛﺎ ﺍﻟﺘﺎﱄ
LOCAL x,r
r = 0
n1 = VAL(thisform.text1.value)
n2 = VAL(thisform.text2.value)
FOR x = n1 TO n2
r = r + x
NEXT
r = r / ((n2 - n1)+1)
thisform.label1.Caption = STR(r)
Command • ﺯﺭ
:ﺍﻟﻜﻮﺩ ﻫﻮ ﻛﺎ ﺍﻟﺘﺎﱄ
*Programming Bymebarkimouaadh
*Email=mebarkimouaadh@Gmail.com
LOCAL x
FOR x = 1 TO 15
? STR(x) + SPACE(10) + STR(x*x) + SPACE(10)
+ STR(x*x*x)
NEXT
08 :(Functions)ﺍﻟﺪﻭﺍﻝ
09 Structure )ﻣﻔﻬﻮﻡ ﺍﻟﱪﳎﺔ ﺍﳍﻴﻜﻠﻴــﺔ
:(Programming
ﰎ ﲝﻤﺪ ﺍﷲ ﰲ 2015/07/2
mebarkimouaadh@Gmail.com