Professional Documents
Culture Documents
Lesson 9
Lesson 9
ﺍﻟﺪﺭﺱ )(9
إﻋﺪاد:
O. M. Fares
Tripoli-Libya
August 2009
O. M. Fares دروس ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﻠﻐﺔ دﻟﻔﻲ /اﻟﺪرس )(9
9
دروس ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﻠﻐﺔ دﻟﻔﻲ
ﻛﺎﺋﻦ ﯾﺴﺘﺨﺪم ﻹﻇﮭﺎر ﻗﺎﺋﻤﺔ ﻣﻦ اﻟﺨﯿﺎرات ﯾﻤﻜﻦ ﻟﻠﻤﺴﺘﺨﺪم اﺧﺘﯿﺎرھﺎ أو إﺿﺎﻓﺔ ﺑﻨﺪ
ListBox
إﻟﯿﮭﺎ أو ﺣﺬف ﺑﻨﺪ ﻣﻨﮭﺎ.
2
O. M. Fares (9) اﻟﺪرس/دروس ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﻠﻐﺔ دﻟﻔﻲ
( وھﻲ ﻏﯿﺮ ﻣﻮﺟﻮدة ﻓﻲ ﻧﺎﻓﺬةInteger) وھﻲ ﺧﺎﺻﯿﺔ ﻟﻠﻘﺮاءة ﻓﻘﻂ ﻣﻦ ﻧﻮعItemIndex اﻟﺨﺎﺻﯿﺔ ·
ﺟﺮب اﻟﻜﻮد اﻟﺘﺎﻟﻲ ﻓﻲ.اﻟﺨﺼﺎﺋﺺ وﯾﻤﻜﻦ اﺳﺘﺨﺪاﻣﮭﺎ ﻟﺘﺤﺪﯾﺪ رﻗﻢ اﻟﺒﻨﺪ اﻟﺬي ﯾﺘﻢ اﺧﺘﯿﺎره ﺑﻮاﺳﻄﺔ اﻟﻔﺄرة
.( ﻓﻲ ﺷﺮﯾﻂ اﻟﻌﻨﻮانIndex) ﻋﻨﺪ اﺧﺘﯿﺎر أي ﺑﻨﺪ ﯾﻈﮭﺮ.(ListBox1 ) ( ﻟﻠﻜﺎﺋﻦOnClick) اﻟﺤﺪث
( وﺗﺴﺘﺨﺪم ھﺬه اﻟﺨﺎﺻﯿﺔ ﻹﺿﺎﻓﺔ أو ﺣﺬف أو ﺗﻌﺪﯾﻞ ﺑﻨﺪ ﻓﻲTString) وھﻲ ﻣﻦ ﻧﻮعItems اﻟﺨﺎﺻﯿﺔ ·
وﺗﺤﺘﻮي ﻋﻠﻰ ﻧﻔﺲ.(Memo) ( ﻓﻲ اﻟﻜﺎﺋﻦLines) وھﻲ ﺗﺸﺒﮫ اﻟﺨﺎﺻﯿﺔ.(ListBox) اﻟﻜﺎﺋﻦ
اﻟﺠﺪول اﻟﺘﺎﻟﻲ ﯾﺒﯿﻦ ﺑﺎﺧﺘﺼﺎر.1 (Memo) ( ﻓﻲ اﻟﻜﺎﺋﻦLines) اﻹﺟﺮاءات واﻟﻮﻇﺎﺋﻒ ﻓﻲ اﻟﺨﺎﺻﯿﺔ
.ﺑﻌﺾ اﻹﺟﺮاءات واﻟﻮﻇﺎﺋﻒ ﻣﻊ اﻷﻣﺜﻠﺔ
3
O. M. Fares دروس ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﻠﻐﺔ دﻟﻔﻲ /اﻟﺪرس )(9
اﻟﺨﺎﺻﯿﺔ MultiSelectوھﻲ ﺧﺎﺻﯿﺔ ﻣﻦ ﻧﻮع ) (Booleanوﺗﺤﺪد إﻣﻜﺎﻧﯿﺔ اﺧﺘﯿﺎر أﻛﺜﺮ ﻣﻦ ﺑﻨﺪ ﻓﻲ ·
ﻧﻔﺲ اﻟﻮﻗﺖ .ﻓﻲ ﺣﺎﻟﺔ ) (Trueﯾﻤﻜﻦ اﺧﺘﯿﺎر أﻛﺜﺮ ﻣﻦ ﺑﻨﺪ ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ .ﻓﻲ ﺣﺎﻟﺔ ) (Falseﻻ ﯾﻤﻜﻦ
2
اﺧﺘﯿﺎر أﻛﺜﺮ ﻣﻦ ﺑﻨﺪ ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ.
اﻟﺨﺎﺻﯿﺔ SelCountوھﻲ ﺧﺎﺻﯿﺔ ﻣﻦ ﻧﻮع ) (Integerوﺗﺤﺪد ﻋﺪد اﻟﺒﻨﻮد اﻟﺘﻲ ﺗﻢ اﺧﺘﯿﺎرھﺎ ﻓﻲ ﺣﺎﻟﺔ ·
ﻛﺎﻧﺖ اﻟﺨﺎﺻﯿﺔ ) (MultiSelectﻗﯿﻤﺘﮭﺎ ).(True
اﻟﺨﺎﺻﯿﺔ Selectedوھﻲ ﺧﺎﺻﯿﺔ ﻣﻦ ﻧﻮع ) (Booleanوﺗﺤﺪد ﻣﺎ إذا ﻛﺎن ﺑﻨﺪ ﻣﻌﯿﻦ ﻗﺪ ﺗﻢ اﺧﺘﯿﺎره أم ·
ﻻ .اﻟﻜﻮد اﻟﺘﺎﻟﻲ ﻣﻜﺘﻮب ﻓﻲ اﻟﺤﺪث ) (OnClickوﯾﻈﮭﺮ رﺳﺎﻟﺔ ) (item 1 selectedﻓﻲ ﺣﺎﻟﺔ ﺗﻢ
اﺧﺘﯿﺎر اﻟﺒﻨﺪ رﻗﻢ ) .(1
اﻟﺨﺎﺻﯿﺔ Sortedﻓﻲ ﺣﺎﻟﺔ أردت ﺗﺮﺗﯿﺐ ﺑﻨﻮد ) (ListBoxھﺠﺎﺋﯿﺎ اﺟﻌﻞ ھﺬه اﻟﺨﺎﺻﯿﺔ ﺗﺴﺎوي ·
).(True
4
O. M. Fares دروس ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﻠﻐﺔ دﻟﻔﻲ /اﻟﺪرس )(9
ﺗﺴﺘﺨﺪم ﻛﺸﺮﯾﻂ إزاﺣﺔ ﻟﻜﺎﺋﻦ ) (Listأو ) .(Formﯾﻤﻜﻦ أﯾﻀﺎ ھﺬا اﻟﻜﺎﺋﻦ ﻟﻠﺘﺤﺮك
ScrollBar
ﺑﯿﻦ ﻣﺪى ﻣﻦ اﻟﻘﯿﻢ.
ھﻨﺎك اﻟﻌﺪﯾﺪ ﻣﻦ اﻟﻜﺎﺋﻨﺎت اﻟﺘﻲ ﻟﯿﺲ ﻟﺪﯾﮭﺎ ﺷﺮﯾﻂ إزاﺣﺔ ﻟﺪﯾﮭﺎ ﺧﺎﺻﯿﺔ إﺿﺎﻓﺔ ) (ScrollBarﺑﺤﯿﺚ ﯾﻤﻜﻦ اﺳﺘﺨﺪام
) (ScrollBarﻟﻠﺘﺤﻜﻢ ﻓﻲ ﻋﺮض اﻟﻜﺎﺋﻦ .ﯾﺤﺘﻮي اﻟﻜﺎﺋﻦ ) (ScrollBarﻋﻠﻰ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺨﺼﺎﺋﺺ أھﻤﮭﺎ:
· اﻟﺨﺎﺻﯿﺔ Kindﺗﺤﺪد ﻧﻮع ﺷﺮﯾﻂ اﻹزاﺣﺔ )أﻓﻘﻲ أو رأﺳﻲ( وﺗﺄﺧﺬ إﺣﺪى اﻟﻘﯿﻤﺘﯿﻦ:
sbHorizontal oﺷﺮﯾﻂ إزاﺣﺔ أﻓﻘﻲ.
ﺷﺮﯾﻂ إزاﺣﺔ رأﺳﻲ. sbVertical o
· اﻟﺨﺎﺻﯿﺔ LargeChangeوھﻲ ﻣﻦ ﻧﻮع ) (Integerوﺗﺤﺪد ﻣﻘﺪار اﻟﺘﻐﯿﯿﺮ ﻓﻲ ﻣﻮﻗﻊ ﺷﺮﯾﻂ اﻹزاﺣﺔ ﻓﻲ
ﻛﻼ اﻻﺗﺠﺎھﯿﻦ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﯿﮫ ﺑﻤﺆﺷﺮ اﻟﻔﺄرة.
· اﻟﺨﺎﺻﯿﺔ SmallChangeوھﻲ ﻣﻦ ﻧﻮع ) (Integerوﺗﺤﺪد ﻣﻘﺪار اﻟﺘﻐﯿﯿﺮ ﻓﻲ ﻣﻮﻗﻊ ﺷﺮﯾﻂ اﻹزاﺣﺔ ﻓﻲ
ﻛﻼ اﻻﺗﺠﺎھﯿﻦ ﻋﻨﺪ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺰر اﻟﺴﮭﻢ )► .(◄ /
· اﻟﺨﺎﺻﯿﺔ Maxوھﻲ ﻣﻦ ﻧﻮع ) (Integerوﺗﺤﺪد اﻟﺤﺪ اﻷﻗﺼﻰ ﻟﺸﺮﯾﻂ اﻹزاﺣﺔ.
· اﻟﺨﺎﺻﯿﺔ Minوھﻲ ﻣﻦ ﻧﻮع ) (Integerوﺗﺤﺪد اﻟﺤﺪ اﻷدﻧﻰ ﻟﺸﺮﯾﻂ اﻹزاﺣﺔ.
· اﻟﺨﺎﺻﯿﺔ Positionوھﻲ ﻣﻦ ﻧﻮع ) (Integerوﺗﺤﺪد اﻟﻤﻮﻗﻊ اﻟﺤﺎﻟﻲ ﻟﺸﺮﯾﻂ اﻹزاﺣﺔ.
ھﻮ ﻋﺒﺎرة ﻋﻦ ﻛﺎﺋﻦ ﯾﻤﺜﻞ ﻧﺎﻓﺬة ﻋﻠﻰ اﻟﻔﻮرم ،وﺗﺴﺘﺨﺪم ﻟﺘﺠﻤﯿﻊ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻜﺎﺋﻨﺎت
اﻟﻤﺮﺗﺒﻄﺔ ﻣﻌﺎ ،وﺗﻌﺘﺒﺮ ﻛﺎﺋﻨﺎت ) (RadioButtonﻣﻦ أﻛﺜﺮ اﻟﻜﺎﺋﻨﺎت اﻟﻤﺮﺗﺒﻄﺔ GroupBox
ﺑﺒﻌﻀﮭﺎ اﺳﺘﺨﺪاﻣﺎ.
ﻋﻨﺪ وﺿﻊ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻜﺎﺋﻨﺎت ﻋﻠﻰ ) (GroupBoxﻓﺈن اﻟﻜﺎﺋﻦ ) (GroupBoxﯾﺼﺒﺢ ﺑﻤﺜﺎﺑﺔ ) (Parentﻟﮭﺬه
اﻟﻜﺎﺋﻨﺎت.
وھﻮ ﺷﺒﯿﮫ ﺑﺎﻟﻜﺎﺋﻦ ) (GroupBoxوﯾﺴﺘﺨﺪم ﻹﻧﺸﺎء ﻧﺎﻓﺬة ﻋﻠﻰ اﻟﻔﻮرم ﺗﺤﺘﻮي ﻋﻠﻰ
RadioGroup
ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﻛﺎﺋﻨﺎت ) (RadioButtonsوﺗﺠﻌﻠﮭﺎ ﺗﻌﻤﻞ ﻣﻌﺎ.
ﻋﺒﺎرة ﻋﻦ ﻟﻮﺣﺔ ﺗﻮﺿﻊ ﻋﻠﻰ اﻟﻔﻮرم وﯾﻤﻜﻦ أن ﺗﺤﺘﻮي ﻋﻠﻰ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻜﺎﺋﻨﺎت
Panel
اﻷﺧﺮى.
5
O. M. Fares دروس ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﻠﻐﺔ دﻟﻔﻲ /اﻟﺪرس )(9
ھﺬا اﻟﻜﺎﺋﻦ ﯾﺴﺎﻋﺪ ﻓﻲ ﺗﺤﺴﯿﻦ ﺷﻜﻞ واﺟﮭﺔ اﻟﺘﻄﺒﯿﻖ وﺗﻨﻈﯿﻢ اﻟﻜﺎﺋﻨﺎت ﻋﻠﻰ اﻟﻔﻮرم وﯾﻌﻄﻰ ﻣﻈﮭﺮ ذو ﺣﻮاف ﺛﻼﺛﯿﺔ
اﻷﺑﻌﺎد ﺣﻮل اﻟﻜﺎﺋﻨﺎت.
ﻣﻦ ﺧﺼﺎﺋﺺ ھﺬا اﻟﻜﺎﺋﻦ:
· اﻟﺨﺎﺻﯿﺔ Alignmentھﺬه اﻟﺨﺎﺻﯿﺔ ﺗﺤﺪد وﺿﻌﯿﺔ اﻟﻌﻨﻮان داﺧﻞ اﻟﻜﺎﺋﻦ ) (Panelوﯾﻤﻜﻦ أن ﺗﻜﻮن
إﺣﺪى اﻻﺣﺘﻤﺎﻻت اﻟﺘﺎﻟﯿﺔ:
taLeftJustify oﻣﺤﺎذاة إﻟﻰ اﻟﯿﺴﺎر.
ﻣﺤﺎذاة إﻟﻰ اﻟﻮﺳﻂ. taCenter o
taRightJustify oﻣﺤﺎذاة إﻟﻰ اﻟﯿﻤﯿﻦ.
· اﻟﺨﺎﺻﯿﺔ BevelInnerﺗﺤﺪد ﻧﻮع اﻟﺤﺎﻓﺔ اﻟﺪاﺧﻠﯿﺔ ﻟﻠـ).(Panel
· اﻟﺨﺎﺻﯿﺔ BevelOuterﺗﺤﺪد ﻧﻮع اﻟﺤﺎﻓﺔ اﻟﺨﺎرﺟﯿﺔ ﻟﻠـ).(Panel
وﻛﻼ اﻟﺨﺎﺻﯿﺘﯿﻦ اﻟﺴﺎﺑﻘﺘﯿﻦ ﯾﻤﻜﻦ أن ﺗﻜﻮن إﺣﺪى ھﺬه اﻻﺣﺘﻤﺎﻻت:
bvNone oﺑﺪون ﺣﺎﻓﺔ.
bvLowered oاﻟﺤﺎﻓﺔ ﺗﻈﮭﺮ إﻟﻰ اﻷﺳﻔﻞ.
bvRaised oاﻟﺤﺎﻓﺔ ﺑﺎرزة ﻟﻸﻋﻠﻰ.
bvSpace oﺗﻈﮭﺮ اﻟﺤﺎﻓﺔ ﻋﻠﻰ ھﯿﺌﺔ ﻓﺮاغ.
· اﻟﺨﺎﺻﯿﺔ BevelWidthﺗﺤﺪد ﻋﺮض اﻟﺤﺎﻓﺔ اﻟﺪاﺧﻠﯿﺔ واﻟﺨﺎرﺟﯿﺔ ﺑﺎﻟﺒﻜﺴﻞ.
· اﻟﺨﺎﺻﯿﺔ BorderStyleﺗﺤﺪد ﻧﻤﻂ اﻟﺨﻂ اﻟﻤﺤﯿﻂ ﺑﺎﻟﻜﺎﺋﻦ ) (Panelإﻣﺎ:
bsNone oﻻ ﯾﻮﺟﺪ ﺣﺪ ﻇﺎھﺮ.
bsSingle oﯾﻮﺟﺪ ﺣﺪ ﻋﻠﻰ ھﯿﺌﺔ ﺧﻂ ﻣﺤﯿﻂ ﺑﺎﻟﻜﺎﺋﻦ.
اﻟﺨﺎﺻﯿﺔ BorderWidthوھﻲ ﻣﻦ ﻧﻮع ) (Integerوﺗﺤﺪد اﻟﻤﺴﺎﻓﺔ ﺑﯿﻦ اﻟﺤﺎﻓﺔ اﻟﺪاﺧﻠﯿﺔ واﻟﺤﺎﻓﺔ اﻟﺨﺎرﺟﯿﺔ
ﺑﺎﻟﺒﻜﺴﻞ.
إﻟﻰ ھﻨﺎ ﯾﻨﺘﮭﻲ اﻟﺪرس اﻟﺘﺎﺳﻊ ﻣﻦ دروس ﻓﻲ اﻟﺒﺮﻣﺠﺔ ﺑﻠﻐﺔ دﻟﻔﻲ ،ارﺟﻮا ﻣﻦ اﷲ اﻟﻌﻠﻲ اﻟﻘﺪﯾﺮ أن ﯾﻜﻮن ھﺬا اﻟﺪرس
واﺿﺤﺎ ﻟﻠﺠﻤﯿﻊ ،وإذا ﻛﺎن ﻟﺪﯾﻜﻢ أي اﺳﺘﻔﺴﺎرات أو اﻗﺘﺮاﺣﺎت ﻓﺎرﺟﻮا أن ﻻ ﺗﺘﺮددوا ﻓﻲ ﻃﺮﺣﮭﺎ.
ﻧﻠﺘﻘﻲ ﻓﻲ دروس أﺧﺮى إن ﺷﺎء اﷲ .ﺷﻜﺮا!...
6