آﻣﻮزش وﻳﮋوال ﺑﻴﺴﻴﻚ 6 ﻧﺎم ﻛﺘﺎبBeginning Visual Basic 6 : ﻣﺤﻞ ﻧﺸﺮ :ﺷﻬﺮك ﻛﺎروان )رﺿﻮﻳﻪ( ﻧﻮﻳﺴﻨﺪهMeisam.Mor : ﻧﺎﺷﺮ IR‐E‐Book : ﺳﺎل ﭼﺎپ1385 :
ﺻﻔﺤﻪ١ :
ﭘﻴﺸﮕﻔﺘﺎر ﻛﺘــﺎﺑﻲ ﻛــﻪ ﻫــﻢ اﻛﻨــﻮن در ﺣــﺎل ﻣﻄﺎﻟﻌــﻪ آن ﻫــﺴﺘﻴﺪ ﺑﺮﮔﺮﻓﺘــﻪ ﺷــﺪه از ﭼﻨــﺪﻳﻦ ﻛﺘــﺎب داﺧﻠــﻲ و ﺧــﺎرﺟﻲ ﻣﻲﺑﺎﺷﺪ)ﺑﺮاي ﻣﺸﺎﻫﺪهي ﻣﻨﺎﺑﻊ ،ﺑﻪ آﺧﺮﻳﻦ ﺑﺨﺶ از اﻳﻦ ﻛﺘﺎب ﻣﺮاﺟﻌﻪ ﻛﻨﻴﺪ( .اﻳـﻦ ﻛﺘـﺎب ،در ﻣﻘﺎﻳـﺴﻪ ﺑـﺎ ﻛـﺎﻣﻼ راﻳﮕـﺎن اراﺋـﻪ دﻳﮕﺮ ﻛﺘﺎﺑﻬﺎي ﻣﻮﺟﻮد در وب ،ﺑﺴﻴﺎر ﻛﺎﻣﻠﺘﺮ و ﻏﻨﻲﺗﺮ ﻣﻲﺑﺎﺷﺪ .اﻳﻦ ﻛﺘﺎب ﺑﻪ ﺻـﻮرت ً ﺷﺪه اﺳﺖ ,در ﻧﺘﻴﺠﻪ ﺗﻌﻴﻴﻦ ﻛﭙﻲ راﻳﺖ ﺑﺮاي آن ،اﻣﺮي ﻏﻴﺮ ﻣﻌﻤﻮل ﺑﻪ ﻧﻈﺮ ﻣﻲرﺳﺪ. اﻣﺎ در ﺻﻮرت ﺑﺮوز ﻫﺮﮔﻮﻧﻪ ﻣﺸﻜﻞ در راﺑﻄﻪ ﺑﺎ اﻳﻦ ﻛﺘﺎب و ﻳﺎ در ﻣﻴﺎن ﮔﺬاﺷﺘﻦ ﻧﻈﺮات ،ﭘﻴـﺸﻨﻬﺎدات و اﻧﺘﻘﺎدات ،ﻣﻲﺗﻮاﻧﻴﺪ از ﻃﺮﻳﻖ زﻳﺮ ﺑﺎ ﻣﻦ در ارﺗﺒﺎط ﺑﺎﺷﻴﺪ:
http://Ir-E-Book.BlogFa.com
[email protected]
ﺻﻔﺤﻪ٢ :
ﻓﺼﻞ اول آﺷﻨﺎﻳﻲ ﺑﺎ وﻳﮋوال ﺑﻴﺴﻴﻚ
ﺻﻔﺤﻪ٣ :
آﺷﻨﺎﻳﻲ ﺑﺎ ﺗﺎرﻳﺨﭽﻪي زﺑﺎن ﺑﻴﺴﻴﻚ Basicﺳﺮﻧﺎم ﻛﻠﻤﺎت Beginner's All‐purpose Symbolic Instruction Code و ﺑﻪ ﻣﻌﻨﻲ زﺑﺎن ﻫﻤﻪﻣﻨﻈـﻮره ﺑـﺮاي اﻓـﺮاد ﻣﺒﺘـﺪي اﺳـﺖ .اﻳـﻦ زﺑـﺎن ﺑﺮﻧﺎﻣـﻪﻧﻮﻳـﺴﻲ ،ﺑـﻪ دﻟﻴـﻞ ﺳـﺎدﮔﻲ ﺳﺎﺧﺘﺎري ،از ﻣﺤﺒﻮﺑﻴﺖ زﻳﺎدي ﺑﺮﺧﻮردار اﺳﺖ .زﺑـﺎن ﺑﺮﻧﺎﻣـﻪﻧﻮﻳـﺴﻲ ﺑﻴـﺴﻴﻚ در ﺳـﺎل 1964ﻣـﻴﻼدي ،ﺑـﻪ وﺳـﻴﻠﻪي ﺟــﺎن ﻛﻨــﻲ و ﺗﻮﻣــﺎس ﻛـﻮرﺗﺲ در داﻧــﺸﻜﺪه دارﺗﻤــﻮث ﭘﺪﻳــﺪ آﻣـﺪ .اﻳــﻦ زﺑــﺎن ،ﻧﺨــﺴﺘﻴﻦ زﺑــﺎن ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﻧﺒﻮد وﻟﻲ ﻫﺪف آن ،ﻓﺮاﻫﻢ ﻛﺮدن ﻳﻚ زﺑﺎن ﺳﺎده ﺑﺮاي داﻧﺸﺠﻮﻳﺎن رﺷﺘﻪﻫﺎي ﻣﺨﺘﻠﻒ ﺑـﻮد. ﺗﺎ ﺑﻪ اﻣﺮوز ﻧﺴﺨﻪﻫﺎي ﻣﺘﻌﺪدي از زﺑﺎن ﺑﻴﺴﻴﻚ اراﻳﻪ ﺷﺪه اﺳﺖ ﻛﻪ ﻣﻲﺗﻮان ﺑﻪ: GW BASICA, BASICA, ANSI BASIC, QBASICو QUICK BASICاﺷﺎره ﻛﺮد. زﺑﺎن ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﺑﻴﺴﻴﻚ ﺑﺎ اراﺋﻪ وﻳﮋوال ﺑﻴﺴﻴﻚ ﺟﺎن ﺗﺎزهاي ﮔﺮﻓﺖ و دوﺑـﺎره روﻧـﻖ ﻳﺎﻓـﺖ و ﺑﻴـﺸﺘﺮ ﻛﺎرﺑﺮان ﺑﻪ دﻟﻴﻞ ﺳﻬﻮﻟﺖ ،اﻳﻦ زﺑﺎن را ﺑﺮاي ﻳﺎدﮔﻴﺮي اﻧﺘﺨﺎب ﻧﻤﻮدﻧﺪ.
--------------وﻳﺮاﻳﺶﻫﺎي ﻣﺨﺘﻠﻒ وﻳﮋوال ﺑﻴﺴﻴﻚ وﻳــﺮاﻳﺶ آﻣﻮزﺷــﻲ ﻳــﺎ ،Learning Editionاﺑﺘــﺪاﻳﻲ و ﺳــﺎدهﺗــﺮﻳﻦ وﻳــﺮاﻳﺶ وﻳــﮋوال ﺑﻴــﺴﻴﻚ ﻣﻲﺑﺎﺷﺪ .در اﻳﻦ وﻳﺮاﻳﺶ ،اﺑﺰار ﺧﺎﺻﻲ در اﺧﺘﻴﺎر ﺷﻤﺎ ﻗﺮار ﻧﻤﻲﮔﻴـﺮد .اﻳـﻦ وﻳـﺮاﻳﺶ ﮔﺰﻳﻨـﻪاي ﻣﻨﺎﺳـﺐ، ﺑﺮاي اﻓﺮاد ﻣﺒﺘﺪي ﻣﻲﺑﺎﺷﺪ. وﻳﺮاﻳﺶ ﺣﺮﻓﻪاي ﻳﺎ ،Professional Editionﺑﺮاي ﺣﺮﻓﻪايﻫﺎ ﻃﺮاﺣﻲ ﺷﺪه اﺳـﺖ .اﻳـﻦ ﻧـﺴﺨﻪ، وﻳـــﺮاﻳﺶ آﻣﻮزﺷـــﻲ را ﺑـــﺎ اﺑﺰارﻫـــﺎي ﺑﻴـــﺸﺘﺮ ﺑـــﻪ ﻃـــﻮر ﻛﺎﻣـــﻞ ﺗﺤـــﺖ ﭘﻮﺷـــﺶ ﻗـــﺮار ﻣـــﻲدﻫـــﺪ. وﻳﺮاﻳﺶ ﺗﺠﺎري ﻳﺎ ،Enterprise Editionﻛﺎﻣـﻞﺗـﺮﻳﻦ و در ﻋـﻴﻦ ﺣـﺎل ﻣﺤﺒـﻮبﺗـﺮﻳﻦ وﻳـﺮاﻳﺶ وﻳﮋوال ﺑﻴﺴﻴﻚ ﻣﻲﺑﺎﺷﺪ .وﻳﺮاﻳﺸﻲ ﻛﻪ ﻫﻢ ﻛﺎرﺑﺮان ﺣﺮﻓﻪاي و ﻫﻢ ﻛﺎرﺑﺮان ﻣﺒﺘﺪي از آن اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ.
---------------
ﺻﻔﺤﻪ٤ :
ﮔﺬري ﺑﺮ وﻳﮋﮔﻲﻫﺎي وﻳﮋوال ﺑﻴﺴﻴﻚ ← ﻧﺰدﻳﻜﻲ ﺑﻪ زﺑﺎن ﻣﺎﺷﻴﻦ: وﻳﮋوال ﺑﻴﺴﻴﻚ ﺟﺰو زﺑﺎﻧﻬﺎي ﺳﻄﺢ ﺑﺎﻻ 1ﻣـﻲﺑﺎﺷـﺪ .زﺑﺎﻧﻬـﺎي ﺳـﻄﺢ ﺑـﺎﻻ ،زﺑـﺎنﻫـﺎﻳﻲ ﻫـﺴﺘﻨﺪ ﻛـﻪ ﺑـﻪ زﺑـﺎن ﻣﺤﺎورهاي اﻧﮕﻠﻴﺴﻲ ﻧﺰدﻳﻚ ﻫﺴﺘﻨﺪ ﺑﻪ ﻫﻤﻴﻦ دﻟﻴـﻞ ،ﺑﺎﻳـﺪ ﺑـﻪ وﺳـﻴﻠﻪي ﻛﺎﻣﭙﺎﻳﻠﺮﻫـﺎ و ﻣﻔـﺴﺮﻫﺎ 2ﻛـﻪ ﻧـﻮﻋﻲ ﻣﺘﺮﺟﻢ زﺑﺎن ﻫﺴﺘﻨﺪ ،ﺑﻪ زﺑﺎن ﻣﺎﺷﻴﻦ ﺗﺒﺪﻳﻞ ﺷﻮﻧﺪ. ← راﺑﻂ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ: راﺑﻂﻫﺎي ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﺑﻪ دو دﺳﺘﻪ ﺗﻘـﺴﻴﻢ ﻣـﻲﺷـﻮﻧﺪ :ﻳـﻚ :ﺑـﺮ ﻣﺒﻨـﺎي ﻣـﺘﻦ 3دو :ﻣﺒﺘﻨـﻲ ﺑـﺮ ﮔﺮاﻓﻴـﻚ .4 زﺑﺎﻧﻬﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﺘﻦ ،ﻛﺎرﺑﺮ اﻣﻜﺎن دﺳﺘﺮﺳﻲ ﻣـﺴﺘﻘﻴﻢ ﺑـﻪ ﮔﺮاﻓﻴـﻚ را ﻧـﺪارد .ﻣﺎﻧﻨـﺪ زﺑـﺎن Cﻛـﻪ ﺗﻮﺳـﻂ دﻧﻴﺲ رﻳﭽﻲ در ﺳﺎل 1972ﻧﻮﺷﺘﻪ ﺷﺪ. زﺑﺎﻧﻬﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﮔﺮاﻓﻴﻚ ﻳﺎ وﻳﮋوال ،اﻣﻜﺎن دﺳﺘﺮﺳﻲ ﻣﺴﺘﻘﻴﻢ ﻛﺎرﺑﺮ ﺑﻪ ﮔﺮاﻓﻴﻚ را ﻓﺮاﻫﻢ ﻣﻲآورﻧﺪ .ﻳﻌﻨﻲ اول ﻃﺮاﺣﻲ و ﺳﭙﺲ ﻛﺪﻧﻮﻳﺴﻲ ﺑﺮﻧﺎﻣﻪ ﺻﻮرت ﻣﻲﮔﻴﺮد .ﻣﺎﻧﻨﺪ :وﻳﮋوال ﺑﻴﺴﻴﻚ ← ﻣﺤﻴﻂ ﺳﺎده: وﻳﮋوال ﺑﻴﺴﻴﻚ ﻣﺤﻴﻄﻲ ﺑﺴﻴﺎر ﺳﺎده دارد .اﻳﻦ ﻣﺤـﻴﻂ ﻛـﻪ ﻳﻜـﻲ از ﻣﺤـﻴﻂﻫـﺎي ﺗﻮﺳـﻌﻪﻳﺎﻓﺘـﻪي ﻣﺠﺘﻤـﻊ ﻳﻌﻨـﻲ IDE 5ﻣﻲﺑﺎﺷﺪ ،ﺑﻪ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﺎن اﻳﻦ اﻣﻜﺎن را ﻣﻲدﻫﺪ ﻛﻪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﺗﺤﺖ وﻳﻨﺪوز ﺧﻮد را ﺑﺪون ﻧﻴﺎز ﺑﻪ اﺳﺘﻔﺎده از ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي دﻳﮕـﺮ اﻳﺠـﺎد ،اﺟـﺮا و ﺧﻄﺎﻳـﺎﺑﻲ ﻛﻨﻨـﺪ .اﻳـﻦ ﻣﺤـﻴﻂ ﻫﻤﭽﻨـﻴﻦ اﻣﻜـﺎن ﻧﻮﺷـﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﺗﺤﺖ وﻳﻨﺪوز را ﺣﺘﻲ ﺑﻪ ﻛﺴﺎﻧﻲ ﻛﻪ آﺷﻨﺎﻳﻲ ﭼﻨﺪاﻧﻲ ﺑﺎ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ وﻳﻨﺪوز ﻧﺪارﻧﺪ ﻣﻲدﻫﺪ.
--------------ﻣﻔﺎﻫﻴﻢ ﺑﻨﻴﺎدي ﻗﺒﻞ از ﺷﺮوع ﻫﺮ ﻛﺎري ﻻزم اﺳﺖ ﺗﺎ ﺑﺎ ﺑﺮﺧﻲ از ﻣﻔﺎﻫﻴﻢ و اﺻﻄﻼﺣﺎت آﺷﻨﺎ ﺑﺸﻮﻳﺪ .ﻫﺮ ﭼﻪ ﺟﻠﻮﺗﺮ ﺑﺮوﻳﺪ ﺑﺎ اﺻﻄﻼﺣﺎت ﺑﻴﺸﺘﺮي آﺷﻨﺎ ﺧﻮاﻫﻴﺪ ﺷﺪ. High‐Level Languages 1 Interpreters 2 Text‐Based 3 Graphical Based 4 Integrated Development Environment 5
ﺻﻔﺤﻪ٥ :
ﻓﺮم: در وﻳﮋوال ﺑﻴﺴﻴﻚ ،ﻳﻚ ﭘﻨﺠﺮه ،ﻓﺮم ﻧﺎﻣﻴﺪه ﻣﻲﺷﻮد .ﻫﺮ ﻓﺮم ﺷﺎﻣﻞ ﻳﻚ ﻧﻮار ﻋﻨﻮان در ﻗﺴﻤﺖ ﺑﺎﻻي ﺧﻮد ﻣﻲﺑﺎﺷﺪ .اﻳﻦ ﻓﺮم اﺳﺎس راﺑﻂ ﮔﺮاﻓﻴﻜﻲ ﻳﻚ ﺑﺮﻧﺎﻣﻪي ﻛﺎرﺑﺮدي ﻣﻲﺑﺎﺷﺪ .ﺑﺮﺧﻲ از ﺑﺮﻧﺎﻣﻪﻫﺎ از ﻳﻚ ﻓﺮم و ﺑﺮﺧﻲ دﻳﮕﺮ از دو ﻳﺎ ﺑﻴﺸﺘﺮ از دو ﻓﺮم اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ.
ﻛﻨﺘﺮل: ﺷﻴﺌﻲ ﻛﻪ ﻣﻲﺗﻮان در زﻣﺎن ﻃﺮاﺣﻲ ﻳﺎ اﺟﺮا ،ﺑﺮاي ﻧﻤﺎﻳﺶ ﻳﺎ ﺗﻐﻴﻴﺮ دادهﻫﺎ روي آن ﻋﻤﻠﻴﺎﺗﻲ اﻧﺠﺎم داد. ﻫﺮ ﻳﻚ از اﻳﻦ ﺷﻲءﻫﺎ ﺷﺎﻣﻞ ﺷﻤﺎﻳﻞ ﮔﺮاﻓﻴﻜﻲ 1ﻣﺨﺼﻮص ﺑﻪ ﺧﻮد ﻫﺴﺘﻨﺪ .
ﺷﻲء: ﻳﻚ ﺗﺮﻛﻴﺐ از ﻛﺪﻫﺎ و دادهﻫﺎ ﻛﻪ ﻣﻲﺗﻮان روي آن ﻛﺎر ﻛﺮد .ﺷﻲءﻫﺎ ﺷﺎﻣﻞ ﻣﺸﺨﺼﻪﻫﺎ و ﻣﺘﺪﻫﺎ ﺑﻮده و ﺑﻪ وﺳﻴﻠﻪي ﻛﻼس ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮﻧﺪ.
ﻣﺸﺨﺼﻪﻫﺎ: ﻫﺮ ﺷﻲء ﺷﺎﻣﻞ ﻣﺸﺨﺼﻪﻫﺎﻳﻲ 2اﺳﺖ ﻛﻪ ﺑﻪ ﻃﻮر ﻛﺎﻣﻞ ﻇﺎﻫﺮ و رﻓﺘﺎر آن را ﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﺪ .ﺗﻤﺎﻣﻲ اﻳﻦ ﺧﺼﻮﺻﻴﺎت و ﻣﺸﺨﺼﻪﻫﺎ در ﭘﻨﺠﺮهي Propertiesﺟﻤﻊ ﻣﻲﺷﻮﻧﺪ.
آرﮔﻮﻣﺎن: دادهﻫﺎي ارﺳﺎل ﺷﺪه ﺑﻪ ﻳﻚ روال را آرﮔﻮﻣﺎن 3ﮔﻮﻳﻨﺪ .آرﮔﻮﻣﺎن ﻣﻲﺗﻮاﻧﺪ ﻳﻚ ﺛﺎﺑﺖ ،ﻣﺘﻐﻴﺮ ﻳﺎ ﻋﺒﺎرت دﻳﮕﺮي ﺑﺎﺷﺪ.
روال: ﺑﻼﻛﻲ از ﻛﺪ ﻛﻪ ﻣﻲﺗﻮاﻧﺪ از درون ﻳﻚ ﺑﺮﻧﺎﻣﻪي ﻛﺎرﺑﺮدي ﻓﺮاﺧﻮاﻧﻲ ﺷﻮد .ﻳﻚ روال ﻣﻤﻜﻦ اﺳﺖ ﺑﺮاي ﺗﻌﻴﻴﻦ ﻣﺤﻞ ﺷﻲءﻫﺎ روي ﻓﺮم ﻳﺎ ﺑﺮاي ﻣﺤﺎﺳﺒﻪي اﻃﻼﻋﺎت از ﻣﺠﻤﻮﻋﻪي دادهﻫﺎي ﻛﺎرﺑﺮ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد.
ﭘﺮوژه: ﻣﺠﻤﻮﻋﻪاي از ﻓﺮمﻫﺎ و ﻣﺪولﻫﺎ ﻛﻪ ﻳﻚ ﺑﺮﻧﺎﻣﻪي ﻛﺎرﺑﺮدي را اﻳﺠﺎد ﻣﻲﻛﻨﻨﺪ.
-------------- Icon 1 Properties 2 Argument 3
ﺻﻔﺤﻪ٦ :
اﻫﻤﻴﺖ راﺑﻂِ ﮔﺮاﻓﻴﻜﻲ ،ﻇﺎﻫﺮ ﺑﺮﻧﺎﻣﻪ اوﻟﻴﻦ و ﻣﻬﻤﺘﺮﻳﻦ ﻣﺮﺣﻠﻪي ﺳﺎﺧﺖ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ،ﺗﺼﻤﻴﻢﮔﻴﺮي ﻣﻲﺑﺎﺷﺪ؛ ﺗﺼﻤﻴﻢﮔﻴﺮي درﺑﺎرهي اﻳﻨﻜﻪ از ﻛﺎﻣﭙﻴﻮﺗﺮ ﭼﻪ ﻣﻲﺧﻮاﻫﻴﺪ .اﻣﺎ دوﻣﻴﻦ ﻣﺮﺣﻠﻪ ﻛﻪ از ﻧﻈﺮ اﻫﻤﻴﺖ ﺗﻔﺎوﺗﻲ ﭼﻨﺪاﻧﻲ ﺑﺎ ﻣﺮﺣﻠﻪي اول ﻧﺪارد ،ﻇﺎﻫﺮ ﺑﺮﻧﺎﻣﻪ ﻣﻲﺑﺎﺷﺪ .ﻇﺎﻫﺮي ﻛﻪ ﻣﻲﺗﻮاﻧﺪ ﺑﻪ ﻛﻠﻲ دﻳﺪ ﻛﺎرﺑﺮ را ﻧﺴﺒﺖ ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﺗﻐﻴﻴﺮ دﻫﺪ .ﺑﺮاي داﺷﺘﻦ ﻇﺎﻫﺮي ﻛﺎرﺑﺮﭘﺴﻨﺪ ،و ﻫﻤﭽﻨﻴﻦ ﻣﺤﺼﻮﻟﻲ ﻗﺪرﺗﻤﻨﺪ ﺑﺎﻳﺪ ﺳﻪ ﻓﺎﻛﺘﻮر ﺑﺴﻴﺎر ﻣﻬﻢ زﻳﺮ را در ﻧﻈﺮ داﺷﺘﻪ ﺑﺎﺷﻴﺪ: .1ﺳﻄﺢ ﻣﻬﺎرت ﻛﺎرﺑﺮ .2ﻋﺎدتﻫﺎي ﻛﺎرﺑﺮ .3ﻗﺎﺑﻠﻴﺖ ﺗﻐﻴﻴﺮ ﺗﻨﻈﻴﻤﺎت .1اﮔﺮ ﺷﻤﺎ ﺳﻄﺢ داﻧﺶ و ﻣﻬﺎرت ﻛﺎرﺑﺮ ﺧﻮد را در ﻫﻨﮕﺎم ﻃﺮاﺣﻲ ﻇﺎﻫﺮ ﺑﺮﻧﺎﻣﻪ در ﻧﻈﺮ ﻧﮕﻴﺮﻳﺪ ،ﻗﻄﻌﺎ ﺑﺎ اﻧﺘﻘﺎد روﺑﻪرو ﺧﻮاﻫﻴﺪ ﺷﺪ .ﻣﻌﻤﻮﻻ ﻛﺎرﺑﺮان ﻣﺒﺘﺪي ﻋﻼﻗﻪي زﻳﺎدي ﺑﻪ ﺳﺮك ﻛﺸﻴﺪن در ﺑﺮﻧﺎﻣﻪ را دارﻧﺪ ،در ﺣﺎﻟﻲ ﻛﻪ ﻛﺎرﺑﺮان ﺣﺮﻓﻪاي ﻣﻲﺧﻮاﻫﻨﺪ ﻫﺮ ﭼﻪ زودﺗﺮ ﻛﺎرﺷﺎن ﺑﺎ ﺑﺮﻧﺎﻣﻪ ﺗﻤﺎم ﺷﻮد. .2ﻋﺎدتﻫﺎي ﻛﺎرﺑﺮ را ﺗﻐﻴﻴﺮ ﻧﺪﻫﻴﺪ ﻳﺎ ﺑﻪ ﻋﺒﺎرﺗﻲ دﻳﮕﺮ اﺳﺘﺎﻧﺪاردﻫﺎ را رﻋﺎﻳﺖ ﻛﻨﻴﺪ .ﻣﺜﻼ ﻛﺎرﺑﺮ ﻋﺎدت دارد ﻛﻪ Exitرا آﺧﺮﻳﻦ ﮔﺰﻳﻨﻪ از اوﻟﻴﻦ ﻣﻨﻮي ﻣﻮﺟﻮد در ﺳﻤﺖ ﭼﭗ )ﻣﻨﻮي (Fileﺑﺒﻴﻨﺪ ﻳﺎ از ﻛﻠﻴﺪﻫﺎي ﺗﺮﻛﻴﺒﻲ Ctrl+Cﺑﺮاي ﻛﭙﻲ ﻛﺮدن اﺳﺘﻔﺎده ﻛﻨﺪ .ﺣﺎل اﮔﺮ ﺷﻤﺎ اﻳﻦ ﻋﺎدتﻫﺎ را ﺗﻐﻴﻴﺮ ﺑﺪﻫﻴﺪ ﺑﺎﻋﺚ ﻋﺼﺒﺎﻧﻴﺖ ﺑﻌﻀﻲ از ﻛﺎرﺑﺮاﻧﺘﺎن ﻣﻲﺷﻮﻳﺪ. .3راﺑﻂ ﻛﺎرﺑﺮ ﺑﺎﻳﺪ ﻗﺎﺑﻞ ﺗﻨﻈﻴﻢ ﺑﺎﺷﺪ .ﻛﺎرﺑﺮﻫﺎ ﺳﻠﻴﻘﻪﻫﺎي ﻣﺨﺘﻠﻔﻲ دارﻧﺪ ،در ﻧﺘﻴﺠﻪ ﺑﺎﻳﺪ ﺑﺘﻮاﻧﻨﺪ ،ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ را ﺑﺮ ﺣﺴﺐ ﺳﻠﻴﻘﻪي ﺧﻮدﺷﺎن ﺗﻨﻈﻴﻢ ﻛﻨﻨﺪ .اﻣﺎ ﭘﻴﺶ ﻓﺮض ﺑﺎﻳﺪ ﺑﻬﺘﺮﻳﻦ ﺗﻨﻈﻴﻢ ﺑﺎﺷﺪ ،ﺗﺎ ﻛﺎرﺑﺮ ﻣﺠﺒﻮر ﻧﺸﻮد در اوﻟﻴﻦ ﺑﺮﺧﻮرد ﺑﺎ ﺑﺮﻧﺎﻣﻪ ،ﺑﻪ ﻣﻨﻮي Settingﻳﺎ Optionﺑﺮود .ﻧﺤﻮهي ارﺗﺒﺎط ﺑﺮﻗﺮار ﻛﺮدن ﻛﺎرﺑﺮ ﺑﺎ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﺑﺴﻴﺎر اﻫﻤﻴﺖ دارد ،ﭘﺲ ﺳﻌﻲ ﻛﻨﻴﺪ ﺳﺎدهﺗﺮﻳﻦ ،ﺷﻴﻚﺗﺮﻳﻦ و ﺟﺬابﺗﺮﻳﻦ ﻣﺤﻴﻂ ﻛﺎرﺑﺮي را اﻳﺠﺎد ﻛﻨﻴﺪ.
--------------اﺟﺮاي وﻳﮋوال ﺑﻴﺴﻴﻚ وﻳﮋوال ﺑﻴﺴﻴﻚ را از ﻃﺮﻳﻖ زﻳﺮ اﺟﺮا ﻛﻨﻴﺪ: Start → All Programs → Microsoft Visual Studio 6.0 → Microsoft Visual Basic 6.0
--------------ﺻﻔﺤﻪ٧ :
آﺷﻨﺎﻳﻲ ﺑﺎ ﻣﺤﻴﻂ وﻳﮋوال ﺑﻴﺴﻴﻚ ﺑﻌﺪ از اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ،ﻛﺎدر ﻣﺤﺎورهاي New Projectﺑﻪ ﻧﻤﺎﻳﺶ در ﻣﻲآﻳﺪ .اﻳﻦ ﻛﺎدر ﺑـﻪ ﺑﺮﻧﺎﻣـﻪﻧـﻮﻳﺲ اﻣﻜﺎن اﻧﺘﺨﺎب ﻳﻜﻲ از اﻧﻮاع ﺑﺮﻧﺎﻣﻪﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻣﻲﺗﻮان در وﻳﮋوال ﺑﻴﺴﻴﻚ اﻳﺠﺎد ﻛﺮد.
اﻳﻦ ﻛﺎدر ﻣﺤﺎورهاي داراي ﺳﻪ زﺑﺎﻧﻪ 1ﻣﻲﺑﺎﺷﺪ . • زﺑﺎﻧﻪ :Newﺑﺮاي اﻳﺠﺎد ﻳﻚ ﭘﺮوژه ﺟﺪﻳﺪ • زﺑﺎﻧﻪ :Existingﺑﺮاي ﺑﺎز ﻛﺮدن ﭘﺮوژهﻫﺎﻳﻲ ﻛﻪ از ﻗﺒﻞ اﻳﺠﺎد ﺷﺪهاﻧﺪ . • زﺑﺎﻧﻪ :Recentﻟﻴﺴﺘﻲ از آﺧﺮﻳﻦ ﭘﺮوژهﻫﺎي ﺑﺎز ﺷﺪه ﻳﺎ اﻳﺠﺎد ﺷﺪه را ﻧﺸﺎن ﻣﻲدﻫﺪ . ﻧﻜﺘﻪ: اﮔﺮ ﻛﺎدر ﻣﺤﺎورهاي New Projectﻧﻤﺎﻳﺶ داده ﻧﺸﺪ ،اﺣﺘﻤﺎﻻ ﻛﺴﻲ ﮔﺰﻳﻨﻪ Don’t show this Dialog in the futureرا ﺗﻴﻚ زده اﺳﺖ .ﺑﺮاي ﻧﻤﺎﻳﺶ ﻣﺠﺪد اﻳﻦ ﻛﺎدر در ﻫﻨﮕﺎم ﺷﺮوع ﺑﺮﻧﺎﻣﻪ و ﺷﺮوع اﻳﺠﺎد ﭘﺮوژهي ﺟﺪﻳﺪ ،اﺑﺘﺪا ﺑﻪ ﻣﻨﻮي Toolsرﻓﺘﻪ ،ﺳﭙﺲ ﺑﺮ روي Option ﻛﻠﻴﻚ ﻛﻨﻴﺪ .ﺑﻌﺪ ﺑﻪ زﺑﺎﻧﻪ Environmentرﻓﺘﻪ و ﮔﺰﻳﻨﻪ Prompt for projectرا اﻧﺘﺨﺎب ﻛﻨﻴﺪ .ﻧﻮع Standard EXEﻛﻪ ﺑﻪ ﻃﻮر ﭘﻴﺶﻓﺮض در اﻳﻦ ﻛﺎدر اﻧﺘﺨﺎب ﺷﺪه اﺳﺖ ،ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ اﻣﻜﺎن ﻣﻲدﻫﺪ ﻛﻪ ﺑﺮﻧﺎﻣﻪي اﺟﺮاﻳﻲ اﺳﺘﺎﻧﺪاردي را اﻳﺠﺎد ﻛﻨﺪ؛ ﺑﺮﻧﺎﻣﻪﻫﺎﻳﻲ ﻛﻪ ﭘﺴﻮﻧﺪ EXEدارﻧﺪ .ﺑﺮاي ﺑﺎز ﻛﺮدن ﻳﻚ ﭘﺮوژه ﺑﺮ روي آﻳﻜﻦ ﻣﻮرد ﻧﻈﺮ ،داﺑﻞ ﻛﻠﻴﻚ ﻛﺮده ﻳﺎ رو آﻳﻜﻦ ،ﻛﻠﻴﻚ ﻛﻨﻴﺪ ،ﺳﭙﺲ ﻛﻠﻴﺪ Enterﻳﺎ
Tab 1
ﺻﻔﺤﻪ٨ :
دﻛﻤﻪي Openرا ﻓﺸﺎر دﻫﻴﺪ .ﻧﻮع ﭘﻴﺶ ﻓﺮض را ﺑﺎز ﻛﻨﻴﺪ .ﺑﺎ ﺑﺎز ﺷﺪن ﭘﺮوژه ،ﻛﺎدر ﻣﺤﺎورهاي ﺑﺴﺘﻪ ﺷﺪه و وارد ﻣﺤﻴﻂ IDEﻣﻲﺷﻮﻳﻢ .ﭘﺮوژهي Standard EXEداراي ﻛﺎدر و ﭘﻨﺠﺮهﻫﺎي زﻳﺮ اﺳﺖ: • ﭘﻨﺠﺮهي Project • ﭘﻨﺠﺮهي Form Layout • ﭘﻨﺠﺮهي Properties • ﭘﻨﺠﺮهي Form • ﺟﻌﺒﻪاﺑﺰار ﻳﺎ Toolbox • ﻧﻮار ﻣﻨﻮ ﻳﺎ Menu Bar • ﻧﻮاراﺑﺰار ﻳﺎ Toolbar
ﺻﻔﺤﻪ٩ :
ﭘﻨﺠﺮهي ﭘﺮوژه ﭘﻨﺠﺮه ﭘﺮوژه ﻳﺎ Project Explorerﺗﻤﺎم ﻓﺎﻳﻠﻬﺎﻳﻲ ﻛﻪ ﺑﺎﻋﺚ اﻳﺠﺎد ﻳﻚ ﺑﺮﻧﺎﻣﻪ در وﻳﮋوال ﺑﻴﺴﻴﻚ ﻣﻲﺷﻮﻧﺪ را ﻟﻴﺴﺖ ﻣﻲﻛﻨﺪ .اﻳﻦ ﭘﻨﺠﺮه ﻳﻜﻲ از ﻣﻬﻢﺗﺮﻳﻦ اﺑﺰارﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺮوژه ﻣﻲﺑﺎﺷﺪ .در ﺻﻮرت ﻋﺪم ﻣﺸﺎﻫﺪهي اﻳﻦ ﭘﻨﺠﺮه ،ﻛﻠﻴﺪﻫﺎي Ctrl+Rرا ﻓﺸﺎر دﻫﻴﺪ ﻳﺎ از ﻣﻨﻮي Viewﮔﺰﻳﻨﻪي Project Explorerرا اﻧﺘﺨﺎب ﻛﻨﻴﺪ .در ﻗﺴﻤﺖ ﺑﺎﻻي اﻳﻦ ﭘﻨﺠﺮه ،ﺗﻌﺪادي دﻛﻤﻪ وﺟﻮد دارد ﻛﻪ ﺑﻪ ﻋﻨﻮان ﻧﻮار اﺑﺰار اﻳﻦ ﭘﻨﺠﺮه ﺷﻨﺎﺧﺘﻪ ﻣﻲﺷﻮﻧﺪ:
• اوﻟﻴﻦ دﻛﻤﻪ از ﺳﻤﺖ ﭼﭗ ،دﻛﻤﻪ View Codeﻣﻲﺑﺎﺷﺪ؛ ﺑﺎ ﻛﻠﻴﻚ ﺑﺮ روي اﻳﻦ دﻛﻤﻪ وارد ﻣﺤﻴﻂ ﻛﺪﻧﻮﻳﺴﻲ وﻳﮋوال ﺑﻴﺴﻴﻚ ﻣﻲﺷﻮﻳﺪ. • دوﻣﻴﻦ دﻛﻤﻪ View Objectﻧﺎم دارد .اﮔﺮ در ﻗﺴﻤﺖ ﻛﺪﻧﻮﻳﺴﻲ ﺑﺮﻧﺎﻣﻪ ﺑﺎﺷﻴﺪ و اﻳﻦ دﻛﻤﻪ را ﻛﻠﻴﻚ ﻛﻨﻴﺪ ﺑﻪ ﻗﺴﻤﺖ ﻃﺮاﺣﻲ ﺑﺮﻧﺎﻣﻪ ﺑﺎز ﻣﻲﮔﺮدﻳﺪ. • ﺑﺎ ﻓﻌﺎل ﺑﻮدن دﻛﻤﻪي آﺧﺮ ﻳﻌﻨﻲ ،Toggle Foldersﺗﻤﺎﻣﻲ ﻓﺎﻳﻞﻫﺎي ﻣﻮﺟﻮد در ﭘﻨﺠﺮهي Project Explorerﺑﻪ ﺻﻮرت ﺳﺎزﻣﺎﻧﺪﻫﻲ ﺷﺪه در ﻣﻲآﻳﻨﺪ و ﻫﺮ ﻳﻚ از اﻧﻮاع ﻣﺨﺘﻠﻒ اﻳﻦ ﻓﺎﻳﻠﻬﺎ داراي ﭘﻮﺷﻪاي اﺧﺘﺼﺎﺻﻲ ﻣﻲﺷﻮﻧﺪ . ﻳﺎدآوري: ﺷﻤﺎ ﻣﻲﺗﻮاﻧﻴﺪ در ﻓﻀﺎي ﺧﺎﻟﻲ اﻳﻦ ﭘﻨﺠﺮه ﻛﻠﻴﻚ راﺳﺖ ﻛﻨﻴﺪ ﺗﺎ ﺑﺎ اﻣﻜﺎﻧﺎت اﻳﻦ ﭘﻨﺠﺮه آﺷﻨﺎ ﺑﺸﻮﻳﺪ .ﻳﻜﻲ از اﻳﻦ ﮔﺰﻳﻨﻪﻫﺎ Addﻣﻲﺑﺎﺷﺪ ﻛﻪ ﻣﻲﺗﻮاﻧﻴﺪ در ﺻﻮرت ﻟﺰوم ،اﺟﺰاي دﻳﮕﺮي را ﺑﻪ ﭘﺮوژه اﺿﺎﻓﻪ ﻛﻨﻴﺪ .ﻣﻨﻈﻮر از اﺟﺰا ﻫﻤﺎن ﻓﺮﻣﻬﺎ ،ﻣﺎژوﻟﻬﺎ و ...ﻣﻲﺑﺎﺷﻨﺪ.
---------------
ﺻﻔﺤﻪ١٠ :
ﭘﻨﺠﺮهي Form Layout اﻳﻦ ﭘﻨﺠﺮه ﻣﺤﻞ ﻓﺮم را ﺑﻪ ﻫﻨﮕﺎم اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺑﺮ روي ﺻﻔﺤﻪي ﻧﻤﺎﻳﺶ ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ.
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲﺑﻴﻨﻴﺪ اﻳﻦ ﭘﻨﺠﺮه ﻳﻚ ﺻﻔﺤﻪي ﻧﻤﺎﻳﺶ را ﻧﺸﺎن ﻣﻲدﻫﺪ ﻛﻪ در داﺧﻞ آن ﻣﺤﻞ ﻗﺮار ﮔﺮﻓﺘﻦ ﻓﺮم ﻣﺸﺨﺺ ﺷﺪه اﺳﺖ .ﺷﻤﺎ ﻣﻴﺘﻮاﻧﻴﺪ ﺑﺎ ﻛﻠﻴﻚ راﺳﺖ ﺑﺮ روي Form1و اﻧﺘﺨﺎب ﮔﺰﻳﻨﻪ Startup Positionﻳﻜﻲ از اﻧﻮاع ﻣﺨﺘﻠﻒ ﻗﺮار ﮔﻴﺮي را اﻧﺘﺨﺎب ﻛﻨﻴﺪ .ﺣﺎﻟﺖ Manualﻓﺮم را در ﻫﻤﺎن ﻗﺴﻤﺘﻲ ﻗﺮار ﻣﻲدﻫﺪ ﻛﻪ ﺷﻤﺎ ﻗﺒﻼ ﺗﻌﻴﻴﻦ ﻛﺮدهاﻳﺪ .ﺣﺎﻟﺖ Center Ownerﻓﺮم را در ﻗﺴﻤﺖ ﻣﺮﻛﺰ ﻓﺮم واﻟﺪ ﻗﺮار ﻣﻲدﻫﺪ .ﺣﺎﻟﺖ Center Screenﻓﺮم را در ﻣﺮﻛﺰ ﺻﻔﺤﻪ ﻧﻤﺎﻳﺶ ﻗﺮار ﻣﻲدﻫﺪ؛ اﻳﻦ ﮔﺰﻳﻨﻪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ رزﻟﻮﺷﻦ ﺻﻔﺤﻪ ﻧﻤﺎﻳﺶ ﻛﺎر ﻣﻲﻛﻨﺪ .ﺣﺎﻟﺖ آﺧﺮ ﻳﻌﻨﻲ Windows Defaultﻓﺮم را در ﻫﺮ ﺑﺎر اﺟﺮا ﺑﻪ ﺻﻮرت ﺗﺼﺎدﻓﻲ در ﻳﻚ ﺟﺎﻳﻲ از ﺻﻔﺤﻪ ﻗﺮار ﻣﻲدﻫﺪ .ﻫﻤﭽﻨﻴﻦ ﺷﻤﺎ ﻣﻲﺗﻮاﻧﻴﺪ ﻣﺤﻞ ﻗﺮارﮔﻴﺮي ﻓﺮم را ﺑﻪ ﺻﻮرت دﺳﺘﻲ ﺗﻨﻈﻴﻢ ﻛﻨﻴﺪ .ﺑﺮاي اﻳﻦ ﻛﺎر Form1را درگ ،و در ﺟﺎﻳﻲ دﻳﮕﺮ دراپ ﻛﻨﻴﺪ .در ﺻﻮرت ﻋﺪم ﻣﺸﺎﻫﺪه اﻳﻦ ﭘﻨﺠﺮه از ﻣﻨﻮي Viewﮔﺰﻳﻨﻪي Form Layout Windowرا اﻧﺘﺨﺎب ﻛﻨﻴﺪ.
--------------ﭘﻨﺠﺮهي ﻣﺸﺨﺼﻪﻫﺎ اﻳﻦ ﭘﻨﺠﺮه وﻳﮋﮔﻲﻫﺎ و ﻣﺸﺨﺼﻪﻫﺎي ﻓﺮم ﻳﺎ ﺷﻲء اﻧﺘﺨﺎب ﺷﺪه را ﺑﻪ دو ﺻﻮرت اﻟﻔﺒﺎﻳﻲ و ﮔﺮوﻫﻲ ﻧﺸﺎن ﻣﻲدﻫﺪ .در ﺻﻮرت ﻋﺪم ﻣﺸﺎﻫﺪهي اﻳﻦ ﭘﻨﺠﺮه ﻛﻠﻴﺪ F4را ﻓﺸﺎر دﻫﻴﺪ ﻳﺎ از ﻣﻨﻮي Viewﮔﺰﻳﻨﻪ Properties Windowرا اﻧﺘﺨﺎب ﻛﻨﻴﺪ.
ﺻﻔﺤﻪ١١ :
ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺷﻜﻞ ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ در ﺑﺎﻻي ﭘﻨﺠﺮه ،ﺟﻌﺒﻪي ﻟﻴﺴﺘﻲ وﺟﻮد دارد ﻛﻪ در آن ﻧﺎم ﺷﻲء ﻳﺎ ﻓﺮﻣﻲ ﻛﻪ ﻣﺸﺨﺼﻪﻫﺎي آن در اﻳﻦ ﭘﻨﺠﺮه آورده ﺷﺪه اﺳﺖ ،ﻧﻤﺎﻳﺶ داده ﻣﻲﺷﻮد .داﺧﻞ اﻳﻦ ﻟﻴﺴﺖ ﻧﺎم ﺗﻤﺎﻣﻲ ﺷﻲءﻫﺎ و ﻫﻤﭽﻨﻴﻦ ﻧﺎم ﻓﺮﻣﻲ ﻛﻪ ﻓﻌﺎل اﺳﺖ ،آورده ﺷﺪه اﺳﺖ.
--------------ﭘﻨﺠﺮهي ﻓﺮمﻫﺎ اﻳﻦ ﭘﻨﺠﺮه ،ﻓﺮم ﻓﻌﺎل در ﭘﻨﺠﺮهي ﭘﺮوژه را ﺑﺎ ﺗﻤﺎم ﺷﻲءﻫﺎي ﻣﺮﺑﻮط ﺑﻪ آن ،در ﻳﻚ راﺑﻂ ﮔﺮاﻓﻴﻜﻲ ﻛﺎرﺑﺮ ﻧﺸﺎن ﻣﻲدﻫﺪ.
1
--------------ﺟﻌﺒﻪاﺑﺰار:
اﻳﻦ ﻗﺴﻤﺖ ﺷﺎﻣﻞ ﺗﻤﺎم ﻛﻨﺘﺮﻟﻬﺎﻳﻲ اﺳﺖ ﻛﻪ در ﻃﺮاﺣﻲ ﺑﺮﻧﺎﻣﻪ از آﻧﻬﺎ اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ.
ﺑﺮﺧﻲ از اﻳﻦ ﻛﻨﺘﺮلﻫﺎ ﻣﺸﺨﺼﻪﻫﺎﻳﻲ ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮد و ﺑﺮﺧﻲ دﻳﮕﺮ ﻣﺸﺨﺼﻪﻫﺎي ﻣﺸﺘﺮك دارﻧﺪ.
Graphic User Interface 1
ﺻﻔﺤﻪ١٢ :
ﻧﺎم ﻛﻨﺘﺮل
ﻋﻤﻠﻜﺮد ﻓﻌﺎل ﺑﻮدن اﺷﺎرهﮔﺮ ﻣﻮس
Pointer
ﻛﻨﺘﺮﻟﻲ ﺑﺮاي درج ﺗﺼﻮﻳﺮ
PictureBox
از اﻳﻦ ﻛﻨﺘﺮل ﺑﺮاي ﻧﻤﺎﻳﺶ ﻣﺘﻦ ﻏﻴﺮ ﻗﺎﺑﻞ وﻳﺮاﻳﺶ اﺳﺘﻔﺎده ﻣﻲﺷﻮد. از اﻳﻦ ﻛﻨﺘﺮل ﺑﺮاي ﻣﺘﻦﻫﺎي ﻗﺎﺑﻞ وﻳﺮاﻳﺶ اﺳﺘﻔﺎده ﻣﻲﺷﻮد. وﻇﻴﻔﻪي ﻛﻨﺘﺮل ﻓﺮﻳﻢ دﺳﺘﻪﺑﻨﺪي ﻇﺎﻫﺮي و ﻣﻨﻄﻘﻲ ﻛﻨﺘﺮلﻫﺎ اﺳﺖ. ﺑﺮاي ﺷﺮوع ،ﺗﻮﻗﻒ و ﭘﺎﻳﺎن ﻳﻚ ﻓﺮاﻳﻨﺪ از اﻳﻦ ﻛﻨﺘﺮل اﺳﺘﻔﺎده ﻣﻲﺷﻮد. ﺑﺮاي اراﻳﻪي اﻧﺘﺨﺎب Yes/Noﻳﺎ True/Falseﺑﻪ ﻛﺎرﺑﺮ اﺳﺘﻔﺎده ﻣﻲﺷﻮد. دﻛﻤﻪ اﻧﺘﺨﺎب ﺑﺮاي اﻧﺘﺨﺎب اﻧﺤﺼﺎري ﻳﻚ ﮔﺰﻳﻨﻪ از ﻣﻴﺎن ﭼﻨﺪ ﮔﺰﻳﻨﻪ ﺑﻪ ﻛﺎر ﻣﻲرود.
Label TextBox Frame CommandButton CheckBox OptionButton ComboBox
اﻳﺠﺎد ﺟﻌﺒﻪاي ﻛﺸﻮﻳﻲ ﻳﺎ ﻛﺮﻛﺮهاي
ListBox
ﺑﺮاي ﻧﻤﺎﻳﺶ ﻟﻴﺴﺘﻲ دادهﻫﺎ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد. از اﻳﻦ ﻛﻨﺘﺮل ﺑﺮاي اﻳﺠﺎد ﭘﻴﻤﺎﻳﺶﮔﺮ اﻓﻘﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد.
HScrollBar
وﻇﻴﻔﻪي اﻳﻦ ﻛﻨﺘﺮل اﻳﺠﺎد ﭘﻴﻤﺎﻳﺶﮔﺮ ﻋﻤﻮدي ﻣﻲﺑﺎﺷﺪ.
VScrollBar
ﻛﻨﺘﺮﻟﻲ ﻛﻪ ﻛﺎرﻫﺎي ﺗﻜﺮاري را در ﺑﺎزه زﻣﺎﻧﻲ ﺗﻌﻴﻴﻦ ﺷﺪه اﻧﺠﺎم ﻣﻲدﻫﺪ.
Timer
اﻳﻦ ﻛﻨﺘﺮل ﺗﻤﺎﻣﻲ دراﻳﻮﻫﺎي ﻣﻮﺟﻮد در روي ﺳﻴﺴﺘﻢ را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪ.
DriveListBox
ﺑﺮاي ﻧﻤﺎﻳﺶ ﭘﻮﺷﻪﻫﺎي ﻣﻮﺟﻮد در ﻳﻚ دراﻳﻮ ﻛﺎرﺑﺮد دارد.
DirListBox
ﺑﺮاي ﻧﻤﺎﻳﺶ ﻓﺎﻳﻠﻬﺎي ﻣﻮﺟﻮد در ﻳﻚ دراﻳﻮ از اﻳﻦ ﻛﻨﺘﺮل اﺳﺘﻔﺎده ﻣﻲﺷﻮد.
FileListBox
از اﻳﻦ ﻛﻨﺘﺮل ﺑﺮاي ﻧﻤﺎﻳﺶ اﺷﻜﺎل ﻫﻨﺪﺳﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد.
Shape Line
ﻛﻨﺘﺮﻟﻲ ﺑﺮاي ﻛﺸﻴﺪن ﺧﻂ از اﻳﻦ ﻛﻨﺘﺮل ﻧﻴﺰ ﺑﺮاي ﻧﻤﺎﻳﺶ ﺗﺼﻮﻳﺮ اﺳﺘﻔﺎده ﻣﻲﺷﻮد.
Image
ﻛﻨﺘﺮﻟﻲ ﺑﺮاي دﺳﺘﺮﺳﻲ آﺳﺎن ﺑﻪ ﺑﺎﻧﻚﻫﺎي اﻃﻼﻋﺎﺗﻲ
Data
اﻳﻦ ﻛﻨﺘﺮل اﻣﻜﺎن دﺳﺘﺮﺳﻲ ﺑﻪ دادهﻫﺎ از ﭼﻨﺪﻳﻦ ﻣﻨﺒﻊ ﻣﺨﺘﻠﻒ را ﻓﺮاﻫﻢ ﻣﻲﻛﻨﺪ.
OLE
ﺻﻔﺤﻪ١٣ :
آﻳﻜﻦ
--------------ﻧﻮار ﻣﻨﻮ ﻣﻜﺎﻧﻲ اﺳﺖ ﻛﻪ در اﻛﺜﺮ ﺑﺮﻧﺎﻣﻪﻫﺎي ﺗﺤﺖ وﻳﻨﺪوز وﺟﻮد دارد و ﺷﺎﻣﻞ دﺳﺘﻮراﺗﻲ ﺑﺮاي ﺳﺎﺧﺖ ،ﻧﮕﻬﺪاري و راهاﻧﺪازي ﺑﺮﻧﺎﻣﻪﻫﺎﺳﺖ .ﺟﺪول زﻳﺮ وﻇﺎﻳﻒ ﻫﺮ ﺑﺨﺶ از ﻣﻨﻮ را ﺑﻪ ﻃﻮر ﺧﻼﺻﻪ اراﻳﻪ ﻛﺮده اﺳﺖ: وﻇﺎﻳﻒ
ﻣﻨﻮي File
ﺑﺎز ﻛﺮدن ،ذﺧﻴﺮه و ﭼﺎپ ﭘﺮوژه
Edit
ﻛﭙﻲ ،اﻧﺘﻘﺎل ،ﺟﺴﺘﺠﻮ ،ﺣﺬف و ﻏﻴﺮه
View
ﻧﺤﻮهي ﻧﻤﺎﻳﺶ ﭘﻨﺠﺮهﻫﺎي ﻣﺤﻴﻂ IDE
Project
اﻓﺰودن ﺧﺼﻴﺼﻪﻫﺎﻳﻲ ﻣﺎﻧﻨﺪ ﻓﺮمﻫﺎ ﺑﻪ ﻳﻚ ﭘﺮوژه
Format
ﺗﻨﻈﻴﻢ ﺷﻲءﻫﺎي ﻣﻮﺟﻮد ﺑﺮ روي ﻓﺮم
Debug
ﺧﻄﺎﻳﺎﺑﻲ
Run
اﺟﺮا ،ﻣﺘﻮﻗﻒ ﻛﺮدن ﺑﺮﻧﺎﻣﻪ و ...
Query
ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎ از ﭘﺎﻳﮕﺎه دادهﻫﺎ
Diagramوﻳﺮاﻳﺶ و اﺻﻼح در ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎهﻫﺎي داده Tools Add‐Ins
اﺑﺰارﻫﺎي VBو ﺑﻬﻴﻨﻪﺳﺎزي ﻣﺤﻴﻂ ﻛﺎري ﻧﺼﺐ و ﺣﺬف ﺑﺮﻧﺎﻣﻪﻫﺎي اﻓﺰودﻧﻲ
Windowﻣﺮﺗﺐ ﻛﺮدن و ﻧﻤﺎﻳﺶ ﭘﻨﺠﺮهﻫﺎ Help
اﺳﺘﻔﺎده از راﻫﻨﻤﺎي ﺑﺮﻧﺎﻣﻪ )در ﺻﻮرت ﻧﺼﺐ (MSDN
---------------
ﻧﻮاراﺑﺰار در ﭘﺎﻳﻴﻦ ﻧﻮار ﻣﻨﻮ ،اﺑﺰاري وﺟﻮد دارد ﻛﻪ داراي دﻛﻤﻪﻫﺎي ﻣﻌﺎدل ﮔﺰﻳﻨﻪﻫﺎي ﻣﻨﻮﻫﺎﺳﺖ و ﺑﻪ وﺳﻴﻠﻪي
ﺻﻔﺤﻪ١٤ :
آﻧﻬﺎ ﻣﻲﺗﻮان ﺑﻪ ﺳﺮﻋﺖ ﺑﺮﺧﻲ از دﺳﺘﻮرﻫﺎي ﻣﻮﺟﻮد در ﻣﻨﻮ را اﺟﺮا ﻛﺮد .ﺑﺮﺧﻲ از اﻳﻦ دﻛﻤﻪﻫﺎ ﻫﻨﮕﺎم ﻓﻌﺎل ﺑﻮدن ﭘﻨﺠﺮهي ﻛﺪﻧﻮﻳﺴﻲ و ﺑﺮﺧﻲ دﻳﮕﺮ در ﻫﻨﮕﺎم ﻓﻌﺎل ﺑﻮدن ﭘﻨﺠﺮهي ﻓﺮمﻫﺎ ،ﻓﻌﺎي ﻣﻲﺑﺎﺷﻨﺪ. ﻋﻤﻠﻜﺮد
آﻳﻜﻦ
ﺷﺮوع ﭘﺮوژهاي ﺟﺪﻳﺪ؛ اﻟﺒﺘﻪ ﺑﺪون اﺳﺘﻔﺎده از ﭘﻨﺠﺮهي New Project ﺑﺮاي اﺿﺎﻓﻪ ﻛﺮدن ﻓﺮم ،ﻣﺎژول ،ﻛﻼس و ...ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد. ﻧﻤﺎﻳﺶ ﭘﻨﺠﺮهي Menu Editor؛ ﺑﺮاي درج ﻣﻨﻮ در ﺑﺮﻧﺎﻣﻪ از اﻳﻦ دﻛﻤﻪ ﺑﺮاي ﺑﺎزﻛﺮدن ﭘﺮوژهﻫﺎﻳﻲ ﻛﻪ از ﻗﺒﻼ اﻳﺠﺎد ﺷﺪهاﻧﺪ ،اﺳﺘﻔﺎده ﻣﻲﺷﻮد. ذﺧﻴﺮه ﻛﺮدن ﭘﺮوژهي در ﺣﺎل ﻛﺎر ﺑﺮاي اﻧﺘﻘﺎل ﻣﺘﻦ ﻳﺎ ﻛﻨﺘﺮل از اﻳﻦ دﻛﻤﻪ اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ. اﻳﻦ دﻛﻤﻪ در ﻧﺴﺨﻪﺑﺮداري از ﻛﻨﺘﺮلﻫﺎ و ﻣﺘﻦﻫﺎ ﻛﺎرﺑﺮد دارد. ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ دﻛﻤﻪ ﻣﻲﺗﻮاﻧﻴﺪ ﻣﺤﺘﻮاي ﺣﺎﻓﻈﻪ ﻣﻮﻗﺖ را ﺑﻪ ﻣﺤﻞ دﻳﮕﺮي از ﺑﺮﻧﺎﻣﻪ اﻧﺘﻘﺎل دﻫﻴﺪ. ﺑﺮاي ﻳﺎﻓﺘﻦ ﻣﺘﻦ ﻣﻮرد ﻧﻈﺮ در ﺑﺨﺶ ﻛﺪﻧﻮﻳﺴﻲ وﻳﮋوال ﺑﻴﺴﻴﻚ ،از اﻳﻦ دﻛﻤﻪ اﺳﺘﻔﺎده ﻣﻲﺷﻮد. آﺧﺮﻳﻦ ﻋﻤﻞ اﻧﺠﺎم ﺷﺪه را ﻟﻐﻮ ﻣﻲﻛﻨﺪ. ﺑﺎزﮔﺸﺖ ﺑﻪ آﺧﺮﻳﻦ ﻋﻤﻞ ﻟﻐﻮ ﺷﺪه . ﺑﺮاي اﺟﺮاي ﺑﺮﻧﺎﻣﻪ از اﻳﻦ دﻛﻤﻪ اﺳﺘﻔﺎده ﻣﻲﺷﻮد(F5) . ﻣﺘﻮﻗﻒ ﻛﺮدن ﻣﻮﻗﺖ ﺑﺮﻧﺎﻣﻪي در ﺣﺎل اﺟﺮا ،ﺟﻬﺖ ﻋﻴﺐﻳﺎﺑﻲ ،ﺑﺎزﺑﻴﻨﻲ و . ... اﻳﻦ دﻛﻤﻪ ﺑﺮﻧﺎﻣﻪي در ﺣﺎل اﺟﺮا را ،ﺑﻪ ﻃﻮر ﻛﺎﻣﻞ ﻣﺘﻮﻗﻒ ﻣﻲﻛﻨﺪ. ﻧﻤﺎﻳﺶ ﭘﻨﺠﺮهي Project Explorer
ﻧﻤﺎﻳﺶ ﭘﻨﺠﺮهي ﻣﺸﺨﺼﻪﻫﺎ ﻧﻤﺎﻳﺶ ﭘﻨﺠﺮهي Form Layout
ﻧﻤﺎﻳﺶ ﭘﻨﺠﺮهي Object Browser ﻧﻤﺎﻳﺶ Toolbox
اﺑﺰاري ﺑﺮاي ﺑﺮرﺳﻲ ﻛﺮدن ﺳﺎﺧﺘﺎر و ﻣﺤﺘﻮﻳﺎت ﻳﻚ ﭘﺎﻳﮕﺎه داده. اﺑﺰاري ﺑﺮاي ذﺧﻴﺮهﺳﺎزي ،ﺳﺎزﻣﺎﻧﺪﻫﻲ و اﺷﺘﺮاك ﮔﺬاري ﻛﺎﻣﭙﻮﻧﻨﺖﻫﺎ. ﺻﻔﺤﻪ١٥ :
--------------اوﻟﻴﻦ ﭘﺮوژه ،اوﻟﻴﻦ ﺑﺮﻧﺎﻣﻪ وﻳﮋوال ﺑﻴﺴﻴﻚ را اﺟﺮا ﻛﺮده و ﻳﻚ ﭘﺮوژه از ﻧﻮع اﺳﺘﺎﻧﺪارد اﻳﺠﺎد ﻛﻨﻴﺪ .ﻓﺮم اﺻﻠﻲ ﻳﺎ Form1را ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ .ﻣﺎ در اﻳﻦ ﺑﺨﺶ ﻗﺼﺪ دارﻳﻢ ﻛﺎرﻣﺎن را ﺑﺎ ﻣﺜﺎل ﻣﻌﺮوف و ﻛﻼﺳﻴﻚ Hello World ﺷﺮوع ﻛﻨﻴﻢ .از ﺟﻌﺒﻪاﺑﺰار ﻛﻨﺘﺮلﻫﺎي Labelو CommandButtonرا ﭘﻴﺪا ﻛﻨﻴﺪ؛ از ﻫﺮﻛﺪام ﻳﻜﻲ ﺑﺮ روي ﻓﺮم ﻗﺮار دﻫﻴﺪ؛ ﺑﺮاي ﻗﺮار دادن اﻳﻦ ﺷﻲءﻫﺎ ﺑﺮ روي ﻓﺮم دو روش وﺟﻮد دارد: • اﻧﺘﺨﺎب ﻛﻨﺘﺮل ﻣﻮرد ﻧﻈﺮ ← درگ ﻛﺮدن ﺑﺮ روي ﻓﺮم • داﺑﻞﻛﻠﻴﻚ ﺑﺮ روي ﻛﻨﺘﺮل ﺣﺎل ﺑﺎﻳﺪ ﺳﺮاغ ﻛﺪﻧﻮﻳﺴﻲ ﺑﺮﻧﺎﻣﻪ ﺑﺮوﻳﻢ .ﺑﺮاي رﻓﺘﻦ ﺑﻪ ﺑﺨﺶ ﻛﺪﻧﻮﻳﺴﻲ وﻳﮋوال ﺑﻴﺴﻴﻚ ﭼﻨﺪ راه وﺟﻮد دارد: • داﺑﻞ ﻛﻠﻴﻚ روي ﺷﻲء • اﻧﺘﺨﺎب ﺷﻲء ﺑﺎ ﻣﺎوس و ﻓﺸﺎر دادن ﻛﻠﻴﺪ F7 • اﻧﺘﺨﺎب ﺷﻲء ﻣﻮرد ﻧﻈﺮ و اﻧﺘﺨﺎب ﮔﺰﻳﻨﻪ Codeاز ﻣﻨﻮي View • اﺳﺘﻔﺎده از دﻛﻤﻪي ﻣﻮﺟﻮد در ﻧﻮار اﺑﺰار ﭘﻨﺠﺮهي Project Explorer • ﻛﻠﻴﻚ راﺳﺖ ﺑﺮ روي ﺷﻲء ﻣﻮرد ﻧﻈﺮ و اﻧﺘﺨﺎب ﮔﺰﻳﻨﻪي View Code • ﻛﻠﻴﻚ راﺳﺖ در ﭘﻨﺠﺮهي Project Explorerو اﻧﺘﺨﺎب ﮔﺰﻳﻨﻪي View Code ﻫﻢ اﻛﻨﻮن ﻛﺪ زﻳﺮ را ﺑﺮاي Command1ﺑﻨﻮﻳﺴﻴﺪ :
ﺻﻔﺤﻪ١٦ :
ﺑﺮﻧﺎﻣﻪ را اﺟﺮا ﻛﻨﻴﺪ و ﺳﭙﺲ ﺑﺮ روي Command1ﻛﻠﻴﻚ ﻛﻨﻴﺪ .ﺧﻮاﻫﻴﺪ دﻳﺪ ﻛﻪ ﻣﺘﻦ ﻣﻮﺟﻮد ﺑﺮ روي ﻟﻴﺒﻞ ﺗﻐﻴﻴﺮ ﻣﻲﻛﻨﺪ .ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﮔﻔﺘﻪ ﺷﺪ ﻫﺮ ﺷﻲء ﻣﺠﻤﻮﻋﻪاي از ﺧﻮاص را ﺑﺎ ﺧﻮد ﻳﺪك ﻣﻲﻛﺸﺪ .ﻳﻜﻲ از ﺧﻮاص ﻛﻨﺘﺮل ،Labelﻋﻨﻮان ﻳﺎ Captionآن ﻣﻲﺑﺎﺷﺪ Caption .ﻫﻤﺎن ﻣﺘﻨﻲ اﺳﺖ ﻛﻪ در ﻟﻴﺒﻞ ﻧﻤﺎﻳﺶ داده ﻣﻲﺷﻮد .اﮔﺮ ﺑﺮﻧﺎﻣﻪ ﻫﻨﻮز در ﺣﺎل اﺟﺮا ﻣﻲﺑﺎﺷﺪ ،آن را ﺑﺒﻨﺪﻳﺪ ،ﺗﺎ ﺑﻪ ﻣﺤﻴﻂ ﻃﺮاﺣﻲ ﺑﺎزﮔﺮدﻳﺪ. دوﺑﺎره ﻫﻤﺎن Labelرا اﻧﺘﺨﺎب ﻛﻨﻴﺪ و در ﭘﻨﺠﺮهي ﻣﺸﺨﺼﻪﻫﺎ ،ﺑﻪ دﻧﺒﺎل Captionﺑﮕﺮدﻳﺪ و ﻣﻘﺪار آن را ﺑﻪ ﻛﻠﻤﻪاي دﻟﺨﻮاه ﺗﻐﻴﻴﺮ دﻫﻴﺪ .ﺣﺎل اﮔﺮ ﺑﺮﻧﺎﻣﻪ را اﺟﺮا ﻛﻨﻴﺪ ،ﻣﻲﺑﻴﻨﻴﺪ ﻛﻪ در اﺑﺘﺪا ﻛﻠﻤﻪي ﻧﻮﺷﺘﻪ ﺷﺪه ﺗﻮﺳﻂ ﺷﻤﺎ ﻧﻤﺎﻳﺶ داده ﻣﻲﺷﻮد و ﻫﻤﭽﻨﻴﻦ ﻣﻲﺗﻮاﻧﻴﺪ ﺑﺎ ﻓﺸﺎر دادن دﻛﻤﻪ Command1آن را ﺑﻪ Hello Worldﺗﻐﻴﻴﺮ دﻫﻴﺪ .اﻣﺎ ﻣﻌﻨﻲ ﻛﺪي ﻛﻪ ﻧﻮﺷﺘﻴﻢ ﭼﻪ ﺑﻮد؟ ﺑﺮاي ﭘﺎﺳﺦ ﺑﻪ اﻳﻦ ﺳﻮال اﺑﺘﺪا ﺑﺎﻳﺪ ﺑﺎ ﻣﻔﻬﻮم روﻳﺪاد آﺷﻨﺎ ﺑﺸﻮﻳﺪ. روﻳﺪاد ﻳﻚ ﺳﻴﮕﻨﺎل ﺗﻮﻟﻴﺪﺷﺪه ﺑﻪوﺳﻴﻠﻪي ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ در ﭘﺎﺳﺦ ﺑﻪ ﻋﻤﻞ ﻛﺎرﺑﺮ اﺳﺖ .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل، ﻫﻨﮕﺎﻣﻲ ﻛﻪ ﻛﺎرﺑﺮ ﻛﻠﻴﻚ ﻣﻲﻛﻨﺪ ،روﻳﺪاد MouseDownﺑﻪ وﺳﻴﻠﻪي ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ارﺳﺎل ﻣﻲﺷﻮد. ﺑﺮﻧﺎﻣﻪي ﻛﺎرﺑﺮدي ﻓﻌﺎل ،اﻳﻦ ﺳﻴﮕﻨﺎل را درﻳﺎﻓﺖ ﻛﺮده و ﻛﺪ ﻣﺮﺑﻮط ﺑﻪ روﻳﺪاد MouseDownرا اﺟﺮا ﻣﻲﻛﻨﺪ .در وﻳﮋوال ﺑﻴﺴﻴﻚ ﻗﻄﻌﻪ ﺑﺮﻧﺎﻣﻪاي ﺑﻪ ﻧﺎم Event Handlerﻣﺴﺌﻮل اﻳﻦ اﺳﺖ ﻛﻪ روﻳﺪادﻫﺎ را ﻛﻨﺘﺮل ﻛﻨﺪ .اﻳﻦ ﻗﻄﻌﻪ ﺑﺮﻧﺎﻣﻪ ﺑﺮاي ﻫﺮ روﻳﺪاد ﻛﺎرﻫﺎي ﺧﺎﺻﻲ را اﻧﺠﺎم ﻣﻲدﻫﺪ و از ﺟﻤﻠﻪ اﻳﻦ ﻛﺎرﻫﺎ، ﺻﺪا ﻛﺮدن ﺗﺎﺑﻊ)زﻳﺮﺑﺮﻧﺎﻣﻪ( ﻧﻮﺷﺘﻪ ﺷﺪه ﺗﻮﺳﻂ ﻣﺎ ﻣﻲﺑﺎﺷﺪ .اﻣﺎ ﻣﺮاﺣﻞ اﺟﺮاي دﺳﺘﻮرات ﻧﻮﺷﺘﻪ ﺷﺪه ﺗﻮﺳﻂ ﻣﺎ ﭼﮕﻮﻧﻪ ﻣﻲﺑﺎﺷﺪ؟ .1ﻛﺎرﺑﺮ روي دﻛﻤﻪ ﻛﻠﻴﻚ ﻣﻲﻛﻨﺪ . .2ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﭘﻴﻐﺎﻣﻲ ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻣﺎ ﻣﻲﻓﺮﺳﺘﺪ و ﻣﺎ را از رخ دادن ﻛﻠﻴﻚ ﺑﺮ روي دﻛﻤﻪ ﺑﺎ ﺧﺒﺮ ﻣﻲﻛﻨﺪ . Event Handler .3ﭘﻴﻐﺎم ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ را درﻳﺎﻓﺖ ﻣﻲﻛﻨﺪ و اﮔﺮ ﻣﺎ زﻳﺮ ﺑﺮﻧﺎﻣﻪاي ﺑﺮاي اﻳﻦ رﺧﺪاد ﻧﻮﺷﺘﻪ ﺑﺎﺷﻴﻢ ،آن را ﺻﺪا ﻣﻲﻛﻨﺪ . .4زﻳﺮﺑﺮﻧﺎﻣﻪي ﻣﺎ ﻋﻨﻮان Labelرا ﺗﻐﻴﻴﺮ ﻣﻲدﻫﺪ . ﺷﺎﻳﺪ ﺑﭙﺮﺳﻴﺪ آﻳﺎ روﻳﺪادﻫﺎي دﻳﮕﺮي ﻫﻢ ﺑﺮاي ﻳﻚ دﻛﻤﻪ اﺗﻔﺎق ﻣﻲاﻓﺘﺪ؟ ﺑﻠﻪ .ﺑﺮاي اﻳﻨﻜﻪ ﻟﻴﺴﺖ ﺗﻤﺎم روﻳﺪادﻫﺎي ﻳﻚ ﺷﻲء را ﺑﺒﻴﻨﻴﺪ ﻛﺎﻓﻴﺴﺖ روي ﻗﺴﻤﺘﻲ ﻛﻪ در ﺷﻜﻞ ﭘﺎﻳﻴﻦ ﻣﺸﺨﺺ ﺷﺪه اﺳﺖ ﻛﻠﻴﻚ ﻛﻨﻴﺪ ﺗﺎ ﺑﺴﺘﻪ ﺑﻪ ﻧﻴﺎز ﺧﻮد ،ﺑﺮاي روﻳﺪادﻫﺎي ﻣﺨﺘﻠﻒ ﻳﻚ ﺷﻲء ﻛﺪ ﺑﻨﻮﻳﺴﻴﺪ.
ﺻﻔﺤﻪ١٧ :
ﻧﻜﺘﻪي ﻳﻚ: روالﻫﺎي روﻳﺪاد از ﺗﺮﻛﻴﺐ ﻧﺎم ﺷﻲء ﺑﺎ ﻧﺎم روﻳﺪاد ﺑﻪ وﺟﻮد ﻣﻲآﻳﻨﺪ و ﺷﻜﻞ ﻛﻠﻲ آن ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻲﺑﺎﺷﺪ. Private Sub objectName_event() Statements End Sub
ﻧﻜﺘﻪي دو: دادهﻫﺎي رﺷﺘﻪاي 1ﻫﻤﻴﺸﻪ ﺑﻴﻦ دو ﻧﻘﻞ ﻗﻮل )”“( ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ و ﻣﻲﺗﻮاﻧﻨﺪ ﺷﺎﻣﻞ ﻫﺮ ﻧﻮﻳﺴﻪاي ﺑﺎﺷﻨﺪ. ﻧﻜﺘﻪي ﺳﻪ: ﻣﻬﻢﺗﺮﻳﻦ ﻧﻜﺘﻪ در ﻣﻮرد ﻋﺒﺎرت ﺑﺎﻻ اﻳﻦ اﺳﺖ ﻛﻪ ﻣﻘﺪار ﺳﻤﺖ راﺳﺖ ﻣﺴﺎوي ﺑﻪ ﻋﺒﺎرت ﻣﻮﺟﻮد در ﺳﻤﺖ ﭼﭗ ﻧﺴﺒﺖ داده ﻣﻲﺷﻮد .ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﻣﻘﺪار ﺳﻤﺖ راﺳﺖ ﻋﺒﺎرت ﺑﺎﻳﺪ ﺑﺎ ﻧﻮع ﻋﺒﺎرت ﺳﻤﺖ ﭼﭗ ﻣﺘﻨﺎﺳﺐ ﺑﺎﺷﺪ ،ﻳﺎ اﻳﻨﻜﻪ اﻣﻜﺎن ﺗﺒﺪﻳﻞ آن ﺑﺮاي وﻳﮋوال ﺑﻴﺴﻴﻚ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ. ﻧﻜﺘﻪي ﭼﻬﺎر: اﮔﺮ درك روﻳﺪادﻫﺎ ﺑﺮاي ﺷﻤﺎ ﻣﺸﻜﻞ ﻣﻲﺑﺎﺷﺪ ﻣﻲﺗﻮاﻧﻴﺪ آن را ﺑﺮاي ﺧﻮد ﺗﺮﺟﻤﻪ ﻛﻨﻴﺪ .ﺷﻤﺎ ﻣﻲﺗﻮاﻧﻴﺪ از ﻛﻠﻤﻪي ﻛﻠﻴﺪي” اﮔﺮ” اﺳﺘﻔﺎده ﻛﻨﻴﺪ .ﻣﺜﻼ در ﻣﺜﺎل ﺑﺎﻻ ﻣﻲﺗﻮاﻧﻴﺪ ﺑﮕﻮﻳﻴﺪ اﮔﺮ Command1ﻛﻠﻴﻚ 2ﺷﺪ، ﻋﻨﻮان ﻟﻴﺒﻞ ﻳﻚ را ﺑﻪ Hello Worldﺗﻐﻴﻴﺮ ﺑﺪه) .ﻓﻘﻂ ﺑﺮاي ﻣﺒﺘﺪﻳﺎن(
String Literal 1
2ﻣﻨﻈﻮر ﻫﻤﺎن روﻳﺪاد ﻛﻠﻴﻚ ﻣﻲﺑﺎﺷﺪ.
ﺻﻔﺤﻪ١٨ :
--------------ذﺧﻴﺮه ﻛﺮدن ﭘﺮوژه ﺑﺮاي ذﺧﻴﺮه ﻛﺮدن ﭘﺮوژه ﻛﺎﻓﻴﺴﺖ ﺑﻪ ﻣﻨﻮي ﻓﺎﻳﻞ رﻓﺘﻪ و ﮔﺰﻳﻨﻪ Save Projectرا اﻧﺘﺨﺎب ﻧﻤﺎﻳﻴﺪ .اﮔﺮ ﺑﻪ ﻣﺤﻞ ﭘﺮوژهي ذﺧﻴﺮه ﺷﺪه ﺑﺮوﻳﺪ ،ﺧﻮاﻫﻴﺪ دﻳﺪ ﻛﻪ ﻋﻼوه ﺑﺮ ﻓﺎﻳﻞ ﭘﺮوژه ،ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ دﻳﮕﺮ ﻫﻢ وﺟﻮد دارد .اﻳﻦ ﻓﺎﻳﻞﻫﺎ ﻋﺒﺎرﺗﻨﺪ از:
• ﻓﺎﻳﻞ ﭘﺮوژه : اﻳﻦ ﻓﺎﻳﻞ ﺑﺎ ﭘﺴﻮﻧﺪ VBP 1ذﺧﻴﺮه ﻣﻲﺷﻮد و ﻣﺤﺘﻮاي آن ﻣﺸﺨﺼﺎت ﭘﺮوژه ،ﻧﻮع ﭘﺮوژه ،ﻧﺎم ﻓﺎﻳﻞﻫﺎي ﻓﺮم و ﻓﺮم اﺻﻠﻲ و ...اﺳﺖ .
• ﻓﺎﻳﻞ ﻣﺤﻴﻂ ﻛﺎري: اﻳﻦ ﻓﺎﻳﻞ ﺑﺎ ﭘﺴﻮﻧﺪ VBW 2ذﺧﻴﺮه ﻣﻲﺷﻮد و ﻣﺤﺘﻮاي آن ،اﻃﻼﻋﺎت ﻣﺤﻴﻂ ﻛﺎري و ﻓﺮمﻫﺎي ﭘﺮوژه اﺳﺖ.
• ﻓﺎﻳﻞ ﻓﺮم:
اﻳﻦ ﻓﺎﻳﻞ ﺑﺎ ﭘﺴﻮﻧﺪ FRMذﺧﻴﺮه ﻣﻲﺷﻮد و ﻣﺤﺘﻮاي آن اﻃﻼﻋﺎت ﻳﻚ ﻓﺮم و ﺗﻤﺎم ﻣﺸﺨﺼﺎت ﻓﺮم ﺑﻪ ﻫﻤﺮاه ﻧﺎم و ﻣﺸﺨﺼﺎت ﻛﻨﺘﺮلﻫﺎي روي ﻓﺮم اﺳﺖ ،در ﺿﻤﻦ ﺗﻤﺎم روﻳﺪادﻫﺎ و ﻛﺪﻫﺎي ﻣﺮﺑﻮط ﺑﻪ آن ﻧﻴﺰ در اﻳﻦ ﻓﺎﻳﻞ ذﺧﻴﺮه ﻣﻲﺷﻮﻧﺪ. • ﻓﺎﻳﻞ ﺗﺼﺎوﻳﺮ : اﻳﻦ ﻓﺎﻳﻞ ﺑﺎ ﭘﺴﻮﻧﺪ FRXذﺧﻴﺮه ﻣﻲﺷﻮد و ﻣﺤﺘﻮي ﺗﺼﺎوﻳﺮي اﺳﺖ ﻛﻪ روي ﻓﺮم ﻳﺎ ﻛﻨﺘﺮلﻫﺎي دﻳﮕﺮ از آﻧﻬﺎ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ.
• ﻓﺎﻳﻞﻫﺎي دﻳﮕﺮ:
ﺷﺎﻣﻞ ﻓﺎﻳﻞﻫﺎي DLL, OCXو ...ﻣﻲﺑﺎﺷﺪ ﻛﻪ در آﻳﻨﺪه ﺑﺎ آﻧﻬﺎ آﺷﻨﺎ ﺧﻮاﻫﻴﺪ ﺷﺪ.
--------------ﺑﺮﻧﺎﻣﻪﻫﺎي ﺟﺪﻳﺪ) آﺷﻨﺎﻳﻲ ﺑﺎ دﻳﮕﺮ ﺧﺼﻮﺻﻴﺎت CommandButton ،Labelو ﻓﺮم( Visual Basic Project 1 Visual Basic Workspace 2
ﺻﻔﺤﻪ١٩ :
.ﺑﺮاي درك ﺑﻬﺘﺮ اﻳﻦ ﻛﺪﻫﺎ ﺑﻪ ﺑﺨﺶ ﻣﺸﺨﺼﻪﻫﺎي ﻛﻨﺘﺮل ﻟﻴﺒﻞ ﺑﺮوﻳﺪ
ﺗﻐﻴﻴﺮ رﻧﮓ ﭘﺲزﻣﻴﻨﻪ:BackColor ﺧﺎﺻﻴﺖ Private Sub Command1_Click() Label1.BackColor = 0 End Sub
ﺗﻌﻴﻴﻦ ﻧﻮع و اﻧﺪازهي ﻗﻠﻢ:Font ﺧﺎﺻﻴﺖ Private Sub Command1_Click() Label1.Font.Name = “Tohoma” Label1.Font.Size = “12” Label1.Font.Underline = True End Sub
Or Private Sub Command1_Click() Label1.Font = “Tohoma” Label1.FontSize = “12” Label1.FontUnderline = True End Sub
ﺗﻐﻴﻴﺮ رﻧﮓ ﻗﻠﻢ:ForeColor ﺧﺎﺻﻴﺖ Private Sub Command1_Click() Label1.ForeColor = &HC00000 End Sub
ﺗﻌﻴﻴﻦ ﺷﻜﻞ اﺷﺎرهﮔﺮ ﻣﺎوس:MousePointer ﺧﺎﺻﻴﺖ Private Sub Form_Load() Label1.MousePointer = 5 End Sub
ﺗﻌﻴﻴﻦ ﺷﻜﻠﻲ دﻟﺨﻮاه ﺑﺮاي ﻣﺎوس:MouseIcon ﺧﺎﺻﻴﺖ ﺑﺮاي. اﺳﺖ ﻛﻪ ﺧﻮدﺗﺎن ﻫﻢ ﻣﻲﺗﻮاﻧﻴﺪ آن را ﺑﺴﺎزﻳﺪICO ﺑﺎ ﭘﺴﻮﻧﺪ16 X 16 اﺷﺎرهﮔﺮ ﻣﺎوس ﻳﻚ آﻳﻜﻦ ، ﻗﺮار داده99‐Custom را ﺑﺮاﺑﺮMousePointer اﺑﺘﺪا ﺑﺎﻳﺪ ﺧﺎﺻﻴﺖ،ﻧﻤﺎﻳﺶ اﻳﻦ اﺷﺎرهﮔﺮ اﻳﻦ، ﺗﺎ زﻣﺎﻧﻲ ﻛﻪ اﺷﺎرهﮔﺮ را دوﺑﺎره ﺗﻐﻴﻴﺮ ﻧﺪادهاﻳﺪ. را ﺗﻐﻴﻴﺮ ﺑﺪﻫﻴﺪMouseIcon ﺳﭙﺲ ﺧﺎﺻﻴﺖ .ﺷﻜﻞ ﺑﻪ ﻋﻨﻮان اﺷﺎرهﮔﺮ اﻧﺠﺎم وﻇﻴﻔﻪ ﺧﻮاﻫﺪ ﻛﺮد
٢٠ :ﺻﻔﺤﻪ
ﻧﻜﺘﻪ : اﮔﺮ دﻗﺖ ﻛﺮده ﺑﺎﺷﻴﺪ ،ﺑﻌﺪ از ﻧﻮﺷﺘﻦ ﻧﺎم ﻛﻨﺘﺮل و زدن ﻧﻘﻄﻪ ،ﻟﻴﺴﺘﻲ از ﻣﺸﺨﺼﻪﻫﺎي آن ﻛﻨﺘﺮل ﺑﺮاي ﺷﻤﺎ ﻇﺎﻫﺮ ﻣﻲﺷﻮد .ﺑﺮاي رﺳﻴﺪن ﺑﻪ ﻣﺸﺨﺼﻪي ﻣﻮرد ﻧﻈﺮ ،ﻛﺎﻓﻴﺴﺖ از ﻛﻠﻴﺪﻫﺎي ﺟﻬﺘﻲ اﺳﺘﻔﺎده ﻛﻨﻴﺪ ﻳﺎ ﻧﺎم اول آن ﻣﺸﺨﺼﻪ را ﺗﺎﻳﭗ ﻛﻨﻴﺪ و ﺳﭙﺲ ﻛﻠﻴﺪ ﺗﺐ را از روي ﺻﻔﺤﻪ ﻛﻠﻴﺪ ﺑﻔﺸﺎرﻳﺪ.
--------------ﺑﺮاي درك ﺑﻬﺘﺮ اﻳﻦ ﺑﺨﺶ ،ﻣﺸﺨﺼﻪﻫﺎي ﻓﺮم را ﺑﺮرﺳﻲ ﻛﻨﻴﺪ. ﺧﺎﺻﻴﺖ :Captionﺗﻐﻴﻴﺮ ﻋﻨﻮان ﻓﺮم )( Private Sub Command1_Click " Form1.Caption = "Changed End Sub
ﺧﺎﺻﻴﺖ :BorderStyleﺗﻐﻴﻴﺮ ﻋﻨﺎﺻﺮ ﭘﻨﺠﺮه اﻳﻦ ﻣﺸﺨﺼﻪ ﻛﻪ ﻳﻜﻲ از ﻣﻬﻢﺗﺮﻳﻦ ﻣﺸﺨـﺼﻪﻫـﺎي ﻓـﺮم ﻣـﻲﺑﺎﺷـﺪ ،ﻋﻨﺎﺻـﺮ ﭘﻨﺠـﺮهاي )ﻧـﻮار ﻋﻨـﻮان ،ﺣﺎﺷـﻴﻪ، ﺟﻌﺒﻪي ﻛﻨﺘﺮل و ﻏﻴﺮه( را ﻛﻪ ﻓﺮم ﺧﻮاﻫﺪ داﺷﺖ را ﺗﻌﻴﻴﻦ ﻣﻲﻛﻨﺪ. ﺗﻮﺿﻴﺢ
ﻣﻘﺪار ﻣﺸﺨﺼﻪ
0‐Noneﺑﺪون ﺣﺎﺷﻴﻪ ،ﺑﺪون ﻧﻮار ﻋﻨﻮان و ﻏﻴﺮ ﻗﺎﺑﻞ ﺟﺎﺑﻪﺟﺎﻳﻲ
1
1‐Fixed Singleﺑﺎ درگ ﻛﺮدن ﺣﺎﺷﻴﻪﻫﺎ ﻧﻤﻲﺗﻮان ﺗﻐﻴﻴﺮ اﻧﺪازه داد. 2‐Sizableداراي ﻗﺎﺑﻠﻴــﺖ ﺗﻐﻴﻴــﺮ اﻧــﺪازه ﺑــﻪ وﺳــﻴﻠﻪي درگ ﻛــﺮدن و وﺟــﻮد دﻛﻤﻪﻫﺎي Maximizeو .Minimize 3‐Fixed Dialog ﻋﺪم ﻗﺎﺑﻠﻴﺖ ﺗﻐﻴﻴﺮ اﻧﺪازه و ﻋﺪم وﺟﻮد دﻛﻤـﻪﻫـﺎي Maximize
و .Minimize 4‐Fixed ToolWindowﺷﺒﻴﻪ ﺣﺎﻟﺖ ﻗﺒﻞ ﺑﺎ اﻳﻦ ﺗﻔﺎوت ﻛﻪ ﻧﻮار ﻋﻨﻮان ﻛﻮﺗﺎهﺗﺮ اﺳـﺖ و ﻗﻠﻢ ﻧﻮار ﻋﻨﻮان و دﻛﻤﻪي Closeﻛﻮﭼﻚﺗﺮ اﺳﺖ. 5‐Sizable ToolWindowﺷﺒﻴﻪ ﺣﺎﻟﺖ ﻓﻮق ﺑﺎ اﻳﻦ ﺗﻔﺎوت ﻛﻪ ﺑـﺎ درگ ﻛـﺮدن ﺣﺎﺷـﻴﻪ ﺗﻐﻴﻴـﺮ اﻧﺪازه ﻣﻤﻜﻦ اﺳﺖ. 1
اﻟﺒﺘﻪ ﺑﺎ ﺑﺮﺧﻲ از ﻛﺪﻫﺎ ﻗﺎﺑﻞ ﺟﺎﺑﻪﺟﺎ ﺷﺪن ﻣﻲﺑﺎﺷﺪ.
ﺻﻔﺤﻪ٢١ :
ﻧﻜﺘﻪ: ﺗﻔﺎوت Fixed Singleﺑﺎ Fixed Dialogﭼﻴﺴﺖ؟ :Fixed Singleدر اﻳﻦ ﺣﺎﻟﺖ ﻋﻼوه ﺑﺮ ﻇﺎﻫﺮ ﺷﺪن ﻓﺮم در ،Taskbarﺷﻤﺎ ﻣﻲﺗﻮاﻧﻴﺪ دﻛﻤﻪﻫﺎي ﻣﻜﺲ و ﻣﻴﻦ را ﺑﻪ ﻓﺮم اﺧﺘﺼﺎص دﻫﻴﺪ. :Fixed Dialogﻫﻤﺎﻧﻄﻮر ﻛﻪ از ﻧﺎﻣﺶ ﭘﻴﺪاﺳﺖ ،ﻳﻚ ﻛﺎدر ﻣﺤﺎورهاي ﺑﺮاي ﺷﻤﺎ اﻳﺠﺎد ﻣﻲﻛﻨﺪ .اﻳﻦ ﻛﺎدر در Taskbarدﻳﺪه ﻧﻤﻲﺷﻮد )وﻳﮋﮔﻲ ﻛﺎدرﻫﺎي ﻣﺤﺎورهاي( و ﻧﻤﻲﺗﻮاﻧﺪ ﺧﺎﺻﻴﺖ MaxButtonو MinButtonرا ﺑﻪ ﺧﻮد اﺧﺘﺼﺎص دﻫﺪ.
ﺧﺎﺻﻴﺖ :ControlBoxﻧﻤﺎﻳﺶ ﻳﺎ ﻋﺪم ﻧﻤﺎﻳﺶ ﺟﻌﺒﻪي ﻛﻨﺘﺮل اﮔﺮ ﺑﺮاﺑﺮ Falseﺑﺎﺷﺪ ،ﺟﻌﺒﻪي ﻛﻨﺘﺮل ﻛﻪ ﺷﺎﻣﻞ دﻛﻤﻪﻫﺎي Maximize ،Closeو Minimize
ﻣﻲﺑﺎﺷﺪ ﻧﻤﺎﻳﺶ داده ﻧﺨﻮاﻫﺪ ﺷﺪ.
ﺧﺎﺻﻴﺖ MaxButtonو :MinButton اﮔﺮ ﺑﺮاﺑﺮ Falseﺑﺎﺷﻨﺪ ،دﻛﻤﻪﻫﺎي Maximizeو Minimizeﻧﻤﺎﻳﺶ داده ﻧﺨﻮاﻫﻨﺪ ﺷﺪ.
ﺧﺎﺻﻴﺖ :Movableﻋﺪم ﺟﺎﺑﻪﺟﺎﻳﻲ ﻓﺮم اﮔﺮ ﺑﺮاﺑﺮ Falseﺑﺎﺷﺪ ،ﻓﺮم ﻗﺎﺑﻠﻴﺖ ﺟﺎﺑﻪﺟﺎﻳﻲ ﻧﺪارد و در ﻣﺤﻞ از ﻗﺒﻞ ﺗﻌﻴﻴﻦ ﺷﺪهي ﺧﻮد ﺛﺎﺑﺖ ﻣﻲﻣﺎﻧﺪ.
ﺧﺎﺻﻴﺖ :ShowInTaskbarﻧﻤﺎﻳﺶ ﻓﺮم در ﻧﻮار وﻇﻴﻔﻪ اﮔﺮ ﺑﺮاﺑﺮ Falseﺑﺎﺷﺪ ،ﺑﺮﻧﺎﻣﻪي ﻛﺎرﺑﺮدي در ﻧﻮار وﻇﻴﻔﻪ ﻧﻤﺎﻳﺎن ﻧﺨﻮاﻫﺪ ﺷﺪ. ﺧﺎﺻﻴﺖ :StartUpPositionﻣﺤﻞ ﻧﻤﺎﻳﺶ ﻓﺮم اﻳﻦ ﻣﺸﺨﺼﻪ ،دﻗﻴﻘﺎ ﻛﺎر Form Layoutرا اﻧﺠﺎم ﻣﻲدﻫﺪ .اﮔﺮ ﻗﺼﺪ ﺗﻨﻈﻴﻢ ﻣﺤﻞ ﻗﺮارﮔﻴﺮي ﻓﺮم در ﻫﻨﮕﺎم اﺟﺮاي ﺑﺮﻧﺎﻣﻪ را دارﻳﺪ ،ﻣﻲﺗﻮاﻧﻴﺪ از اﻳﻦ ﮔﺰﻳﻨﻪ ﻧﻴﺰ اﺳﺘﻔﺎده ﻛﻨﻴﺪ.
ﺧﺎﺻﻴﺖ :WindowStateﻧﺤﻮهي ﻧﻤﺎﻳﺶ ﻓﺮم اﮔﺮ ﻗﺼﺪ دارﻳﺪ ﻛﻪ ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ در ﻫﻨﮕﺎم اﺟﺮا ﺑﻪ ﺻﻮرت ﺗﻤﺎم ﺻﻔﺤﻪ در ﺑﻴﺎﻳﺪ ،ﺑﺎﻳﺪ ﻣﺸﺨﺼﻪي WindowStateرا ﺑﺎ Miximizedﻣﻘﺪاردﻫﻲ ﻛﻨﻴﺪ .ﺑﺮاي ﻣﺜﺎل ﭼﻬﺎر دﻛﻤﻪ ﺑﻪ ﻓﺮم اﺿﺎﻓﻪ ﻛﻨﻴﺪ و ﻛﺪﻫﺎي زﻳﺮ را ،ﺑﺮاي روﻳﺪاد ﻛﻠﻴﻚ آﻧﻬﺎ ﺑﻨﻮﻳﺴﻴﺪ. ﺻﻔﺤﻪ٢٢ :
ﻛﺪِ ﻣﺮﺑﻮﻃﻪ
ﻛﻠﻴﺪ ﻣﻮرد ﻧﻈﺮ
End Form1.WindowState = 2 Form1.WindowState = 1 Form1.WindowState = 0
Close Maximize Minimize Restore
ﻧﻜﺘﻪي ﻳﻚ: اﮔﺮ ﻣﻲﺧﻮاﻫﻴﺪ ﻗﻠﻢ ﺗﻤﺎم اﺷﻴﺎﺋﻲ را ﻛﻪ روي ﻓﺮم ﻗﺮار ﻣﻲدﻫﻴﺪ ﻳﻜﺴﺎن ﺑﺎﺷﻨﺪ ،ﺑﺎﻳﺪ ﻗﺒﻞ از ﻃﺮاﺣﻲ ﻇﺎﻫﺮ ﺑﺮﻧﺎﻣﻪ ،ﻗﻠﻢ ﻓﺮم را ﺗﻐﻴﻴﺮ دﻫﻴﺪ؛ ﭼﻮن ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲداﻧﻴﺪ اﺷﻴﺎﺋﻲ ﻛﻪ روي ﻓﺮم ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ ،از ﺑﺮﺧﻲ از ﻣﺸﺨﺼﻪﻫﺎي ﻓﺮم ﺗﺒﻌﻴﺖ ﻣﻲﻛﻨﻨﺪ. ﻧﻜﺘﻪي دو: در ﻫﻨﮕﺎم ﻛﺪﻧﻮﻳﺴﻲ ،اﮔﺮ ﭼﻨﺪ ﺣﺮف اول ﻳﻚ ﻛﻠﻤﻪي ﺷﻨﺎﺧﺘﻪﺷﺪه ﺗﻮﺳﻂ وﻳﮋوال ﺑﻴﺴﻴﻚ )ﻣﺎﻧﻨﺪ ﻧﺎم ﻛﻨﺘﺮلﻫﺎProperty ،ﻫﺎMethod ،ﻫﺎ و ﻏﻴﺮه( را ﺑﻨﻮﻳﺴﻴﻢ و CTRL+Spaceرا ﻓﺸﺎر دﻫﻴﻢ ،اﮔﺮ VB ﺗﻨﻬﺎ ﻳﻚ ﻛﻠﻤﻪ از ﺣﺮف اول آﻧﭽﻪ را ﻛﻪ ﻧﻮﺷﺘﻴﻢ ﭘﻴﺪا ﻛﻨﺪ ،ﺑﻘﻴﻪ ﺣﺮوف را ﺧﻮد ﻛﺎﻣﻞ ﻣﻲﻛﻨﺪ و اﮔﺮ ﺗﻌﺪادي ﻛﻠﻤﻪ ﺑﺎ اﻳﻦ ﻣﺸﺨﺼﺎت ﭘﻴﺪا ﻛﻨﺪ ،ﻟﻴﺴﺖ آﻧﻬﺎ را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪ ﻛﻪ ﻣﻲﺗﻮاﻧﻴﺪ ﻳﻜﻲ از آﻧﻬﺎ را اﻧﺘﺨﺎب ﻛﻨﻴﺪ.
--------------ﺑﺮﺧﻲ از ﺧﺼﻮﺻﻴﺎت CommandButton ﺧﺎﺻﻴﺖ :Cancelاﮔﺮ ﺑﺮاﺑﺮ Trueﺑﺎﺷﺪ ﻛﺪ ﻣﺮﺑﻮط ﺑﻪ روﻳﺪاد Clickدﻛﻤﻪي ﻓﺮﻣﺎن ,ﻫﻨﮕﺎم ﻓﺸﺎردادن ﻛﻠﻴﺪ Escاز روي ﺻﻔﺤﻪ ﻛﻠﻴﺪ اﺟﺮا ﻣﻲﺷﻮد .ﻓﻘﻂ ﻳﻜﻲ از دﻛﻤﻪﻫﺎي روي ﻓﺮم ﻣﻲﺗﻮاﻧﺪ اﻳﻦ ﺧﺎﺻﻴﺖ را ﺑﻪ ﺻﻮرت ﻓﻌﺎل داﺷﺘﻪ ﺑﺎﺷﺪ. ﺧﺎﺻﻴﺖ :Captionﻣﺘﻦ روي دﻛﻤﻪ را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ. ﺧﺎﺻﻴﺖ :Defaultاﮔﺮ ﺑﺮاﺑﺮ Trueﺑﺎﺷﺪ ،اﻳﻦ دﻛﻤﻪ ﺑﻪ ﻋﻨﻮان دﻛﻤﻪي ﭘﻴﺶﻓﺮض ﺑﻪ ﺣﺴﺎب ﻣﻲآﻳﺪ و ﺣﺘﻲ اﮔﺮ ﻣﻜﺎنﻧﻤﺎ ﻫﻢ در روي ﺷﻲء دﻳﮕﺮي ﺑﺎﺷﺪ و ﻛﻠﻴﺪ Enterﻓﺸﺮده ﺷﻮد ،دﺳﺘﻮرات درون اﻳﻦ دﻛﻤﻪ اﺟﺮا ﻣﻲﺷﻮﻧﺪ .در اﻳﻨﺠﺎ ﻫﻢ ﻓﻘﻂ ﻳﻜﻲ از دﻛﻤﻪﻫﺎي روي ﻓﺮم ﻣﻲﺗﻮاﻧﺪ اﻳﻦ ﺧﺎﺻﻴﺖ را ﺑﻪ ﺻﻮرت ﻓﻌﺎل داﺷﺘﻪ ﺑﺎﺷﺪ. ﺻﻔﺤﻪ٢٣ :
ﺧﺎﺻﻴﺖ :Enabledاﮔﺮ ﺑﺮاﺑﺮ Falseﺑﺎﺷﺪ دﻛﻤﻪ ﻏﻴﺮﻓﻌﺎل ﻳﺎ ﺧﺎﻣﻮش اﺳﺖ و ﻧﻤﻲﺗﻮان رو آن ﻛﻠﻴﻚ ﻛﺮد. ﺧﺎﺻﻴﺖ :Pictureﻓﺎﻳﻞ .bmpﻛﻪ روي دﻛﻤﻪ ﻧﻤﺎﻳﺶ داده ﻣﻲﺷﻮد.
---------------
ﺻﻔﺤﻪ٢٤ :
ﻓﺼﻞ دوم اﻧﻮاع دادهﻫﺎ
ﺻﻔﺤﻪ٢٥ :
ﻫﺮ زﺑﺎن ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﺑﺮاي ﭘﺮدازش دادهﻫﺎ ،ﺑﻪ اﻧﻮاع ﻣﺨﺘﻠﻔﻲ از دادهﻫﺎ ﻧﻴﺎز دارد و وﻳﮋوال ﺑﻴﺴﻴﻚ ﻫﻢ از اﻳﻦ ﻗﺎﻋﺪه ﻣﺴﺘﺜﻨﻲ ﻧﻴﺴﺖ .وﻳﮋوال ﺑﻴﺴﻴﻚ از اﻧﻮاع دادهﻫﺎي ﻣﺨﺘﻠﻒ ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲﻛﻨﺪ ﻛﻪ ﻣﻲﺗﻮاﻧﻨﺪ ﻧﻴﺎزﻫﺎي ﻣﺘﻌﺪد ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ را ﺑﺮآورده ﺳﺎزﻧﺪ .ﺑﻪ ﻃﻮر ﻛﻠﻲ ،ﻣﻲﺗﻮان دادهﻫﺎ را ﺑﻪ دو ﻧﻮع ﻋﺪدي و ﻏﻴﺮﻋﺪدي ﺗﻘﺴﻴﻢ ﻛﺮد.
دادهﻫﺎي ﻋﺪدي ﺗﻤﺎم اﻧﻮاع دادهﻫﺎي ﻋﺪدي در ﻳﻜﻲ از دو ﮔﺮوه زﻳﺮ ﻗﺮار دارﻧﺪ: اﻋﺪاد ﺻﺤﻴﺢ ) :(Integerاﻋﺪاد ﺻﺤﻴﺢ ﺑﺪون ﻧﻘﻄﻪي اﻋﺸﺎري؛ ﻣﺎﻧﻨﺪ .-684 ،0 ،132 اﻋﺪاد اﻋﺸﺎري ) :(Decimalاﻋﺪاد ﺑﺎ ﻧﻘﻄﻪي اﻋﺸﺎري )ﻣﻤﻴﺰ(؛ ﻣﺎﻧﻨﺪ .-432/65 ،0/005 ،654/6ﺑﻪ اﻋﺪاد اﻋﺸﺎري ،اﻋﺪاد ﻣﻤﻴﺰ ﺷﻨﺎور ﻫﻢ ﮔﻔﺘﻪ ﻣﻲﺷﻮد .در ﺗﻤﺎم اﻋﺪاد اﻋﺸﺎري ﺑﺎﻳﺪ ﻣﻤﻴﺰ اﻋﺸﺎر وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ،ﺣﺘﻲ اﮔﺮ رﻗﻢﻫﺎي ﺑﻌﺪ از آن ﺻﻔﺮ ﺑﺎﺷﺪ. وﻳﮋوال ﺑﻴﺴﻴﻚ اﻋﺪاد اﻋﺸﺎري و ﺻﺤﻴﺢ را ﺑﻪ روشﻫﺎي ﻣﺨﺘﻠﻒ ذﺧﻴﺮه و ﺑﺎ آﻧﻬﺎ ﻛﺎر ﻣﻲ ﻛﻨﺪ .ﺑﺎ آﻧﻜﻪ ﺑﺮاي ﻛﺎرﺑﺮ 8و 8/00ﻫﻴﭻ ﻓﺮﻗﻲ ﻧﺪارد ،وﻟﻲ از ﻧﻈﺮ وﻳﮋوال ﺑﻴﺴﻴﻚ آﻧﻬﺎ ﻣﺘﻔﺎوت ﻫﺴﺘﻨﺪ .ﻣﻘﺪار ﺣﺎﻓﻈﻪاي ﻛﻪ اﻧﻮاع دادهﻫﺎي ﻣﺨﺘﻠﻒ ﺑﻪ ﺧﻮد اﺧﺘﺼﺎص ﻣﻲدﻫﻨﺪ ،ﻳﻜﺴﺎن ﻧﻴﺴﺖ .ﺑﺎ ﻧﮕﺎه ﻛﺮدن ﺑﻪ ﻳﻚ ﻋﺪد ﻫﻢ ﻧﻤﻲﺗﻮان ﮔﻔﺖ ﻛﻪ ﭼﻘﺪر ﺣﺎﻓﻈﻪ اﺷﻐﺎل ﺧﻮاﻫﺪ ﻛﺮد .ﺑﺎ وﺟﻮد اﻳﻨﻜﻪ اﻣﺮوزه ،دﻳﮕﺮ ﺣﺎﻓﻈﻪ ﻳﻚ ﻣﺸﻜﻞ ﻛﻠﻴﺪي ﻧﻴﺴﺖ و ﺷﻤﺎ ﻫﻢ ﺑﻪﻋﻨﻮان ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ ﻧﺒﺎﻳﺪ زﻳﺎد ﻧﮕﺮان آن ﺑﺎﺷﻴﺪ ،وﻟﻲ ﻫﻤﻴﺸﻪ ﺳﻌﻲ ﻛﻨﻴﺪ ﺑﺮاي دادهﻫﺎﻳﺘﺎن ﻧﻮﻋﻲ را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ﻛﻪ ﺣﺎﻓﻈﻪي ﻛﻤﺘﺮي اﺷﻐﺎل ﻣﻲﻛﻨﻨﺪ. در ﺟﺪول زﻳﺮ ،ﺷﺶ ﻧﻮع دادهي ﻋﺪدي وﻳﮋوال ﺑﻴﺴﻴﻚ ،ﻣﻘﺪار ﺣﺎﻓﻈﻪي ﻣﻮرد ﻧﻴﺎز ﻫﺮ ﻳﻚ و ﻣﺤﺪودهاي ﻛﻪ ﻣﻲﺗﻮاﻧﻨﺪ در ﺧﻮد ﺟﺎي دﻫﻨﺪ ،ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ .ﻫﻨﮕﺎم ﺗﻌﺮﻳﻒ دادهﻫﺎ اﻳﻦ ﺟﺪول را ﻣﺪﻧﻈﺮ داﺷﺘﻪ ﺑﺎﺷﻴﺪ. ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ،اﮔﺮ ﻣﻲﺧﻮاﻫﻴﺪ ﺑﺎ اﻋﺪاد ﻣﻨﻔﻲ ﻛﺎر ﻛﻨﻴﺪ ﻧﺒﺎﻳﺪ از ﻧﻮع Byteاﺳﺘﻔﺎده ﻛﻨﻴﺪ ،اﻣﺎ اﮔﺮ ﺑﺎ ﺳﻦ اﻓﺮاد ﺳﺮ و ﻛﺎر دارﻳﺪ ،اﻳﻦ ﻧﻮع ﺑﻬﺘﺮﻳﻦ اﻧﺘﺨﺎب ﻣﻤﻜﻦ اﺳﺖ.
ﻣﺤﺪودهي ﻣﻘﺎدﻳﺮ
ﻧﻮع داده
ﻓﻀﺎي ذﺧﻴﺮهﺳﺎزي
Byte
1ﺑﺎﻳﺖ
0ﺗﺎ 255
Integer
2ﺑﺎﻳﺖ
‐32,768ﺗﺎ 32,767
Long
4ﺑﺎﻳﺖ
‐2,147,483,648ﺗﺎ
2,147,483,647
ﺻﻔﺤﻪ٢٦ :
Single
4ﺑﺎﻳﺖ
اﻋﺪاد ﻣﻨﻔﻲ ‐3.402823E38 :ﺗﺎ اﻋﺪاد ﻣﺜﺒﺖ 1.401298E‐45 :ﺗﺎ 3.402823E38
Double
8ﺑﺎﻳﺖ
اﻋﺪاد ﻣﻨﻔﻲ ‐1.79769313486232E308 :ﺗﺎ اﻋﺪاد ﻣﺜﺒﺖ 4.94065645841247E‐324 :ﺗﺎ 1.79769313486232E308
Currency
8ﺑﺎﻳﺖ
‐922,337,203,685,477.5808ﺗﺎ
‐1.401298E‐45
‐4.94065645841247E‐324
922,337,203,685,477.5807
ﻧﻜﺘﻪ: ﺑﺮاي اﻋﺪاد اﻋﺸﺎري ،ﺑﻬﺘﺮ اﺳﺖ از ﻧﻮع Singleاﺳﺘﻔﺎده ﻛﻨﻴﺪ.
--------------ﺳﺎﻳﺮ اﻧﻮاع دادهﻫﺎ )دادهﻫﺎي ﻏﻴﺮﻋﺪدي( درك دادهﻫﺎي ﻏﻴﺮﻋﺪدي )ﺑﺮاي ﻛـﺴﺎﻧﻲ ﻛـﻪ ﻋﻼﻗـﻪاي ﺑـﻪ رﻳﺎﺿـﻴﺎت ﻧﺪارﻧـﺪ( آﺳـﺎنﺗـﺮ اﺳـﺖ .ﻳﻜـﻲ از دﻻﻳﻠﻲ ﻛﻪ ،BASICﻋﻠﻴﺮﻏﻢ ﺣﻀﻮر زﺑﺎنﻫﺎي ﭘﻴﺸﺮﻓﺘﻪﺗﺮ ﻫﻤﭽﻨﺎن ﻣﻄﺮح ﺑﺎﻗﻲ ﻣﺎﻧﺪه اﺳﺖ ،ﺗﻮاﻧـﺎﻳﻲﻫـﺎي آن در ﻛﺎر ﺑﺎ رﺷﺘﻪﻫﺎي ﻣﺘﻨﻲ اﺳﺖ .رﺷﺘﻪ ﺗﺮﻛﻴﺒﻲ از ﭼﻨﺪ ﻧﻮﻳﺴﻪ ﻣﻲﺑﺎﺷﺪ ،ﻛﻪ ﺣﺘﻲ ﻣـﻲﺗﻮاﻧـﺪ رﻗـﻢ ﻋـﺪدي ﺑﺎﺷﺪ؛ اﻣﺎ ﻧﻤﻲﺗﻮان روي آﻧﻬﺎ ﻣﺤﺎﺳﺒﻪ اﻧﺠﺎم داد .ﻫﻤﻮاره ﺳﻌﻲ ﻛﻨﻴﺪ ﻓﻘﻂ ﺑﺮاي اﻋﺪادي ﻛﻪ ﻧﻴﺎز ﺑﻪ ﻣﺤﺎﺳﺒﻪ دارﻧﺪ ،از اﻧﻮاع ﻋﺪدي اﺳﺘﻔﺎده ﻛﻨﻴﺪ .در ﺟﺪول زﻳﺮ اﻧﻮاع دادهﻫﺎي ﻏﻴﺮﻋﺪدي وﻳﮋوال ﺑﻴﺴﻴﻚ را ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ. ﻣﻘﺪار ﺣﺎﻓﻈﻪ
ﻧﻮع داده )ﻃﻮل ﺛﺎﺑﺖ( String
ﻃﻮل رﺷﺘﻪ
)ﻃﻮل ﻣﺘﻐﻴﺮ( String
ﻃﻮل رﺷﺘﻪ 10 +ﺑﺎﻳﺖ
ﻣﺤﺪوده از 1ﺗﺎ ﺗﻘﺮﻳﺒﺎ 65400ﻧﻮﻳﺴﻪ 0ﺗﺎ 2ﻣﻴﻠﻴﺎرد ﻧﻮﻳﺴﻪ
Date
8ﺑﺎﻳﺖ
1ز اول ژاﻧﻮﻳﻪ 100ﺗﺎ 31دﺳﺎﻣﺒﺮ 9999
Boolean
2ﺑﺎﻳﺖ
Trueﻳﺎ False
[ Object
4ﺑﺎﻳﺖ
ﻣﻌﺎدل ﺷﻲء ﺗﻌﺮﻳﻒﺷﺪه
)ﻋﺪدي( Variant
16ﺑﺎﻳﺖ
ﻫﺮ ﻋﺪدي ﺗﺎ Double
)ﻣﺘﻦ( Variantﻃﻮل رﺷﺘﻪ 22 +ﺑﺎﻳﺖ ﺻﻔﺤﻪ٢٧ :
0ﺗﺎ ﺗﻘﺮﻳﺒﺎ 2ﻣﻴﻠﻴﺎرد ﻧﻮﻳﺴﻪ
ﻣﺘﻐﻴﺮﻫﺎ ﮔﺎﻫﻲ ﻻزم اﺳﺖ در ﻃﻮل ﺑﺮﻧﺎﻣﻪﺗﺎن ﻋﺪدي ﻳﺎ دادهاي را در ﺟﺎﻳﻲ ذﺧﻴﺮه ﻛﻨﻴﺪ و روي آن ﻋﻤﻠﻴﺎﺗﻲ اﻧﺠﺎم دﻫﻴﺪ؛ ﺑﺮاي اﻳﻦ ﻛﺎر ﺑﻪ ﻣﺘﻐﻴـﺮ ﻧﻴـﺎز دارﻳـﺪ .ﻣﺘﻐﻴـﺮ ﻳـﺎ Variableﻣﻜـﺎﻧﻲ در ﺣﺎﻓﻈـﻪ اﺳـﺖ ﻛـﻪ ﻣـﻲﺗﻮاﻧـﺪ ﻣﻘﺪاري را در ﺧﻮد ﻧﮕﻪ دارد ﻛﻪ اﻳﻦ ﻣﻘـﺪار ،ﻗﺎﺑـﻞ ﺗﻐﻴﻴـﺮ اﺳـﺖ .وﻗﺘـﻲ ﻣﻘـﺪاري را در ﻳـﻚ ﻣﺘﻐﻴـﺮ ﻗـﺮار ﻣﻲدﻫﻴﺪ ،ﻣﻘﺪار ﻗﺒﻠﻲ آن از ﺑﻴﻦ ﺧﻮاﻫﺪ رﻓﺖ. ﻣﺘﻐﻴﺮﻫﺎ ﺑﺎ ﻧﺎﻣﺸﺎن ﺷﻨﺎﺧﺘﻪ ﻣﻲﺷﻮﻧﺪ ،ﺑﻨﺎﺑﺮ اﻳﻦ در ﻳﻚ ﻗﺴﻤﺖ از ﺑﺮﻧﺎﻣﻪ )روال( اﺳـﺘﻔﺎده از دو ﻣﺘﻐﻴـﺮ ﺑـﺎ ﻳﻚ ﻧﺎم ﻣﺠﺎز ﻧﻴﺴﺖ ،زﻳﺮا وﻳﮋوال ﺑﻴﺴﻴﻚ ﻗﺎدر ﺑﻪ ﺗﺸﺨﻴﺺ آﻧﻬـﺎ ﻧﺨﻮاﻫـﺪ ﺑـﻮد .ﻗﺒـﻞ از اﺳـﺘﻔﺎده از ﻳـﻚ ﻣﺘﻐﻴﺮ ﺑﺎﻳﺪ آن را اﻋﻼن ) (Declareﻛﻨﻴﺪ .اﻋﻼن ﻳﻚ ﻣﺘﻐﻴﺮ ،ﻳﻌﻨﻲ ﻧﺎمﮔﺬاري آن و ﺗﻌﻴﻴﻦ ﻧـﻮع ﻣﻘـﺪاري ﻛﻪ ﻣﻲﺗﻮاﻧﺪ ﺑﮕﻴﺮد. ﻧﻜﺘﻪ: ﻣﺘﻐﻴﺮﻫﺎ ﻓﻘﻂ ﻣﻲﺗﻮاﻧﻨﺪ از ﻫﻤﺎن ﻧﻮﻋﻲ ﻛﻪ اﻋـﻼن ﺷـﺪهاﻧـﺪ ﻣﻘـﺪار ﺑﮕﻴﺮﻧـﺪ؛ اﻟﺒﺘـﻪ ﺑـﻪاﺳـﺘﺜﻨﺎي ﻣﺘﻐﻴـﺮﻫـﺎي Variantﻛﻪ ﻣﻲﺗﻮاﻧﻨﺪ از ﺗﻤﺎم اﻧﻮاع دادهﻫﺎ ﻣﻘﺪار ﺑﮕﻴﺮﻧﺪ.
ﻗﻮاﻧﻴﻦ اﻳﺠﺎد ﻣﺘﻐﻴﺮﻫﺎ ﺑﻪدﻟﻴﻞ اﻳﻨﻜﻪ ﻧﺎمﮔﺬاري ﻣﺘﻐﻴﺮﻫﺎ ﺑﻪ ﻋﻬﺪهي ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ اﺳﺖ ،ﺑﺎﻳﺪ ﻗﻮاﻋﺪ ﻧﺎمﮔﺬاري آﻧﻬﺎ را ﺑﺪاﻧﻴﺪ: • ﻧﺎم ﻣﺘﻐﻴﺮ ﺑﺎﻳﺪ ﺑﺎ ﻳﻜﻲ از ﺣﺮوف اﻟﻔﺒﺎ ﺷﺮوع ﺷﻮد . • اﺳﺘﻔﺎده از ﺣﺮوف و اﻋﺪاد در ﻧﺎم ﻣﺘﻐﻴﺮﻫﺎ ﻣﺠﺎز اﺳﺖ • ﻧﺎم ﻳﻚ ﻣﺘﻐﻴﺮ ﻣﻲﺗﻮاﻧﺪ ﺗﺎ 255ﻧﻮﻳﺴﻪ ﻃﻮل داﺷﺘﻪ ﺑﺎﺷﺪ . • ﺳﻌﻲ ﻛﻨﻴﺪ ﺗﺎ ﺣﺪ اﻣﻜﺎن از ﺣﺮوف ﺧﺎص )ﻏﻴﺮاﻟﻔﺒﺎﻳﻲ-ﻋﺪدي( اﺳﺘﻔﺎده ﻧﻜﻨﻴﺪ .ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ دﻳﮕـﺮ ﻧﻴﺎزي ﻧﻴﺴﺖ ﻧﮕﺮان ﺑﺎﺷﻴﺪ ﻛﻪ ﻛﺪام ﺣﺮوف ﺧﺎص ﻣﺠﺎزﻧﺪ و ﻛﺪام ﺣﺮوف ﻏﻴﺮﻣﺠﺎز . • ﻓﺎﺻﻠﻪ در ﻧﺎم ﻣﺘﻐﻴﺮﻫﺎ ﻣﺠﺎز ﻧﻴﺴﺖ . ﻋﻼوه ﺑﺮ ﻗﻮاﻋﺪ اﻟﺰاﻣﻲ ﻓﻮق ،ﺳﻌﻲ ﻛﻨﻴﺪ ﻫﻨﮕﺎم ﻧﺎمﮔﺬاري ﻣﺘﻐﻴﺮﻫﺎ ﻧﻜﺎت زﻳﺮ را ﻫﻢ رﻋﺎﻳﺖ ﻛﻨﻴﺪ. • در ﻧﺎم ﻣﺘﻐﻴﺮﻫﺎ از ﭘﻴﺸﻮﻧﺪﻫﺎﻳﻲ اﺳﺘﻔﺎده ﻛﻨﻴﺪ ﻛـﻪ ﻧـﻮع آن را ﻣـﺸﺨﺺ ﻛﻨـﺪ .ﺑـﺪﻳﻦ ﺗﺮﺗﻴـﺐ دﻳﮕـﺮ ﻧﻴﺎزي ﻧﻴﺴﺖ ﻛﻪ ﻣﺪام ﺑﺮاي اﻃﻼع از ﻧﻮع ﻳﻚ ﻣﺘﻐﻴﺮ ﺑﻪ ﻗﺴﻤﺖ اﻋـﻼن ﻣﺘﻐﻴـﺮﻫـﺎ ﻣﺮاﺟﻌـﻪ ﻛﻨﻴـﺪ. ﺟﺪول زﻳﺮ ﭘﻴﺸﻮﻧﺪ اﻧﻮاع دادهﻫﺎي ﻣﺘﻌﺎرف وﻳﮋوال ﺑﻴﺴﻴﻚ را ﻧﺸﺎن ﻣﻲدﻫﺪ . ﺟﺪول ﭘﻴﺸﻮﻧﺪ ﻧﺎم ﻣﺘﻐﻴﺮﻫﺎ ﺻﻔﺤﻪ٢٨ :
ﭘﻴﺸﻮﻧﺪ
ﻧﻮع داده
bln byt cur dte dbl int lng obj sng str vnt
Boolean Byte Currency Date Double Integer Long Object Single String Variant
ﻣﺜﺎل blnButtonEnabled bytLenght curSales98 dteOverdue DblScientificAmt intYear1998 lngWeatherDistance objWorksheetAcct99 sngSales1stQte strFirstName vntValue
ﻧﻜﺘﻪي ﻳﻚ: در ﺟﺪول ﺑﺎﻻ از ﻧﺎمﻫﺎي ﺑﺎﻣﻌﻨﻲ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ ،اﻳﻦ ﻛﺎر ﺳﺒﺐ ﻗﺎﺑﻞ ﻓﻬﻢﺗـﺮ ﺷـﺪن ﺑﺮﻧﺎﻣـﻪ ﺧﻮاﻫـﺪ ﺷﺪ ،در ﻧﺘﻴﺠﻪ ﺑﻪ ﻣﺴﺘﻨﺪﺳﺎزي ﻛﻤﺘﺮي ﻧﻴﺎز ﺧﻮاﻫﺪ داﺷﺖ. ﻧﻜﺘﻪي دو: ﺑﺮاي ﺟﺪاﻛﺮدن ﻗﺴﻤﺖﻫﺎي ﻧﺎم ﻣﺘﻐﻴﺮ از ﺣﺮوف ﺑﺰرگ اﺳﺘﻔﺎده ﻛﻨﻴﺪ .ﻣﺎﻧﻨﺪintTotal :
اﻋﻼن ﻣﺘﻐﻴﺮﻫﺎ ﺑﺮاي اﻋﻼن ﻳﻚ ﻣﺘﻐﻴﺮ از ﻛﻠﻤﻪي ﻛﻠﻴﺪي Dimاﺳﺘﻔﺎده ﻣﻲﺷﻮد .ﻗﺒﻞ از اﺳﺘﻔﺎده از ﻳﻚ ﻣﺘﻐﻴﺮ ﺣﺘﻤﺎ ﺑﺎﻳـﺪ آن را اﻋﻼن ﻛﺮد .اﻟﺒﺘﻪ VBاﺟﺎزه ﻣﻲدﻫﺪ ﻛﻪ اﻳﻦ ﻗﺎﻋﺪهي ﻛﻠﻲ را زﻳﺮ ﭘﺎ ﺑﮕﺬارﻳـﺪ ،وﻟـﻲ ﺗﺨﻠـﻒ از اﻳـﻦ ﻗﺎﻋﺪه ﻣﻲﺗﻮاﻧﺪ ﺑﻪ ﺳﺮدرﮔﻤﻲ ﻣﻨﺠﺮ ﺷﻮد .اﻟﺰام ﻳﺎ ﻋﺪم اﻟﺰام ﺑﻪ اﻋـﻼن ﻣﺘﻐﻴـﺮﻫـﺎ را ﻣـﻲﺗﻮاﻧﻴـﺪ در ﻣﻨـﻮي ،Tools\Optionزﺑﺎﻧﻪي Editorو ﮔﺰﻳﻨﻪي Require Variable Declarationﻣﺸﺨﺺ ﻛﻨﻴـﺪ. اﮔﺮ اﻳﻦ ﮔﺰﻳﻨﻪ اﻧﺘﺨﺎب ﺷﻮد ،در ﻗﺴﻤﺖ ﺗﻌﺎرﻳﻒ ﭘﻨﺠﺮهي ﻛـﺪ ،ﻛﻠﻤـﻪي Option Explicitﺑـﻪ ﺻـﻮرت ﭘﻴﺶ ﻓﺮض ﻧﻮﺷﺘﻪ ﻣﻲﺷﻮد. ﺗﻘﺮﻳﺒـﺎ ﻣـﻲﺗـﻮان ﮔﻔـﺖ ﻛـﻪ اﻳـﻦ ﻋﺒـﺎرت ﻣﺨﻔـﻒ All Variables Used Must Be Explicitly Declaredﻣﻲﺑﺎﺷﺪ .اﻳﻦ دﺳﺘﻮر ﺑﻪ وﻳﮋوال ﺑﻴﺴﻴﻚ ﻣﻲﮔﻮﻳﺪ ﻛﻪ ﺗﻤﺎﻣﻲ ﻣﺘﻐﻴـﺮﻫـﺎي ﻣـﻮرد اﺳـﺘﻔﺎده ،ﺑﺎﻳـﺪ
ﺻﻔﺤﻪ٢٩ :
ﺻﺮﻳﺤﺎ ﺗﻌﺮﻳﻒ ﺷﻮﻧﺪ .در ﭼﻨﻴﻦ ﺣﺎﻟﺘﻲ ،ﻫﺮﮔﺎه ﻧﺎم ﻳﻚ ﻣﺘﻐﻴﺮ را اﺷﺘﺒﺎه ﺑﻨﻮﻳﺴﻴﺪ ،وﻳـﮋوال ﺑﻴـﺴﻴﻚ آن را ﺑـﻪ ﺷﻤﺎ ﮔﻮﺷﺰد ﺧﻮاﻫﺪ ﻛﺮد؛ اﻣﺎ اﮔﺮ اﻳﻦ ﮔﺰﻳﻨﻪ ﻏﻴﺮﻓﻌﺎل ﺑﺎﺷـﺪ ،وﻳـﮋوال ﺑﻴـﺴﻴﻚ اﺷـﺘﺒﺎه در ﻧﻮﺷـﺘﻦ ﻧـﺎم ﻳـﻚ ﻣﺘﻐﻴﺮ را ﻣﺘﻐﻴﺮ ﺟﺪﻳﺪي ﺗﻠﻘﻲ ﻛﺮده و ﺑﻪ ﻛـﺎر ﺧـﻮد اداﻣـﻪ ﺧﻮاﻫـﺪ داد .در اﻳـﻦ ﺣﺎﻟـﺖ ﺗﻤـﺎم ﻣﺘﻐﻴﺮﻫـﺎﻳﻲ ﻛـﻪ اﻋﻼن ﻧﺸﻮﻧﺪ ،از ﻧﻮع Variantدر ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺧﻮاﻫﻨﺪ ﺷﺪ. ﺷﻜﻞ ﻛﻠﻲ اﺳﺘﻔﺎده از دﺳﺘﻮر Dimﺑﺮاي اﻋﻼن ﻳﻚ ﻣﺘﻐﻴﺮ ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻲﺑﺎﺷﺪ: ]Dim VarName [As DataType Dim ] ﻧﻮع داده [Asﻧﺎم ﻣﺘﻐﻴﺮ
ﻳﺎ :ﻧﻮع ﭘﺴﻮﻧﺪ
Dim VarName Dim A%
ﻧﻜﺘﻪي ﻳﻚ: در ﻣﺜﺎل ﺑـﺎﻻ ) ،(Dim A%از ﭘـﺴﻮﻧﺪ ﻋـﺪدي اﺳـﺘﻔﺎده ﻛـﺮدﻳﻢ .وﻗﺘـﻲ در ﻳـﻚ ﺑﺮﻧﺎﻣـﻪ ،ﻋـﺪدي را ﺻـﺮﻳﺤﺎ ﻣﻲﻧﻮﻳﺴﻴﺪ ،وﻳﮋوال ﺑﻴﺴﻴﻚ ﻣﻨﺎﺳﺐﺗﺮﻳﻦ ﻧﻮع را ﺑﺮاي آن ﺑﺮﻣـﻲﮔﺰﻳﻨـﺪ ،وﻟـﻲ ﮔـﺎﻫﻲ ﻻزم اﺳـﺖ دادهي ﻋﺪدي ﻣﻮرد اﺳﺘﻔﺎده از ﻧﻮﻋﻲ ﺑﺎﺷﺪ ﻛﻪ ﺷﻤﺎ دارﻳﺪ ،ﻧﻪ آﻧﭽﻪ ﻛﻪ وﻳﮋوال ﺑﻴـﺴﻴﻚ ﺗﻌﻴـﻴﻦ ﻣـﻲﻛﻨـﺪ .در ﭼﻨـﻴﻦ ﻣﻮاردي ﻣﻲﺗﻮاﻧﻴﺪ ﻧﻮع داده را ﺻﺮﻳﺤﺎ ﺑﻪ وﻳﮋوال ﺑﻴﺴﻴﻚ ﻣﻌﺮﻓﻲ ﻛﻨﻴﺪ .اﻳﻦ ﻛﺎر ﺑﺎ اﺳـﺘﻔﺎده از ﭘـﺴﻮﻧﺪ ﻧـﻮع داده ﻳﺎ Data‐type Suffixاﻣﻜﺎنﭘﺬﻳﺮ اﺳﺖ .ﺟﺪول زﻳﺮ اﻧﻮاع ﭘﺴﻮﻧﺪﻫﺎي ﻋﺪدي در وﻳﮋوال ﺑﻴﺴﻴﻚ را ﻧﺸﺎن ﻣﻲدﻫﺪ. ﭘﺴﻮﻧﺪ
ﻧﻮع داده
% & ! # @
Integer Long Single Double Currency
ﺻﻔﺤﻪ٣٠ :
ﻧﻜﺘﻪي دو: اﮔﺮ ﺑﻪ ﻣﺜـﺎل ﺑـﺎﻻ دﻗـﺖ ﻛـﺮده ﺑﺎﺷـﻴﺪ As DataType ،درون ﻛﺮوﺷـﻪ ﻗـﺮار ﮔﺮﻓﺘـﻪ اﺳـﺖ .ﻳﻌﻨـﻲ اﻳـﻦ ﻗﺴﻤﺖ Optionalﻳﺎ اﺧﺘﻴﺎري ﻣﻲﺑﺎﺷﺪ .ﻫﺮﮔﺎه As DataTypeذﻛﺮ ﻧﺸﻮد VB ،ﺑﻪ ﻃـﻮر ﺧﻮدﻛـﺎر آن را از ﻧﻮع Variantﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﺪ .اﮔﺮ از ﻧﻮع داده ﺧﻮد ﺑﻲاﻃﻼع ﻫﺴﺘﻴﺪ از ﻧـﻮع Variantاﺳـﺘﻔﺎده ﻛﻨﻴـﺪ. ﭘﺲ ﻋﻤﻼ دو دﺳﺘﻮر زﻳﺮ ﻣﻌﺎدﻟﻨﺪ: Dim x as Variant Dim x
ﻧﻜﺘﻪي ﺳﻪ: ﻫﻨﮕﺎم اﺳﺘﻔﺎده از ﻣﻘﺎدﻳﺮي ﻛﻪ ﺷﺎﻣﻞ ﺗﺎرﻳﺦ و زﻣﺎن ﻫﺴﺘﻨﺪ از ﻋﻼﻣﺖ #در اﺑﺘﺪا و اﻧﺘﻬﺎي اﻳﻦ ﻣﻘـﺎدﻳﺮ، اﺳﺘﻔﺎده ﻛﻨﻴﺪ .وﻳﮋوال ﺑﻴﺴﻴﻚ از ﺗﻤﺎم ﻗﺎﻟﺐﻫﺎي ﺗﺎرﻳﺦ و زﻣﺎن ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲﻛﻨﺪ .ﺑﻪ ﻣﺜﺎلﻫﺎي زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ: #July 4, 1776# #9:02 pm# #16:09:40# #1‐2‐2005# #5‐Dec‐99#
ﻧﻜﺘﻪي ﭼﻬﺎر: ﻧﻮع دادهي Booleanﺑﺮاي ﻣﻮاردي ﻣﻨﺎﺳﺐ اﺳﺖ ﻛﻪ ﻓﻘﻂ دو ﻣﻘـﺪار ﻣﺨـﺎﻟﻒ ﻫـﻢ دارﻳـﺪ .ﻣﺸﺨـﺼﻪي Enabledﻛﻨﺘﺮلﻫـﺎ ،از اﻳـﻦ ﻧﻤﻮﻧـﻪ اﺳـﺖ .ﺳـﻌﻲ ﻛﻨﻴـﺪ ﻫﻨﮕـﺎم ﻧـﺎمﮔـﺬاري ﻣﺘﻐﻴـﺮﻫـﺎي Booleanاز ﺳﻮاﻻﺗﻲ اﺳﺘﻔﺎده ﻛﻨﻴﺪ ﻛﻪ ﺑﺘﻮان ﺑﻪ آﻧﻬﺎ ﺟﻮاب ﺑﻠﻲ ﻳﺎ ﺧﻴﺮ داد . ﻧﻜﺘﻪي ﭘﻨﺞ: ﻧﻮع دادهي Variantﻣﻲﺗﻮاﻧﺪ ﻫﺮ ﻣﻘﺪاري )ﺑﺠﺰ رﺷﺘﻪﻫﺎي ﺑﺎ ﻃﻮل ﺛﺎﺑﺖ( را در ﺧﻮد ﺟﺎي دﻫـﺪ .زﻣـﺎﻧﻲ از اﻳﻦ ﻧﻮع داده اﺳﺘﻔﺎده ﻛﻨﻴﺪ ﻛﻪ از ﻗﺒﻞ ،دﻗﻴﻘﺎ ﻧﻤﻲداﻧﻴﺪ ﺑﺎ ﭼﻪ ﻧﻮع دادهاي ﺳﺮوﻛﺎر ﺧﻮاﻫﻴﺪ داﺷﺖ. ﻧﻜﺘﻪي ﺷﺶ: اﮔﺮ اﻣﻜﺎن اﻧﺘﺨﺎب ﺑﻴﻦ دو ﻳﺎ ﭼﻨﺪ ﻧﻮع اﻧﺘﺨﺎب را دارﻳﺪ ،ﻧﻮع دادهاي را اﻧﺘﺨﺎب ﻛﻨﻴﺪ ﻛﻪ ،ﻛﻤﺘﺮﻳﻦ ﻣﻴـﺰان اﺷﻐﺎﻟﻲ ﺣﺎﻓﻈﻪ را داﺷﺘﻪ ﺑﺎﺷﺪ .اﻳـﻦ ﻛـﺎر ﺑﺎﻋـﺚ ﺑـﺎرﮔﺰاري ﺳـﺮﻳﻊﺗـﺮ ﺑﺮﻧﺎﻣـﻪ در ﺣﺎﻓﻈـﻪ و ﺑﻬﻴﻨـﻪ ﺷـﺪن آن ﻣﻲﺷﻮد. ﻧﻜﺘﻪي ﻫﻔﺖ:
ﺻﻔﺤﻪ٣١ :
رﺷﺘﻪاي ﻛﻪ ﻃﻮل آن ﺻﻔﺮ ﺑﺎﺷﺪ ،رﺷﺘﻪي Nullﻧﺎﻣﻴﺪه ﻣﻲﺷـﻮد .ﻛﻠﻤـﻪي رزرو ﺷـﺪهي VBNullString
در VBﻣﻌﺎدل رﺷﺘﻪي ﺗﻬﻲ ﻣﻲﺑﺎﺷﺪ .اﻳﻦ ﻛﻠﻤﻪ ﻣﻲﺗﻮاﻧﺪ ﺑﻪ ﺟﺎي دو ﻋﻼﻣﺖ ﻧﻘﻞ ﻗﻮل اﺳﺘﻔﺎده ﺷﻮد. ﻧﻜﺘﻪي ﻫﺸﺖ: ﻣﻲﺗﻮان ﺗﻌﺎرﻳﻒ ﻣﺘﻐﻴﺮﻫﺎ را ﺑﺎ ﺟﺪاﺳﺎزي ﺗﻮﺳﻂ ﻛﺎﻣﺎ در ﻳﻚ دﺳﺘﻮر Dimﺗﺮﻛﻴﺐ ﻛﺮد .وﻟﻲ اﮔـﺮ ﻣﺘﻐﻴـﺮﻫـﺎ از اﻧﻮاع ﮔﻮﻧﺎﮔﻮن ﺑﺎﺷﻨﺪ ﺑﺎﻳﺪ As DataTypeرا ﻧﻮﺷﺖ: Dim a1, Total, Sum As Integer Dim a1 As Integer, strFirstName As String, t As Boolean
ﻣﺘﻐﻴﺮﻫﺎي رﺷﺘﻪاي ﻧﻮع دادهي Stringﺑﺮاي دو ﻧﻮع رﺷـﺘﻪ ﺑـﺎ ﻃـﻮل ﺛﺎﺑـﺖ و ﻣﺘﻐﻴـﺮ ﺑـﻪ ﻛـﺎر ﻣـﻲرود .در وﻳـﮋوال ﺑﻴـﺴﻴﻚ، ﺗﻌﺮﻳﻒ رﺷﺘﻪ ﺑﺎ ﻃﻮل ﻣﺘﻐﻴﺮ ،ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻲﺑﺎﺷﺪ. Dim strCityName As String
ﻫﺮ دوي اﻳﻦ ﻣﺘﻐﻴﺮﻫﺎ ﻣﻲﺗﻮاﻧﻨﺪ رﺷﺘﻪﻫﺎﻳﻲ ﺑﺎ ﻃﻮل ﻣﺘﻔﺎوت را در ﺧﻮد ﻧﮕﻪ دارﻧﺪ .ﻣﺜﻼ ،اﮔﺮ اﺑﺘﺪا در ﻣﺘﻐﻴﺮ strCityNameرﺷﺘﻪي " "Tehranو ﺳﭙﺲ رﺷﺘﻪي " "Barareرا ذﺧﻴﺮه ﻛﻨـﻴﻢ ،اﻳـﻦ ﻣﺘﻐﻴـﺮ ﻃـﻮل ﺧﻮد را ﻣﺘﻨﺎﺳﺐ ﺑﺎ آن ﺗﻐﻴﻴﺮ ﺧﻮاﻫﺪ داد .وﻟﻲ اﮔﺮ ﺑﺨﻮاﻫﻴﺪ رﺷﺘﻪﻫﺎﻳﻲ ﺑﺎ ﻃﻮل ﺛﺎﺑﺖ اﻳﺠﺎد ﻛﻨﻴﺪ ،ﺑﺎﻳـﺪ ﻃـﻮل رﺷﺘﻪ را ﻣﺸﺨﺺ ﻛﻨﻴﺪ: Dim VarName As String * Length
ﻣﺎﻧﻨﺪ: Dim strZipCode As String * 5
ﻳﻌﻨﻲ ﻣﺘﻐﻴﺮ strZipCodeﻫﻴﭽﮕﺎه ﺑﻴﺶ از 5ﻧﻮﻳﺴﻪ را ﻧﻤﻲﺗﻮاﻧﺪ در ﺧﻮد ذﺧﻴﺮه ﻛﻨﺪ .اﮔﺮ ﺷـﻤﺎ ﺳـﻌﻲ ﻛﻨﻴـﺪ رﺷﺘﻪاي ﻛﻪ ﺑﻴﺶ از 5ﻧﻮﻳﺴﻪ دارد را در strZipCodeذﺧﻴﺮه ﻛﻨﻴـﺪ VB ،ﺗﻨﻬـﺎ 5ﻧﻮﻳـﺴﻪي اول آن را در strZipCodeﻗﺮار ﻣﻲدﻫﺪ و ﻣﺎﺑﻘﻲ را ﻧﺎدﻳﺪه ﻣﻲﮔﻴﺮد.
ﻣﻘﺪار دادن ﺑﻪ ﻣﺘﻐﻴﺮﻫﺎ ﺑﻌﺪ از اﻋﻼن ﻳﻚ ﻣﺘﻐﻴﺮ ،ﻣﻲﺗﻮان دادهﻫﺎ را در آن ذﺧﻴﺮه ﻛﺮد .ﺳﺎدهﺗﺮﻳﻦ راه ﻣﻘﺪار دادن ﺑﻪ ﻳﻚ ﻣﺘﻐﻴـﺮ، اﺳﺘﻔﺎده از دﺳﺘﻮر اﻧﺘﺴﺎب 1ﻣﻲﺑﺎﺷﺪ .ﺷﻜﻞ ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر ﭼﻨﻴﻦ اﺳﺖ: Assignment Statement 1
ﺻﻔﺤﻪ٣٢ :
VarName = Expression
ﻛﻪ در آن VarNameﻧﺎم ﻣﺘﻐﻴـﺮ ﻳـﺎ ﺧﺎﺻـﻴﺖ ﻳـﻚ ﻛﻨﺘـﺮل اﺳـﺖ و Expressionﻳﻜـﻲ از ﻣـﻮاد زﻳـﺮ ﻣﻲﺑﺎﺷﺪ: • ﻋﺒﺎرات ﻣﺤﺎﺳﺒﺎﺗﻲ ﻳﺎ رﻳﺎﺿﻲ
Sum = 12+34
ﻳﺎ
x = 2 * n + i
• ﻳﻚ ﻣﻘﺪار )ﺛﺎﺑﺖ ،ﻣﺘﻐﻴﺮ و (...
" Name = "Meisamﻳﺎ
Even = 2
ﻳﺎ
x = a
• ﻣﺸﺨﺼﻪي ﻳﻚ ﻛﻨﺘﺮل
x = LblTitle.Enabled
ﻳﺎ
" LblTitle.Caption = "Esteghlal Ghahreman
ﻧﻜﺘﻪي ﻳﻚ: ﻣﺸﺨﺼﻪي ﻛﻨﺘﺮلﻫﺎ از ﻧﻮع Variantﻣﻲﺑﺎﺷﻨﺪ وﻟﻲ وﻳـﮋوال ﺑﻴـﺴﻴﻚ ﻫﻨﮕـﺎم ذﺧﻴـﺮه ﻛـﺮدن آﻧﻬـﺎ در ﻳـﻚ ﻣﺘﻐﻴﺮ ،ﻧﻮع آﻧﻬﺎ را ﺗﺒﺪﻳﻞ ﺧﻮاﻫﺪ ﻛﺮد. ﻧﻜﺘﻪي دو: ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﮔﻔﺘﻪ ﺷﺪ ﻣﻬﻢﺗﺮﻳﻦ ﻧﻜﺘﻪ درﺑﺎرهي ﻳﻚ ﻋﺒﺎرت آن اﺳﺖ ﻛﻪ ﻣﻘﺪار ﺳﻤﺖ راﺳﺖ ﻋﺒﺎرت ﺑﻪ ﻣﺘﻐﻴﺮ ﺳﻤﺖ ﭼﭗ آن ﻧﺴﺒﺖ داده ﻣﻲﺷﻮد .ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﻣﻘﺪار ﺳﻤﺖ راﺳﺖ ﻋﺒﺎرت ﺑﺎﻳﺪ ﺑﺎ ﻧﻮع ﻣﺘﻐﻴﺮ ﺳﻤﺖ ﭼﭗ ﻋﺒﺎرت ﻣﺘﻨﺎﺳﺐ ﺑﺎﺷﺪ. ﻧﻜﺘﻪي ﺳﻪ: در وﻳﮋوال ﺑﻴﺴﻴﻚ ﺑﺮاي ﺣﻔﻆ ﺳﺎزﮔﺎري ﺑﺎ ﺑﻴﺴﻴﻚﻫﺎي ﻗﺪﻳﻤﻲ ،ﻣـﻲﺗـﻮان از ﻛﻠﻤـﻪي ﻛﻠﻴـﺪي Letﺑـﺮاي ﻣﻘﺪار دادن ﺑﻪ ﻣﺘﻐﻴﺮﻫﺎ اﺳﺘﻔﺎده ﻛﺮد؛ ﭘﺲ در ﻋﻤﻞ دو دﺳﺘﻮر زﻳﺮ ﻣﻌﺪل ﻳﻜﺪﻳﮕﺮﻧﺪ: Let intSales = 4582 intSales = 4582
ﻧﻜﺘﻪي ﭼﻬﺎر: ﻫﺮ ﻛﻨﺘﺮل وﻳﮋوال ﺑﻴﺴﻴﻚ داراي ﻳﻚ ﻣﺸﺨﺼﻪي ﭘﻴﺶﻓﺮض اﺳﺖ ﻛﻪ اﮔﺮ ﻣﺸﺨﺼﻪ را ذﻛﺮ ﻧﻜﻨﻴﺪ ،وﻳـﮋوال ﺑﻴﺴﻴﻚ آن را در ﻧﻈﺮ ﺧﻮاﻫﺪ ﮔﺮﻓﺖ .ﻣﺸﺨﺼﻪي ﭘﻴﺶﻓﺮض ﺑﺮﭼﺴﺐ Caption ،ﻣﻲﺑﺎﺷﺪ ،ﻳﻌﻨﻲ ﻋﺒـﺎرت زﻳﺮ ﺑﺎ ﻣﺜﺎﻟﻲ ﻛﻪ در ﭼﻨﺪﻳﻦ ﺧﻂ ﺑﺎﻻﺗﺮ زدﻳﻢ ،ﺑﺮاﺑﺮ اﺳﺖ: "LblTitle = "Esteghlal Ghahreman ﺻﻔﺤﻪ٣٣ :
ﺑﺎ اﻳﻨﻜﻪ اﻳﻦ روش ﺳﺎدهﺗﺮ اﺳﺖ ،وﻟﻲ از وﺿﻮح ﺑﺮﻧﺎﻣﻪ ﻣﻲﻛﺎﻫﺪ .ﺑﻨﺎﺑﺮاﻳﻦ ﺳﻌﻲ ﻛﻨﻴﺪ ﻧﺎم ﻣﺸﺨﺼﻪ را ذﻛـﺮ ﻛﻨﻴﺪ.
دﻳﺪ و ﻣﺪت ﻋﻤﺮ ﻣﺘﻐﻴﺮ ﻣﻘﺪار ﻫﺮ ﻣﺘﻐﻴﺮ در ﻳﻚ ﻣﺤﺪودهي ﺧﺎص از ﺑﺮﻧﺎﻣﻪ ﻗﺎﺑﻞ دﻳﺪن اﺳﺖ ﻛـﻪ ﺑـﻪ آن ﻣﺤـﺪوده ،ﻣﺤـﺪودهي دﻳـﺪ ﻣﺘﻐﻴﺮ ﻣﻲﮔﻮﻳﻨﺪ .ﺗﻌﻴﻴﻦ ﻣﺤﺪوده ،ﺑﻴﺶ از ﻫﺮ ﭼﻴﺰ ﺑﻪ ﻣﺤﻞ ﺗﻌﺮﻳﻒ ﻣﺘﻐﻴﺮ ﺑـﺴﺘﮕﻲ دارد .اﮔـﺮ ﺑﺨـﻮاﻫﻴﻢ از ﻳـﻚ ﻣﺘﻐﻴﺮ در ﻫﻤﻪ ﺟﺎي ﻓـﺮم اﺳـﺘﻔﺎده ﻛﻨـﻴﻢ ،ﺑﺎﻳـﺪ آن را در ﻗـﺴﻤﺖ Declarationsﺗﻌﺮﻳـﻒ ﻛﻨـﻴﻢ؛ ﻳﻌﻨـﻲ ﻣﺤﻠــﻲ ﻛــﻪ Option Explicitوﺟــﻮد دارد .دو ﻛﻠﻤــﻪي ﻛﻠﻴــﺪي Publicو Privateﻧﻴــﺰ در ﺗﻌﻴــﻴﻦ ﻣﺤﺪودهي دﻳﺪ ﻣﻮﺛﺮﻧﺪ. وﻗﺘﻲ ﻣﺘﻐﻴﺮي را ﺑﺎ ﻛﻠﻤﻪي ﻛﻠﻴﺪي Publicﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﻴﻢ ،ﻣﻲﺗـﻮاﻧﻴﻢ از آن در ﺗﻤـﺎم ﺑﺮﻧﺎﻣـﻪ اﺳـﺘﻔﺎده ﻛﻨﻴﻢ ،وﻟﻲ ﻣﺘﻐﻴﺮي ﻛﻪ ﺑﺎ ﻛﻠﻤﻪي ﻛﻠﻴﺪي Privateﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﻴﻢ ،ﻓﻘﻂ در ﻫﻤﺎن ﻓﺮم ﻳﺎ ﻣﺎژول ،ﻗﺎﺑـﻞ اﺳﺘﻔﺎده ﻣﻲﺑﺎﺷﺪ. ﻣﺪت زﻣﺎﻧﻲ را ﻛﻪ ﻳﻚ ﻣﺘﻐﻴﺮ ،ﻣﻘﺪار ﻓﻌﻠﻲ ﺧﻮد را ﺣﻔﻆ ﻣﻲﻛﻨﺪ ،ﻣﺪت ﻋﻤﺮ ﻣﺘﻐﻴﺮ ﻣﻲﮔﻮﻳﻨﺪ .ﻣﺘﻐﻴﺮﻫـﺎﻳﻲ ﻛـﻪ در ﺑﺨﺶ Declarationsﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﻴﻢ ﻃﻮل ﻋﻤﺮي ﺑﺮاﺑﺮ ﺑﺎ ﻓﺮم دارﻧﺪ؛ ﻳﻌﻨﻲ ﺑﺎ اﻳﺠﺎد ﻓﺮم ،اﻳﺠـﺎد و ﺑﺎ از ﺑﻴﻦ رﻓﺘﻦ ﻓﺮم ،از ﺑﻴﻦ ﻣﻲروﻧﺪ )ﺣﺎﻓﻈﻪ را ﺑﻪ ﺳﻴﺴﺘﻢ ﺑﺮﻣﻲﮔﺮداﻧﻨﺪ( .ﻣﺘﻐﻴﺮﻫﺎﻳﻲ ﻛﻪ داﺧﻞ ﻳـﻚ ﺗـﺎﺑﻊ ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮﻧﺪ ،ﻃﻮل ﻋﻤﺮي ﺑﺮاﺑﺮ ﺑﺎ ﻃﻮل ﻋﻤﺮ ﺗﺎﺑﻊ دارﻧﺪ؛ ﻳﻌﻨﻲ ﺑﺎ از ﺑﻴﻦ رﻓﺘﻦ ﺗﺎﺑﻊ از ﺑﻴﻦ ﻣﻲروﻧﺪ. ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ) :در اﻳﻦ ﻣﺮﺣﻠﻪ ﺑﺎﻳﺪ ﺑﺪاﻧﻴﺪ از ﭼﻪ ﻛﻨﺘﺮلﻫﺎﻳﻲ ﺑﺎﻳﺪ اﺳﺘﻔﺎده ﻛﻨﻴﺪ(.
)(Private Sub cmdRun_Click Dim X As Integer X = X+1 Label1.Caption = X End Sub
ﺑﺮﻧﺎﻣﻪ را اﺟﺮا ﻛﻨﻴﺪ و ﻳﻚ ﺑﺎر روي cmdRunﻛﻠﻴﻚ ﻛﻨﻴﺪ. ﻣﺘﻐﻴﺮ Xﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد و ﺑﻪ ﻃﻮر ﭘﻴﺶﻓﺮض ﺑﻪ آن ﻣﻘﺪار ﺻﻔﺮ داده ﻣﻲﺷﻮد .ﺳﭙﺲ ﻣﻘﺪار آن ﺑﺮاﺑـﺮ ﺑـﺎ ﻳﻜﻲ ﺑﻴﺸﺘﺮ از ﻣﻘﺪار ﻗﺒﻠﻲ ﻣﻲﺷﻮد ) (X = X+1و در ﻟﻴﺒﻞ ﻧﻤﺎﻳﺶ داده ﻣﻲﺷﻮد .ﻧﺘﻴﺠﻪ ﻫﻤـﺎن اﺳـﺖ ﻛـﻪ ﻣﻲﺧﻮاﺳﺘﻴﻢ .ﻋﺪد 1ﻧﺸﺎن داده ﻣﻲﺷﻮد .اﻣـﺎ اﮔـﺮ ﻳـﻚ ﺑـﺎر دﻳﮕـﺮ ﻛﻠﻴـﻚ ﻛﻨـﻴﻢ ﻋـﺪد ﭼﻨـﺪ ﻣـﻲﺷـﻮد .ﺗﻐﻴﻴـﺮي ﻧﻤﻲﻛﻨﺪ! ﭼﺮا؟ ﺑﻪ اﻳﻦ دﻟﻴﻞ ﻛﻪ ،ﭘﺲ از رﺳﻴﺪن ﺑﻪ ﺧﻂ End Subﻣﺘﻐﻴﺮ Xﺑﻪ ﭘﺎﻳﺎن ﻋﻤﺮ ﺧﻮد ﻣﻲرﺳـﺪ و ﺣﺎﻓﻈﻪاي ﻛﻪ در اﺧﺘﻴﺎر ﺧﻮد ﮔﺮﻓﺘﻪ ﺑﻮد ﺑﻪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﺑﺎزﻣﻲﮔﺮداﻧﺪ.
ﺻﻔﺤﻪ٣٤ :
وﻗﺘﻲ دوﺑﺎره ﻛﻠﻴﻚ ﻣﻲﻛﻨﻴﻢ ،ﻣﺘﻐﻴﺮ دوﺑﺎره ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد و ﻣﻘﺪار اوﻟﻴﻪ ﺻﻔﺮ ﻣﻲﮔﺮدد و . ... ﺣﺎل از ﻛﻠﻤﻪي ﻛﻠﻴﺪي Staticﺑﻪ ﺟﺎي Dimاﺳﺘﻔﺎده ﻛﻨﻴﺪ و ﺑﺮﻧﺎﻣﻪ را اﺟﺮا ﻛﻨﻴﺪ: )(Private Sub cmdRun_Click Static X As Integer X = X+1 Label1.Caption = X End Sub
اﺣﺘﻤﺎﻻ ﺗﻌﺠﺐ ﺧﻮاﻫﻴﺪ ﻛﺮد .ﻋﺪدي ﻛﻪ ﺗﻐﻴﻴﺮي ﻧﻤﻲﻛﺮد ،ﺣﺎﻻ ﺑﺎ ﻫﺮ ﺑﺎر ﻛﻠﻴﻚ ،ﻣﻘﺪارش ﻳﻚ واﺣﺪ ﺑﻴﺸﺘﺮ از ﻣﻘﺪار ﻗﺒﻠﻲ ﻣﻲﺷﻮد .ﻧﺘﻴﺠﻪﮔﻴﺮي :دﻳﺪ ﻣﺘﻐﻴﺮﻫﺎي Staticﻣﺎﻧﻨﺪ Dimو ﻃﻮل ﻋﻤﺮ آﻧﻬﺎ ﺑﺮاﺑﺮ ﻓﺮم اﺳﺖ. ﺑﺎ اﻳﻦ ﺗﺮﺗﻴﺐ ﺑﺎ ﺧﺮوج از ﺗﺎﺑﻊ ،ﻣﺘﻐﻴﺮ از ﺑﻴﻦ ﻧﻤﻲرود و ﺑﺎ ﺑﺎزﮔﺸﺖ ﺑﻌﺪي ﺑﻪ ﺗﺎﺑﻊ ،ﻣﻘﺪار ﻗﺒﻠﻲ ﺧﻮد را ﺣﻔﻆ و در ﻧﻈﺮ ﻣﻲﮔﻴﺮد.
--------------ﻧﻤﺎﻳﺶ ﻣﺘﻦ روي ﻓﺮم و ﻛﺎدر ﺗﺼﻮﻳﺮ ﺑﺮاي ﻧﻤﺎﻳﺶ ﻣﺘﻦ روي ﻳﻚ ﻓﺮم ﻳﺎ ﻛﺎدر ﺗﺼﻮﻳﺮ ،از ﻣﺘﺪ Printﻛﻪ ﺑﻌﺪ از ﻧﺎم ﻓﺮم ﻳﺎ ﻛـﺎدر ﺗـﺼﻮﻳﺮ ﻗـﺮار ﻣﻲﮔﻴﺮد ،اﺳﺘﻔﺎده ﻛﻨﻴﺪ .ﺑﺮاي ارﺳﺎل ﺧﺮوﺟﻲ ﺑﻪ ﭼـﺎﭘﮕﺮ ،از اﻳـﻦ ﻣﺘـﺪ روي ﺷـﻲء Printerاﺳـﺘﻔﺎده ﻛﻨﻴـﺪ. ﺷﻜﻞ ﻛﻠﻲ ﻣﺘﺪ Printﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ: ]}[Object.] Print [outputlist] [{; | ,
آرﮔﻮﻣﺎن Objectاﺧﺘﻴـﺎري اﺳـﺖ و در ﺻـﻮرﺗﻲ ﻛـﻪ ﻧﻮﺷـﺘﻪ ﻧـﺸﻮد ،ﺧﺮوﺟـﻲ اﻳـﻦ ﻣﺘـﺪ روي ﻓـﺮم ﺟـﺎري ﻧﻤﺎﻳﺶ داده ﻣﻲﺷﻮد .آرﮔﻮﻣﺎن outputlistﻧﻴﺰ ﻣﺘﻨﻲ اﺳﺖ ﻛﻪ روي ﻓﺮم ﻳﺎ ﻛﺎدر ﺗﺼﻮﻳﺮ ﻇﺎﻫﺮ ﻣﻲﺷـﻮد. ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ،ﻋﺒﺎرتﻫﺎي زﻳﺮ ﭘﻴﺎﻣﻲ را ﭼﺎپ ﻣﻲﻛﻨﻨﺪ: • ﭼﺎپ روي ﻓﺮم "Form1.Print "The Method is Print Not PrintForm
• ﭼﺎپ درون ﻛﺎدر ﺗﺼﻮﻳﺮ "Picture1.Print "Have a go
• ﭼﺎپ روي ﻓﺮم " Print "Cool ﺻﻔﺤﻪ٣٥ :
• ﺷﻲء Printer " Printer.Print "Kakol Pesar
ﻧﻜﺘﻪي ﻳﻚ: اﮔﺮ ﭘﺲ از دﺳﺘﻮر ،Printﻫﻴﭻ ﻋﺒﺎرﺗﻲ )ﻣﻘﺪار ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ( ﻧﻮﺷﺘﻪ ﻧﺸﻮد ،ﺳﺒﺐ ﺧﻮاﻫـﺪ ﺷـﺪ ﻛـﻪ روي ﺷﻲء ﺟﺎري ،ﻳﻚ ﺧﻂ ﺧﺎﻟﻲ ﻧﺸﺎن داده ﺷﻮد. ﻧﻜﺘﻪي دو: ﭘﺲ از ﻣﺘﺪ Printﻣﻲﺗﻮان ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻋﺒﺎرت ﻧﻮﺷﺖ .ﺑﺮاي ﺟﺪا ﻛـﺮدن اﻳـﻦ ﻋﺒـﺎرتﻫـﺎ ﻣـﻲﺗـﻮان از ﻋﻼﻣﺖ ﻛﺎﻣﺎ ) (,ﻳﺎ ﺳﻤﻲﻛﻮﻟﻦ );( اﺳﺘﻔﺎده ﻛﺮد .در ﺻﻮرﺗﻲ ﻛﻪ ﭼﻨﺪ ﻋﺒﺎرت را ﺑﺎ ﻛﺎﻣﺎ ﺟﺪا ﻛﻨﻴﺪ ،ﺷﻲء ﺟﺎري ﺑﻪ ﻧﺎﺣﻴﻪﻫﺎي 14ﺗﺎﻳﻲ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮد و ﻫﺮ ﻋﺒﺎرت در ﻳﻚ ﻧﺎﺣﻴﻪ ﻧﻤﺎﻳﺶ داده ﻣﻲﺷـﻮد .اﮔـﺮ ﻋﺒـﺎرﺗﻲ ،ﺑـﻪ ﺑﻴﺶ از 14ﻓﻀﺎ ﺑﺮاي ﻧﻤﺎﻳﺶ ﻧﻴﺎز داﺷﺘﻪ ﺑﺎﺷﺪ ،ﻓﻀﺎي ﻣﻮرد ﻧﻴـﺎز را از ﻧﺎﺣﻴـﻪي ﺑﻌـﺪي در اﺧﺘﻴـﺎر ﺧﻮاﻫـﺪ ﮔﺮﻓﺖ. ﻧﻜﺘﻪي ﺳﻪ: ﻣﻌﻤﻮﻻ ﻫﺮ ﻣﺘﺪ ،Printﺳﺒﺐ اﻧﺘﻘﺎل ﺧﻮدﻛﺎر ﻣﻜﺎنﻧﻤﺎ ﺑﻪ ﺳﻄﺮ ﺑﻌﺪي ﻣﻲﺷﻮد ،وﻟﻲ اﮔﺮ در اﻧﺘﻬﺎي ﻳﻚ ﻣﺘﺪ Printاز ﻋﻼﻣﺖ ﺳﻤﻲﻛﻮﻟﻦ );( اﺳﺘﻔﺎده ﻛﻨﻴﺪ ،ﺧﺮوﺟﻲ ﻣﺘﺪ Printﺑﻌـﺪي در ﻫﻤـﺎن ﺳـﻄﺮ ﻇـﺎﻫﺮ ﺧﻮاﻫـﺪ ﺷﺪ.
ﺗﺎﺑﻊ TAB اﻳﻦ ﺗﺎﺑﻊ ﻧﻴﺰ در ﻣﺘﺪ ،Printﺑﺮاي ﺗﻐﻴﻴﺮ ﻣﻮﻗﻌﻴﺖ ﻧﻤﺎﻳﺶ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد و ﺑﻪ ﺻﻮرت ﻛﻠـﻲ ) TAB(nاﺳﺖ .ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ،ﻣﻲﺗﻮان ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊ TABﻣﺤﻞ ﺷﺮوع ﻧﻤـﺎﻳﺶ دادهاي را ﺑـﺮ روي ﺻﻔﺤﻪي ﻧﻤﺎﻳﺶ ﺗﻌﻴﻴﻦ ﻛﺮد .ﻣﺜﺎل زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ : " Print "One"; Tab(10); "Two"; Tab(5); "Three
ﺻﻔﺤﻪ٣٦ :
ﻧﻜﺘﻪي ﻳﻚ: اﮔﺮ ﻣﻘﺪار nﻛﻮﭼﻜﺘﺮ از ﺷﻤﺎرهي ﺳﺘﻮن ﻣﺤﻞ ﺟﺎري ﻣﻜﺎنﻧﻤﺎ ﺑﺎﺷﺪ ،دادهي ﻣﻮردﻧﻈﺮ از ﺳﺘﻮن nﺑﻪ ﺑﻌﺪ ،در ﺳﻄﺮ ﺑﻌﺪ ﻧﻤﺎﻳﺶ داده ﺧﻮاﻫﺪ ﺷﺪ. ﻧﻜﺘﻪي دو: اﮔﺮ ﭘﺲ از ﺗﺎﺑﻊ )( Tabﻋﻼﻣـﺖ ﻛﺎﻣـﺎ ﻗـﺮار ﮔﻴـﺮد ،ﺗـﺎﺑﻊ Tabﻧﺎدﻳـﺪه ﮔﺮﻓﺘـﻪ ﺷـﺪه و داده در ﺳـﻄﺮ ﺑﻌـﺪ ﻧﻤﺎﻳﺶ داده ﺧﻮاﻫﺪ ﺷﺪ.
ﺗﺒﺪﻳﻞ اﻧﻮاع دادهﻫﺎ اﺑﺘﺪا ﻣﺜﺎل زﻳﺮ را اﻣﺘﺤﺎن ﻛﻨﻴﺪ :ﻧﺘﻴﺠﻪ 5ﻣﻲﺑﺎﺷﺪ. )( Private Sub Command1_Click "Print 2 + "3 End Sub
ﺣﺎل اﻳﻦ ﻛﺪ را ﺗﺴﺖ ﻛﻨﻴﺪ :ﻧﺘﻴﺠﻪ 23ﻣﻲﺷﻮد. )( Private Sub Command1_Click "Print "2" + "3 End Sub
در ﺣﺎﻟﺖ دوم وﻳﮋوال ﺑﻴﺴﻴﻚ ﺑﻪ ﺟﺎي ﺟﻤﻊ ﻛﺮدن دو ﻋـﺪد ،آﻧﻬـﺎ را ﺑـﻪ ﻫـﻢ اﻟﺤـﺎق ﻛـﺮده اﺳـﺖ .ﺑـﺮاي ﺗﺒﺪﻳﻞ اﻧﻮاع ﻣﺨﺘﻠﻒ دادهﻫﺎ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ،از ﺗﻮاﺑﻊ زﻳﺮ اﺳﺘﻔﺎده ﻛﻨﻴﺪ: ﺗﺒﺪﻳﻞ ﺑﻪ ﻧﻮع Boolean
)CBool (Expression
ﺗﺒﺪﻳﻞ ﺑﻪ ﻧﻮع Byte
)CByte (Expression
ﺗﺒﺪﻳﻞ ﺑﻪ ﻧﻮع Date
)CDate (Expression
ﺗﺒﺪﻳﻞ ﺑﻪ ﻧﻮع Double
)CDbl (Expression
ﺗﺒﺪﻳﻞ ﺑﻪ ﻧﻮع Decimal
)CDec (Expression
ﺗﺒﺪﻳﻞ ﺑﻪ ﻧﻮع Integer
)CInt (Expression
ﺗﺒﺪﻳﻞ ﺑﻪ ﻧﻮع Currency
)CCur (Expression
ﺻﻔﺤﻪ٣٧ :
ﺗﺒﺪﻳﻞ ﺑﻪ ﻧﻮع Single
) CSng (Expression
ﺗﺒﺪﻳﻞ ﺑﻪ ﻧﻮع String
)CStr (Expression
ﺗﺒﺪﻳﻞ ﺑﻪ ﻧﻮع Variant
)CVar (Expression
ﺗﺒﺪﻳﻞ ﺑﻪ ﻧﻮع Long
)CLng (Expression
ﻣﺎﻧﻨﺪ: " Print CInt("2") + "3
--------------ﺛﺎﺑﺖﻫﺎ )(Constants ﻣﺘﻐﻴﺮﻫﺎ ﺗﻨﻬﺎ روش ذﺧﻴﺮهي اﻃﻼﻋﺎت در ﺣﺎﻓﻈﻪ ﻧﻴﺴﺘﻨﺪ .روش دﻳﮕـﺮ ،اﺳـﺘﻔﺎده از ﺛﺎﺑـﺖﻫﺎﺳـﺖ .ﺛﺎﺑـﺖ ﺧﺎﻧﻪاي از ﺣﺎﻓﻈﻪ ﻣﻲﺑﺎﺷﺪ ﻛﻪ ﻣﻘﺪار آن در ﻃﻮل ﺑﺮﻧﺎﻣﻪ ﺛﺎﺑﺖ ﻣﻲ ﻣﺎﻧﺪ و ﻧﻤـﻲﺗـﻮان ﻣﻘـﺪار آن را ﺗﻐﻴﻴـﺮ داد .ﺛﺎﺑﺖﻫﺎ اﻏﻠﺐ ﺑﺮاي ﺟﺎﻳﮕﺰﻳﻨﻲ ﻣﻘﺎدﻳﺮي ﻛﻪ ﺑﻪ ﺧﺎﻃﺮ ﺳﭙﺮدن آﻧﻬﺎ ﻣﺸﻜﻞ اﺳـﺖ ﻳـﺎ ﺑـﺮاي ﭘﺮﻫﻴـﺰ از ﻧﻮﺷﺘﻦ ﻣﻜﺮر رﺷﺘﻪﻫﺎي ﻃﻮﻻﻧﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮﻧﺪ .ﺛﻮاﺑﺖ ﺑﺎ ﻛﻠﻤﻪي ﻛﻠﻴﺪي Constﺗﻌﺮﻳﻒ ﻣﻲﺷـﻮﻧﺪ ﻛـﻪ ﺷﻜﻞ ﻛﻠﻲ آن ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻲﺑﺎﺷﺪ: [Private/Public] Const ConstantName [As ConstantType] = Value ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲداﻧﻴﺪ ﺑﺨﺶ اول ﺧﻂ ﺑﺎﻻ ﻳﻌﻨﻲ Private/Publicﻣﺮﺑﻮط ﺑﻪ ﻧﺤـﻮهي دﻳـﺪه ﺷـﺪن ﺛﺎﺑـﺖ ﺗﻌﺮﻳﻒ ﺷﺪه ،ﺗﻮﺳﻂ دﻳﮕﺮ اﺟﺰاي ﭘﺮوژه ﻣﻲﺑﺎﺷـﺪ ConstantName .ﻧـﺎم ﺛﺎﺑـﺖConstantType ،
ﻧﻮع دادهي ﺛﺎﺑﺖ و Valueﻣﻘﺪاري اﺳﺖ ﻛﻪ در ﺛﺎﺑﺖ ذﺧﻴﺮه ﻣﻲﺷﻮد .ﻣﺎﻧﻨﺪ: Const Pi As Single = 3.14159 "Const Name As String = "Meisam Const BirthDate As Date = #05/15/1932# ‐‐‐‐‐‐‐ Option Explicit Const Pi As Single = 3.14159 )( Private Sub Command1_Click Print Pi End Sub
ﺻﻔﺤﻪ٣٨ :
ﻧﻜﺘﻪي ﻳﻚ: اﮔﺮ ﻗﺒﻞ از ﻛﻠﻤﻪي ﻛﻠﻴﺪي Constﭼﻴﺰي ﻧﻮﺷﺘﻪ ﻧﺸﺪه ﺑﺎﺷﺪ ،ﻣﻘﺪار ﭘﻴﺶﻓﺮض Privateﻣﻲﺑﺎﺷﺪ. ﻧﻜﺘﻪي دو: اﮔﺮ ConstantTypeذﻛﺮ ﻧﺸﻮد ﻧﻮع ﺛﺎﺑﺖ Variantﺧﻮاﻫﺪ ﺑﻮد. ﻧﻜﺘﻪي ﺳﻪ: ﻳﻚ ﺛﺎﺑﺖ ﻋﻤﻮﻣﻲ ) (Public Constﻓﻘﻂ ﻣﻲﺗﻮاﻧﺪ در ﻳﻚ ﻣﺎژول ﺗﻌﺮﻳﻒ ﺷﻮد.
--------------ﻣﺘﺪ cls ﺑﻪ ﻛﻤﻚ اﻳﻦ ﻣﺘﺪ ﻣﻲﺗﻮان ﻣﺘﻦ ﻳﺎ ﮔﺮاﻓﻴﻚ ﻣﻮﺟﻮد روي ﻓﺮم ﻳﺎ ﻛـﺎدر ﺗـﺼﻮﻳﺮ را در زﻣـﺎن اﺟـﺮا ﭘـﺎك ﻛـﺮد. اﻳﻦ ﻣﺘﺪ ﺗﺎﺛﻴﺮي روي ﻛﻨﺘﺮلﻫﺎ و ﺗﺼﺎوﻳﺮ ﻣﺮﺑﻮط ﺑﻪ ﻣﺸﺨﺼﻪي Pictureﻓﺮم ﻧﺨﻮاﻫﺪ داﺷﺖ .ﺷﻜﻞ ﻛﻠﻲ اﻳﻦ ﻣﺘﺪ ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ: Object.cls )( Private Sub cmdClear_Click Picture1.Cls Form1.Cls End Sub
ﻧﻜﺘﻪ: آرﮔﻮﻣﺎن Objectاﺧﺘﻴﺎري ﺑﻮده و ﺷﺒﻴﻪ ﻣﺘﺪ Printﻋﻤﻞ ﻣﻲﻛﻨﺪ .اﻣﺘﺤﺎن ﻛﻨﻴﺪ!
--------------ﻋﻤﻠﮕﺮﻫﺎ ﻋﻤﻠﮕﺮﻫﺎ ﻛﺎراﻛﺘﺮﻫﺎ ﻳﺎ ﻧﻤﺎدﻫﺎي ﺧﺎﺻﻲ ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺮاي اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﺧﺎص روي ﻣﺘﻐﻴﺮﻫﺎ ﻣﻘﺎدﻳﺮ ﺛﺎﺑـﺖ، ﻋﺒﺎرات و ...ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ .ﻋﻤﻠﮕﺮﻫﺎ ﺑﻪ ﺳﻪ دﺳﺘﻪ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ: .1ﻣﺤﺎﺳﺒﺎﺗﻲ و رﺷﺘﻪاي .2ﻣﻘﺎﻳﺴﻪاي ﻳﺎ راﺑﻄﻪاي .3ﻣﻨﻄﻘﻲ ﺻﻔﺤﻪ٣٩ :
ﻋﻤﻠﮕﺮﻫﺎي ﻣﺤﺎﺳﺒﺎﺗﻲ و رﺷﺘﻪاي ﻋﻤﻠﮕﺮ
ﻣﻔﻬﻮم
ﻣﺜﺎل
ﻧﺘﻴﺠﻪ
^
ﺗﻮان
2^3
8
*
ﺿﺮب
2*3
6
/
ﺗﻘﺴﻴﻢ
6/2
3
+
ﺟﻤﻊ
2+3
5
-
ﺗﻔﺮﻳﻖ
6‐3
3
Mod
ﺑﺎﻗﻴﻤﺎﻧﺪه
11 Mod 3
2
\
ﺗﻘﺴﻴﻢ ﺻﺤﻴﺢ
11\3
3
& ﻳﺎ +
اﻟﺤﺎق رﺷﺘﻪﻫﺎ
""Moni" & "tor
Monitor
ﻧﻜﺘﻪي ﻳﻚ: ﻋﻤﻠﮕﺮ Modﻓﻘﻂ ﺑﺮاي اﻋﺪاد ﺻﺤﻴﺢ اﺳﺖ و اﮔـﺮ از اﻋـﺪاد اﻋـﺸﺎري اﺳـﺘﻔﺎده ﻛﻨﻴـﺪ ،وﻳـﮋوال ﺑﻴـﺴﻴﻚ اﺑﺘﺪا آﻧﻬﺎ را ﺑﻪ ﻋﺪد ﺻﺤﻴﺢ ﺗﺒﺪﻳﻞ ﻛﺮده و ﺳﭙﺲ ﺑﺎﻗﻴﻤﺎﻧﺪه را ﻣﺤﺎﺳﺒﻪ ﺧﻮاﻫﺪ ﻛﺮد. ﻧﻜﺘﻪي دو: ﻋﻤﻠﮕﺮ ﺗﻘﺴﻴﻢ ﺻﺤﻴﺢ ،ﺧﺎرج ﻗﺴﻤﺖ ﺻﺤﻴﺢ ﺗﻘﺴﻴﻢ را ﺑﺮﻣـﻲ ﮔﺮداﻧـﺪ و از ﺑﺎﻗﻴﻤﺎﻧـﺪهي ﺗﻘـﺴﻴﻢ ﺻـﺮفﻧﻈـﺮ ﻣﻲﻛﻨﺪ. ﻧﻜﺘﻪي ﺳﻪ: ﻋﻤﻠﮕﺮ +دو ﻛﺎر ﻣﺘﻔﺎوت اﻧﺠﺎم ﻣﻲدﻫﺪ :ﺟﻤﻊ ﻣﻌﻤﻮﻟﻲ و اﻟﺤﺎق )ﺗﺮﻛﻴﺐ( رﺷﺘﻪﻫﺎ .اﻳﻦ ﻋﻤﻠﮕﺮ ﺑﺎ ﺗﻮﺟﻪ ﺑـﻪ ﻣﺤﻠﻲ ﻛﻪ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ )ﺑﻴﻦ دو ﻋﺪد ﻳﺎ دو رﺷﺘﻪ( واﻛﻨﺶ ﻣﻨﺎﺳﺐ را ﻧﺸﺎن ﻣﻲدﻫﺪ. ﻧﻜﺘﻪي ﭼﻬﺎر: ﻫﻨﮕﺎم ﺗﺮﻛﻴﺐ رﺷﺘﻪﻫﺎ ،وﻳﮋوال ﺑﻴﺴﻴﻚ ﻫﻴﭻﭼﻴﺰ ﺑﻪ آﻧﻬﺎ اﺿﺎﻓﻪ ﻧﺨﻮاﻫﺪ ﻛﺮد .ﺑﻨﺎﺑﺮاﻳﻦ اﮔﺮ ﻣـﻲﺧﻮاﻫﻴـﺪ ﺑـﻴﻦ دو رﺷﺘﻪ ﻳﻚ ﻓﺎﺻﻠﻪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﺑﺎﻳﺪ ﺧﻮدﺗﺎن آن را اﺿﺎﻓﻪ ﻛﻨﻴﺪ) .اﺳﺘﻔﺎده از ﻧﻘﻞ ﻗﻮل(
--------------ﺻﻔﺤﻪ٤٠ :
ﺗﻘﺪم ﻋﻤﻠﮕﺮﻫﺎ وﻳﮋوال ﺑﻴﺴﻴﻚ اﻋﻤﺎل رﻳﺎﺿﻲ را ﺑﻪ ﺗﺮﺗﻴﺐ زﻳﺮ اﻧﺠﺎم ﻣﻲدﻫﺪ: .1ﭘﺮاﻧﺘﺰ .2ﺗﻔﺮﻳﻖ ﻳﻜﺎﻧﻲ .3ﺿﺮب و ﺗﻘﺴﻴﻢ اﻋﺸﺎري .4ﺗﻘﺴﻴﻢ ﺻﺤﻴﺢ Mod .5 .6ﺟﻤﻊ و ﺗﻔﺮﻳﻖ
اﮔﺮ از ﭘﺮاﻧﺘﺰﻫﺎ اﺳﺘﻔﺎده ﻧﻜﻨﻴﺪ ،وﻳﮋوال ﺑﻴﺴﻴﻚ ﻫﻤﻴﺸﻪ اﺑﺘﺪا ﺗﻮان ،ﺳﭙﺲ ﺿﺮب و ﺗﻘـﺴﻴﻢ و ﺑﻌـﺪ از آن ﺟﻤﻊ و ﺗﻔﺮﻳﻖ را اﻧﺠﺎم ﺧﻮاﻫﺪ داد .ﻣﺎﻧﻨﺪ: 20/2*3
در اﻳﻦ ﻋﺒﺎرت ﺑﻪ دﻟﻴـﻞ اﻳﻨﻜـﻪ ﺿـﺮب و ﺗﻘـﺴﻴﻢ داراي ﺗﻘـﺪم ﻳﻜـﺴﺎن ﻫـﺴﺘﻨﺪ ،وﻳـﮋوال ﺑﻴـﺴﻴﻚ اﺑﺘـﺪا ﺗﻘﺴﻴﻢ را اﻧﺠﺎم داده و ﺳﭙﺲ ﺣﺎﺻﻞ ﺗﻘﺴﻴﻢ را در 3ﺿﺮب ﺧﻮاﻫﺪ ﻛﺮد. ﻧﻜﺘﻪي ﻳﻚ: اﮔﺮ ﻣﻲﺧﻮاﻫﻴﺪ ﺗﺮﺗﻴـﺐ اﻧﺠـﺎم ﻣﺤﺎﺳـﺒﺎت را ﺗﻐﻴﻴـﺮ دﻫﻴـﺪ ﺑﺎﻳـﺪ از ﭘﺮاﻧﺘﺰﻫـﺎ اﺳـﺘﻔﺎده ﻛﻨﻴـﺪ .در ﭘﺮاﻧﺘﺰﻫـﺎي ﺗﻮدرﺗﻮ ،وﻳﮋوال ﺑﻴﺴﻴﻚ از داﺧﻠﻲﺗﺮﻳﻦ زوج ﭘﺮاﻧﺘﺰ ﺷﺮوع ﻛﺮده و رو ﺑﻪ ﺑﻴﺮون ﺣﺮﻛـﺖ ﻣـﻲﻛﻨـﺪ .وﻳـﮋوال ﺑﻴﺴﻴﻚ ﻗﺒﻞ از ﻫﺮ ﻛﺎري ) (8‐3را ﻣﺤﺎﺳﺒﻪ ﺧﻮاﻫﺪ ﻛﺮد .ﻣﺎﻧﻨﺪ: (10 + 2 – (8 ‐ 3)) + 1
--------------ﻋﻤﻠﮕﺮﻫﺎي ﻣﻘﺎﻳﺴﻪاي ﻳﺎ راﺑﻄﻪاي در ﺟﺪول زﻳﺮ ﻋﻤﻠﮕﺮﻫﺎي راﺑﻄﻪاي وﻳﮋوال ﺑﻴﺴﻴﻚ را ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ .اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﻫﻴﭽﮕﻮﻧﻪ ﻋﻤﻠﻴﺎت رﻳﺎﺿﻲ اﻧﺠﺎم ﻧﻤﻲدﻫﻨﺪ ،ﺑﻠﻜﻪ دادهﻫﺎ را ﻣﻘﺎﻳﺴﻪ ﻣﻲﻛﻨﻨﺪ .ﺑﺎ اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺑﺮﻧﺎﻣﻪ ﻫﻮﺷﻤﻨﺪﺗﺮ ﺧﻮاﻫﺪ ﺷﺪ و ﺧﻮاﻫﺪ ﺗﻮاﻧﺴﺖ دادهﻫﺎ را ﻣﻘﺎﻳﺴﻪ ﻛﺮده و ﺑﺮ اﺳﺎس ﻧﺘﺎﻳﺞ آن ،ﻋﻤﻠﻜﺮد ﻣﻨﺎﺳﺐ را در ﭘﻴﺶ ﮔﻴﺮد. ﻋﻤﻠﮕﺮﻫﺎي راﺑﻄﻪاي روي ﻋﺒﺎرتﻫﺎ ،ﻣﺘﻐﻴﺮﻫﺎ ،ﻣﺸﺨﺼﻪﻫﺎ ،ﻛﻨﺘﺮلﻫﺎ ﻳﺎ ﺗﺮﻛﻴﺒﻲ از آﻧﻬﺎ ﻋﻤﻞ ﻣﻲﻛﻨﻨﺪ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻨﻮع دادهﻫﺎ در وﻳﮋوال ﺑﻴﺴﻴﻚ ،اﻳﻦ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ اﺳﺖ ﻛﻪ ﺑﺎﻳﺪ ﺗﺼﻤﻴﻢ ﺑﮕﻴﺮد دادهﻫﺎ را ﭼﮕﻮﻧﻪ
ﺻﻔﺤﻪ٤١ :
ﻣﻘﺎﻳﺴﻪ ﻛﺮده و ﭼﮕﻮﻧﻪ ﻧﺘﻴﺠﻪﮔﻴﺮي ﻛﻨﺪ .ﻫﻨﮕﺎم اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮﻫﺎي راﺑﻄﻪاي ،ﻣﻤﻜﻦ اﺳﺖ ﺣﺎﻟﺖ ﺧﺎﺻﻲ ﭘﻴﺶ آﻳﺪ و آن Nullﺑﻮدن ﻳﻜﻲ از اﺟﺰاي ﻣﻘﺎﻳﺴﻪ اﺳﺖ .در اﻳﻦ ﺣﺎﻟﺖ ،وﻳﮋوال ﺑﻴﺴﻴﻚ ﻣﻘﺪار Null ﺑﺮﻣﻲﮔﺮداﻧﺪ ﻧﻪ Trueﻳﺎ .False ﻋﻤﻠﮕﺮ
ﺗﻮﺿﻴﺢ
ﻣﺜﺎل
ﻧﺘﻴﺠﻪ
>
ﺑﺰرگﺗﺮ از
6 > 3
درﺳﺖ
<
ﻛﻮﭼﻚﺗﺮ از
5 < 11
درﺳﺖ
=>
ﺑﺰرگﺗﺮ ﻳﺎ ﻣﺴﺎوي
23 >= 23
درﺳﺖ
=<
ﻛﻮﭼﻚﺗﺮ ﻳﺎ ﻣﺴﺎوي
4 <= 21
درﺳﺖ
=
ﺗﺴﺎوي
7 = 2
ﻧﺎدرﺳﺖ
><
ﻧﺎﻣﺴﺎوي
3 <> 3
ﻧﺎدرﺳﺖ
ﻋﻤﻠﮕﺮﻫﺎي راﺑﻄﻪاي ،ﻋﻼوه ﺑﺮ ﻣﻘﺎدﻳﺮ ﻋﺪدي ،ﻣﻲﺗﻮاﻧﻨﺪ رﺷﺘﻪﻫﺎ را ﻫﻢ ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪ .در ﻫﻨﮕﺎم ﻣﻘﺎﻳﺴﻪي رﺷﺘﻪﻫﺎ ﺑﻪ ﻧﻜﺎت زﻳﺮ ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ: • ﺣﺮوف ﺑﺰرگ ،ﻛﻮﭼﻜﺘﺮ از ﺣﺮوف ﻛﻮﭼﻚ ﻫﺴﺘﻨﺪ ،ﻳﻌﻨﻲ ” “IRANﻗﺒﻞ از ” “iranﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ . • ﺣﺮوف اﻟﻔﺒﺎ ﺑﻪ ﻫﻤﺎن ﺗﺮﺗﻴﺒﻲ ﻛﻪ ﻫﺴﺘﻨﺪ ﻣﻘﺎﻳﺴﻪ ﻣﻲﺷﻮﻧﺪ ،ﻳﻌﻨﻲ ” “Aﻛﻮﭼﻚﺗﺮ از ” “Bاﺳﺖ و ﻧﺎم ” “Ahmadﻗﺒﻞ از ” “Aliﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ .
• رﻗﻢﻫﺎ ﻛﻮﭼﻜﺘﺮ از ﺣﺮوف ﻫﺴﺘﻨﺪ ،ﻳﻌﻨﻲ ” “3از ” “Threeﻛﻮﭼﻜﺘﺮ ﺧﻮاﻫﺪ ﺑﻮد .
وﻳﮋوال ﺑﻴﺴﻴﻚ ﻫﻨﮕﺎم ﻣﻘﺎﻳﺴﻪي رﺷﺘﻪﻫﺎ ﺑﻪ ﺑﺰرگ ﻳﺎ ﻛﻮﭼﻚ ﺑﻮدن ﺣﺮوف ﺗﻮﺟﻪ دارد ﻳﻌﻨﻲ ﺑﻴﻦ آﻧﻬﺎ ﺗﻔﺎوت ﻗﺎﻳﻞ ﺧﻮاﻫﺪ ﺷﺪ .ﺑﺮاي درك ﺑﻬﺘﺮ اﻳﻦ ﻧﻜﺎت ،ﻓﻘﻂ ﻛﺎﻓﻲ اﺳﺖ ﺑﺪاﻧﻴﺪ ﻛﻪ وﻳﮋوال ﺑﻴﺴﻴﻚ رﺷﺘﻪﻫﺎ را ﻣﺎﻧﻨﺪ ﻳﻚ ﻟﻐﺖﻧﺎﻣﻪ ﻣﺮﺗﺐ ﺧﻮاﻫﺪ ﻛﺮد .ﺑﻪ دﺳﺘﻮرﻫﺎي ﻣﻘﺎﻳﺴﻪاي زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ: ” “abcdef” > “ABCDEF ”? “Yes!” < “Yes ” “PC” <> “pc
ﺻﻔﺤﻪ٤٢ :
”! “Computers are fun!” = “Computers are fun ” “Books, Books, Books” >= “Books, Books
ﻧﻜﺘﻪ: ﻫﻨﮕﺎم ﻣﻘﺎﻳﺴﻪي دو ﻣﻘﺪار ،ﺑﺎﻳﺪ ﻧﻮع دادهﻫﺎي ﺷﻤﺎ ﺑﺎ ﻫﻢ ﺳﺎزﮔﺎر ﺑﺎﺷﻨﺪ .ﻣﺜﻼ ﻧﻤﻲﺗﻮان ﻳﻚ ﻋﺪد را ﺑﺎ رﺷﺘﻪ ﻣﻘﺎﻳﺴﻪ ﻛﺮد.
--------------ﻋﻤﻠﮕﺮﻫﺎي ﻣﻨﻄﻘﻲ ﻋﻤﻠﮕﺮﻫﺎي ﻣﻨﻄﻘﻲ ﻳﺎ Logical Operatorsﻋﺒﺎرتﻫﺎي ﻣﻮردﻧﻈﺮ را ﺑﻴﺖ ﺑﻪ ﺑﻴﺖ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﻣﻘﺎﻳﺴﻪ ﻛﺮده و دو ارزش ﻣﻨﻄﻘﻲ Tﻳﺎ ) Fدرﺳﺖ ﻳﺎ ﻧﺎدرﺳﺖ( را ﺑﺮاي آﻧﻬﺎ ﻣﺸﺨﺺ ﻣﻲﻛﻨﻨﺪ.
Q P T T F T T F F F
P P P P P Imp Eqv Xor Or And Not Q Q Q Q Q P T F T T F T F F F F T T T F T T F T F T F F F T
ﻣﺜﺎل:
Dim a, b, c As Boolean a = Not b a = True a = b And c a = False a = b Or c a = True a = b Xor c a = True a = b Imp c a = True a = b Eqv c a = False
ﻋﻤﻠﮕﺮ ،Notروي ﻳﻚ ﻋﺒﺎرت ﻋﻤﻞ ﻣﻲﻛﻨﺪ و آن را ﻧﻘﻴﺾ ﻣﻲﻛﻨﺪ .اﮔﺮ ﻋﺒﺎرت داراي ارزش Tﺑﺎﺷﺪ، ﻧﻘﻴﺾ آن داراي ارزش Fاﺳﺖ و ﺑﺮﻋﻜﺲ.
ﺻﻔﺤﻪ٤٣ :
ﻋﻤﻠﮕﺮ ،Andﺑﺮ روي دو ﻋﺒﺎرت ﻋﻤﻞ ﻣﻲﻛﻨﺪ .ارزش ﻧﺘﻴﺠﻪ وﻗﺘﻲ Tاﺳﺖ ﻛﻪ ارزش دو ﻋﺒﺎرت T
ﺑﺎﺷﺪ و در ﻏﻴﺮ اﻳﻦ ﺻﻮرت F ،اﺳﺖ.
ﻋﻤﻠﮕﺮ Orروي دو ﻋﺒﺎرت ﻋﻤﻞ ﻣﻲﻛﻨﺪ و ارزش ﻧﺘﻴﺠﻪ وﻗﺘﻲ Fاﺳﺖ ﻛﻪ ارزش ﻫﺮ دو ﻋﺒﺎرت F
ﺑﺎﺷﺪ و در ﻏﻴﺮ اﻳﻦ ﺻﻮرت ،ارزش آن Tاﺳﺖ. ﻋﻤﻠﮕﺮ Xorروي دو ﻋﺒﺎرت ﻋﻤﻞ ﻣﻲﻛﻨﺪ و ارزش ﻧﺘﻴﺠﻪ وﻗﺘﻲ Tاﺳﺖ ﻛﻪ ارزش ﻳﻜﻲ از دو ﻋﺒﺎرت، Tو ارزش دﻳﮕﺮي Fﺑﺎﺷﺪ. ﻋﻤﻠﮕﺮ Eqvروي دو ﻋﺒﺎرت ﻋﻤﻞ ﻣﻲﻛﻨﺪ و ارزش ﻧﺘﻴﺠﻪ وﻗﺘﻲ Tاﺳﺖ ﻛﻪ ﻫﺮ دو ﻋﺒﺎرت داراي ارزش ﻳﻜﺴﺎن ﺑﺎﺷﻨﺪ ﻳﻌﻨﻲ ﻫﺮ دو داراي ارزش Tﻳﺎ Fﺑﺎﺷﻨﺪ. ﻋﻤﻠﮕﺮ Impﻧﻴﺰ روي دو ﻋﺒﺎرت ﻋﻤﻞ ﻣﻲﻛﻨﺪ و ارزش ﻧﺘﻴﺠﻪ در ﺻﻮرﺗﻲ Fاﺳﺖ ﻛﻪ ارزش ﻋﺒﺎرت دوم Fﺑﺎﺷﺪ و در ﻏﻴﺮ اﻳﻦ ﺻﻮرت T ،اﺳﺖ .
ﺗﺮﻛﻴﺐ ﻋﻤﻠﮕﺮﻫﺎي راﺑﻄﻪاي و ﻣﻨﻄﻘﻲ از ﻟﺤﺎظ ﺗﺌﻮري ،ﺷﺶ ﻋﻤﻠﮕﺮ راﺑﻄﻪاي وﻳﮋوال ﺑﻴﺴﻴﻚ ﻗﺪرت ﻛﺎﻓﻲ ﺑﺮاي ﻫﺮ ﻧﻮع ﻣﻘﺎﻳﺴﻪاي را دارﻧﺪ، وﻟﻲ ﻣﻲﺗﻮان ﻗﺪرت آﻧﻬﺎ را ﺑﺎ اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮﻫﺎي ﻣﻨﻄﻘﻲ اﻓﺰاﻳﺶ داد .ﺑﺮاي ﻣﺜﺎل ﺑﻪ ﺟﺪول زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ. ﻋﻤﻠﮕﺮ
ﻧﺘﻴﺠﻪ
ﻣﺜﺎل
True True False False
(2<3) And (4<5) And )(2<3) Or (6<7 Or )(2>3) Xor (7>4 Xor ) Not (3=3 Not
ﻛﺎرﺑﺮد Andو Orﺑﻴﺸﺘﺮ از ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎﺳﺖ .ﺑﺎ Xorﻣﻲﺗﻮان دو ﮔﺰﻳﻨﻪي اﻧﺤﺼﺎري را ﻣﻘﺎﻳﺴﻪ ﻛﺮد. اﮔﺮ ﻫﺮ دو ﮔﺰﻳﻨﻪ Xorدرﺳﺖ ﺑﺎﺷﺪ ،ﻛﻞ ﻋﺒﺎرت ﻧﺎدرﺳﺖ ﺧﻮاﻫﺪ ﺷﺪ .ﻋﻤﻠﮕﺮ Notﻫﻢ ﺑﺮاي ﻧﻘﻴﺾ ﻳﻚ ﻋﺒﺎرت اﺳﺖ .ﻋﺒﺎرت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ : curSales * sngCommission > curHighSales / 10
ﺻﻔﺤﻪ٤٤ :
وﻳﮋوال ﺑﻴﺴﻴﻚ ﻛﺪام ﻋﻤﻞ را زودﺗﺮ اﻧﺠﺎم ﺧﻮاﻫﺪ داد؟ آﻳﺎ اﺑﺘﺪا sngCommissionرا ﺑﺎ curHighSalesﻣﻘﺎﻳﺴﻪ ﻛﺮده و ﺣﺎﺻﻞ آن را در curSalesﺿﺮب و ﺳﭙﺲ ﺑﺮ 10ﺗﻘﺴﻴﻢ ﺧﻮاﻫﺪ ﻛﺮد؟ اﻟﺒﺘﻪ اﻳﻦ ﻛﺎر ﺑﻲﻣﻌﻨﻲ اﺳﺖ ،ﭼﻮن ﺣﺎﺻﻞ ﻣﻘﺎﻳﺴﻪ Trueﻳﺎ Falseاﺳﺖ و ﻧﻤﻲﺗﻮان روي آن اﻋﻤﺎل رﻳﺎﺿﻲ اﻧﺠﺎم داد .در ﺟﺪول زﻳﺮ ﺗﻘﺪم ﻋﻤﻠﮕﺮﻫﺎ را ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻦ ﺟﺪول ﺣﺪس ﻧﺘﻴﺠﻪي ﻋﺒﺎرت ﻓﻮق ﺳﺎده ﺧﻮاﻫﺪ ﺑﻮد. ﺗﺮﺗﻴﺐ
ﻋﻤﻠﮕﺮ
1
^
2
‐ )ﺗﻔﺮﻳﻖ ﻳﻜﺎﻧﻲ(
3
* /،
4
\
5
Mod
6
‐،+
7
=>=, <>, <, >, <=,
8
Not, And, Or, Xor, Eqv, Imp
--------------ﻛﻨﺘﺮل ) Text Boxﺟﻌﺒﻪﻣﺘﻦ( از اﻳﻦ ﻛﻨﺘﺮل ﺑﺮاي وارد ﻛﺮدن ﻳﻚ ﻣﻘﺪار ﺧﺎص ﺑﻪ وﺳﻴﻠﻪي ﻛﺎرﺑﺮ اﺳﺘﻔﺎده ﻣﻲﺷﻮد و ﻣﻬﻢﺗﺮﻳﻦ ﺧﺎﺻﻴﺖﻫﺎي آن ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲﺑﺎﺷﻨﺪ:
ﺧﺎﺻﻴﺖ :Lockedﻏﻴﺮ ﻗﺎﺑﻞ وﻳﺮاﻳﺶ ﺑﻮدن اﮔﺮ ﺑﺮاﺑﺮ Trueﺑﺎﺷﺪ ،ﻛﺎرﺑﺮ ﻣﺠﺎز ﺑﻪ ﺗﻐﻴﻴﺮ ﻣﺘﻦ داﺧﻞ ﺟﻌﺒﻪ در زﻣﺎن اﺟﺮا ﻧﻤﻲﺑﺎﺷﺪ .در اﻳﻦ ﺣﺎﻟﺖ ﺷﻤﺎ ﻓﻘﻂ ﻣﻲﺗﻮاﻧﻴﺪ از ﻣﺤﺘﻮﻳﺎت ﺟﻌﺒﻪ ﻛﭙﻲ ﺑﮕﻴﺮﻳﺪ. ﺧﺎﺻﻴﺖ :MaxLengthاﻳﺠﺎد ﻣﺤﺪودﻳﺖ
ﺻﻔﺤﻪ٤٥ :
اﮔﺮ ﻣﻘﺪار آن ﺻﻔﺮ ﺑﺎﺷﺪ ﻫﻴﭻ ﻣﺤﺪودﻳﺘﻲ در ﻃﻮل ﻣﺘﻦ وﺟﻮد ﻧﺪارد؛ وﻟﻲ اﮔﺮ ﻣﺜﻼ ،ﻣﻘﺪار آن 5اﻧﺘﺨﺎب ﺷﺪه ﺑﺎﺷﺪ ﻛﺎرﺑﺮ ﻧﻤﻲﺗﻮاﻧﺪ ﺑﻴﺶ از 5ﻛﺎراﻛﺘﺮ را وارد ﻛﻨﺪ. ﺧﺎﺻﻴﺖ :MultiLineﺣﺎﻟﺖ ﭼﻨﺪﺧﻄﻲ اﮔﺮ ﺑﺮاﺑﺮ Trueﺑﺎﺷﺪ ،در زﻣﺎن اﺟﺮا ﺑﺎ زدن ﻛﻠﻴﺪ Enterدر ﺟﻌﺒﻪﻣﺘﻦ ،ﻣﻜﺎن ﻧﻤﺎ ﺑﻪ ﺧﻂ ﺑﻌﺪ ﻣﻨﺘﻘﻞ ﻣﻲﺷﻮد .ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ،ﺑﻪ ﻣﺤﺾ رﺳﻴﺪن ﻣﺘﻦ ﺑﻪ ﺣﺎﺷﻴﻪي ،TextBoxﻣﺘﻦ ﺑﻪ ﺧﻂ ﺑﻌﺪي ﺷﻜﺴﺘﻪ ﻣﻲﺷﻮد .وﻟﻲ اﮔﺮ Falseﺑﺎﺷﺪ ﺗﻤﺎم ﻣﺘﻦ در ﻳﻚ ﺧﻂ ﻧﻮﺷﺘﻪ ﻣﻲﺷﻮد. ﺧﺎﺻﻴﺖ :PasswordCharﺑﻪ رﻣﺰ درآوردن ﻣﺤﺘﻮﻳﺎت ﺟﻌﺒﻪﻣﺘﻦ اﻳﻦ ﻣﺸﺨﺼﻪ ،ﻧﻮﻳﺴﻪاي ﻛﻪ در ﺟﻌﺒﻪﻣﺘﻦ ﻧﻤﺎﻳﺶ داده ﻣﻲﺷﻮد را ﺗﻌﻴﻴﻦ ﻣﻲﻛﻨﺪ .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ،اﮔﺮ ﺑﺨﻮاﻫﻴﺪ در ﻛﺎدر ﮔﺬرواژه ،ﺳﺘﺎره ﻧﻤﺎﻳﺶ داده ﺷﻮد ،در ﭘﻨﺠﺮهي ﻣﺸﺨﺼﻪﻫﺎ ،ﺧﺎﺻﻴﺖ PasswordChar را ﺑﺎ * ﻣﻘﺪاردﻫﻲ ﻛﻨﻴﺪ .ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ،ﺑﻪازاي ﺗﺎﻳﭗ ﻫﺮ ﻧﻮﻳﺴﻪاي در ﺟﻌﺒﻪﻣﺘﻦ ،ﻳﻚ ﺳﺘﺎره ﻧﻤﺎﻳﺶ داده ﺧﻮاﻫﺪ ﺷﺪ. ﻧﻜﺘﻪ: اﮔﺮ ﺟﻌﺒﻪﻣﺘﻦ در ﺣﺎﻟﺖ ﭼﻨﺪﺧﻄﻲ ﻳﺎ MultiLineﻗﺮار ﮔﻴﺮد ،اﻳﻦ ﺧﺎﺻﻴﺖ ﻋﻤﻞ ﻧﺨﻮاﻫﺪ ﻛﺮد. ﺧﺎﺻﻴﺖ :ScrollBarsاﻳﺠﺎد ﭘﻴﻤﺎﻳﺶﮔﺮ اﮔﺮ ﻣﺘﻦ ورودي ﺑﻴﺸﺘﺮ از ﻃﻮل ﻳﺎ ﻋﺮض ﺟﻌﺒﻪﻣﺘﻦ ﺑﺎﺷﺪ ،ﺑﻪ ScrollBarﻧﻴﺎز ﺧﻮاﻫﻴﻢ داﺷﺖ .اﮔﺮ ﻣﻘﺪار آن 0 ‐ Noneﺑﺎﺷﺪ ،ﭘﻴﻤﺎﻳﺶﮔﺮي ﻧﺨﻮاﻫﻴﻢ داﺷﺖ ،اﮔﺮ ﺑﺮاﺑﺮ 1 ‐ Horizontalﺑﺎﺷﺪ ،ﭘﻴﻤﺎﻳﺶﮔﺮي اﻓﻘﻲ و اﮔﺮ ﺑﺮاﺑﺮ 2 ‐ Verticalﺑﺎﺷﺪ ،ﭘﻴﻤﺎﻳﺶﮔﺮي ﻋﻤﻮدي ﺧﻮاﻫﻴﻢ داﺷﺖ .ﺣﺎﻟﺖ 3 ‐ Bothﻫﻢ ﺗﺮﻛﻴﺐ ﺣﺎﻟﺖ اول و دوم ﻣﻲﺑﺎﺷﺪ. ﻧﻜﺘﻪ: اﻳﻦ ﺧﺎﺻﻴﺖ ﻓﻘﻂ ﺑﺎ Trueﺑﻮدن MultiLineﻋﻤﻞ ﺧﻮاﻫﺪ ﻛﺮد. ﺧﺎﺻﻴﺖ :Textﻣﺘﻦ ﺟﻌﺒﻪﻣﺘﻦ ﻣﺘﻦ وارد ﺷﺪه در ﻛﻨﺘﺮل ﺟﻌﺒﻪﻣﺘﻦ ،در ﻣﺸﺨﺼﻪي Textﻗﺮار دارد .ﺑﻪ ﻃﻮر ﭘﻴﺶﻓﺮض ،ﻣﻲﺗﻮان در ﻳﻚ ﺟﻌﺒﻪﻣﺘﻦ ﺗﺎ 2048ﻧﻮﻳﺴﻪ را وارد ﻛﺮد .در ﺻﻮرﺗﻲ ﻛﻪ ﻣﺸﺨﺼﻪي MultiLineﺑﺎ Trueﻣﻘﺪاردﻫﻲ ﻛﻨﻴﺪ، ﻣﻲﺗﻮاﻧﻴﺪ ﻣﺘﻦ وارد ﺷﺪه را در ﭼﻨﺪ ﺳﻄﺮ ﻧﻤﺎﻳﺶ داده و ﺣﺪاﻛﺜﺮ ﺗﺎ 32kﻧﻮﻳﺴﻪ وارد ﻛﻨﻴﺪ.
--------------ﺻﻔﺤﻪ٤٦ :
:ﻣﺜﺎلﻫﺎ ﺑﺮاي اﻳﻦ ﻛﺎر. ﻣﺸﺨﺺ ﻣﻲﺷﻮد، ارﺗﻔﺎع و ﭘﻬﻨﺎيِ ﻓﺮم ﺑﺎ اﻋﺪادي ﻛﻪ ﻣﺎ ﺗﻌﻴﻴﻦ ﻣﻲﻛﻨﻴﻢ، در ﺑﺮﻧﺎﻣﻪي زﻳﺮ.1 . دو ﺟﻌﺒﻪﻣﺘﻦ و ﻳﻚ دﻛﻤﻪ ﻣﺎﻧﻨﺪ ﺷﻜﻞ زﻳﺮ ﺑﺮ روي ﻓﺮم ﻗﺮار دﻫﻴﺪ،دو ﻟﻴﺒﻞ
Private Sub Command1_Click() Form1.Height = Text1.Text Form1.Width = Text2.Text End Sub Or Private Sub Command1_Click() Dim txtHeight, txtWidth As Integer txtHeight = Text1.Text txtWidth = Text2.Text Form1.Height = txtHeight Form1.Width = txtWidth End Sub
ﺑﺮرﺳﻲ ﻛﻨﻴﺪ ﻛﻪ ﺗﻔﺎوت ﺑﻴﻦ دو ﻛﺪ زﻳﺮ ﭼﻪ ﻣﻲﺑﺎﺷﺪ )در ﺗﻜﻪ.ﺣﺎل ﻣﻲﺧﻮاﻫﻴﻢ ﻛﻤﻲ ﺑﺮﻧﺎﻣﻪ را ﺗﻐﻴﻴﺮ دﻫﻴﻢ .(ﻛﺪ دوم ﭼﻴﺰي در ﺟﻌﺒﻪﻣﺘﻦ ﻧﻨﻮﻳﺴﻴﺪ Private Sub Command1_Click() Form1.Height = Text1.Text Form1.Width = Text2.Text End Sub With Private Sub Command1_Click() Text1.Text = Form1.Heigh Text1.Text = Form1.Width End Sub
٤٧ :ﺻﻔﺤﻪ
.2ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺑﺎ ﺗﺎﻳﭗ ﻣﺘﻦ در ،TextBoxﻫﻤﺰﻣﺎن ﻋﻨﻮان ﻳﺎ ﻣﺘﻦ ﻣﻮﺟﻮد در ﻛﻨﺘﺮل Label
را ﻧﻴﺰ ﺗﻐﻴﻴﺮ دﻫﺪ. )(Private Sub Text1_Change Label1.Caption = Text1.Text End Sub
Changeروﻳﺪادي اﺳﺖ ﻛﻪ ﻫﻨﮕﺎم ﺗﻐﻴﻴﺮ دادن ﻳﻚ ﺷﻲء اﺟﺮا ﻣﻲ ﺷﻮد .ﺑﻨﺎﺑﺮاﻳﻦ Captionﻟﻴﺒﻞ ﻣﺎ ﺑﺎ Textﻣﻮﺟﻮد در Text1ﻣﻘﺪاردﻫﻲ ﻣﻲﺷﻮد. .3ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺑﺎ اﺟﺮاي آن ﺳﺎل ﺗﻮﻟﺪ ﻛﺎرﺑﺮ را ﺑﻪ ﺻﻮرت ﺷﻤﺴﻲ در ورودي درﻳﺎﻓﺖ ﻛﻨﺪ، ﺳﭙﺲ ﺳﺎل ﺗﻮﻟﺪ او را ﺑﻪ ﺳﺎل ﻣﻴﻼدي ﺗﺒﺪﻳﻞ ﻧﻤﺎﻳﺪ و ﭘﺲ از ﻣﺤﺎﺳﺒﻪ ﺳﻦ او را ﺑﺮ ﺣﺴﺐ ﺳﺎل در ﺳﺎل ،1385ﺳﺎل ﻣﻴﻼدي را ﻫﻤﺮاه ﺑﺎ ﺳﻦ او ﭼﺎپ ﻧﻤﺎﻳﺪ )ﻳﻚ دﻛﻤﻪ و ﺟﻌﺒﻪﻣﺘﻦ ﺑﺮ روي ﻓﺮم ﻗﺮار دﻫﻴﺪ(. )(Private Sub Command1_Click Dim SY, ADY, AGE As Integer SY = Text1.Text ADY = SY + 621 AGE = 1385 ‐ SY Print ADY, AGE End Sub
ﺑﺮاي ﺗﺒﺪﻳﻞ ﺳﺎل ﺷﻤﺴﻲ ﺑﻪ ﺳﺎل ﻣﻴﻼدي ،ﺳﺎل ﺷﻤﺴﻲ را ﺑﺎ 621ﺟﻤﻊ ﻣﻲﻛﻨﻴﻢ .در ﻣﺜﺎل ﺑﺎﻻ SYﻣﺤﻞ ﻧﮕﻬﺪاري ﺳﺎل ﺗﻮﻟﺪ ﺷﻤﺴﻲ و ADYﻣﺤﻞ ﻧﮕﻬﺪاري ﺳﺎل ﺗﻮﻟﺪ ﻣﻴﻼدي در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ. .4ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺑﺎ اﺟﺮاي آن ﺗﻌﺪاد روزﻫﺎي ﻣﺎه از ورودي درﻳﺎﻓﺖ ﮔﺮدد ،ﺳﭙﺲ ﻣﻘﺪار آن ﺑﺮ ﺣﺴﺐ ﺳﺎﻋﺖ ،دﻗﻴﻘﻪ و ﺛﺎﻧﻴﻪ ﻣﺤﺎﺳﺒﻪ و ﭼﺎپ ﺷﻮد )از ﺷﻤﺎ اﻧﺘﻈﺎر دارم ﺑﺎ ﻧﮕﺎه ﻛﺮدن ﺑﻪ ﻛﺪ ﻣﺘﻮﺟﻪ ﺑﺸﻮﻳﺪ ﺑﻪ ﭼﻪ ﻛﻨﺘﺮﻟﻬﺎﻳﻲ ﻧﻴﺎز دارﻳﻢ(. )(Private Sub Command1_Click Dim Day, Hours, Minute, Second As Single ) Day = Val(Text1.Text Hours = Day * 24 Minute = Hours * 60
ﺻﻔﺤﻪ٤٨ :
Second = Minute * 60 Print Hours, Minute, Second End Sub
ﻧﻜﺘﻪ: در ﺣﺎﻟﺖ ﻋﺎدي ﺟﻌﺒﻪﻣﺘﻦ ﺑﺎ ﻧﻮع دادهي Variantﻛﺎر ﻣﻲﻛﻨﺪ ،ﻳﻌﻨﻲ ﻫﻢ ﺑﺎ اﻋﺪاد و ﻫﻢ ﺑﺎ رﺷﺘﻪﻫﺎ ﻛﺎر ﻣﻲﻛﻨﺪ ،اﻣﺎ اﮔﺮ ﺑﺎ دادهﻫﺎي ﻋﺪدي ﺳﺮوﻛﺎر دارﻳﺪ ﺑﻬﺘﺮ اﺳﺖ ،ﺑﺮاي ﺑﺎﻻ ﺑﺮدن دﻗﺖ ﺑﺮﻧﺎﻣﻪ ،ﻗﺒﻞ از ﻣﺤﻞ ورودي ﺑﺮﻧﺎﻣﻪ ،از ﻛﻠﻤﻪي ﻛﻠﻴﺪي Valاﺳﺘﻔﺎده ﻛﻨﻴﺪ Val .ﺗﺎﺑﻌﻲ اﺳﺖ ﻛﻪ ﻳﻚ رﺷﺘﻪي ﻋﺪدي را ﺑﻪ ﻋﺪد ﻣﻌﺎدل آن ﺗﺒﺪﻳﻞ ﻣﻲﻛﻨﺪ.
---------------
ﺻﻔﺤﻪ٤٩ :
ﻓﺼﻞ ﺳﻮم ﻛﻨﺘﺮل ﺑﺮﻧﺎﻣﻪ
ﺻﻔﺤﻪ٥٠ :
در اﻳﻦ ﻓﺼﻞ ﺑﺎ ﺳﺎﺧﺘﺎرﻫﺎي ﺗﺼﻤﻴﻢ ،ﺗﺎﺑﻊ MsgBoxو InputBoxو ﻫﻤﭽﻨﻴﻦ ﻛﻨﺘﺮلﻫﺎي Check
Option Button ،Boxو Frameو ...آﺷﻨﺎ ﺧﻮاﻫﻴﺪ ﺷﺪ .
ﺳﺎﺧﺘﺎرﻫﺎي ﺗﺼﻤﻴﻢ ﻳﻜﻲ از ﻣﻬﻢﺗﺮﻳﻦ ﺳﺎﺧﺘﺎرﻫﺎﻳﻲ ﻛﻪ در ﻫﻤﻪي زﺑﺎنﻫﺎي ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد، ﺳﺎﺧﺘﺎرﻫﺎي ﺷﺮﻃﻲ ﻳﺎ ﺳﺎﺧﺘﺎرﻫﺎي ﺗﺼﻤﻴﻢﮔﻴﺮي ﻣﻲﺑﺎﺷﺪ .ﺑﺮاي ﻣﺜﺎل در ﻳﻚ ﺑﺮﻧﺎﻣﻪي ﻛﻮﭼﻚ ،وﻗﺘﻲ ﺑﺨﻮاﻫﻨﺪ دو ﻋﺪد را ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪ و ﺑﺰرﮔﺘﺮﻳﻦ را ﺑﺪﺳﺖ ﺑﻴﺎورﻧﺪ ،از ﻫﻤﻴﻦ ﺳﺎﺧﺘﺎرﻫﺎ اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ .ﺑﻪ ﻃﻮر ﻛﻠﻲ، ﺑﻪ ﻣﺠﻤﻮﻋﻪاي از دﺳﺘﻮراﻟﻌﻤﻞﻫﺎ ﻛﻪ اﻣﻜﺎن اﻧﺘﺨﺎب و ﺗﺼﻤﻴﻢﮔﻴﺮي از ﺑﻴﻦ ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻣﻮﺿﻮع را ﺑﻪ ﻣﺎ ﻣﻲدﻫﻨﺪ “ﺳﺎﺧﺘﺎرﻫﺎي ﺗﺼﻤﻴﻢ” ﮔﻔﺘﻪ ﻣﻲﺷﻮﻧﺪ.
دﺳﺘﻮر If ﻳﻜﻲ از ﻣﻬﻢﺗﺮﻳﻦ دﺳﺘﻮرﻫﺎي زﺑﺎن ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ وﻳﮋوال ﺑﻴﺴﻴﻚ ،دﺳﺘﻮر Ifاﺳﺖ ،ﻛﻪ ﺑﻪ ﭼﻨﺪ روش ﻣﺨﺘﻠﻒ ﻣﻲﺗﻮاﻧﻴﻢ از آن اﺳﺘﻔﺎده ﻛﻨﻴﻢ .ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر Ifﭼﻨﻴﻦ اﺳﺖ: ) Thenﺷﺮط( If ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات وﻳﮋوال ﺑﻴﺴﻴﻚ End If
در اﻳﻦ ﻧﻮع اﮔﺮ ﺷﺮط درﺳﺖ ﺑﺎﺷﺪ ،آﻧﮕﺎه ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮراﺗﻲ ﻛﻪ در آن ﺑﻼك ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ ،اﺟﺮا ﻣﻲﺷﻮﻧﺪ ،و ﮔﺮﻧﻪ ﻫﻴﭻ اﺗﻔﺎﻗﻲ ﻧﻤﻲاﻓﺘﺪ . ﻧﻜﺘﻪي ﻳﻚ: ﺑﺮاي وﺿﻮح ﺑﺮﻧﺎﻣﻪ ﺑﻬﺘﺮ اﺳﺖ ﻛﻪ ﺑﺪﻧﻪي Ifرا ﺟﻠﻮﺗﺮ از If …… End Ifﺑﻨﻮﻳﺴﻴﺪ ﺗﺎ ﺗﺸﺨﻴﺺ دﺳﺘﻮرﻫﺎي درون Ifاز دﺳﺘﻮرﻫﺎي ﺑﻴﺮون آن ﺳﺎدهﺗﺮ ﺑﺎﺷﺪ. ﻧﻜﺘﻪي دو: ﭘﺮاﻧﺘﺰﻫﺎي اﻃﺮاف ﺷﺮط Ifاﻟﺰاﻣﻲ ﻧﻴﺴﺘﻨﺪ وﻟﻲ ﺑﻪ ﺧﻮاﻧﺎﻳﻲ اﻳﻦ دﺳﺘﻮر ﻛﻤﻚ ﻣﻲﻛﻨﻨﺪ.
ﺷﻜﻞ دوم ﺷﻜﻞ دوم از ﺳﺎﺧﺘﺎرﻫﺎي ﺗﺼﻤﻴﻢ ،ﻧﻴﺎزي ﺑﻪ End Ifﻧﺪارد و اﮔﺮ ﺷﺮط درﺳﺖ ﺑﺎﺷﺪ ،ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات ﺑﻌﺪ از Thenاﺟﺮا ﻣﻲﺷﻮﻧﺪ و ﮔﺮﻧﻪ ﻫﻴﭻ اﺗﻔﺎﻗﻲ ﻧﻤﻲاﻓﺘﺪ: ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات وﻳﮋوال ﺑﻴﺴﻴﻚ ) Thenﺷﺮط( IF ﺻﻔﺤﻪ٥١ :
ﻣﺮدم در زﻧﺪﮔﻲ روزﻣﺮهي ﺧﻮد ﺑﻪدﻓﻌﺎت از Ifاﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ: )ﻛﺎرم زودﺗﺮ ﺗﻤﺎم ﺧﻮاﻫﺪ ﺷﺪ( ) Thenزودﺗﺮ ﺳﺮ ﻛﺎر ﺑﺮوم( )ﻧﻤﺮهي ﻗﺒﻮﻟﻲ ﺧﻮاﻫﻢ ﮔﺮﻓﺖ( ) Thenدرﺳﻢ را ﺧﻮب ﺑﺨﻮاﻧﻢ(
If If
ﺷﻜﻞ ﺳﻮم در ﺷﻜﻞ ﺳﻮم ،اﮔﺮ ﺷﺮط درﺳﺖ ﺑﺎﺷﺪ آﻧﮕﺎه ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات 1اﺟﺮا ﻣﻲﺷﻮﻧﺪ ،در ﻏﻴﺮ اﻳﻦ ﺻﻮرت ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات 2اﺟﺮا ﻣﻲﺷﻮﻧﺪ: If
) Thenﺷﺮط( ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات وﻳﮋوال ﺑﻴﺴﻴﻚ1
Else
ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات وﻳﮋوال ﺑﻴﺴﻴﻚ2 End If
ﺷﻜﻞ ﭼﻬﺎرم ﻧﻮع ﭼﻬﺎرم از ﺳﺎﺧﺘﺎرﻫﺎي ﺗﺼﻤﻴﻢ ﻫﻢ ﻧﻴﺎزي ﺑﻪ End Ifﻧﺪارد و اﮔﺮ ﺷﺮط درﺳﺖ ﺑﺎﺷﺪ ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات 1اﺟﺮا ﻣﻲﺷﻮﻧﺪ ،در ﻏﻴﺮ اﻳﻦ ﺻﻮرت ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات 2اﺟﺮا ﻣﻲﺷﻮﻧﺪ. دﺳﺘﻮر Else 2دﺳﺘﻮر1
Then
ﺷﺮط
If
ﺳﺎﺧﺘﺎر ElseIf اﮔﺮ ﺑﺨﻮاﻫﻴﻢ ﺑﺎ اﺳﺘﻔﺎده از Ifﺷﺮطﻫﺎي ﮔﻮﻧﺎﮔﻮﻧﻲ را ﭼﻚ ﻛﻨﻴﻢ ،ﻣﻲﺗﻮاﻧﻴﻢ از ElseIfاﺳﺘﻔﺎده ﻛﻨﻴﻢ. دﺳﺘﻮرﻫﺎي ) If … ElseIf … End Ifﺣﺘﻲ در ﺳﺎدهﺗﺮﻳﻦ ﺷﻜﻞ( ﭘﻴﭽﻴﺪهاﻧﺪ و اﻣﻜﺎن ﺑﺮوز ﺧﻄﺎ در آﻧﻬﺎ ﺑﺴﻴﺎر زﻳﺎد اﺳﺖ .ﻫﻤﭽﻨﻴﻦ اﻳﻦ ﺳﺎﺧﺘﺎر ،ﺑﺎﻋﺚ ﻛﻢ ﺷﺪن ﺧﻮاﻧﺎﻳﻲ ﺑﺮﻧﺎﻣﻪ ،ﺳﺮدرﮔﻤﻲ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ و ﻃﻮﻻﻧﻲ ﺷﺪن ﺑﺮﻧﺎﻣﻪ ﻣﻲﮔﺮدد .ﺑﻪ ﻫﻤﻴﻦ ﻣﻨﻈﻮر ﭘﻴﺸﻨﻬﺎد ﻣﻲﺷﻮد ﻛﻪ از دﺳﺘﻮر Select Caseاﺳﺘﻔﺎده ﻛﻨﻴﺪ ﻛﻪ در آﻳﻨﺪه ﺑﺎ آن آﺷﻨﺎ ﺧﻮاﻫﻴﺪ ﺷﺪ.
ﻣﺜﺎلﻫﺎ: ﺗﻌﻴﻴﻦ ﺑﺰرگﺗﺮﻳﻦ ﻋﺪد
ﺻﻔﺤﻪ٥٢ :
)(Private Sub Command1_Click Dim A, B As Integer )A = Val(Text1.Text )B = Val(Text2.Text If (A > B) Then Print A Else Print B End If End Sub
اﮔﺮ اﻣﺘﺤﺎن ﻛﺮده ﺑﺎﺷﻴﺪ وﻗﺘﻲ دو ﻋﺪد ﻣﺴﺎوي ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻣﻲدﻫﻴﺪ ،ﺑﺮﻧﺎﻣﻪ ﻧﺘﻴﺠﻪي درﺳﺘﻲ ﺑﻪ ﺷﻤﺎ اراﺋﻪ ﻧﻤﻲدﻫﺪ .ﺑﺮاي رﻓﻊ اﻳﻦ ﻣﺸﻜﻞ ﻛﺎﻓﻴﺴﺖ ﺑﺮﻧﺎﻣﻪﺗﺎن را ﺑﻪ ﺻﻮرت زﻳﺮ ﺗﻐﻴﻴﺮ دﻫﻴﺪ: )(1. Private Sub Command1_Click 2. Dim A, B As Integer )3. A = Val(Text1.Text )4. B = Val(Text2.Text 5. If (A = B) Then ”6. Print “Same Numbers 7. Exit Sub 8. End If 9. If (A > B) Then 10. Print A 11. Else 12. Print B 13. End If 14. End Sub
ﺧﺮوج زودرس ﺷﺎﻳﺪ اﻳﻦ ﺳﻮال ﺑﺮاي ﺷﻤﺎ ﭘﻴﺶ آﻣﺪه ﺑﺎﺷﺪ ﻛﻪ ﻣﻨﻈﻮر از Exit Subدر ﺧﻂ ﻫﻔﺘﻢ ﭼﻴﺴﺖ؟ ﺑﺴﺘﻪ ﺑﻪ ﺷﺮاﻳﻂ ﻳﻚ روال ،ﻣﻤﻜﻦ اﺳﺖ ﺑﺨﻮاﻫﻴﺪ روال را از ﺣﺎﻟﺖ ﻣﻌﻤﻮل ،زودﺗﺮ ﭘﺎﻳﺎن ﻳﺎﺑﺪ .ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر ﺑﺎﻳﺪ از دﺳﺘﻮر Exitاﺳﺘﻔﺎده ﻛﻨﻴﺪ .ﺷﻜﻞ ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻲﺑﺎﺷﺪ: Exit Sub | Function | Do | For ﺻﻔﺤﻪ٥٣ :
ﺧﻄﻮط ﻋﻤﻮدي ﺑﻴﻦ ﻛﻠﻤﺎت ،ﻧﺸﺎندﻫﻨﺪهي آن اﺳﺖ ﻛﻪ در ﻫﺮ دﺳﺘﻮر Exitﻳﻜﻲ از اﻳﻦ ﻛﻠﻤﺎت را ﻣﻲﺗﻮان ﺑﻪﻛﺎر ﺑﺮد .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ،ﺑﺮاي ﺧﺮوج از ﻳﻚ ﺗﺎﺑﻊ ﺑﺎﻳﺪ از دﺳﺘﻮر Exit Functionو ﺑﺮاي ﺧﺮوج از ﻳﻚ روال روﻳﺪاد ﺑﺎﻳﺪ از دﺳﺘﻮر Exit Subاﺳﺘﻔﺎده ﻛﻨﻴﺪ .در ﻣﺜﺎل ﺑﺎﻻ ،ﻣﺎ ﻫﻢ از اﻳﻦ دﺳﺘﻮر اﺳﺘﻔﺎده ﻛﺮدﻳﻢ؛ زﻳﺮا ﺑﻌﺪ از درﻳﺎﻓﺖ دو ﻋﺪد ﻣﺴﺎوي ،دﻳﮕﺮ ﻧﻴﺎزي ﺑﻪ ﭼﻚ ﻛﺮدن ﺧﻂﻫﺎي ﺑﻌﺪي ﺑﺮﻧﺎﻣﻪ )ﺧﻂﻫﺎي 9ﺗﺎ (13ﻧﺪارﻳﻢ.
ﺗﻌﻴﻴﻦ روز ﺳﺎل ﻓﺮض ﻛﻨﻴﺪ در روز Dام از ﻣﺎه Mام ﻫﺴﺘﻴﻢ؛ ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺑﺎ اﺟﺮاي آن Mو Dدر ورودي درﻳﺎﻓﺖ ﮔﺮدﻧﺪ ،ﺳﭙﺲ ﻣﺸﺨﺺ ﺷﻮد ﻛﻪ در روز ﭼﻨﺪم ﺳﺎل ﻫﺴﺘﻴﻢ .ﻣﺜﻼ اﮔﺮ D = 28ﺑﺎﺷﺪ و M = 10 ﺑﺎﺷﺪ ،آﻧﮕﺎه در روز ﺳﻴﺼﺪ و ﭼﻬﺎرم ﺳﺎل ﻫﺴﺘﻴﻢ. )(Private Sub Command1_Click Dim D, M, N As Integer )D = Val(Text1.Text )M = Val(Text2.Text If (M <= 6) Then N = (M ‐ 1) * 31 + D Else N = (M ‐ 1) * 30 + 6 + D End If Text3.Text = N End Sub
ﭼﻮن ﺗﻌﺪاد روزﻫﺎي ﻫﺮ ﻳﻚ از ﻣﺎهﻫﺎي 6ﻣﺎه اول ﺳﺎل 31روز و 5ﻣﺎه ﺑﻌﺪ 30روز اﺳﺖ ﻟﺬا Mﺑﺎ 6 ﻣﻘﺎﻳﺴﻪ ﮔﺮدﻳﺪه ﻛﻪ ﻣﺸﺨﺺ ﺷﻮد ،آﻳﺎ در ﻧﻴﻤﻪي اول ﺳﺎل ﻫﺴﺘﻴﻢ ﻳﺎ در ﻧﻴﻤﻪي دوم ﺳﺎل؛ و ﭼﻮن ﺑﻪ ﺟﺰ ﻣﺎه ﺟﺎري ﺗﻌﺪاد روزﻫﺎي ﺑﻘﻴﻪي ﻣﺎهﻫﺎ ﻛﺎﻣﻞ اﺳﺖ ،ﻟﺬا ﻳﻚ واﺣﺪ از Mﻛﺴﺮ ﮔﺮدﻳﺪه و ﺑﻪ ﺻﻮرت M‐1 ﻣﻨﻈﻮر ﮔﺮدﻳﺪه اﺳﺖ ﻛﻪ ﻧﺸﺎﻧﮕﺮ ﺗﻌﺪاد ﻣﺎهﻫﺎي ﻗﺒﻞ اﺳﺖ. ﺗﻤﺮﻳﻦ: ﺑﺮﻧﺎﻣﻪي ﺑﺎﻻ رو ﻃﻮري ﺗﻐﻴﻴﺮ دﻫﻴﺪ ﻛﻪ ﻫﺮ دو ﺟﻌﺒﻪﻣﺘﻦ ) (Text1 , Text2ﻓﻘﻂ ﻗﺎﺑﻠﻴﺖ درﻳﺎﻓﺖ دو ﻋﺪد را داﺷﺘﻪ ﺑﺎﺷﻨﺪ )اﺳﺘﻔﺎده از ﻳﻜﻲ از ﺧﺼﻮﺻﻴﺎت ﺟﻌﺒﻪﻣﺘﻦ(؛ ﻫﻤﭽﻨﻴﻦ اﮔﺮ ﻋﺪد ﻣﻮﺟﻮد در ﺟﻌﺒﻪﻣﺘﻦ اول
ﺻﻔﺤﻪ٥٤ :
ﺑﺎﻻﺗﺮ از 31و ﻋﺪد ﻣﻮﺟﻮد در ﺟﻌﺒﻪﻣﺘﻦ دوم ﺑﺎﻻﺗﺮ از 12ﺑﻮد ،ﺑﺮﻧﺎﻣﻪ از روال ﺧﺎرج ﺷﻮد ﻳﺎ ﭘﻴﻐﺎﻣﻲ ﻣﻨﺎﺳﺐ ﻧﻤﺎﻳﺶ دﻫﺪ.
زوج ﻳﺎ ﻓﺮد ﺑﻮدن ﻋﺪد )(1. Private Sub Command1_Click 2. Dim k As Integer )3. k = Val(Text1.Text 4. If (k Mod 2 = 0) Then ”5. Label1.Caption = “The number is Even 6. Else ”7. Label1.Caption = “The number is Odd 8. End If ”“9. Text1.Text = 10. Text1.SetFocus 11. End Sub
در ﺧﻂ ﻧﻬﻢ ﺑﺮﻧﺎﻣﻪ اﻋﻼم ﻛﺮدﻳﻢ ﻛﻪ ﺑﻌﺪ از ﭘﺎﻳﺎن ﻳﺎﻓﺘﻦ ،ﻣﺮاﺣﻞ ﺗﺸﺨﻴﺺ ﻋﺪد زوج و ﻓﺮد ،ﻣﺤﺘﻮﻳﺎت ﺟﻌﺒﻪﻣﺘﻦ را ﺧﺎﻟﻲ ﻛﻦ و ﺑﻌﺪ از آن Focusرا ﺑﻪ ﺟﻌﺒﻪﻣﺘﻦ اﻧﺘﻘﺎل ﺑﺪه؛ ﻳﻌﻨﻲ ﺷﻲء را در ﺣﺎﻟﺖ اﻧﺘﺨﺎب ﻗﺮار ﺑﺪه .ﺑﺮاي درك ﺑﻬﺘﺮ اﻳﻦ ﻣﻮﺿﻮع ) ،(Focusﭼﻨﺪﻳﻦ ﻛﻨﺘﺮل روي ﻓﺮم ﻗﺮار دﻫﻴﺪ و ﺑﻌﺪ ﺑﺮﻧﺎﻣﻪ را اﺟﺮا ﻛﻨﻴﺪ .ﺧﻮاﻫﻴﺪ دﻳﺪ ﻛﻪ ﺑﺎ ﻫﺮ ﺑﺎر ﻓﺸﺎر دادن ﻛﻠﻴﺪ Tabاز روي ﺻﻔﺤﻪ ﻛﻠﻴﺪ Focus ،ﺑﻪ ﻛﻨﺘﺮل ﺑﻌﺪي اﻧﺘﻘﺎل ﻣﻲﻳﺎﺑﺪ .ﺑﺮاي ﺗﻐﻴﻴﺮ دادن ﺗﺮﺗﻴﺐ Focusﮔﺮﻓﺘﻦ ،ﺑﺎﻳﺪ ﻣﻘﺪار TabIndexﻫﺮ ﻛﻨﺘﺮل را ﺗﻐﻴﻴﺮ دﻫﻴﺪ .اﮔﺮ ﺧﻮاﺳﺘﻴﺪ ﻛﻨﺘﺮﻟﻲ ﺑﺎ زدن ﻛﻠﻴﺪ ﺗﺐ از ﺳﻮي ﻛﺎرﺑﺮ Focus ،درﻳﺎﻓﺖ ﻧﻜﻨﺪ ،ﺻﻔﺖ TabStop آن ﻛﻨﺘﺮل را ﺑﺮاﺑﺮ Falseﻗﺮار دﻫﻴﺪ.
ﺗﻌﻴﻴﻦ ﻣﺜﺒﺖ ﻳﺎ ﻣﻨﻔﻲ ﺑﻮدن ﻋﺪد )(Private Sub Command1_Click Dim a As Integer )a = Val(Text1.Text If (a > 0) Then ” Label1.Caption = “Positive ElseIf (a < 0) Then ” Label1.Caption = “Negative Else
ﺻﻔﺤﻪ٥٥ :
” Label1.Caption = “Zero End If End Sub
ﺑﺮرﺳﻲ ﮔﺬرواژه )(Private Sub Command1_Click Dim Pass As String Pass = txtPassword.Text If Pass = "Meisam" Then Beep ” Label1.Caption = “Welcome Else ” Label1.Caption = “Try again ”“ Pass = End If End Sub
ﻧﻜﺘﻪ: Beepدﺳﺘﻮري اﺳﺖ ﻛﻪ ﻳﻚ ﺻﺪاي ﺑﻴﭗ در اﺳﭙﻴﻜﺮ ﻛﺎﻣﭙﻴﻮﺗﺮﺗﺎن اﻳﺠﺎد ﻣﻲﻛﻨﺪ.
--------------ﺗﺎﺑﻊ )( MsgBox ﺑﻪ ﻛﻤﻚ اﻳﻦ ﺗﺎﺑﻊ ﻣﻲﺗﻮان ﭘﻴﻐﺎﻣﻲ را ﺑﻪ ﻛﺎرﺑﺮ ﻧﻤﺎﻳﺶ داد و ﭘﺎﺳﺦ وي را درﻳﺎﻓﺖ ﻛﺮد .اﻳﻦ ﭘﻴﻐﺎم ﻛﺎدري اﺳﺖ ﻛﻪ ﺷﺎﻣﻞ ﻳﻚ آﻳﻜﻦ ،ﻳﻚ ﭘﻴﺎم و ﺣﺪاﻗﻞ ﻳﻚ دﻛﻤﻪ اﺳﺖ؛ ﺷﻜﻞ ﻛﻠﻲ ﺗﺎﺑﻊ )(MsgBox ﭼﻨﻴﻦ اﺳﺖ: )] Variable = MsgBox (StrPrompt [, intStyle] [, strTitle
)]“ﻋﻨﻮان ﭘﻨﺠﺮه” ] [,ﻋﺒﺎرت ﺗﻌﻴﻴﻦ ﻛﻨﻨﺪهي ﻧﻮع و ﺗﻌﺪاد ﻛﻠﻴﺪ”[, ﭘﻴﺎم”( = MsgBox ﻣﺘﻐﻴﺮ
ﺗﺎﺑﻊ )( MsgBoxﻳﻚ آرﮔﻮﻣﺎن اﺟﺒﺎري ) (StrPromptو دو آرﮔﻮﻣﺎن اﺧﺘﻴﺎري ) intStyleو (strTitleدارد .از ﭘﻴﺸﻮﻧﺪ ﻧﺎم اﻳﻦ آرﮔﻮﻣﺎنﻫﺎ ﻣﻲﺗﻮاﻧﻴﺪ ﺣﺪس ﺑﺰﻧﻴﺪ ﻛﻪ ﻧﻮع آﻧﻬﺎ ﭼﻴﺴﺖ. ﻣﻘﺪار ﺑﺮﮔﺸﺘﻲ ﺗﺎﺑﻊ ،در ﻣﺘﻐﻴﺮي ﺻﺤﻴﺢ ﻗﺮار ﻣﻲﮔﻴﺮد .وﻗﺘﻲ ﻛﺎدر ﭘﻴﺎم ﻇﺎﻫﺮ ﻣﻲﺷﻮد ،اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﻣﻮﻗﺘﺎ ﻣﺘﻮﻗﻒ ﻣﻲﺷﻮد ﺗﺎ ﻛﺎرﺑﺮ دﻛﻤﻪاي را ﻛﻠﻴﻚ ﻛﻨﺪ .ﺑﻌﺪ از آن ،اﺟﺮاي ﺑﺮﻧﺎﻣﻪ از دﺳﺘﻮر ﺑﻌﺪ از ﺗﺎﺑﻊ
ﺻﻔﺤﻪ٥٦ :
)( MsgBoxاز ﺳﺮﮔﺮﻓﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ .ﻓﺮض ﻛﻨﻴﺪ در ﺑﺮﻧﺎﻣﻪاي ﻗﺒﻞ از ﭼﺎپ ﮔﺰارش ،ﻛﺎرﺑﺮ ﺑﺎﻳﺪ آﻣﺎدﮔﻲ ﺧﻮد را اﻋﻼم ﻛﻨﺪ .دﺳﺘﻮر ﺳﺎدهي زﻳﺮ اﻳﻦ ﻛﺎر را اﻧﺠﺎم ﻣﻲدﻫﺪ: )” MsgBox (“Click when you are ready for print the report
در ﺷﻜﻞ زﻳﺮ ،اﻳﻦ ﻛﺎدر ﭘﻴﺎم ﺳﺎدهاي را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪ .در اﻳﻦ ﺣﺎﻟﺖ دﻳﮕﺮ ﻣﻘﺪار ﺑﺮﮔﺸﺘﻲ ﺗﺎﺑﻊ اﻫﻤﻴﺖ ﭼﻨﺪاﻧﻲ ﻧﺪارد و ﻣﻲﺗﻮان از روش دﺳﺘﻮري اﻳﻦ ﺗﺎﺑﻊ اﺳﺘﻔﺎده ﻛﺮد ﻛﻪ ﻧﻴﺎزي ﺑﻪ ﻣﻘﺪار ﺑﺮﮔﺸﺘﻲ ﻧﺪارد.
ﻧﻜﺘﻪ: اﮔﺮ آرﮔﻮﻣﺎن اﺧﺘﻴﺎري دوم ) (strTitleﻗﻴﺪ ﻧﺸﻮد ،وﻳﮋوال ﺑﻴﺴﻴﻚ از ﻧﺎم ﭘﺮوژه در ﻋﻨﻮان ﭘﻴﺎم اﺳﺘﻔﺎده ﻣﻲﻛﻨﺪ.
ﻣﻘﺎدﻳﺮ ﺑﺮﮔﺸﺘﻲ: ﺑﺮاي اﻳﻨﻜﻪ ﺑﺪاﻧﻴﻢ ﻋﻜﺲاﻟﻌﻤﻞ ﻛﺎرﺑﺮ ﻧﺴﺒﺖ ﺑﻪ ﻛﺎدر ﭘﻴﺎم ﭼﻴﺴﺖ ،ﻳﺎ ﻣﺘﻮﺟﻪ ﺑﺸﻮﻳﻢ ﻛﻪ ﻛﺎرﺑﺮ روي ﻛﺪام دﻛﻤﻪ ﻛﻠﻴﺪ ﻛﺮده اﺳﺖ ﺑﺎﻳﺪ از ﻣﻘﺎدﻳﺮ ﺑﺮﮔﺸﺘﻲ اﺳﺘﻔﺎده ﻛﻨﻴﻢ .در ﺟﺪول زﻳﺮ ﻣﻘﺎدر ﺑﺮﮔﺸﺘﻲ ﻛﺎدر ﭘﻴﺎم را ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ:
ﻣﻘﺎدﻳﺮ
ﻣﻔﻬﻮم
ﻧﺎم ﺛﺎﺑﺖ
1
vbOKﻛﺎرﺑﺮ روي Okﻛﻠﻴﻚ ﻛﺮده اﺳﺖ.
2
vbCancelﻛﺎرﺑﺮ روي Cancelﻛﻠﻴﻚ ﻛﺮده اﺳﺖ.
3
vbAbortﻛﺎرﺑﺮ روي Abortﻛﻠﻴﻚ ﻛﺮده اﺳﺖ.
4
vbRetryﻛﺎرﺑﺮ روي Retryﻛﻠﻴﻚ ﻛﺮده اﺳﺖ.
5
vbIgnoreﻛﺎرﺑﺮ روي Ignoreﻛﻠﻴﻚ ﻛﺮده اﺳﺖ.
6
vbYesﻛﺎرﺑﺮ روي Yesﻛﻠﻴﻚ ﻛﺮده اﺳﺖ.
7
vbNoﻛﺎرﺑﺮ روي Noﻛﻠﻴﻚ ﻛﺮده اﺳﺖ.
ﺻﻔﺤﻪ٥٧ :
ﻣﻘﺪار ﺑﺮﮔﺸﺘﻲ )( MsgBoxزﻣﺎﻧﻲ ﻣﻔﻬﻮم ﭘﻴﺪا ﻣﻲﻛﻨﺪ ﻛﻪ دﻛﻤﻪﻫﺎي ﻛﺎدر ﭘﻴﺎم ﺑﻴﺶ از ﻳﻜﻲ ﺑﺎﺷﺪ .ﺑﺮاي ﻛﻨﺘﺮل ﺑﻴﺸﺘﺮ دﻛﻤﻪﻫﺎي ﻛﺎدر ﭘﻴﺎم ﺑﺎﻳﺪ از آرﮔﻮﻣﺎن اﺧﺘﻴﺎري اول ) ،(intStyleاﺳﺘﻔﺎده ﻛﻨﻴﺪ؛ ﻛﻪ ﺑﻪ ﺳﻪ ﺑﺨﺶ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ:
ﺑﺨﺶ اول :ﺗﻌﺪاد و ﻧﻮع ﻛﻠﻴﺪ ﻣﻘﺪار
ﻧﺎم ﺛﺎﺑﺖ vbOKOnlyﻧﻤﺎﻳﺶ ﻛﻠﻴﺪ OK
0
vbOKCancelﻧﻤﺎﻳﺶ ﻛﻠﻴﺪﻫﺎي OKو Cancel
1 2
ﻣﻔﻬﻮم
vbAbortRetryIgnore
ﻧﻤﺎﻳﺶ ﻛﻠﻴﺪﻫﺎي Abortو Retryو Ignore
vbYesNoCancelﻧﻤﺎﻳﺶ ﻛﻠﻴﺪﻫﺎي Yesو Noو Cancel
3 4
vbYesNoﻧﻤﺎﻳﺶ ﻛﻠﻴﺪﻫﺎي Yesو No
5
vbRetryCancelﻧﻤﺎﻳﺶ ﻛﻠﻴﺪﻫﺎي Retryو Cancel
ﻣﺜﺎل: ) Response = MsgBox (“Ready to print?”, 1
Or
) Response = MsgBox (“Ready to print?”, vbOKCancel
ﺑﺨﺶ دوم :ﺗﻌﻴﻴﻦ آﻳﻜﻦ ﻛﺎدر ﭘﻴﺎم ﺑﺮاي ﺗﻌﻴﻴﻦ آﻳﻜﻦ ﻛﺎدر ﭘﻴﺎم از ﺛﺎﺑﺖﻫﺎي زﻳﺮ اﺳﺘﻔﺎده ﻛﻨﻴﺪ .ﻓﻘﻂ دﻗﺖ ﻛﻨﻴﺪ ﻛﻪ ﻫﺮ ﻳﻚ از اﻳﻦ آﻳﻜﻦﻫﺎ را در ﺟﺎي ﻣﻨﺎﺳﺐ ﺑﻪ ﻛﺎر ﺑﺒﺮﻳﺪ.
ﻣﻘﺪار
ﻣﻔﻬﻮم
ﻧﺎم ﺛﺎﺑﺖ
16
vbCriticalآﻳﻜﻦ ﭘﻴﺎم ﺑﺤﺮاﻧﻲ
32
vbQuestionآﻳﻜﻦ ﻋﻼﻣﺖ ﺳﻮل
48
vbExclamationآﻳﻜﻦ ﻫﺸﺪار ﻳﺎ اﺧﻄﺎر
64
vbInformationآﻳﻜﻦ اﻃﻼﻋﺎت
ﺻﻔﺤﻪ٥٨ :
آﻳﻜﻦ
ﻣﺜﺎل: ) Response = MsgBox (“Is the printer on?”, vbYesNoCancel + vbQuestion
Or
)Response = MsgBox (“Is the printer on?”, 3 + 32
ﻧﻜﺘﻪ: اﮔﺮ ﺑﻪ دو ﺟﺪول ﺑﺎﻻ دﻗﺖ ﻛﺮده ﺑﺎﺷﻴﺪ ﺳﺘﻮﻧﻲ ﺗﺤﺖ ﻋﻨﻮان “ﻧﺎم ﺛﺎﺑﺖ” در آﻧﻬﺎ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ. وﻳﮋوال ﺑﻴﺴﻴﻚ ﺻﺪﻫﺎ ﺛﺎﺑﺖ ) (Constantدارد ﻛﻪ آﻧﻬﺎ را ﺑﻪ ﻧﺎم ﻣﻲﺷﻨﺎﺳﺪ .ﺑﻪ اﻳﻨﻬﺎ ﺛﺎﺑﺖ ﻧﺎمدار ﻳﺎ ) (Named Constantﻣﻲﮔﻮﻳﻨﺪ .ﻣﻘﺪار اﻳﻦ ﺛﺎﺑﺖﻫﺎ ﻫﻤﻴﺸﻪ ﺛﺎﺑﺖ اﺳﺖ )و ﻏﻴﺮ از اﻳﻦ ﻫﻢ ﻧﻤﻲﺗﻮاﻧﺪ ﺑﺎﺷﺪ!( و ﻧﻤﻲﺗﻮان آﻧﻬﺎ را ﺗﻐﻴﻴﺮ داد .وﻗﺘﻲ از ﺛﺎﺑﺖﻫﺎي ﻧﺎمدار اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﺪ ،دﻳﮕﺮ ﻧﻴﺎزي ﻧﻴﺴﺖ ﻣﻘﺪار آﻧﻬﺎ را ﺣﻔﻆ ﻛﻨﻴﺪ و دﻓﻌﻪي ﺑﻌﺪ ﻛﻪ آﻧﻬﺎ را ﺑﺒﻴﻨﻴﺪ ،درك ﻋﻤﻠﻜﺮد آﻧﻬﺎ ﺳﺎدهﺗﺮ ﺧﻮاﻫﺪ ﺑﻮد. ﺑﻨﺎﺑﺮاﻳﻦ ﺳﻌﻲ ﻛﻨﻴﺪ ﺗﺎ ﺣﺪ اﻣﻜﺎن از ﺛﺎﺑﺖﻫﺎي ﻧﺎمدار اﺳﺘﻔﺎده ﻛﻨﻴﺪ) .ﻃﺒﻖ اﻳﻦ ﺗﻌﺎرﻳﻒ ،اﺳﺘﻔﺎده از ﻣﺜﺎل اول ﻣﻨﺎﺳﺐﺗﺮ اﺳﺖ(.
ﺑﺨﺶ ﺳﻮم :ﺗﻌﻴﻴﻦ دﻛﻤﻪي ﭘﻴﺶﻓﺮض ﻫﻤﻴﺸﻪ اوﻟﻴﻦ دﻛﻤﻪي ﻛﺎدر ﭘﻴﺎم )از ﺳﻤﺖ ﭼﭗ( دﻛﻤﻪي ﭘﻴﺶﻓﺮض اﺳﺖ ،ﻳﻌﻨﻲ زدن Enterﻣﻌﺎدل ﻛﻠﻴﻚ ﻛﺮدن آن دﻛﻤﻪ ﺧﻮاﻫﺪ ﺑﻮد؛ اﻣﺎ ﺑﺎ اﺳﺘﻔﺎده از ﻣﻘﺎدﻳﺮ ﺟﺪول زﻳﺮ ﻣﻲﺗﻮاﻧﻴﺪ اﻳﻦ رﻓﺘﺎر را ﻋﻮض ﻛﻨﻴﺪ.
ﻣﻘﺪار
ﻣﻔﻬﻮم
ﻧﺎم ﺛﺎﺑﺖ
0
vbDefaultButton1ﻛﻠﻴﺪ اول ﭘﻴﺶﻓﺮض
256
vbDefaultButton2ﻛﻠﻴﺪ دوم ﭘﻴﺶﻓﺮض
512
vbDefaultButton3ﻛﻠﻴﺪ ﺳﻮم ﭘﻴﺶﻓﺮض
768
vbDefaultButton4ﻛﻠﻴﺪ ﭼﻬﺎرم ﭘﻴﺶﻓﺮض
ﻣﺜﺎل: ) Response = MsgBox (“Is the printer on?”, vbYesNoCancel + vbDefaultButton1
Or
) Response = MsgBox (“Is the printer on?”, 3 + 0
ﺻﻔﺤﻪ٥٩ :
، در اﻋﻤﺎل ﺑﺤﺮاﻧﻲ. ﺑﻪ ﻋﻨﻮان دﻛﻤﻪي ﭘﻴﺶﻓﺮض در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖYes دﻛﻤﻪي،در اﻳﻦ ﻣﺜﺎل را دﻛﻤﻪي ﭘﻴﺶﻓﺮض ﻛﺎدر ﭘﻴﺎم ﻗﺮار دﻫﻴﺪ ﺗﺎ اﮔﺮ ﻛﺎرﺑﺮ ﺗﺼﺎدﻓﺎCancel دﻛﻤﻪي،ﻣﺎﻧﻨﺪ ﺣﺬف ﻓﺎﻳﻞﻫﺎ . ﻋﻤﻠﻴﺎت ﻟﻐﻮ ﺷﻮد، را ﻓﺸﺎر دادEnter ﻛﻠﻴﺪ
:ﻣﺜﺎلﻫﺎي ﺗﻜﻤﻴﻠﻲ :ﺷﻤﺎرهي ﻳﻚ Private Sub Form_Load() Dim intResponse As Integer intResponse = MsgBox("Exit Program?", vbInformation + vbYesNo, "Exit”) If intResponse = vbYes Then End Else Me.Refresh End If End Sub Or Dim intResponse As VbMsgBoxResult intResponse = MsgBox("Exit Program?", 64 + 4, "Exit”) If intResponse = 6 Then End Else Me.Refresh End If End Sub
:ﻧﻜﺘﻪ ﺑﻌﺪﻫﺎ ﺑﺎ اﻳﻦ دﺳﺘﻮر.( ﻣﻲﺷﻮدForm1) ﻳﻌﻨﻲ ﻓﺮم ﺟﺎريMe ﺑﺎﻋﺚ ﺑﺎرﮔﺬاري ﻣﺠﺪدMe.Refresh .ﺑﻴﺸﺘﺮ آﺷﻨﺎ ﻣﻲﺷﻮﻳﺪ
:ﺷﻤﺎرهي دو Option Explicit Dim p, s, t, r ‘p = Prompt ‘s = Style ‘t = Title ‘r = Response ٦٠ :ﺻﻔﺤﻪ
)(Private Sub Command1_Click ”?p = “Are You Sure s = vbCritical + vbYesNo ”t = “Yes or NO )r = MsgBox(p, s, t End Sub
ﻧﻜﺘﻪ: اﮔﺮ ﻣﻲﺧﻮاﻫﻴﺪ در ﻛﺎدر ﭘﻴﺎم ،ﺑﻌﺪ از ﻧﻮﺷﺘﻦ ﭼﻨﺪﻳﻦ ﻛﻠﻤﻪ ﺑﻪ ﺧﻂ ﺑﻌﺪي ﺑﺮوﻳﺪ و اداﻣﻪ ﭘﻴﺎم را در آن ﺧﻂ ﺑﻨﻮﻳﺴﻴﺪ ،ﺑﺎﻳﺪ از ﺗﺎﺑﻊ Chr$اﺳﺘﻔﺎده ﻛﻨﻴﺪ .اﻳﻦ ﺗﺎﺑﻊ ﻛﺎراﻛﺘﺮي را ﻛﻪ ﻣﺮﺑﻮط ﺑﻪ Charcodeﻣﻲﺑﺎﺷﺪ را ﺑﺮﻣﻲﮔﺮداﻧﺪ) :ﺑﻪ ﺟﺎي ) Chr$(13ﻣﻲ ﺗﻮاﻧﻴﺪ از ) Chr$(10ﻫﻢ اﺳﺘﻔﺎده ﻛﻨﻴﺪ( ) Chr$ (Charcode )” MsgBox ("Welcome" + Chr$(13) + Chr$(13) + Chr$(13) + “Meisam
Or
)” MsgBox ("Welcome" + Chr(13) + Chr(13) + Chr(13) & “Meisam
--------------ﺗﺎﺑﻊ )( InputBox در ﺑﻌﻀﻲ از ﻣﻮارد ﻣﻤﻜﻦ اﺳﺖ ﺑﺨﻮاﻫﻴﺪ ﺑﺮاي ﻛﺎرﺑﺮ ﺳﻮاﻟﻲ را ﻣﻄﺮح ﻛﻨﻴﺪ و ﭘﺎﺳﺦ آن را ﺑﮕﻴﺮﻳﺪ ،اﻣﺎ ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر ﻗﺮار دادن ﻳﻚ ﻛﺎدر ﻣﺘﻦ ) (TextBoxﺑﺮ روي ﻓﺮم ﺑﺮﻧﺎﻣﻪ را ﻣﻨﺎﺳﺐ ﻧﻤﻲﺑﻴﻨﻴﺪ .ﺣﺎل اﻳﻦ ﺳﻮال ﺑﺮاي ﺷﻤﺎ ﭘﻴﺶ ﻣﻲآﻳﺪ ﻛﻪ آﻳﺎ راه دﻳﮕﺮي ﺑﺮاي ارﺗﺒﺎط ﺑﺎ ﻛﺎرﺑﺮ وﺟﻮد دارد؟ ﺑﻠﻪ .ﺗﺎﺑﻊ InputBoxﻳﻚ ﻛﺎدر ورودي ﺑﺮاي ﺷﻤﺎ اﻳﺠﺎد ﻣﻲﻛﻨﺪ .اﻳﻦ ﻛﺎدر ﺗﻤﺎم ﺧﺼﻮﺻﻴﺎت ﻛﺎدر ﭘﻴﺎم را دارد و ﻓﻘﻂ داراي ﻳﻚ ﻓﻴﻠﺪ اﺿﺎﻓﻲ ﺑﺮاي ﮔﺮﻓﺘﻦ ﺟﻮاب ﻛﺎرﺑﺮ اﺳﺖ .اﻟﺒﺘﻪ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ ﻫﻴﭻ ﻛﻨﺘﺮﻟﻲ روي دﻛﻤﻪﻫﺎي ﻛﺎدر ورودي ﻧﺪارد و ﻳﻚ ﻛﺎدر ورودي ﻫﻤﻴﺸﻪ داراي دو دﻛﻤﻪي OKو Cancelﺧﻮاﻫﺪ ﺑﻮد .ﻛﺎدر ورودي ،آﻳﻜﻦ ﻫﻢ ﻧﻤﻲﺗﻮاﻧﺪ داﺷﺘﻪ ﺑﺎﺷﺪ .ﺷﻜﻞ ﻛﻠﻲ ﺗﺎﺑﻊ )( InputBoxﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ: )]varResponse = InputBox (strPrompt [, strTitle] [, strDefault] [, intXpos] [, intYpos
ﺻﻔﺤﻪ٦١ :
ﻣﻘﺪار ﺑﺮﮔﺸﺘﻲ ﺗﺎﺑﻊ )( InputBoxاز ﻧﻮع Variantاﺳﺖ و ﻣﻲﺗﻮان آن را ﺑﻪ ﺻﻮرت ﻳﻚ رﺷﺘﻪ ﺑﻪ ﻛﺎر ﺑﺮد؛ ﺑﻪ اﻳﻦ دﻟﻴﻞ ﻣﻘﺪار ﺑﺮﮔﺸﺘﻲ اﻳﻦ ﺗﺎﺑﻊ Variantاﺳﺖ ﻛﻪ ﺑﺘﻮان آن را ﺣﺘﻲ ﺑﻪ ﻣﺸﺨﺼﻪﻫﺎي ﻛﻨﺘﺮلﻫﺎ ﻫﻢ ﻧﺴﺒﺖ داد .از ﻣﻴﺎن ﺗﻤﺎم آرﮔﻮﻣﺎنﻫﺎي ﺗﺎﺑﻊ )( InputBoxﻓﻘﻂ اوﻟﻴﻦ آرﮔﻮﻣﺎن اﺟﺒﺎري اﺳﺖ. • :strPromptﭘﻴﺎم ﻳﺎ ﭘﺮﺳﺸﻲ اﺳﺖ ﻛﻪ در ﻛﺎدر ورودي ﻣﺸﺎﻫﺪه ﻣﻲﺷﻮد .ﺣﺪاﻛﺜﺮ ﻃﻮل اﻳﻦ ﭘﻴﺎم ،ﻣﻲﺗﻮاﻧﺪ 1024ﻧﻮﻳﺴﻪ ﺑﺎﺷﺪ .
• :strTitleﻋﻨﻮان ﭘﻨﺠﺮهي ﻛﺎدر ورودي ﺑﺎ اﻳﻦ آرﮔﻮﻣﺎن ﻣﺸﺨﺺ ﻣﻲﺷﻮد .
• :strDefaultﻣﻘﺪاري ﻛﻪ ﺑﻪ ﺻﻮرت ﭘﻴﺶﻓﺮض در ﻓﻴﻠﺪ ورودي ﻇﺎﻫﺮ ﺧﻮاﻫﺪ ﺷﺪ .
• intXposو :IntYposﻣﺨﺘﺼﺎت ﻇﺎﻫﺮ ﺷﺪن ﭘﻨﺠﺮهي ﻛﺎدر ورودي روي ﺻﻔﺤﻪ .اﮔﺮ اﻳﻦ دو آرﮔﻮﻣﺎن ﻗﻴﺪ ﻧﺸﻮﻧﺪ ،وﻳﮋوال ﺑﻴﺴﻴﻚ ﻛﺎدر وردوي را وﺳﻂ ﺻﻔﺤﻪي ﻧﻤﺎﻳﺶ ﻗﺮار ﺧﻮاﻫﺪ داد . ﻧﻜﺘﻪ: ﺑﺎﻳﺪ روﺷﻲ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﺗﺎ ﺑﺮﻧﺎﻣﻪ ﺑﺪاﻧﺪ ﻛﻪ ﻛﺎرﺑﺮ ﻛﺪام دﻛﻤﻪ را ﻛﻠﻴﻚ ﻛﺮده اﺳﺖ .اﮔﺮ ﻛﺎرﺑﺮ روي Cancelﻛﻠﻴﻚ ﻛﻨﺪ ،ﺗﺎﺑﻊ )( InputBoxرﺷﺘﻪاي ﺑﻪ ﻃﻮل ﺻﻔﺮ )”“( ﺑﺮﻣﻲﮔﺮداﻧﺪ و ﻛﻠﻴﻚ ﻛﺮدن روي OKﺳﺒﺐ ﺑﺮﮔﺸﺖ رﺷﺘﻪي داﺧﻞ ﻓﻴﻠﺪ ورودي ﺧﻮاﻫﺪ ﺷﺪ.
ﻣﺜﺎلﻫﺎ: ﻛﺎدر ﭘﻴﺎم ،ﻛﺎدر وردوي )(Private Sub Command1_Click Dim strAnswer As String )”strAnswer = InputBox(“Enter your name“, “Getting name”, “Meisam )MsgBox (“Hi “ & strAnswer End Sub
ﺿﺮب دو ﻋﺪد ﺿﺮب دو ﻋﺪد’ )(Private Sub Command1_Click Dim intNum1, intNum2, intResult As Integer
ﺻﻔﺤﻪ٦٢ :
)”intNum1 = InputBox("Enter First number", "Getting Number 1 )”intNum2 = InputBox("Enter second number", "Getting Number 2 intResult = intNum1 * intNum2 ”MsgBox intNum1 & “ * “ & intNum2 & “ = “ & intResult, , “Result End Sub
--------------دﺳﺘﻮر Select Case ﺑﻬﺘﺮﻳﻦ روش ﺑﺮاي ﺑﺮرﺳﻲ ﺷﺮطﻫﺎي ﭼﻨﺪﮔﺎﻧﻪ ،اﺳﺘﻔﺎده از دﺳﺘﻮر Select Caseﻣﻲﺑﺎﺷﺪ .اﮔﺮ ﺗﻌﺪاد دﺳﺘﻮرﻫﺎي Ifﺗﻮدرﺗﻮ ﺳﻪ ﻳﺎ ﭼﻬﺎر ﻋﺪد ﺑﻴﺸﺘﺮ ﺷﻮد ،ﺑﺮﻧﺎﻣﻪ ﺑﺴﻴﺎر ﭘﻴﭽﻴﺪه ﺧﻮاﻫﺪ ﺷﺪ .ﺑﻪ ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر Select Caseﺗﻮﺟﻪ ﻛﻨﻴﺪ : ﻋﺒﺎرت ﻣﻮردﻧﻈﺮ Select Case ﻣﻘﺪار اول Case ﻳﻚ ﻳﺎ ﭼﻨﺪ دﺳﺘﻮر ﻣﻘﺪار دوم [ Case ] ﻳﻚ ﻳﺎ ﭼﻨﺪ دﺳﺘﻮر ﻣﻘﺪار ﺳﻮم [ Case ] ﻳﻚ ﻳﺎ ﭼﻨﺪ دﺳﺘﻮر
… ﻣﻘﺪار Nام [ Case ] ﻳﻚ ﻳﺎ ﭼﻨﺪ دﺳﺘﻮر [ Case Else ] ﻳﻚ ﻳﺎ ﭼﻨﺪ دﺳﺘﻮر End Select
در اﻳﻦ دﺳﺘﻮر ﻋﺒﺎرﺗﻲ را ﻛﻪ ﻣﻲﺧﻮاﻫﻴﻢ ﻣﻘﺎدﻳﺮ ﻣﺨﺘﻠﻒ آن را ﭼﻚ ﻛﻨﻴﻢ ،در ﺟﻠﻮي Select Case
ﻣﻲﻧﻮﻳﺴﻴﻢ .اﮔﺮ ﻋﺒﺎرت ﺑﺎ ﻳﻜﻲ از ﻣﻘﺎدﻳﺮ Caseﻫﺎ ﺑﺮاﺑﺮ ﺑﺎﺷﺪ ،دﺳﺘﻮرﻫﺎي ﺑﻌﺪ از آن ،و در ﻏﻴﺮ اﻳﻦ ﺻﻮرت ،دﺳﺘﻮرﻫﺎي ﺑﻌﺪ از Case Elseاﺟﺮا ﻣﻲﺷﻮﻧﺪ. ﺻﻔﺤﻪ٦٣ :
:ﻣﺜﺎلﻫﺎ 1 ﻧﻤﺮات و ﺟﻮاﻳﺰ Private Sub cmdRun_Click() Select Case txtGrade.Text Case “a” lblReward.Caption = “a Brand‐New car” Case “b” lblReward.Caption = “Notebook” Case “c” lblReward.Caption = “Pencil” Case “d” lblReward.Caption = “Eraser” Case “e” lblReward.Caption = “Nothing” Case Else lblReward.Caption = “Error in grade” End Select txtGrade.SetFocus End Sub
دﺳﺘﻮر ﺑﻌﺪ از، ﺑﺎﺷﺪe و ﻳﺎ a, b, c, d ( ﺣﺎوي ﻳﻜﻲ از ﺣﺮوفtxtGrade) در ﻣﺜﺎل ﺑﺎﻻ اﮔﺮ ﺟﻌﺒﻪﻣﺘﻦ در.“ را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪError in grade” اﺟﺮا ﻣﻲﺷﻮد؛ در ﻏﻴﺮ اﻳﻦ ﺻﻮرت ﺑﺮﻧﺎﻣﻪ ﭘﻴﻐﺎمCase .ﺿﻤﻦ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﺑﺰرﮔﻲ و ﻛﻮﭼﻜﻲ ﺣﺮوف ﺣﺴﺎس ﻣﻲﺑﺎﺷﺪ
2 ﻧﻤﺮات و ﺟﻮاﻳﺰ . اﺳﺘﻔﺎده ﻛﻨﻴﺪIs ﺑﺎﻳﺪ از ﻋﻤﻠﮕﺮSelect Case ﺑﺮاي اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮﻫﺎي راﺑﻄﻪاي در دﺳﺘﻮر :ﺑﺮﻧﺎﻣﻪي زﻳﺮ ﻧﻮع دﻳﮕﺮي از ﻣﺜﺎلِ ﻧﻤﺮات و ﺟﻮاﻳﺰ ﻣﻲﺑﺎﺷﺪ Private Sub cmdRun_Click() Select Case Val(txtGrade.Text) Case Is >= 18 lblReward.Caption = “a Brand‐New car” Case Is >= 16 lblReward.Caption = “Notebook”
٦٤ :ﺻﻔﺤﻪ
Case Is >= 14 lblReward.Caption = “Pencil” Case Is >= 10 lblReward.Caption = “Eraser” Case Is >= 1 lblReward.Caption = “Nothing” Case Else lblReward.Caption = “Error in grade” End Select txtGrade.Text = “” txtGrade.SetFocus End Sub
:ﻛﻨﺠﻜﺎوي :ﻋﺒﺎرات زﻳﺮ را ﺑﻪ ﻋﻨﻮان ورودي ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﺑﺪﻫﻴﺪ ﺗﺎ ﺑﺒﻴﻨﻴﺪ ﭼﻪ ﺟﺎﻳﺰهاي ﺑﻪ ﺷﻤﺎ ﻣﻲدﻫﺪ 1TM 11FS 426NB NB426
ﻓﻜﺮ ﻣﻲﻛﻨﻴﺪ ﻋﻠﺖ ﭼﻴﺴﺖ؟
3 ﻧﻤﺮات و ﺟﻮاﻳﺰ اﻳﻦ ﻋﻤﻠﮕﺮ ﻋﻼوهﺑﺮ. اﺳﺘﻔﺎده ﻛﻨﻴﺪTo ﺑﺎﻳﺪ از ﻋﻤﻠﮕﺮSelect Case ﺑﺮاي اﻳﺠﺎد ﻣﺤﺪوده در دﺳﺘﻮر ﺷﺮوع ﺷﻮدASCII ﻣﺸﺮوط ﺑﺮ اﻳﻨﻜﻪ ﺑﺮرﺳﻲ از ﭘﺎﻳﻴﻦ ﺟﺪول،اﻋﺪاد ﻣﻲﺗﻮاﻧﺪ روي رﺷﺘﻪﻫﺎ ﻧﻴﺰ ﻋﻤﻞ ﻛﻨﺪ : ﺑﺮﻧﺎﻣﻪي زﻳﺮ ﻧﻮع دﻳﮕﺮي از ﻣﺜﺎلِ ﻧﻤﺮات و ﺟﻮاﻳﺰ ﻣﻲﺑﺎﺷﺪ.و ﺑﻪ ﺳﻤﺖ ﺑﺎﻻ ﺣﺮﻛﺖ ﻛﻨﺪ Private Sub cmdRun_Click() Select Case Val(txtGrade.Text) Case 18 To 20 lblReward.Caption = "a Brand‐New car” Case 15 To 17 lblReward.Caption = “Notebook” Case 14 To 16 lblReward.Caption = “Pencil”
٦٥ :ﺻﻔﺤﻪ
Case 10 To 13 ” lblReward.Caption = “Eraser Case 0 To 9 ” lblReward.Caption = “Nothing Case Else ” lblReward.Caption = “Error in grade End Select ”“txtGrade.Text = txtGrade.SetFocus End Sub
--------------ﻛﻨﺘﺮل Check Box از اﻳﻦ ﻛﻨﺘﺮل ﻛﻪ ﺑﻪ ﻋﻨﻮان ﻛﺎدر ﻋﻼﻣﺖ ﺷﻨﺎﺧﺘﻪ ﻣﻲﺷﻮد ،ﺑﺮاي اﻧﺘﺨﺎب ﻳﻚ ﺣﺎﻟﺖ از دو ﺣﺎﻟﺖ ﻣﻤﻜﻦ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد .اﻳﻦ ﻛﻨﺘﺮل ﺗﺪاﻋﻲﮔﺮ ﻣﺘﻐﻴﺮ ﻣﻨﻄﻘﻲ ﻣﻲﺑﺎﺷﺪ .ﻛﻨﺘﺮل ﻛﺎدر ﻋﻼﻣﺖ را ﻣﻲﺗﻮان ﺑﻪ ﺻﻮرت ﮔﺮوﻫﻲ ﻧﻴﺰ ﺑﻪﻛﺎر ﺑﺮد ﺗﺎ ﭼﻨﺪﻳﻦ اﻧﺘﺨﺎب را ﺑﻪ ﻛﺎرﺑﺮ اراﻳﻪ دﻫﺪ و ﻛﺎرﺑﺮ ﻣﻲﺗﻮاﻧﺪ ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻛﺎدر ﻋﻼﻣﺖ را اﻧﺘﺨﺎب ﻛﻨﺪ.
ﺧﺎﺻﻴﺖ :Value ﻣﺸﺨﺼﻪي Valueﻛﻨﺘﺮل ﻛﺎدر ﻋﻼﻣﺖ ،ﺗﻌﻴﻴﻦ ﻣﻲﻛﻨﺪ ﻛﻪ آﻳﺎ ﻛﺎدر ﻋﻼﻣﺖ ﺑﻪ وﺳﻴﻠﻪي ﻛﺎرﺑﺮ اﻧﺘﺨﺎب ﺷﺪه اﺳﺖ ﻳﺎ ﻧﻪ و آﻳﺎ اﻳﻦ ﻛﺎدر ﻏﻴﺮﻓﻌﺎل اﺳﺖ؟ ﺟﺪول زﻳﺮ وﺿﻌﻴﺖ ﻛﺎدر ﻋﻼﻣﺖ ،ﺑﺎ ﻣﻘﺎدر ﻣﺨﺘﻠﻒ را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ: ﺛﺎﺑﺖ
ﻣﻘﺪار
وﺿﻌﻴﺖ
vbUnchecked vbChecked vbGrayed
0 1 2
Unchecked Checked Unavailable
ﺑﻪ ﻃﻮر ﭘﻴﺶﻓﺮض ﻛﻨﺘﺮل ﻛﺎدر ﻋﻼﻣﺖ ﺑﺎ vbUncheckedﻣﻘﺪاردﻫﻲ ﻣﻲﺷﻮد .در ﺻﻮرﺗﻲ ﻛﻪ ﻣﻲﺧﻮاﻫﻴﺪ ﺗﻌﺪادي از ﻛﺎدرﻫﺎي ﻋﻼﻣﺖ را از ﻗﺒﻞ اﻧﺘﺨﺎب ﻛﻨﻴﺪ ،ﻣﻲﺗﻮاﻧﻴﺪ ﻣﺸﺨﺼﻪي Valueآﻧﻬﺎ را در
ﺻﻔﺤﻪ٦٦ :
1 ﻳﺎvbChecked ﺑﺎForm_Activate ،Form_Initialize ،Form_Load روالﻫﺎي . ﻫﻢ زﻣﺎﻧﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد ﻛﻪ اﻧﺘﺨﺎب ﻣﺎ ﺷﺮط دار اﺳﺖvbGrayed .ﻣﻘﺪاردﻫﻲ ﻛﻨﻴﺪ
:ﻣﺜﺎلﻫﺎ ﺗﻐﻴﻴﺮ ﻇﺎﻫﺮي ﻟﻴﺒﻞ
Private Sub chkBold_Click() If chkBold.Value = 1 Then Label1.Font.Bold = True Else Label1.Font.Bold = False End Sub
Private Sub chkUnder_Click() If chkUnder.Value = 1 Then Label1.Font.Underline = True Else Label1.Font.Underline = False End if End Sub
Private Sub chkIta_Click() If chkIta.Value = 1 Then Label1.Font.Italic = True Else Label1.Font.Italic = False End Sub
Private Sub chkStrike_Click() If chkStrike.Value = 1 Then Label1.Font.Strikethrough = True Else Label1.Font.Strikethrough = False End if End Sub Private Sub chkNormal_Click() chkBold.Value = 0
٦٧ :ﺻﻔﺤﻪ
chkUnder.Value = 0 chkIta.Value = 0 chkStrike.Value = 0 chkNormal.Value = 0 End Sub
ﮔﺰﻳﻨﻪﻫﺎي ﺑﻴﺸﺘﺮ اﺑﺘﺪا ارﺗﻔﺎع ﻓﺮم را زﻳﺎد ﻣﻲﻛﻨﻴﻢ و ﻛﻨﺘﺮﻟﻬﺎي ﻣﻮردﻧﻈﺮﻣﺎن را در ﺑﺨﺶ اﻧﺘﻬﺎﻳﻲ ﻓﺮم ﻗﺮار ﻣﻲدﻫﻴﻢ .ﺣﺎل ﻣﻲﺧﻮاﻫﻴﻢ ﺑﺎ ﻛﻠﻴﻚ روي ﮔﺰﻳﻨﻪي More Optionﮔﺰﻳﻨﻪﻫﺎي ﺑﻴﺸﺘﺮي را ﺑﻪ ﻧﻤﺎﻳﺶ درآورﻳﻢ .ﺑﺮاي اﻳﻦ ﻛﺎر از ﺗﻜﻪﻛﺪ زﻳﺮ اﺳﺘﻔﺎده ﻛﻨﻴﺪ .اﻳﻦ ﺑﺮﻧﺎﻣﻪ ﻓﻘﻂ ﺟﻨﺒﻪي ﺷﺒﻴﻪﺳﺎزي دارد.
)(Private Sub MoreOption_Click If MoreOption.Value = 1 Then Form1.Height = Form1.Height + 780 Else Form1.Height = 2520 End If End Sub
ﻋﺪد 2520ﻣﻮﺟﻮد در ﻣﻘﺎﺑﻞ Form1.Heightﻧﺸﺎندﻫﻨﺪهي ارﺗﻔﺎع ﻓﺮم ﻣﺎ در زﻣﺎن ﻃﺮاﺣﻲ ﻣﻲﺑﺎﺷﺪ .ﺣﺎل ﺑﺮﻧﺎﻣﻪ را ﻃﻮري ﺗﻐﻴﻴﺮ دﻫﻴﺪ ﻛﻪ ﺑﻌﺪ از ﻛﻠﻴﻚ ﻛﺮدن روي MoreOptionاﻳﻦ ﻛﺎدر ﻋﻼﻣﺖ دﻳﺪه ﻧﺸﻮد و ﮔﺰﻳﻨﻪﻫﺎي زﻳﺮﻳﻦ آن در زﻳﺮ Match Caseﻗﺮار ﺑﮕﻴﺮﻧﺪ )ﺑﺎ ﻓﺎﺻﻠﻪﻫﺎي ﻳﻜﺴﺎن(. ﻧﻜﺘﻪ: ﺻﻔﺤﻪ٦٨ :
در ﻣﺜﺎل ﺑﺎﻻ و در ﻧﺎمﮔﺬاري ﻛﻨﺘﺮل ﻛﺎدر ﻋﻼﻣﺖ از ﭘﻴﺸﻮﻧﺪﻫﺎي ﺳﻪ ﺣﺮﻓﻲ ﻛﻪ ﭼﻜﻴﺪهاي از ﻧﺎم ﻛﻨﺘﺮل ﺧﻮاﻧﺎﻳﻲ ﺑﺮﻧﺎﻣﻪ را، اﻳﻦ ﭘﻴﺸﻮﻧﺪﻫﺎ ﻛﻪ از ﺳﻮي ﻣﺎﻳﻜﺮوﺳﺎﻓﺖ ﺗﻮﺻﻴﻪ ﺷﺪه اﺳﺖ،ﻣﻲﺑﺎﺷﺪ اﺳﺘﻔﺎده ﻛﺮدﻳﻢ ﺟﺪول زﻳﺮ اﻳﻦ ﭘﻴﺸﻮﻧﺪﻫﺎ را ﺑﺎ ﻣﺜﺎﻟﻲ ﺗﻮﺿﻴﺢ:.ﺑﺎﻻ ﻣﻲﺑﺮد و از ﺳﺮدرﮔﻤﻲ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ ﺟﻠﻮﮔﻴﺮي ﻣﻲﻛﻨﺪ :داده اﺳﺖ ﭘﻴﺸﻮﻧﺪ
ﻧﺎم ﻛﻨﺘﺮل
ﻣﺜﺎل
pic lbl txt frm cmd chk opt cbo lst hsb vsb tmr drv dir fil shp lin img
PictureBox Label TextBox Frame CommandButton CheckBox OptionButton ComboBox ListBox HScrollBar VScrollBar Timer DriveListBox DirListBox FileListBox Shape Line Image
picMonitor lblOutPut txtLastName frmEntry cmdRun chkBold optAgreement cboPersian lstStudents hsbColor vsbSmall tmrAlarm drvTarget dirSource filSource shpCircle linSeparator imgEEPROM
:ﺑﺮﺧﻲ دﻳﮕﺮ از ﭘﻴﺸﻮﻧﺪﻫﺎي ﻣﻌﻤﻮل ﭘﻴﺸﻮﻧﺪ
ﻧﺎم ﻛﻨﺘﺮل
ﻣﺜﺎل
tlb tre
Toolbar Tree view
tbrStandard treCodeHead
٦٩ :ﺻﻔﺤﻪ
sta rtf prg mnu ils dlg
Status bar Rich text box Progress bar Menu Image list Common dialog
staDateTime rtfReport prgLoadFile mnuFile ilsIcons dlgSave
-------------- Option Button ﻛﻨﺘﺮل ﺑﺮاي اﻧﺘﺨﺎب ﻳﻚ ﮔﺰﻳﻨﻪ از ﻣﻴﺎن ﭼﻨﺪOption Button ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﮔﻔﺘﻪ ﺷﺪ از دﻛﻤﻪي اﻧﺘﺨﺎب ﻳﺎ ﺑﻴﺶ از ﻳﻜﻲ از دﻛﻤﻪﻫﺎ اﻧﺘﺨﺎب، وﻳﮋوال ﺑﻴﺴﻴﻚ اﺟﺎزه ﻧﻤﻲدﻫﺪ ﻛﻪ در ﻫﺮ ﻟﺤﻈﻪ.ﮔﺰﻳﻨﻪ اﺳﺘﻔﺎده ﻣﻲﺷﻮد .ﺷﻮد
:ﻧﻜﺘﻪ ، زﻳﺮا ﻓﻌﺎل ﻛﺮدن آن ﻣﻤﻜﻦ اﺳﺖ،ﻫﺮﮔﺰ ﻳﻚ دﻛﻤﻪي اﻧﺘﺨﺎب را ﺑﻪ ﺗﻨﻬﺎﻳﻲ روي ﻳﻚ ﻓﺮم ﻗﺮار ﻧﺪﻫﻴﺪ دﻛﻤﻪﻫﺎي اﻧﺘﺨﺎب ﻓﻘﻂ وﻗﺘﻲ ﻏﻴﺮﻓﻌﺎل.وﻟﻲ دﻳﮕﺮ اﻣﻜﺎن ﻏﻴﺮﻓﻌﺎل ﻛﺮدن آن وﺟﻮد ﻧﺨﻮاﻫﺪ داﺷﺖ .ﻣﻲﺷﻮﻧﺪ ﻛﻪ ﻛﺎرﺑﺮ روي دﻛﻤﻪي دﻳﮕﺮي ﻛﻠﻴﻚ ﻛﻨﺪ
:ﻣﺜﺎل ﺗﻌﻴﻴﻦ رﻧﮓ ﺑﺮﭼﺴﺐ Private Sub optR_Click() If optR.Value = True Then Label1.ForeColor = vbRed End Sub Private Sub optB_Click() If optB.Value = True Then Label1.ForeColor = vbBlue End Sub Private Sub optG_Click() If optG.Value = True Then Label1.ForeColor = vbGreen End Sub
٧٠ :ﺻﻔﺤﻪ
--------------ﻛﻨﺘﺮل Frame در ﻣﺜﺎل ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻛﺮدﻳﺪ ﻛﻪ در ﻫﺮ ﻟﺤﻈﻪ ﻓﻘﻂ ﻳﻜﻲ از دﻛﻤﻪﻫﺎي اﻧﺘﺨﺎب را ﻣﻲﺗﻮان اﻧﺘﺨﺎب )ﻓﻌﺎل( ﻛﺮد؛ ﺣﺘﻲ اﮔﺮ ﺗﻌﺪاد دﻛﻤﻪﻫﺎي اﻧﺘﺨﺎب ﻣﻮﺟﻮد در ﻳﻚ ﻓﺮم ﺑﻴﺶ از 100ﺗﺎ ﺑﺎﺷﺪ ﺑﺎز ﻓﻘﻂ ﻳﻜﻲ از آﻧﻬﺎ را ﻣﻲﺗﻮان اﻧﺘﺨﺎب ﻧﻤﻮد ،وﻟﻲ از ﻧﻈﺮ ﺗﻜﻨﻴﻜﻲ ﻣﻲﺗﻮان در ﻳﻚ ﻟﺤﻈﻪ ،روي ﻳﻚ ﻓﺮم ﭼﻨﺪﻳﻦ دﻛﻤﻪي اﻧﺘﺨﺎب ﻓﻌﺎل داﺷﺖ .اﻳﻦ ﻛﺎر ﺑﺎ اﺳﺘﻔﺎده از ﻛﻨﺘﺮل ﻓﺮﻳﻢ اﻣﻜﺎنﭘﺬﻳﺮ اﺳﺖ .ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﻓﺼﻞ اول ﮔﻔﺘﻪ ﺷﺪ وﻇﻴﻔﻪي اﻳﻦ ﻛﻨﺘﺮل دﺳﺘﻪﺑﻨﺪي ﻇﺎﻫﺮي و ﻣﻨﻄﻘﻲ ﻛﻨﺘﺮلﻫﺎي دﻳﮕﺮ اﺳﺖ .ﻓﺮﻳﻢ ﻛﻪ ﺑﻪ آن ﻇﺮف ﻳﺎ Containerﻫﻢ ﻣﻲﮔﻮﻳﻨﺪ ،ﻣﻜﺎﻧﻲ ﺑﺮاي ﻗﺮار ﮔﺮﻓﺘﻦ ﻛﻨﺘﺮلﻫﺎي دﻳﮕﺮ اﺳﺖ. ﻧﻜﺘﻪ: ﺑﻪ ﻳﺎد داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ ﻓﺮﻳﻢ ﺑﺎﻳﺪ ﻗﺒﻞ از دﻛﻤﻪﻫﺎي اﻧﺘﺨﺎب روي ﻓﺮم ﻗﺮار داده ﺷﻮد.
ﻣﺜﺎلﻫﺎ: ﺗﻌﻴﻴﻦ رﻧﮓزﻣﻴﻨﻪ و رﻧﮓ ﻗﻠﻢ ﻓﺮﻣﻲ ﺑﻪ ﺷﻜﻞ زﻳﺮ ﻃﺮاﺣﻲ ﻛﻨﻴﺪ!
ﺣﺎل ﺑﺮاي آﻧﻜﻪ وﻳﮋوال ﺑﻴﺴﻴﻚ ﺑﺘﻮاﻧﺪ ﻣﺘﻮﺟﻪ ﺷﻮد ﻛﻪ ﻳﻚ دﻛﻤﻪي اﻧﺘﺨﺎب ﺑﺎﻳﺪ داﺧﻞ ﻓﺮﻳﻢ ﻗﺮار ﮔﻴﺮد )ﻧﻪ روي ﻓﺮم( ﺑﺎﻳﺴﺘﻲ آن را روي ﻓﺮﻳﻢ رﺳﻢ ﻛﻨﻴﺪ .ﺑﺮاي اﻳﻦ ﻛﺎر روي OptionButtonدر ﺟﻌﺒﻪاﺑﺰار ﺻﻔﺤﻪ٧١ :
راOptionButton ﻳﺎ اﺑﺘﺪا، آن را ﺑﻪ اﻧﺪازهي ﻣﻮرد ﻧﻈﺮ رﺳﻢ ﻛﻨﻴﺪ،ﻛﻠﻴﻚ ﻛﺮده و ﺳﭙﺲ روي ﻓﺮﻳﻢ : آن را درون ﻓﺮﻳﻢ ﻗﺮار دﻫﻴﺪPaste وCut روي ﻓﺮم ﻗﺮار دﻫﻴﺪ و ﺳﭙﺲ ﺑﺎ اﻧﺠﺎم Private Sub CmdExit_Click() Unload Me End Sub
Private Sub Form_Load() Option1.Value = False Option2.Value = False Option3.Value = False Option4.Value = False Option5.Value = False Option6.Value = False End Sub Private Sub Option1_Click() If Option1.Value = True Then Label1.BackColor = vbBlue End Sub Private Sub Option2_Click() If Option2.Value = True Then Label1.BackColor = vbYellow End Sub Private Sub Option3_Click() If Option3.Value = True Then Label1.BackColor = vbWhite End Sub Private Sub Option4_Click() If Option4.Value = True Then Label1.ForeColor = vbRed End Sub Private Sub Option5_Click() If Option5.Value = True Then Label1.ForeColor = vbGreen End Sub ٧٢ :ﺻﻔﺤﻪ
Private Sub Option6_Click() If Option6.Value = True Then Label1.ForeColor = vbCyan End Sub
---------------
ﭘﺎﻳﺎن ٧٣ :ﺻﻔﺤﻪ