LabVIEW دروس ﺗﻌﻠﻴﻢ
اﻟﺪرس اﻟﺴﺎدس Arrays and Clusters
اﻟﻔﻬﺮس اﻟﻔﻬﺮس i......................................................................................................... هﺪف اﻟﺪرس iii .................................................................................................. ﻣﻘﺪﻣﺔ iv .......................................................................................................... اﻟﻤﺼﻔﻮﻓﺎت )1 ..................................................................................... (Arrays ﻣﺎهﻰ اﻟﻤﺼﻔﻮﻓﺔ ) (Array؟ 1 ............................................................................. اﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ ﻣﻦ Controlsاو 3 ...................................................... Indicators اﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ ﻣﻦ Constantsﻓﻰ 9 ........................................... Block Diagram ﺣﺬف ﺟﻤﻴﻊ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ 10 ......................................................................... اﺿﺎﻓﺔ او ﺣﺬف ﻋﻨﺼﺮ ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ 11 ................................................................. اﻇﻬﺎر ) Scrollbarﺷﺮﻳﻂ اﻧﺰﻻق( ﻟﻠﻤﺼﻔﻮﻓﺔ 13 ....................................................... اﺳﺘﺨﺪام ﺧﺎﺻﻴﺔ 14 .................................................................. Auto-Indexing اﺳﺘﺨﺪام ﺧﺎﺻﻴﺔ Auto Indexingﻟﺘﺤﺪﻳﺪ ﻋﺪد ﻣﺮات ﺗﻜﺮار ﺗﻨﻔﻴﺬ 17 .............. For Loop اﻟﻤﺼﻔﻮﻓﺎت ذات ﺑﻌﺪﻳﻦ 19 ................................................................................. آﻴﻔﻴﺔ ﺗﻜﻮن ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪﻳﻦ 20 .................................................................... آﻴﻔﻴﺔ ﺗﻜﻮﻳﻦ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪﻳﻦ ﺑﺎﺳﺘﺨﺪام 22 ......................................... For Loop اﻟﺪول اﻟﺨﺎﺻﺔ ﺑﺎﻟﻤﺼﻔﻮﻓﺎت 24 ............................................................................ داﻟﺔ 25 ............................................................................ Initialize Array داﻟﺔ 27 ................................................................................ Array Size داﻟﺔ 28 ................................................................................. Build Array داﻟﺔ 31 .............................................................................. Array Subset داﻟﺔ 32 ................................................................................ Index Array داﻟﺔ 34 ....................................................................... Delete from Array 35 ....................................................................................... Polymorphism
i
37 ............................................................. Compound Arithmetic Function 43 ................................................................................................. Clusters 44 .................................... Cluster Indicators وCluster Controls آﻴﻔﻴﺔ اﻧﺸﺎء 46 ....................................................Block Diagram ﺛﺎﺑﺖ داﺧﻞCluster اﻧﺸﺎء 47 ...................................................................... Cluster ﺗﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ داﺧﻞ 49 ........................................... SubVI ﻓﻰ ﺗﻤﺮﻳﺮ اﻟﺒﻴﺎﻧﺎت ﻣﻦ و اﻟﻰCluster اﺳﺘﺨﺪام 49 ..................................................................... Clusters اهﻢ اﻟﺪوال اﻟﺨﺎﺻﺔ ﺑـ 50 ........................................................................................Bundle داﻟﺔ 53 ................................................................................... Unbundle داﻟﺔ 54 ........................................................................ Bundle By Name داﻟﺔ 55 .................................................................... Unbundle by Name داﻟﺔ 56 ................................................................ Clusters اﻟﺘﺤﻮﻳﻞ ﺑﻴﻦ اﻟﻤﺼﻔﻮﻓﺎت و 57 .......................................................................... Cluster to Array داﻟﺔ 58 .......................................................................... Array to Cluster داﻟﺔ 60 .................................................Clusters اﺳﺘﺨﺪام دوال اﻟﻤﻘﺎرﻧﺔ ﻣﻊ اﻟﻤﺼﻔﻮﻓﺎت و 64 ........................................................ Error-Handling ودوالError Clusters 66 ......................................................... و اﻟﺪوال ﻣﻊ اﻻﺧﻄﺎءSubVIs آﻴﻒ ﺗﺘﻔﺎﻋﻞ 66 .......................................................................... Error Case Structure 68 ............................................................................... Error Clusters دﻣﺞ 69 .................................................................. SubVI داﺧﻞError آﻴﻔﻴﺔ ﺗﻜﻮﻳﻦ 72 ..................................................................... آﻴﻔﻴﺔ اﻇﻬﺎر رﺳﺎﻟﺔ ﺧﻄﺄ ﻟﻠﻤﺴﺘﺨﺪم 73 ................................................................................ Explain Error ﻧﺎﻓﺬة 74 ....................................................................... Loops اﺧﺘﺒﺎر ﺣﺪوث ﺧﻄﺄ ﻓﻰ
ii
هﺪف اﻟﺪرس • اﻟﺘﻌﺮف ﻋﻠﻰ اﻟﻤﺼﻔﻮﻓﺎت واﻟﻌﻤﻠﻴﺎت اﻟﺨﺎﺻﺔ ﺑﻬﺎ . • اﻟﺘﻌﺮف ﻋﻠﻰ Clustersواﻟﻌﻤﻠﻴﺎت اﻟﺨﺎﺻﺔ ﺑﻬﺎ . • اﻟﺘﻌﺮف ﻋﻠﻰ ﻣﻌﻨﻰ .Polymorphism • اﻟﺘﻌﺮف ﻋﻠﻰ .Compound Arithmetic Function • اﻟﺘﻌﺮف ﻋﻠﻰ آﻴﻔﻴﺔ ﻣﻌﺎﻟﺠﺔ اﻻﺧﻄﺎء اﻟﺘﻰ ﺗﺤﺪث اﺛﻨﺎء ﺗﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ .
iii
ﻣﻘﺪﻣﺔ ﻓﻰ هﺬا اﻟﺪرس ﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻰ ﻧﻮﻋﻴﻦ ﻣﺮآﺒﻴﻦ ﻣﻦ اﻧﻮاع اﻟﺒﻴﺎﻧﺎت ) ( Data Typeوهﻤﺎ اﻟﻤﺼﻔﻮﻓﺎت ) (Arraysو.Clusters ووﺟﻮد هﺬان اﻟﻨﻮﻋﺎن ﻳﺴﻬﻞ ﺗﺨﺰﻳﻦ اﻟﺒﻴﺎﻧﺎت واﻟﺘﻌﺎﻣﻞ ﻣﻌﻬﺎ. وﺳﻮف ﻧﺘﻌﺮف ﻋﻠﻰ اﺳﺘﺨﺪاﻣﺎت ﻋﺪﻳﺪة ﻟﻬﻤﺎ واﻳﻀﺎ اﻟﺪوال اﻟﺨﺎﺻﺔ ﺑﻬﻤﺎ ﻓﻰ ﺑﻴﺌﺔ .LabVIEW واﺧﻴﺮا ﺳﻮف ﻧﺘﻌﺮف آﻴﻔﻴﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻻﺧﻄﺎء اﻟﺘﻰ ﺗﺤﺪث اﺛﻨﺎء ﺗﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ وﺑﻌﺾ اﻟﻤﻬﺎرات اﻟﻤﻬﻤﺔ ﻓﻰ اﻟﺒﺮﻣﺠﺔ.
iv
اﻟﻤﺼﻔﻮﻓﺎت )(Arrays ﻣﺎهﻰ اﻟﻤﺼﻔﻮﻓﺔ ) (Array؟ اﻟﻤﺼﻔﻮﻓﺔ هﻰ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ ﻟﻬﺎ ﻧﻔﺲ ﻧﻮع اﻟﺒﻴﺎﻧﺎت ).(Data Type ﻓﻠﻘﺪ ﺗﻌﺎﻣﻠﻨﺎ ﻣﻦ ﻗﺒﻞ ﻣﻊ ﻋﻨﺎﺻﺮ ﺗﺄﺧﺬ ﻗﻴﻤﺔ وﺣﻴﺪة ) (Scalar Valueﻣﺜﻞ Indicatorsو . Controls ﻓﻤﺜﻼ Indicatorاﻟﺨﺎص ﺑﺪرﺟﺔ اﻟﺤﺮارة ﻟﻪ ﻗﻴﻤﺔ وﺣﻴﺪة ﻓﻰ اى وﻗﺖ ﻓﻨﻘﻮل ﻣﺜﻼ ان درﺟﺔ اﻟﺤﺮارة ﺗﺴﺎوى .35 اﻣﺎ اذا اردﻧﺎ ان ﻧﻤﺜﻞ درﺟﺎت اﻟﺤﺮارة ﺧﻼل اﻟﻴﻮم ﻓﻠﻦ ﻧﺴﺘﻄﻴﻊ ان ﻧﻀﻌﻬﺎ ﻓﻰ Indicatorاو Controlوﻟﻜﻦ ﻧﻀﻌﻬﺎ ﻓﻰ ﻣﺼﻔﻮﻓﺔ ) ( Arrayو ﻧﺼﻔﻬﺎ ﺑﺎﻧﻬﺎ ﻣﺼﻔﻮﻓﺔ درﺟﺎت اﻟﺤﺮارة. وآﻤﺎ ﻗﻠﻨﺎ ﺗﺤﺘﻮى اﻟﻤﺼﻔﻮﻓﺔ ﻋﻠﻰ ﻋﻨﺎﺻﺮ وﻳﻤﻜﻦ ان ﺗﻜﻮن هﺬة اﻟﻌﻨﺎﺻﺮ ﻣﻦ اى ﻧﻮع ﻣﺜﻞ ) Controlاو Indicatorاو ( ... Constantﻣﺎﻋﺪا Arrayاو Chartاو . Graph واﻟﻤﺼﻔﻮﻓﺔ ﻗﺪ ﺗﻜﻮن ذات ﺑﻌﺪ واﺣﺪ او ﺑﻌﺪﻳﻦ او ﻋﺪة اﺑﻌﺎد. وﻋﺪد اﻟﻌﻨﺎﺻﺮ ﻓﻰ آﻞ ﺑﻌﺪ ﻳﻤﻜﻦ ان ﻳﺼﻞ 231-1ﻋﻨﺼﺮ . ﻣﺜﺎل ﻳﻮﺿﺢ ﻣﻔﻬﻮم اﻻﺑﻌﺎد: اﻟﻤﺼﻔﻮﻓﺔ ذات اﻟﺒﻌﺪ اﻟﻮاﺣﺪ هﻰ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ ﻓﻰ ﺻﻒ وﺣﻴﺪ او ﻋﻤﻮد وﺣﻴﺪ . ﻓﻤﺜﻼ ﻟﻮ ان ﻃﻼﺑﺎ ﻳﻤﺘﺤﻨﻮن ﻓﻰ اآﺜﺮ ﻣﻦ ﻣﺎدة آﻞ ﺷﻬﺮ. ﻓﺎن درﺟﺎت اﻟﻄﻼب ﻓﻰ ﻣﺎدة واﺣﺪة ﻓﻰ ﺷﻬﺮ ﻣﺎ ﺗﻜﻮن ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪ واﺣﺪ.
1
اﻟﻤﺼﻔﻮﻓﺔ دات اﻟﺒﻌﺪﻳﻦ ﻣﺜﻞ اﻟﺠﺪول ﻟﻬﺎ ﻋﺪة ﺻﻔﻮف واﻋﻤﺪة. ﻣﺜﻞ درﺟﺎت اﻟﻄﻼب ﻓﻰ اآﺜﺮ ﻣﻦ ﻣﺎدة ﻓﻰ ﺷﻬﺮ واﺣﺪ.
اﻟﻤﺼﻔﻮﻓﺔ ذات ﺛﻼث اﺑﻌﺎد ﻣﺜﻞ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺠﺪاول. ﻣﺜﻞ درﺟﺎت اﻟﻄﻼب ﻓﻰ اآﺜﺮ ﻣﻦ ﻣﺎدة ﻓﻰ اآﺜﺮ ﻣﻦ ﺷﻬﺮ.
وﻟﻠﻮﺻﻮل اﻟﻰ اى ﻋﻨﺼﺮ ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ ﻧﺴﺘﺨﺪم ) Indexدﻟﻴﻞ( اﻟﻤﺼﻔﻮﻓﺔ.
وهﺬا Indexﻳﺎﺧﺬ اﻟﻘﻴﻢ ﻣﻦ ﺻﻔﺮ اﻟﻰ N-1ﺣﻴﺚ Nهﻮ ﻋﺪد اﻟﻌﻨﺎﺻﺮ ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ. ﻣﺜﺎل :ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪ واﺣﺪ ﺑﻬﺎ 10ﻋﻨﺎﺻﺮ 2
وﻟﻠﻤﺼﻔﻮﻓﺎت اهﻤﻴﺔ آﺒﺮى ﻓﻤﺜﻼ اى اﺷﺎرة ﻟﻜﻰ ﻳﺘﻢ رﺳﻤﻬﺎ او ﺗﺨﺰﻳﻨﻬﺎ ﻓﻰ ﻣﻠﻒ ﺗﻤﺜﻞ ﻋﻠﻰ هﻴﺌﺔ ﻣﺼﻔﻮﻓﺔ ،آﻞ ﻋﻨﺼﺮ ﺑﻬﺎ ﻳﻤﺜﻞ ﻧﻘﻄﺔ ﻓﻰ هﺬة اﻻﺷﺎرة ،اﻳﻀﺎ ﻟﻠﻤﺼﻔﻮﻓﺎت اهﻤﻴﺔ ﻓﻰ ﺗﺨﺰﻳﻦ اﻟﻘﻴﻢ اﻟﺘﻰ ﺗﺨﺮج ﻣﻦ ،Loopﻓﻜﻞ ﺗﻨﻔﻴﺬة ﻟـ Loopﺗﺨﺮج ﻋﻨﺼﺮ ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ آﻤﺎ ﺳﻨﻮﺿﺢ. اﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ ﻣﻦ Controlsاو : Indicators ﻳﺘﻢ اﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ ﻣﻦ Controlsاو Indicatorsﻓﻰ Front Panelﻓﻰ ﺧﻄﻮﺗﻴﻦ : -1ﻳﺘﻢ ادارح اﻃﺎر اﻟﻤﺼﻔﻮﻓﺔ وهﻮ اﻟﺬى ﺳﻴﺤﺘﻮى ﻋﻠﻰ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ وﻳﺘﻢ ادراﺟﻪ ﻣﻦ Controls Palette>>Modern>>Array, Matrix & Cluster
-2ﻳﺘﻢ ادراج Controlاو Indicatorاﻟﺬى ﻧﺮﻳﺪﻩ داﺧﻞ اﻃﺎر اﻟﻤﺼﻔﻮﻓﺔ ﻟﺘﻜﻮﻳﻦ ﻣﺼﻔﻮﻓﺔ ﻣﻨﻪ.
3
ﻻﺣﻆ ان ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ ﻳﻤﻜﻦ ان ﻳﻜﻮﻧﻮا Controlsاو Indicatorsوﻟﻴﺲ ﺧﻠﻴﻂ ﻣﻨﻬﻢ.
4
ﻋﻨﺪ ادراج اﻃﺎر اﻟﻤﺼﻔﻮﻓﺔ وﻗﺒﻞ وﺿﻊ اى Controlاو Indicatorداﺧﻠﻪ ﻳﻈﻬﺮ ﻟﻪ Terminalﻓﻰ Block Diagramوﻳﻜﻮن ﻟﻮن هﺬا Terminalاﺳﻮد وﻳﻮﺟﺪ ﺑﻪ ﻗﻮﺳﻴﻦ ﻓﺎرﻏﻴﻦ ﺣﺘﻰ ﻳﺘﻢ ﺗﺤﺪﻳﺪ اﻟـ Data typeاﻟﺨﺎص ﺑﻪ وﻳﺘﻢ ذﻟﻚ ﺑﻮﺿﻊ Controlاو Indicatorاو ﺛﺎﺑﺖ داﺧﻞ اﻃﺎر اﻟﻤﺼﻔﻮﻓﺔ.
وﻋﻨﺪ وﺿﻊ Controlاو Indicatorاو ﺛﺎﺑﺖ داﺧﻞ اﻃﺎر اﻟﻤﺼﻔﻮﻓﺔ ﻳﺘﻐﻴﺮ ﻟﻮن Terminalاﻟﻰ ﻟﻮن Data Typeاﻟﺨﺎص ﺑﺎﻟﻌﻨﺼﺮ اﻟﺬى وﺿﻊ ﻓﻴﻬﺎ .آﻤﺎ ﻳﻮﺿﻊ ﺑﻴﻦ اﻟﻘﻮﺳﻴﻦ ﻓﻰ Terminalرﻣﺰ هﺬا . Data Type
ﺗﺬآﺮ ان Terminalﻳﻤﻜﻦ ان ﻳﻜﻮن ﻋﻠﻰ ﺷﻜﻞ اﻳﻘﻮﻧﺔ او ﻳﻜﻮن ﻋﻠﻰ اﻟﺸﻜﻞ اﻟﻘﺪﻳﻢ وﻟﻠﺘﻐﻴﻴﺮ ﺑﻴﻨﻬﻤﺎ ﻧﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻟﻠﻤﺎوس وﻧﺨﺘﺎر او ﻧﻠﻐﻰ اﺧﺘﻴﺎر View as iconوهﺬا ﺗﻐﻴﻴﺮ ﻓﻰ اﻟﺸﻜﻞ ﻓﻘﻂ وﻟﻴﺲ ﻟﻪ اى ﺗﺄﺛﻴﺮ اﺧﺮ. 5
ﻳﻤﻜﻦ ﺗﻐﻴﻴﺮ اﺑﻌﺎد اﻟﻌﻨﺼﺮ داﺧﻞ اﻟﻤﺼﻔﻮﻓﺔ وذﻟﻚ ﺑﺘﺤﺮﻳﻚ اﻻداة اﻟﻤﺼﻔﻮﻓﺔ ﺣﺘﻰ ﻳﻈﻬﺮ اﻟﻤﺆﺷﺮ ﻋﻠﻰ هﻴﺌﺔ ﻣﺆﺷﺮﺑﺴﻬﻤﻴﻦ او
Positioningﻋﻠﻰ ﺣﺎﻓﺔ اﻟﻌﻨﺼﺮ داﺧﻞ ﻓﻨﻀﻐﻂ وﻧﺴﺤﺐ اﻟﻰ اﻻﺑﻌﺎد اﻟﺘﻰ ﻧﺮﻳﺪهﺎ .
وﻳﻜﻦ ﺗﻐﻴﻴﺮ ﻋﺪد اﻟﻌﻨﺎﺻﺮ اﻟﺘﻰ ﺗﻈﻬﺮ داﺧﻞ اﻃﺎر اﻟﻤﺼﻔﻮﻓﺔ وذﻟﻚ ﺑﺘﻐﻴﻴﺮ اﺑﻌﺎد اﻃﺎر اﻟﻤﺼﻔﻮﻓﺔ وذﻟﻚ ﺑﺘﺤﺮﻳﻚ اﻻداة
Positioningﻋﻠﻰ اﻃﺎر اﻟﻤﺼﻔﻮﻓﺔ ﺣﺘﻰ ﻳﻜﻮن اﻟﻤﺆﺷﺮ ﻋﻠﻰ هﻴﺌﺔ ﻣﺆﺷﺮ ﺑﺴﻬﻤﻴﻦ او
وﻧﺴﺤﺐ اﻟﻰ اﻻﺑﻌﺎد اﻟﺘﻰ ﻧﺮﻳﺪهﺎ. 6
ﻓﻨﻀﻐﻂ
ﻳﻈﻬﺮ اﻟﻌﻨﺼﺮ داﺧﻞ اﻟﻤﺼﻔﻮﻓﺔ ﻣﻌﺘﻤﺎ اذا ﻟﻢ ﺗﺤﺪد ﻟﻪ ﻗﻴﻤﺔ وﻳﺘﻢ ﺗﺤﺪﻳﺪ ﻗﻴﻤﺔ اﻟﻌﻨﺎﺻﺮ ﺑﻜﺘﺎﺑﺔ اﻟﻘﻴﻤﺔ ﻣﺒﺎﺷﺮة ﻓﻰ اﻟﻌﻨﺼﺮ او اﺳﺘﺨﺪام اﻻﺳﻬﻢ ﻓﻰ ﺣﺎﻟﺔ اذا آﺎن اﻟﻌﻨﺼﺮ Numeric Controlاو ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ اﻟﻌﻨﺼﺮ اذا آﺎن Booleanاو ﺗﺤﺪد ﻗﻴﻢ اﻟﻤﺼﻔﻮﻓﺔ ﻣﻦ داﺧﻞ اﻟﺒﺮﻧﺎﻣﺞ اﺛﻨﺎء اﻟﺘﻨﻔﻴﺬ.
7
و ﺗﻌﺘﺒﺮ اﻟﻌﻨﺎﺻﺮ اﻟﺘﻰ داﺧﻞ اﻟﻤﺼﻔﻮﻓﺔ هﻰ اﻟﻌﻨﺎﺻﺮ اﻟﺘﻰ ﺗﻢ ﺗﺤﺪﻳﺪ ﻗﻴﻢ ﻟﻬﺎ )ﻻﺣﻆ ان اﻟﺼﻔﺮ ﻗﻴﻤﺔ(.
ﺗﺪل ﻗﻴﻤﺔ ) Indexاﻟﺪﻟﻴﻞ( اﻟﺨﺎص ﺑﺎﻟﻤﺼﻔﻮﻓﺔ ﻋﻠﻰ رﻗﻢ اول ﻋﻨﺼﺮ ﻳﻈﻬﺮ ﻓﻰ اﻃﺎر اﻟﻌﻨﺼﺮ . واذا ﻗﻤﺖ ﺑﺘﻐﻴﻴﺮ ﻗﻴﻤﺔ اﻟﺪﻟﻴﻞ ﻳﻈﻬﺮ ﻟﻚ اﻟﻌﻨﺼﺮ اﻟﺬى رﻗﻤﺔ ﻳﺴﺎوى ﻗﻴﻤﺔ .Index
8
اﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ ﻣﻦ Constantsﻓﻰ : Block Diagram ﺑﻨﻔﺲ اﻟﻄﺮﻳﻘﺔ ﻳﺘﻢ اﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ ﻣﻦ Constantsﻓﻰ Block Diagramﻋﻠﻰ ﺧﻄﻮﺗﻴﻦ: -1ﻧﺪرج اﻃﺎر اﻟﻤﺼﻔﻮﻓﺔ ) (Array Constantﻣﻦ Function Palette>>Programming >>Array
-2ﻧﺪرج ﺛﺎﺑﺖ ) (Constantداﺧﻞ اﻃﺎر اﻟﻤﺼﻔﻮﻓﺔ هﺬا اﻟﺜﺎﺑﺖ ﻳﻤﻜﻦ ان ﻳﻜﻮن ﻣﻦ اﻟﻨﻮع Numericاو Stringاو .Boolean
9
ﺣﺬف ﺟﻤﻴﻊ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ : ﻳﻤﻜﻦ ﺣﺬف ﺟﻤﻴﻊ ﻗﻴﻢ اﻟﻌﻨﺎﺻﺮ اﻟﻤﻮﺟﻮدة ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ وﺟﻌﻠﻬﺎ ﻓﺎرﻏﺔ وذﻟﻚ ﺑﺎﻟﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻟﻠﻤﺎوس ﻋﻠﻰ ) Indexاﻟﺪﻟﻴﻞ( – وﻟﻴﺲ ﻋﻠﻰ اﻟﻌﻨﺼﺮ -واﺧﺘﻴﺎر Data Operation >>Empty Array
10
اﺿﺎﻓﺔ او ﺣﺬف ﻋﻨﺼﺮ ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ : ﻳﻤﻜﻦ اﺿﺎﻓﺔ ﻋﻨﺼﺮ او ﺣﺬف ﻋﻨﺼﺮ ﻣﻦ ﻣﺼﻔﻮﻓﺔ ﺑﺎﻟﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻟﻠﻤﺎوس ﻋﻠﻰ اﻟﻌﻨﺼﺮ داﺧﻞ اﻟﻤﺼﻔﻮﻓﺔ و اﺧﺘﻴﺎر Data Operation >>Insert Element Before ﻻﺿﺎﻓﺔ ﻋﻨﺼﺮ او Data Operation >>Delete Element ﻟﺤﺬف ﻋﻨﺼﺮ
11
12
اﻇﻬﺎر ) Scrollbarﺷﺮﻳﻂ اﻧﺰﻻق( ﻟﻠﻤﺼﻔﻮﻓﺔ : ﻋﻠﻤﻨﺎ اﻧﻪ ﺑﺘﻐﻴﻴﺮ ﻗﻤﻴﺔ Indexﺗﺘﻐﻴﺮ اﻟﻌﻨﺎﺻﺮ اﻟﺘﻰ ﺗﻈﻬﺮ ﻣﻦ ﺧﻼل اﻃﺎر اﻟﻤﺼﻔﻮﻓﺔ ﻓﺘﺴﺘﻄﻴﻊ ﻣﺸﺎهﺪﺗﻬﺎ .وهﻨﺎك ﻃﺮﻳﻘﺔ اﺧﺮى ﻟﺘﺸﺎهﺪ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ وهﻰ اﻇﻬﺎر Scrollbarﻟﻠﻤﺼﻔﻮﻓﺔ وهﺬا Scrollbarﻗﺪ ﻳﻜﻮن اﻓﻘﻴﺎ ) (Horizontalاو رأﺳﻴﺎ ) (Verticalوذﻟﻚ ﺑﺎﻟﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻟﻠﻤﺎوس ﻋﻠﻰ Indexواﺧﺘﻴﺎر Visible Items>>Vertical Scrollbar او Visible Items>> Horizontal Scrollbar
13
اﺳﺘﺨﺪام ﺧﺎﺻﻴﺔ : Auto-Indexing ﺧﺎﺻﻴﺔ Auto-Indexingهﻰ ان While Loopاو For Loopﺗﻘﻮم ﺑﺘﺨﺰﻳﻦ ﻗﻴﻢ ﻋﻠﻰ اﻃﺎرهﺎ ﻓﻰ ﻣﺼﻔﻮﻓﺔ ﻓﻜﻞ ﻣﺮة ﺗﻨﻔﺬ ﻓﻴﻬﺎ Loopﻳﺘﻢ اﺿﺎﻓﺔ ﻗﻴﻤﺔ اﻟﻰ اﻟﻤﺼﻔﻮﻓﺔ وﺗﺨﺮج هﺬة اﻟﻤﺼﻔﻮﻓﺔ اﻟﻰ ﺧﺎرج Loopﺑﻌﺪ اﻧﺘﻬﺎء ﻋﻤﻞ Loopﻣﺒﺎﺷﺮة. واذا آﺎﻧﺖ هﺬة اﻟﺨﺎﺻﻴﺔ ﻏﻴﺮ ﻣﻔﻌﻠﺔ ﺗﺨﺮج اﺧﺮ ﻗﻴﻤﺔ ﻓﻘﻂ ﻣﻦ Loopﺑﻌﺪ اﻧﺘﻬﺎء ﻋﻤﻠﻬﺎ. وهﺬة اﻟﺨﺎﺻﻴﺔ ﻣﻔﻌﻠﺔ ﺗﻠﻘﺎﺋﻴﺎ ﻣﻊ For Loopوﻳﻤﻜﻦ ﺗﻌﻄﻴﻠﻬﺎ. وﻟﻜﻦ هﻰ ﻣﻌﻄﻠﺔ ﺗﻠﻘﺎﺋﻴﺎ ﻣﻊ While Loopوﻳﻤﻜﻦ ﺗﻔﻌﻠﻴﻠﻬﺎ. ﻣﺜﺎل : اﺳﺘﺨﺪام For Loopﻻﺧﺮاج ﻣﺼﻔﻮﻓﺔ ﺑﻬﺎ 5ﻋﻨﺎﺻﺮ آﻞ ﻋﻨﺼﺮ ﺑﻪ رﻗﻢ ﻋﺸﻮاﺋﻰ
14
ﻳﻤﻜﻦ اﻟﻐﺎء ﺗﻔﻌﻴﻞ Auto Indexingﺑﺎﻟﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻋﻠﻰ Tunnelواﺧﺘﻴﺎر . Disable Indexing وﻓﻰ هﺬة اﻟﺤﺎﻟﺔ ﺗﺨﺮج ﻓﻘﻂ اﺧﺮ ﻗﻴﻤﺔ ﻟﺪاﻟﺔ اﻟﺮﻗﻢ اﻟﻌﺸﻮاﺋﻰ وهﻰ ﻗﻴﻤﺔ وﺣﻴﺪة ) ( Scalarو ﻟﻴﺴﺖ ﻣﺼﻔﻮﻓﺔ.
15
ﻻﺣﻆ ان اﻟﺮاﺑﻂ اﺻﺒﺢ ﻣﻘﻄﻮﻋﺎ ﻻﻧﻪ ﻳﺼﻞ ﺑﻴﻦ ﻧﻮﻋﻴﻦ ﻣﺨﺘﻠﻔﻴﻦ )ﻗﻴﻤﺔ وﺣﻴﺪة وﻣﺼﻔﻮﻓﺔ( وﻟﻠﺘﻐﻠﺐ ﻋﻠﻰ هﺬا اﻟﺨﻄﺄ وﺟﻌﻞ اﻟﺮاﺑﻂ ﻏﻴﺮ ﻣﻘﻄﻮع ﻧﺠﻌﻞ اداة اﻻﻇﻬﺎر ﻋﺒﺎرة ﻋﻦ Numeric Indicatorﺑﺪﻻ ﻣﻦ ﻣﺼﻔﻮﻓﺔ.
ﺗﺴﺘﺨﺪم اﻳﻀﺎ ﺧﺎﺻﻴﺔ Auto Indexingﻓﻰ ﺣﺎﻟﺔ ادﺧﺎل ﻗﻴﻢ ﻋﻨﺎﺻﺮ ﻣﺼﻔﻮﻓﺔ اﻟﻰ For Loopو While .Loop ﻓﻰ ﺣﺎﻟﺔ وﺻﻞ ﻣﺼﻔﻮﻓﺔ اﻟﻰ دﺧﻞ For Loopﻣﺜﻼ ﻣﻊ ﺗﻔﻌﻴﻞ .Auto Indexingﻓﺴﻮف ﻳﺪﺧﻞ ﻗﻴﻤﺔ اﻟﻌﻨﺼﺮ اﻻول ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ اﻟﻰ داﺧﻞ Loopﻣﻊ اول ﺗﻨﻔﻴﺬة .ﺛﻢ ﻳﺪﺧﻞ ﻗﻴﻤﺔ اﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻰ ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ اﻟﻰ داﺧﻞ Loopﻣﻊ اﻟﺘﻨﻔﻴﺬة اﻟﺜﺎﻧﻴﺔ .وهﻜﺬا اى ان ﻓﻰ ﺣﺎﻟﺔ Auto Indexingﻻ ﺗﺪﺧﻞ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ آﻠﻬﺎ ﻣﺮة واﺣﺪة واﻧﻤﺎ ﻳﺪﺧﻞ ﻋﻨﺼﺮ ﻋﻨﺼﺮ ﻣﻊ آﻞ ﺗﻨﻔﻴﺬة.وﻳﺘﻢ اﻟﺘﻌﺎﻣﻞ ﻣﻊ هﺬة اﻟﻌﻨﺎﺻﺮ داﺧﻞ Loopآﺄﻧﻬﺎ ﻗﻴﻢ وﺣﻴﺪة.
16
اﻣﺎ ﻓﻰ ﺣﺎﻟﺔ ﺗﻌﻄﻴﻞ ﺧﺎﺻﻴﺔ Auto Indexingﻓﺴﻮف ﺗﺪﺧﻞ آﻞ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ آﻜﻞ ﻣﻊ اول ﺗﻨﻔﻴﺬة ﻓﻘﻂ ﻟﻴﺘﻢ اﻟﺘﻌﺎﻣﻞ ﻣﻌﻬﺎ آﻤﺼﻔﻮﻓﺔ داﺧﻞ .Loop
اﺳﺘﺨﺪام ﺧﺎﺻﻴﺔ Auto Indexingﻟﺘﺤﺪﻳﺪ ﻋﺪد ﻣﺮات ﺗﻜﺮار ﺗﻨﻔﻴﺬ : For Loop اذا ﺗﻢ ﺗﻮﺻﻴﻞ ﻣﺼﻔﻮﻓﺔ اﻟﻰ داﺧﻞ For Loopو ﺧﺎﺻﻴﺔ Auto Indexingﻣﻔﻌﻠﺔ ﻓﺴﻮف ﻳﻜﻮن ﻋﺪد ﻣﺮات ﺗﻜﺮار ﺗﻨﻔﻴﺬ For Loopﻳﺴﺎوى ﺳﻌﺔ هﺬة اﻟﻤﺼﻔﻮﻓﺔ )ﻋﺪد اﻟﻌﻨﺎﺻﺮ اﻟﻤﻮﺟﻮدة ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ( .وﻓﻰ هﺬة اﻟﺤﺎﻟﺔ ﻻداﻋﻰ ﻟﺘﻮﺻﻴﻞ اى ﻗﻴﻤﺔ ﻟـ
.Terminal
17
اذا ﺗﻢ ﺗﻮﺻﻴﻞ ﻗﻴﻤﺔ اﻟﻰ اﻟـ
Terminalواﻳﻀﺎ ﺗﻮﺻﻴﻞ ﻣﺼﻔﻮﻓﺔ اﻟﻰ دﺧﻞ For Loopﻣﻊ ﺗﻔﻌﻴﻞ ﺧﺎﺻﻴﺔ
Auto Indexingﻓﺴﻮف ﻳﺘﻢ ﺗﺤﺪﻳﺪ ﻋﺪد ﻣﺮات ﺗﻨﻔﻴﺬ For Loopﺑﺎﺻﻐﺮ اﻟﻘﻴﻤﻴﺘﻴﻦ )اﻟﻘﻴﻤﺔ اﻟﻤﻮﺻﻠﺔ ﻟـ وﺳﻌﺔ اﻟﻤﺼﻔﻮﻓﺔ(. ﻓﺎذا آﺎﻧﺖ ﺳﻌﺔ اﻟﻤﺼﻔﻮﻓﺔ اﺻﻐﺮ ﻣﻦ اﻟﻘﻴﻤﺔ اﻟﻤﻮﺻﻠﺔ ﻟـ
ﻓﺴﻮف ﻳﻜﻮن ﻋﺪد ﻣﺮات ﺗﻨﻔﻴﺬ For Loopﻳﺴﺎوى
ﺳﻌﺔ اﻟﻤﺼﻔﻮﻓﺔ. واذا آﺎﻧﺖ اﻟﻘﻴﻤﺔ اﻟﻤﻮﺻﻠﺔ ﻟـ اﻟﻘﻴﻤﺔ اﻟﻤﻮﺻﻠﺔ اﻟﻰ
اﺻﻐﺮ ﻣﻦ ﺳﻌﺔ اﻟﻤﺼﻔﻮﻓﺔ ﻓﺴﻮف ﻳﻜﻮن ﻋﺪد ﻣﺮات ﺗﻨﻔﻴﺬ For Loopﻳﺴﺎوى
.
ﻣﺜﺎل :
18
اﻟﻤﺼﻔﻮﻓﺎت ذات ﺑﻌﺪﻳﻦ : وهﻰ ﺗﻤﺎﺛﻞ اﻟﺠﺪول ﺣﻴﺚ ﺗﺨﺰن اﻟﻌﻨﺎﺻﺮ ﻋﻠﻰ هﻴﺌﺔ ﺻﻔﻮف واﻋﻤﺪة. وهﺬة اﻟﻤﺼﻔﻮﻓﺎت ﻳﺤﺪد ﻓﻴﻬﺎ اﻟﻌﻨﺼﺮ ﺑﻌﺪد ) Index 2دﻟﻴﻠﻴﻦ( . Indexﻟﺘﺤﺪﻳﺪ رﻗﻢ اﻟﻌﻤﻮد و Indexﻟﺘﺤﺪﻳﺪ رﻗﻢ اﻟﺼﻒ. وآﻞ ﻣﻦ Indexاﻟﻌﻤﻮد و Indexاﻟﺼﻒ ﻳﺒﺪأ ﺑﺎﻟﺮﻗﻢ ﺻﻔﺮ.
19
آﻴﻔﻴﺔ ﺗﻜﻮن ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪﻳﻦ : ﻧﻘﻮم ﺑﻌﻤﻞ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪ واﺣﺪ ﺛﻢ ﻧﻀﻐﻂ ﻋﻠﻰ Indexﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻟﻠﻤﺎوس وﻧﺨﺘﺎر Add Dimension
20
وﻳﻤﻜﻦ ﻋﺮض ﻋﺪد اآﺒﺮ ﻣﻦ اﻟﻌﻨﺎﺻﺮ ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ ﺑﺘﺤﺮﻳﻚ اﻻداة ﺣﺘﻰ ﺗﺘﺤﻮل اﻟﻰ اﻟﺴﻬﻢ ذو اﺗﺠﺎهﻴﻦ
او
Positioningﻋﻠﻰ اﻃﺎر اﻟﻤﺼﻔﻮﻓﺔ
ﻓﻨﻀﻐﻂ وﻧﺤﺮك اﻻﻃﺎر ﻓﻰ اﺣﺪ اﻻﺗﺠﺎهﺎت اﻟﺮأﺳﻴﺔ او اﻻﻓﻘﻴﺔ
واﻋﺎدة ﻋﻤﻞ ذﻟﻚ ﻓﻰ اﻻﺗﺠﺎﻩ اﻻﺧﺮ.
وﻧﻼﺣﻆ اﻧﻪ ﻋﻨﺪ ﺗﻜﻮﻳﻦ اﻟﻤﺼﻔﻮﻓﺔ ﺗﻜﻮن ﻓﺎرﻏﺔ وﻧﺴﻄﻴﻊ آﺘﺎﺑﺔ اﻟﻘﻴﻢ اﻟﺘﻰ ﻧﺮﻳﺪهﺎ ﻓﻴﻬﺎ ﻣﺒﺎﺷﺮة. وﻳﻤﻜﻦ ﺑﻨﻔﺲ اﻟﻄﺮﻳﻘﺔ ان ﻧﻘﻮم ﺑﺤﺬف ﺑﻌﺪ ﻣﻦ ﻣﺼﻔﻮﻓﺔ ﻟﻬﺎ اآﺜﺮ ﻣﻦ ﺑﻌﺪ .وذﻟﻚ ﺑﺎﻟﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻋﻠﻰ Indexاﻟﻤﺼﻔﻮﻓﺔ واﺧﺘﻴﺎر .Remove Dimension
21
آﻴﻔﻴﺔ ﺗﻜﻮﻳﻦ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪﻳﻦ ﺑﺎﺳﺘﺨﺪام : For Loop رأﻳﻨﺎ آﻴﻒ ﻳﺘﻢ اﺳﺘﺨﺪام For Loopﻟﻌﻤﻞ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪ واﺣﺪ.وﺑﺎﺳﺘﺨﺪام ﻋﺪد - For Loop 2ﺑﺤﻴﺖ ﺗﻜﻮن واﺣﺪة داﺧﻞ اﻻﺧﺮى -وﺗﻔﻌﻴﻞ ﺧﺎﺻﻴﺔ Auto Indexingﻳﻤﻜﻦ ﺗﻜﻮﻳﻦ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪﻳﻦ ﺑﻬﺎ ﻗﻴﻢ. و ﺗﻜﻮن For Loopاﻟﺪاﺧﻠﻴﺔ اﻟﺼﻔﻮف وﺗﻘﻮم For Loopاﻟﺨﺎرﺟﻴﺔ ﺑﺘﺨﺰﻳﻦ هﺬة اﻟﺼﻔﻮف ﻓﻮق ﺑﻌﻀﺎ ﻟﺘﻜﻮﻳﻦ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪﻳﻦ.
22
23
اﻟﺪول اﻟﺨﺎﺻﺔ ﺑﺎﻟﻤﺼﻔﻮﻓﺎت : ﺗﻮﺟﺪ دوال آﺜﻴﺮة ﻓﻰ LabVIEWﺧﺎﺻﺔ ﺑﺎﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﺼﻔﻮﻓﺎت. وﺗﻮﺟﺪ هﺬة اﻟﺪوال ﻓﻰ Function Palette>>Programming>>Array
24
ﺗﺬآﺮة :اﻟﺘﺮﻗﻴﻢ ﻓﻰ اﻟﻤﺼﻔﻮﻓﺎت ﻳﺒﺪأ ﻣﻦ اﻟﺼﻔﺮ ﻓﺎﻟﻌﻨﺼﺮ اﻻول ﺗﺮﻗﻴﻤﻪ (Index=0) 0واﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻰ ﺗﺮﻗﻴﻤﻪ (Index=1) 1وهﻜﺬا. داﻟﺔ :Initialize Array ﺗﻘﻮم ﺑﺈﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ ﺑﻬﺎ ﻋﺪد ﻣﻌﻴﻦ ﻣﻦ اﻟﻌﻨﺎﺻﺮ وﻗﻴﻢ هﺬة اﻟﻌﻨﺎﺻﺮ ﻣﺘﺴﺎوﻳﺔ. وﻣﺪاﺧﻞ هﺬة اﻟﺪاﻟﺔ : • اﻟﻘﻴﻤﺔ اﻟﺘﻰ ﺳﺘﺄﺧﺬهﺎ اﻟﻌﻨﺎﺻﺮ • ﻋﺪد اﻟﻌﻨﺎﺻﺮ ﻓﻰ آﻞ ﺑﻌﺪ وﺧﺮج هﺬة اﻟﺪاﻟﺔ ﻣﺼﻔﻮﻓﺔ ﺑﻬﺎ ﻋﺪد ﻣﻌﻴﻦ ﻣﻦ اﻟﻌﻨﺎﺻﺮ ﻣﺘﺴﺎوﻳﻴﻦ ﻓﻰ اﻟﻘﻴﻤﺔ وهﻰ اﻟﻘﻴﻤﺔ اﻟﺘﻰ ﺣﺪدﻧﺎهﺎ.
ﻣﻦ اﻟﺸﻜﻞ ﻓﻰ اﻻﻋﻠﻰ اﻟﺪاﻟﺔ اﺧﺮﺟﺖ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪ واﺣﺪ. وﻻﺧﺮاج ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪﻳﻦ او ﺛﻼﺛﺔ او اآﺜﺮ ﻧﻤﺪ اﻳﻘﻮن اﻟﺪاﻟﺔ ﻻﺳﻔﻞ ﻟﻠﻌﺪد اﻟﺬى ﻧﺮﻳﺪﻩ ﻣﻦ اﻻﺑﻌﺎد.
25
اﻣﺜﻠﺔ
26
داﻟﺔ : Array Size
ﺗﺨﺮج هﺬة اﻟﺪاﻟﺔ ﺳﻌﺔ اﻟﻤﺼﻔﻮﻓﺔ )ﻋﺪد اﻟﻌﻨﺎﺻﺮ( . ﻓﺎذا آﺎﻧﺖ اﻟﻤﺼﻔﻮﻓﺔ ذات ﺑﻌﺪ واﺣﺪ ﺗﺨﺮج اﻟﺪاﻟﺔ ﻋﺪد ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ. واذا آﺎﻧﺖ اﻟﻤﺼﻔﻮﻓﺔ ﻟﻬﺎ اآﺜﺮ ﻣﻦ ﺑﻌﺪ ﺗﺨﺮج اﻟﺪاﻟﺔ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪ واﺣﺪ .اﻟﻌﻨﺼﺮ اﻻول ﻓﻴﻬﺎ ﻗﻴﻤﺘﻪ ﻋﺪد ﻋﻨﺎﺻﺮ اﻟﺒﻌﺪ اﻻول واﻟﻌﻨﺼﺮ اﻟﺜﺎﻧﻰ ﻓﻴﻬﺎ ﻗﻴﻤﺘﻪ ﻋﺪد ﻋﻨﺎﺻﺮ اﻟﺒﻌﺪ اﻟﺜﺎﻧﻰ وهﻜﺬا. اﻣﺜﻠﺔ
27
داﻟﺔ : Build Array ﺗﻘﻮم هﺬة اﻟﺪاﻟﺔ ﺑﺎﺿﺎﻓﺔ ﻋﻨﺎﺻﺮ ﻟﻠﻤﺼﻔﻮﻓﺔ او ﺑﺠﻤﻊ ﺑﻴﻦ ﻣﺼﻔﻮﻓﺎت او ﻋﻨﺎﺻﺮ ﻟﺘﻜﻮﻳﻦ ﻣﺼﻔﻮﻓﺔ اآﺒﺮ.
وهﺬة اﻟﺪاﻟﺔ ﻟﻬﺎ ﻣﺨﺮج واﺣﺪ. وﻟﻬﺎ ﻣﺪﺧﻞ واﺣﺪ ﻋﻨﺪ ادراﺟﻬﺎ وﻳﻤﻜﻦ زﻳﺎدة ﻋﺪد اﻟﻤﺪاﺧﻞ ﺑﻤﺪ اﻳﻘﻮن اﻟﺪاﻟﺔ اﻟﻰ اﺳﻔﻞ.
او ﺑﺎﻟﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻋﻠﻰ اﻳﻘﻮﻧﺔ اﻟﺪاﻟﺔ واﺧﺘﻴﺎر Add Input
وﻳﻤﻜﻦ ان ﻳﻮﺻﻞ اﻟﻤﺪﺧﻞ اﻟﻰ ﻋﻨﺼﺮ او ﻣﺼﻔﻮﻓﺔ ذات اى ﺑﻌﺪ وﻳﻌﺘﻤﺪ ﺧﺮج اﻟﺪاﻟﺔ ﻋﻠﻰ ﻧﻮﻋﻴﺔ اﻟﻤﺪاﺧﻞ وﻋﻠﻰ ﺧﺎﺻﻴﺔ Concatenateوﻳﻤﻜﻦ ﺗﻘﺴﻴﻢ ﺣﺎﻻت ﺗﻨﻔﻴﺬ هﺬة اﻟﺪاﻟﺔ اﻟﻰ ﺛﻼث ﺣﺎﻻت : اوﻻ :ﺗﻮﺻﻴﻞ ﻋﻨﺎﺻﺮذات ﻗﻴﻢ وﺣﻴﺪة اﻟﻰ ﻣﺪاﺧﻞ اﻟﺪاﻟﺔ. ﻓﻰ هﺬة اﻟﺤﺎﻟﺔ ﺗﺨﺮج اﻟﺪاﻟﺔ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪ واﺣﺪ ﻣﻜﻮﻧﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ اﻟﺪاﺧﻠﺔ وهﺬة اﻟﻌﻨﺎﺻﺮ ﻟﻬﺎ ﻧﻔﺲ اﻟﺘﺮﺗﻴﺐ ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ.
28
ﺛﺎﻧﻴﺎ :ﺗﻮﺻﻴﻞ ﻣﺼﻔﻮﻓﺎت ذات اﺑﻌﺎد ﻣﺨﺘﻠﻔﺔ و ﻋﻨﺎﺻﺮ اﻟﻰ اﻟﻤﺪاﺧﻞ . ﻓﻰ هﺬة اﻟﺤﺎﻟﺔ ﺗﻘﻮم اﻟﺪاﻟﺔ ﺑﺘﺠﻤﻴﻊ اﻟﻤﺪﺧﻼت ﺑﺎﻟﺘﺮﺗﻴﺐ ﻟﺘﻜﻮﻳﻦ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪ ﻳﺴﺎوى اآﺒﺮ ﺑﻌﺪ ﻟﻤﺼﻔﻮﻓﺎت اﻟﻤﺪﺧﻞ.
29
ﻻﺣﻆ ان ﺷﻜﻞ ﻣﺪﺧﻞ اﻟﻤﺼﻔﻮﻓﺔ ﻣﺨﺘﻠﻒ ﻋﻦ ﺷﻜﻞ ﻣﺪﺧﻞ اﻟﻌﻨﺼﺮ وﺷﻜﻞ ﻣﺪﺧﻞ اﻟﻌﻨﺼﺮ ﻋﺒﺎرة ﻋﻦ ﻣﺮﺑﻊ واﺣﺪ وﺷﻜﻞ ﻣﺪﺧﻞ اﻟﻤﺼﻔﻮﻓﺔ ﻋﺒﺎرة ﻋﻦ ﻣﺮﺑﻌﻴﻦ ﻣﺘﺠﺎورﻳﻦ. آﻤﺎ ﻻﺣﻆ ان اﻟﻤﺼﻔﻮﻓﺔ ذات ﺑﻌﺪ واﺣﺪ ﺗﻌﺘﺒﺮ ﻋﻨﺼﺮ ﻓﻰ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪﻳﻦ. ﺛﺎﻟﺜﺎ :ﺗﻮﺻﻴﻞ ﻣﺼﻔﻮﻓﺎت ذات اﺑﻌﺎد ﻣﺘﺴﺎوﻳﺔ وﻓﻰ هﺬة اﻟﺤﺎﻟﺔ ﻳﺘﻮﻗﻒ اﻟﺨﺮج ﻋﻠﻰ ﺧﺎﺻﻴﺔ Concatenateﻣﻔﻌﻠﺔ ام ﻻ. وﻟﺘﻔﻌﻴﻞ ﺧﺎﺻﻴﺔ Concatenateﻧﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻟﻠﻤﺎوس ﻋﻠﻰ اﻳﻘﻮﻧﺔ اﻟﺪاﻟﺔ وﻧﺨﺘﺎر Concatenate ﻟﺘﻔﻌﻴﻠﻬﺎ او اﻟﻐﺎء ﺗﻔﻌﻴﻠﻬﺎ.
اذا آﺎﻧﺖ ﺧﺎﺻﻴﺔ Concatenateﻣﻔﻌﻠﺔ ﻓﺎن اﻟﺨﺮج ﻋﺒﺎرة ﻋﻦ ﻣﺼﻔﻮﻓﺔ ذات ﻧﻔﺲ اﺑﻌﺎد اﻟﻤﺼﻔﻮﻓﺎت اﻟﺪاﺧﻠﺔ وﻋﻨﺎﺻﺮهﺎ هﻰ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺎت اﻟﺪاﺧﻠﺔ ﺑﺎﻟﺘﺮﺗﻴﺐ.
30
داﻟﺔ : Array Subset ﺗﻘﻮم ﺑﺎﺧﺮاج ﺟﺰء ﻣﺤﺪد ﻣﻦ اﻟﻤﺼﻔﻮﻓﺔ اﻟﺪاﺧﻠﺔ ﻟﻬﺎ. وﻣﺪاﺧﻞ هﺬة اﻟﻤﺼﻔﻮﻓﺔ آﺎﻟﺘﺎﻟﻰ : • ﻣﺪﺧﻞ اﻟﻤﺼﻔﻮﻓﺔ اﻟﺘﻰ ﺳﻨﺄﺧﺬ ﻣﻨﻬﺎ اﻟﺠﺰء. • اﻟﻤﺪﺧﻞ Indexوهﻮ رﻗﻢ اول ﻋﻨﺼﺮ ﻓﻰ اﻟﺠﺰء اﻟﺬى ﻧﺮﻳﺪﻩ. • اﻟﻤﺪﺧﻞ Lengthوهﻮ ﻋﺪد ﻋﻨﺎﺻﺮ اﻟﺠﺰء اﻟﺬى ﻧﺮﻳﺪﻩ.
ﻣﺜﺎل
31
ﻳﻤﻜﻦ زﻳﺎدة ﻣﺪاﺧﻞ هﺬة اﻟﺪاﻟﺔ ﺑﻤﺪ اﻳﻘﻮﻧﺘﻬﺎ ﻻﺳﻔﻞ وذﻟﻚ ﻻﺧﺮاج ﺟﺰء ﻣﻦ ﻣﺼﻔﻮﻓﺔ ﻟﻬﺎ اآﺜﺮ ﻣﻦ ﺑﻌﺪ
داﻟﺔ : Index Array ﺗﺨﺮج هﺬة اﻟﺪاﻟﺔ ﻗﻴﻤﺔ ﻋﻨﺼﺮ ﻣﻌﻴﻦ ﻣﻦ اﻟﻤﺼﻔﻮﻓﺔ.
اﻟﻤﺪﺧﻞ ﻳﻤﻜﻦ ان ﻳﻜﻮن ﻋﺒﺎرة ﻋﻦ ﻣﺼﻔﻮﻓﺔ ﻟﻬﺎ اآﺜﺮ ﻣﻦ ﺑﻌﺪ وذﻟﻚ ﺑﻤﺪ اﻳﻘﻮﻧﺔ اﻟﺪاﻟﺔ ﻟﺰﻳﺎدة ﻋﺪد اﺑﻌﺎد ﻣﺼﻔﻮﻓﺔ اﻟﺪﺧﻞ.
وهﺬا ﻣﺜﺎل ﻟﻜﻴﻔﻴﺔ ﻣﻌﺮﻓﺔ ﻗﻴﻤﺔ ﻋﻨﺼﺮ ﻓﻰ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪﻳﻦ :
32
وﻳﻤﻜﻦ ﺑﺎﺳﺘﺨﺪام هﺬة اﻟﺪاﻟﺔ اﻟﺤﺼﻮل ﻋﻠﻰ ﺻﻒ او ﻋﻤﻮد ﻣﻦ ﻣﺼﻔﻮﻓﺔ ذات ﺑﻌﺪﻳﻦ. ﻓﺎذا اردﻧﺎ اﻟﺤﺼﻮل ﻋﻠﻰ ﺻﻒ ﻣﻌﻴﻦ ﻧﺤﺪد رﻗﻢ اﻟﺼﻒ وﻧﺘﺮك رﻗﻢ اﻟﻌﻤﻮد ﺧﺎﻟﻴﺎ.
واذا اردﻧﺎ اﻟﺤﺼﻮل ﻋﻠﻰ ﻋﻤﻮد ﻧﺤﺪد رﻗﻢ اﻟﻌﻤﻮد وﻧﺘﺮك رﻗﻢ اﻟﺼﻒ ﺧﺎﻟﻴﺎ .
33
داﻟﺔ : Delete from Array ﺗﻘﻮم هﺬة اﻟﺪاﻟﺔ ﺑﺤﺬف ﺟﺰء ﻣﻦ اﻟﻤﺼﻔﻮﻓﺔ اﻟﺪاﺧﻠﺔ اﻟﻴﻬﺎ.
وﻣﺪاﺧﻞ هﺬة اﻟﺪاﻟﺔ : • اﻟﻤﺼﻔﻮﻓﺔ اﻟﺘﻰ ﻧﺮﻳﺪ اﻟﺤﺬف ﻣﻨﻬﺎ . • ﻃﻮل اﻟﺠﺰء اﻟﺬى ﻧﺮﻳﺪ ﺣﺬﻓﻪ . • ﺑﺪاﻳﺔ اﻟﺠﺰء اﻟﺬى ﻧﺮﻳﺪ ﺣﺬﻓﻪ . وﺗﺨﺮج اﻟﺪاﻟﺔ : • اﻟﻤﺼﻔﻮﻓﺔ ﺑﻌﺪ ﺣﺬف اﻟﻌﻨﺎﺻﺮ ﻣﻨﻬﺎ. • اﻟﺠﺰء اﻟﺬى ﺗﻢ ﺧﺬﻓﻪ . ﻣﺜﺎل
34
Polymorphism ﻧﻌﻠﻢ ان اﻟﺪوال اﻟﺤﺴﺎﺑﻴﺔ اﻟﺠﻤﻊ واﻟﻄﺮح و اﻟﻀﺮب و اﻟﻘﺴﻤﺔ ﺗﻘﻮم ﺑﻌﻤﻠﻴﺎت ﺣﺴﺎﺑﻴﺔ ﺑﻴﻦ ﻗﻴﻤﺘﻴﻦ ﻋﺪدﻳﺘﻴﻦ وهﺬة اﻟﻘﻴﻢ هﻰ ﻗﻴﻢ وﺣﻴﺪة. وﻟﻜﻦ هﺬة اﻟﺪول ﻳﻤﻜﻦ ان ﺗﻘﻮم ﺑﻌﻤﻠﻴﺔ ﺣﺴﺎﺑﻴﺔ ﺑﻴﻦ ﻗﻴﻤﺔ وﺣﻴﺪة و ﻣﺼﻔﻮﻓﺔ او ﺗﻘﻮم ﺑﻌﻤﻠﻴﺎت ﺣﺴﺎﺑﻴﺔ ﺑﻴﻦ ﻣﺼﻔﻮﻓﺘﻴﻦ. واﺧﺘﻼف ﻣﺪاﺧﻞ هﺬة اﻟﺪوال ﻓﻰ اﻟﺴﻌﺔ و اﻟﺘﻤﺜﻴﻞ اﻟﻌﺪدى هﻮ ﻣﺎ ﻳﻌﺮف ﺑـ. Polymorphism اﻣﺜﻠﺔ :داﻟﺔ اﻟﺠﻤﻊ ﻳﻤﻜﻦ ان ﺗﻘﻮم ﺑﺎﻟﺠﻤﻊ ﺑﻴﻦ رﻗﻤﻴﻦ او ﺑﻴﻦ رﻗﻢ وﻣﺼﻔﻮﻓﺔ او ﻣﺼﻔﻮﻓﺘﻴﻦ.
ﻣﺜﺎل
35
ﻣﻠﺤﻮﻇﺔ : اذا ﻗﻤﺖ ﺑﻌﻤﻞ ﻋﻤﻠﻴﺔ ﺣﺴﺎﺑﻴﺔ ﺑﻴﻦ ﻣﺼﻔﻮﻓﺘﻴﻦ ﻣﺨﺘﻠﻔﺘﻴﻦ ﻓﻰ اﻟﺴﻌﺔ )ﻋﺪد اﻟﻌﻨﺎﺻﺮ ( ﻓﺎن اﻟﻨﺎﺗﺞ ﻣﺼﻔﻮﻓﺔ ﺳﻌﺘﻬﺎ هﻰ ﻧﻔﺲ ﺳﻌﺔ اﺻﻐﺮهﻤﺎ. ﻣﺜﺎل
36
Compound Arithmetic Function اﻟﺪوال اﻟﺤﺴﺎﺑﻴﺔ اﻟﻤﺮآﺒﺔ ﺗﺘﻴﺢ هﺬة اﻟﺪاﻟﺔ ﻋﻤﻞ ﻋﻤﻠﻴﺎت ﺣﺴﺎﺑﻴﺔ او ﻣﻨﻄﻘﻴﺔ ﺑﻴﻦ اآﺜﺮ ﻣﻦ ﻗﻴﻤﺘﻴﻦ. ﻣﺜﺎل
وﻳﻤﻜﻦ ان ﺗﻘﻮم هﺬة اﻟﺪاﻟﺔ ) (Compound Arithmetic Functionﺑﻌﻤﻠﻴﺔ ﺟﻤﻊ) (Addاو ﺿﺮب ) ( Multiplyاو Andاو Orاو .Xor وﻳﺘﻢ ادراﺟﻬﺎ ﻣﻦ Function Palette>>Numeric او Function Palette>>Boolean
37
38
وﻋﻨﺪ ادراج هﺬة اﻟﺪاﻟﺔ ﻳﻜﻮن ﻟﻬﺎ ﻣﺪﺧﻼن وﻳﻤﻜﻦ زﻳﺎدة ﻋﺪد اﻟﻤﺪاﺧﻞ ﺑﻤﺪ اﻳﻘﻮﻧﺘﻬﺎ ﻻﺳﻔﻞ ﺑﺎﻻداة
.Positioning
ﻋﻨﺪ ادراج اﻟﺪاﻟﺔ ﻓﺎﻧﻬﺎ ﺗﻜﻮن ﻣﻌﺪة ﻟﺘﺆدى ﻋﻤﻠﻴﺔ اﻟﺠﻤﻊ ) (Addاو ANDوﻟﻜﻦ ﻳﻤﻜﻦ اﺧﺘﻴﺎر وﻇﻴﻔﺔ اﺧﺮى ) Multiplyاو Andاو Orاو .(Xorوذﻟﻚ ﺑﺎﻟﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻋﻠﻰ اﻟﺪاﻟﺔ و اﺧﺘﻴﺎر Change Modeﺛﻢ اﺧﺘﻴﺎر اﻟﻮﻇﻴﻔﺔ.
وﻳﻤﻜﻦ ﺗﻐﻴﻴﺮ اﻟﻮﻇﻴﻔﺔ ﺑﺎﻟﻀﻐﻂ ﺑﺎﻻداة
Operatingﻋﻠﻰ اﻟﺪاﻟﺔ واﺧﺘﻴﺎر Change Modeﺛﻢ
اﺧﺘﻴﺎر اﻟﻮﻇﻴﻔﺔ.
39
ﻳﻤﻜﻦ ﻋﻜﺲ اى ﻣﻦ اﻟﻤﺪاﺧﻞ او اﻟﻤﺨﺮج . وﻋﻨﺪ ﻋﻜﺲ ﻣﺪﺧﻞ او ﻣﺨﺮج ﺗﻮﺿﻊ ﻋﻠﻴﻪ داﺋﺮة ﺻﻐﻴﺮة. وﻟﻌﻜﺲ ﻣﺪﺧﻞ او اﻟﻤﺨﺮج ﻧﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻟﻠﻤﺎوس ﻋﻠﻰ اﻟﻤﺪﺧﻞ او اﻟﻤﺨﺮج وﻧﺨﺘﺎر . Invert
واﻟﻌﻜﺲ ﻓﻰ ﺣﺎﻟﺔ اﻟﺠﻤﻊ ﻳﻌﻨﻰ ﺿﺮب ﻣﺪﺧﻞ او اﻟﻤﺨﺮج ﻓﻰ اﺷﺎرة ﺳﺎﻟﺐ ﻓﺎذا آﺎن ﻗﻴﻤﺘﻪ xﺳﺘﻌﻜﺲ اﻟﻰ .–x وﻓﻰ ﺣﺎﻟﺔ اﻟﻀﺮب اذا آﺎن ﻣﺪﺧﻞ او اﻟﻤﺨﺮج ﺑﺎﻟﻘﻴﻤﺔ xوﺗﻢ ﻋﻜﺴﻪ ﺳﺘﻜﻮن ﻗﻴﻤﺘﻪ .1/x اﻣﺎ ﻓﻰ ﺣﺎﻟﺔ اﻟﻌﻤﻠﻴﺎت اﻟﻤﻨﻄﻘﻴﺔ Andاو Orاو Xorﻓﺘﻌﻜﺲ ﺣﺎﻟﺔ اﻟﻤﺪﺧﻞ او اﻟﻤﺨﺮج ﺑـ Notﻓﻤﺜﻼ x ﻋﻜﺴﻬﺎ .Not x اﻣﺜﻠﺔ
40
41
42
Clusters Clusterﻣﺜﻞ اﻟﻤﺼﻔﻮﻓﺔ ﻓﻬﻮ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ وﻟﻜﻦ ﻋﻜﺲ اﻟﻤﺼﻔﻮﻓﺎت هﺬة اﻟﻌﻨﺎﺻﺮ ﻳﻤﻜﻦ ان ﺗﻜﻮن ﻣﺨﺘﻠﻔﺔ ﻓﻰ ﻧﻮع اﻟﺒﻴﺎﻧﺎت ) (Data Typeﻓﻴﻤﻜﻦ ان ﺗﺤﺘﻮى ﻋﻠﻰ Numeric Control و Boolean Controlو اﻧﻮاع اﺧﺮى. وآﻤﺜﺎل ﻣﺠﻤﻮﻋﺔ اﻟﺒﻴﺎﻧﺎت اﻟﺸﺨﺼﻴﺔ اﻟﺘﻰ ﺗﺤﺘﻮى ﻋﻠﻰ اﻻﺳﻢ وﺗﺎرﻳﺦ اﻟﻤﻴﻼد وﻋﻨﻮان اﻟﺴﻜﻦ و رﻗﻢ اﻟﺘﻠﻴﻔﻮن هﻰ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺒﻴﺎﻧﺎت اﻟﻤﺨﺘﻠﻔﺔ اﻻﻧﻮاع ﺗﻨﺪرج ﺗﺤﺖ اﺳﻢ واﺣﺪ وهﻰ اﻟﺒﻴﺎﻧﺎت اﻟﺸﺨﺼﻴﺔ. وﻳﻤﻜﻦ ﺗﺸﺒﻴﺔ Clusterﺑﻜﺎﺑﻞ اﻟﺘﻠﻴﻔﻮن ﻓﻬﻮ ﻋﺒﺎرة ﻋﻦ آﺎﺑﻞ واﺣﺪ ﻳﻮﺟﺪ ﺑﻪ ﻋﺪة اﺳﻼك آﻞ ﺳﻠﻚ ﻳﻌﺒﺮ ﻋﻦ ﻋﻨﺼﺮ ﻣﻌﻴﻦ. و Clusterﻳﻌﺒﺮ ﻋﻨﻪ ﻓﻰ Block Diagramﺑـ ﺧﻂ واﺣﺪ ﺣﺘﻰ اذا آﺎن ﻳﺤﺘﻮى ﻋﻠﻰ ﻋﺪة ﻗﻴﻢ ﻻﻧﻮاع ﻣﺨﺘﻠﻔﺔ ﻣﻦ اﻟﺒﻴﺎﻧﺎت. وﺑﺬﻟﻚ ﺗﺴﻄﻴﻊ ﻧﻘﻞ ﻋﺪة ﻗﻴﻢ ﻣﻦ اﻟﺒﻴﺎﻧﺎت ﻓﻰ ﺧﻂ واﺣﺪ ﺑﺪﻻ ﻣﻦ ﻋﺪة ﺧﻄﻮط.وﺑﺎﻟﺘﺎﻟﻰ ﻟﻮ ان هﺬة اﻟﺒﻴﺎﻧﺎت ﺳﺘﺪﺧﻞ او ﺗﺨﺮج ﻣﻦ داﻟﺔ او SubVIﺳﺘﺤﺘﺎج اﻟﻰ ﻣﺨﺮج او ﻣﺪﺧﻞ واﺣﺪ. وﻓﻰ Block Diagramﻳﻤﻜﻦ ﺗﺠﻤﻴﻊ ﻋﺪة ﺧﻄﻮط ﻟﺒﻴﺎﻧﺎت ﻣﺨﺘﻠﻔﻪ ﻓﻰ Clusterوﺗﺴﻤﻰ هﺬة اﻟﻌﻤﻠﻴﺔ ﺑـ .Bundle وﻳﻤﻜﻦ ان اﻳﻀﺎ ﻓﻚ Clusterاﻟﻰ ﻋﻨﺎﺻﺮﻩ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻌﻬﺎ وﺗﺴﻤﻰ هﺬة اﻟﻌﻤﻠﻴﺔ ﺑـ .UnBundle
43
و ﻟﻠـ Clusterﺳﻌﺔ ﺛﺎﺑﺘﺔ وﻣﺤﺪدة ﺑﺎﻟﻌﻨﺎﺻﺮ اﻟﺘﻰ ﻓﻴﻪ. وﻻ ﻳﻤﻜﻦ رﺑﻂ ﻋﺪد Clusters 2اﻻ اذا آﺎﻧﺎ ﻟﻬﻢ ﻧﻔﺲ اﻟﻌﻨﺎﺻﺮ و ﻧﻔﺲ ﺗﺮﺗﻴﺐ ﺗﻠﻚ اﻟﻌﻨﺎﺻﺮ ﻓﻰ . Cluster آﻴﻔﻴﺔ اﻧﺸﺎء Cluster Controlsو: Cluster Indicators ﻣﺜﻞ اﻟﻤﺼﻔﻮﻓﺎت ﻳﺘﻢ اﻧﺸﺎء Clusterﻋﻠﻰ ﺧﻄﻮﺗﻴﻦ: -1ﻳﺘﻢ ادراج اﻃﺎر اﻟـ Clusterوهﻮ اﻟﺬى ﺳﻴﺤﺘﻮى ﻋﻨﺎﺻﺮ Clusterﻣﻦ Controls Palette>>Modern>>Array, Matrix, & Cluster
-2ﻳﺘﻢ ادراج Controlsاو Indicatorsداﺧﻞ اﻃﺎر . Cluster
44
واﻟﻌﻨﺎﺻﺮ داﺧﻞ Clusterﻳﺠﺐ ان ﺗﻜﻮن آﻠﻬﺎ Controlsاو آﻠﻬﺎ Indicatorsوﻟﻴﺲ ﻣﺨﺘﻠﻂ. ﺑﻤﺠﺮد ادراج Clusterداﺧﻞ Front Panelﻳﻮﺿﻊ ﻟﻪ ﺗﻠﻘﺎﺋﻴﺎ Terminalﻓﻰ Block Diagram
ﻳﻤﻜﻦ ﺗﻐﻴﻴﺮ اﺑﻌﺎد Clusterﺑﻮاﺳﻄﺔ اﻻداة
. Positioning
وﻟﺠﻌﻞ ﻣﺴﺎﺣﺔ اﻃﺎر Clusterﻋﻠﻰ ﻗﺪر اﻟﻌﻨﺎﺻﺮ داﺧﻞ Clusterﻧﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻟﻠﻤﺎوس ﻋﻠﻰ اﻃﺎر Clusterوﻧﺨﺘﺎر 45
Autosize>>Size to Fit
: Block Diagram ﺛﺎﺑﺖ داﺧﻞCluster اﻧﺸﺎء : آﺎﻟﺘﺎﻟﻰBlock Diagram ﺛﺎﺑﺖ داﺧﻞCluster ﻳﻤﻜﻦ اﻧﺸﺎء ﻣﻦCluster Constant ادراج اﻃﺎر: اوﻻ Function Palette>>Arrays and Clusters >>Cluster Constant
46
ﺛﺎﻧﻴﺎ :ادراج ﺛﻮاﺑﺖ داﺧﻞ اﻃﺎر Clusterﻣﺜﻞ ) Numeric Constantاو Boolean Constantاو .(String Constant
ﺗﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ داﺧﻞ : Cluster ﻟﻠﻌﻨﺎﺻﺮ داﺧﻞ Clusterﺗﺮﺗﻴﺐ وهﺬا اﻟﺘﺮﺗﻴﺐ ﻟﻴﺲ ﻣﺮﺗﺒﻄﺎ ﺑﻤﻜﺎن اﻟﻌﻨﺼﺮ داﺧﻞ اﻃﺎر .Cluster وﺗﺮﺗﺐ اﻟﻌﻨﺎﺻﺮ داﺧﻞ Clusterوﻓﻖ ﺗﺮﺗﻴﺐ ادراﺟﻬﺎ داﺧﻞ اﻻﻃﺎر. ﻓﺎول ﻋﻨﺼﺮ ﺗﻢ ادراﺟﺔ ﺗﺮﺗﻴﺒﺔ رﻗﻢ 0وﺛﺎﻧﻰ ﻋﻨﺼﺮ ﺗﻢ ادراﺟﻪ ﺗﺮﺗﻴﺒﻪ رﻗﻢ 1وهﻜﺬا. وﻟﻠﺘﺮﺗﻴﺐ اهﻤﻴﺔ ﻓﻠﻜﻰ ﺗﺮﺑﻂ ﺑﻴﻦ Clusters 2ﻳﺠﺐ ان ﻳﻜﻮﻧﺎ ﻟﻬﻢ ﻧﻔﺲ اﻟﻌﻨﺎﺻﺮ وﺑﻨﻔﺲ اﻟﺘﺮﺗﻴﺐ . وﻟﻤﻌﺮﻓﺔ او ﺗﻐﻴﻴﺮ ﺗﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ داﺧﻞ Clusterﻧﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻟﻠﻤﺎوس ﻋﻠﻰ اﻃﺎر Cluster وﻧﺨﺘﺎر .Reorder Controls in Cluster
ﻳﻈﻬﺮ ارﻗﺎم ﻓﻰ ﻣﺮﺑﻌﺎت ﻣﻈﻠﻠﻪ ﺑﺎﻟﻠﻮن اﻻﺑﻴﺾ و واﺧﺮى ﻣﻈﻠﻠﺔ ﺑﺎﻟﻠﻮن اﻻﺳﻮد . • اﻻرﻗﺎم اﻟﻤﻮﺟﻮدة ﻓﻰ اﻟﻤﺮﺑﻌﺎت اﻟﻤﻈﻠﻠﺔ ﺑﺎﻟﻠﻮن اﻻﺑﻴﺾ هﻰ ﺗﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ اﻟﺤﺎﻟﻰ. 47
• اﻻرﻗﺎم اﻟﻤﻮﺟﻮدة ﻓﻰ اﻟﻤﺮﺑﻌﺎت اﻟﻤﻈﻠﻠﺔ ﺑﺎﻟﻠﻮن اﻻﺳﻮد هﻰ اﻟﺘﺮﺗﻴﺐ اﻟﺠﺪﻳﺪ ﻟﻠﻌﻨﺎﺻﺮ. وﻳﻈﻬﺮ ﻓﻰ Toolbarﻣﻔﺎﺗﻴﺢ : • ﻣﻔﺘﺎخ Okﻟﻠﺨﺮوج ﻣﻦ ﻋﻤﻠﻴﺔ اﻟﺘﺮﺗﻴﺐ ﺑﺎﻟﺘﺮﺗﻴﺐ اﻟﺠﺪﻳﺪ. • ﻣﻔﺘﺎح Revertﻟﻠﻌﻮدة ﻟﻠﺘﺮﺗﻴﺐ اﻟﻘﺪﻳﻢ واﻟﻐﺎء اﻟﺘﻐﻴﺮات ﻓﻰ اﻟﺘﺮﺗﻴﺐ. • ﻣﺮﺑﻊ ﻻدﺧﺎل ﺗﺮﺗﻴﺐ اﻟﻌﻨﺼﺮ .
48
اﺳﺘﺨﺪام Clusterﻓﻰ ﺗﻤﺮﻳﺮ اﻟﺒﻴﺎﻧﺎت ﻣﻦ و اﻟﻰ : SubVI ﻧﻌﻠﻢ ﻣﻦ اﻟﺪرس اﻟﺮاﺑﻊ ان اﻗﺼﻰ ﻋﺪد ﻟﻠـ Terminalsﻷى Connector Paneﺧﺎﺻﺔ ﺑـ VIهﻮ .28 وﻟﻜﻦ اذا آﺎن ﻋﺪد Terminalsآﺒﻴﺮا ﻓﻘﺪ ﻳﺆدى اﻟﻰ وﺟﻮد اﺧﻄﺎء ﻓﻰ اﻟﺘﻮﺻﻴﻞ واﻳﻀﺎ اﻟﻰ ﺑﻌﺾ ﻣﻦ اﻟﺘﻌﻘﻴﺪ. وﺗﺴﺘﺨﺪم Clusterﻓﻰ ﺗﻘﻠﻴﻞ ﻋﺪد اﻟﻮﺻﻼت اﻟﺘﻰ ﺗﺪﺧﻞ او ﺗﺨﺮج ﻣﻦ SubVIﻓﺒﻮاﺳﻄﺔ Cluster ﺗﺴﺘﻄﻴﻊ ﺗﺠﻤﻴﻊ ﻋﺪد ﻣﻦ Controlsاو Indicatorsوادﺧﺎل او اﺧﺮاج ﻋﺪة ﻗﻴﻢ ﻣﻦ واﻟﻰ SubVI ﺑﻮاﺳﻄﺔ Terminalواﺣﺪ ﻓﻘﻂ.
اهﻢ اﻟﺪوال اﻟﺨﺎﺻﺔ ﺑـ : Clusters وهﺬة اﻟﺪوال ﻣﻮﺟﻮدة ﻓﻰ Function Palette>>Programming>>Cluster & Variant
49
داﻟﺔ : Bundle ﺗﻘﻮم هﺬة اﻟﺪاﻟﺔ ﺑﺘﺠﻤﻴﻊ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ اﻟﻤﻨﻔﺮدة ﻓﻰ Clusterﺟﺪﻳﺪ او ﺗﻐﻴﺮ ﻗﻴﻤﺔ اﺣﺪ اﻟﻌﻨﺎﺻﺮ اﻟﻤﻮﺟﻮدة ﻓﻰ Clusterﻣﻮﺟﻮد.
وﻳﻤﻜﻦ زﻳﺎدة ﻋﺪد ﻣﺪاﺧﻞ اﻟﺪاﻟﺔ ﺑﻤﺪهﺎ ﻻﺳﻔﻞ ﺑﺎﺳﺘﺨﺪام اﻻداة
. Positioning
ﻣﺪﺧﻞ هﺬة اﻟﺪاﻟﺔ ﻋﺒﺎرة ﻋﻦ ﻣﺪﺧﻞ ﻟـ Clusterوﻣﺠﻤﻮﻋﺔ ﻣﺪاﺧﻞ ﻟﻌﻨﺎﺻﺮ. واﻟﻤﺨﺮج هﻮ Clusterﺗﻢ اﻧﺸﺄﻩ او ﺗﻌﺪﻳﻞ ﻗﻴﻢ ﻓﻴﻪ. وﻻﻧﺸﺎء Clusterﺟﺪﻳﺪ ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ .ﻧﺮﺑﻂ هﺬة اﻟﻌﻨﺎﺻﺮ اﻟﻰ ﻣﺪاﺧﻞ اﻟﺪاﻟﺔ وﻓﻰ هﺬة اﻟﺤﺎﻟﺔ ﻻ ﻳﺴﺘﺨﺪم اﻟﻤﺪﺧﻞ اﻟﺨﺎص ﺑـ . Clusterوﺳﻮف ﺗﺨﺮج اﻟﺪاﻟﺔ Clusterﻳﺤﺘﻮى ﻋﻠﻰ اﻟﻌﻨﺎﺻﺮ اﻟﺪاﺧﻠﺔ وﺗﺮﺗﻴﺐ هﺬة اﻟﻌﻨﺎﺻﺮ ﻓﻰ Clusterهﻰ ﻧﻔﺲ ﺗﺮﺗﻴﺐ رﺑﻄﻬﺎ ﺑﺎﻟﺪاﻟﺔ. ﻣﻠﺤﻮﻇﺔ : ﻋﻨﺪ رﺑﻂ اﻟﻌﻨﺼﺮ ﺑﻤﺪﺧﻞ اﻟﺪاﻟﺔ ﻳﻈﻬﺮ ﻋﻨﺪ ﻣﺪﺧﻞ اﻟﺪاﻟﺔ رﻣﺰ ﻳﺪل ﻋﻠﻰ ﻧﻮع اﻟﺒﻴﺎﻧﺎت ﻟﻬﺬا اﻟﻌﻨﺼﺮ.
50
وﻟﺘﻐﻴﻴﺮ ﻗﻴﻤﺔ ﻋﻨﺼﺮ ﻓﻰ Clusterﻧﻘﻮم ﺑﺘﻮﺻﻴﻞ Clusterﺑـﻤﺪﺧﻞ Clusterﻋﻨﺪﺋﺬ ﻳﺼﺒﺢ ﺗﻠﻘﺎﺋﻴﺎ ﻋﺪد ﻣﺪاﺧﻞ اﻟﻌﻨﺎﺻﺮ ﻟﻠﺪاﻟﺔ ﻳﺴﺎوى ﻋﺪد ﻋﻨﺎﺻﺮ Clusterوﺑﻨﻔﺲ اﻟﺘﺮﺗﻴﺐ آﻤﺎ ﺳﻴﻈﻬﺮ ﻋﻨﺪ آﻞ ﻣﺪﺧﻞ ﻧﻮع اﻟﺒﻴﺎﻧﺎت اﻟﺨﺎﺻﺔ ﺑﺎﻟﻌﻨﺼﺮ. ﺛﻢ ﻧﻘﻮم ﺑﺘﻮﺻﻴﻞ اﻟﻘﻴﻤﺔ اﻟﺠﺪﻳﺪة ﻟﻤﺪﺧﻞ اﻟﻌﻨﺼﺮ اﻟﻤﺮاد ﺗﻐﻴﻴﺮ ﻗﻴﻤﺘﻪ.
51
ﻣﻠﺤﻮﻇﺔ :ﻟﻮ ﺗﻢ ﺗﻮﺻﻴﻞ اﻟﻘﻴﻤﺔ اﻟﺠﺪﻳﺪة ﺑﻤﺪﺧﻞ ﻋﻨﺼﺮ اﺧﺮ وﻣﺨﺘﻠﻒ ﻓﻰ ﻧﻮع اﻟﺒﻴﺎﻧﺎت ﺳﻮف ﻳﻈﻬﺮ اﻟﺨﻂ ﻣﻘﻄﻮﻋﺔ ﻻﻧﻪ ﺧﻄﺄ.
52
ﻳﻤﻜﻦ ﺗﻐﻴﻴﺮ ﻗﻴﻢ اآﺜﺮ ﻣﻦ ﻋﻨﺼﺮ ﻓﻰ Clusterﻓﻰ ﻧﻔﺲ اﻟﻮﻗﺖ.
داﻟﺔ : Unbundle ﺗﻘﻮم هﺬة اﻟﺪاﻟﺔ ﺑﻔﻚ Clusterاﻟﻰ ﻋﻨﺎﺻﺮﻩ.
وﻳﻮﺟﺪ ﻟﻬﺬة اﻟﺪاﻟﺔ ﻣﺪﺧﻞ واﺣﺪ ﻳﺘﻢ ﺗﻮﺻﻴﻞ ﻟﻪ Clusterاﻟﺘﻰ ﻧﺮﻳﺪ ﻓﻜﻪ ﻓﻴﺼﺒﺢ ﻋﺪد ﻣﺨﺎرج اﻟﺪاﻟﺔ ﻳﺴﺎوى ﻋﺪد ﻋﻨﺎﺻﺮ Clusterوآﻞ ﻣﺨﺮج ﻳﻜﻮن ﻻﺣﺪ اﻟﻌﻨﺎﺻﺮ اﻟﻤﻮﺟﻮدة ﻓﻰ Clusterوﻳﻈﻬﺮ ﻋﻠﻰ اﻟﻤﺨﺮج ﻧﻮع ﺑﻴﺎﻧﺎت اﻟﻌﻨﺼﺮ. وﺗﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ ﻋﻠﻰ ﻣﺨﺎرج اﻟﺪاﻟﺔ هﻮ ﻧﻔﺲ ﺗﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ ﻓﻰ .Cluster
وﻣﻦ اﻟﻤﻬﻢ ﻣﻌﺮﻓﺔ ﺗﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ ﻓﺘﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ هﻰ اﻟﻄﺮﻳﻘﺔ ﻟﻠﺘﻌﺮف ﻋﻠﻰ ﻋﻨﺼﺮ ﻣﻌﻴﻦ ﻓﻬﺬة اﻟﺪاﻟﺔ ﻻ ﺗﺘﻴﺢ اﻟﺘﻌﺮف ﻋﻠﻰ اﺳﻢ اﻟﻌﻨﺼﺮ.
53
ﻓﻴﻤﻜﻦ ان ﻳﻮﺟﺪ ﻋﻨﺼﺮﻳﻦ ﺑﻨﻔﺲ ﻧﻮع اﻟﺒﻴﺎﻧﺎت ﻓﻬﺬﻳﻦ اﻟﻌﻨﺼﺮ ﻟﻦ ﻳﻔﺮق ﺑﻴﻨﻬﻤﺎ اﻻ اﻟﺘﺮﺗﻴﺐ وﻟﻮﺣﺪث ان وﺻﻠﺖ ﻋﻨﺼﺮ ﻣﻜﺎن اﻻﺧﺮ ﻟﻦ ﺗﻌﻄﻰ VIﺧﻄﺄ ﻻﻧﻬﻢ ﻟﻬﻢ ﻧﻔﺲ ﻧﻮع اﻟﺒﻴﺎﻧﺎت وﻟﻜﻦ اﻟﻨﺘﻴﺠﺔ ﺳﺘﻜﻮن ﺧﻄﺄ .
داﻟﺔ : Bundle By Name ﻣﺜﻞ داﻟﺔ Bundleﺗﻘﻮم هﺬة اﻟﺪاﻟﺔ ﺑﺘﻐﻴﺮ ﻗﻴﻤﺔ ﻋﻨﺼﺮ او اآﺜﺮ ﻓﻰ .Clusterوﻳﺘﻢ ﺗﺤﺪﻳﺪ اﻟﻌﻨﺎﺻﺮ ﺑﻮاﺳﻄﺔ اﻻﺳﻢ . وﻻ ﺗﺴﺘﺨﺪم هﺬة اﻟﺪاﻟﺔ ﻓﻰ اﻧﺸﺎء Clusterﺟﺪﻳﺪ. وﻓﻰ هﺬة اﻟﺪاﻟﺔ ﻳﺠﺐ ﺗﻮﺻﻴﻞ اﻟﻤﺪﺧﻞ اﻟﺨﺎص ﺑـ Clusterوﺗﺴﺘﻄﻴﻊ ان ﺗﺨﺘﺎر اى ﻋﻨﺼﺮ ﻓﻰ Cluster ﻟﺘﻐﻴﻴﺮ ﻗﻴﻤﺘﻪ.
وﻳﻤﻜﻦ زﻳﺎدة ﻋﺪد ﻣﺪاﺧﻞ اﻟﺪاﻟﺔ ﺑﻤﺪ اﻳﻘﻮﻧﺘﻬﺎ ﻻﺳﻔﻞ ﺑﻮاﺳﻄﺔ اﻻداة
54
.Positioning
وﻻﺧﺘﻴﺎر ﻋﻨﺼﺮ ﻣﻌﻴﻦ ﻣﻦ ﻋﻨﺎﺻﺮ Clusterﻟﺘﻐﻴﻴﺮ ﻗﻴﻤﺘﻪ )ﺑﻌﺪ ﺗﻮﺻﻴﻞ (Clusterﻧﻀﻐﻂ ﻋﻠﻰ اﻟﻤﺪﺧﻞ ﺑﺎﻻداة
Operatingﻟﺘﻈﻬﺮ ﻟﻨﺎ ﻗﺎﺋﻤﺔ ﺑﻌﻨﺎﺻﺮ Clusterﻧﺨﺘﺎر ﻣﻨﻬﺎ اﻟﻌﻨﺼﺮ اﻟﺬى ﻧﺮﻳﺪﻩ.
داﻟﺔ : Unbundle by Name ﺗﺴﺘﺨﺪم هﺬة اﻟﺪاﻟﺔ ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻗﻴﻤﺔ ﻋﻨﺼﺮ او اآﺜﺮ ﻣﻦ Clusterوﻳﺘﻢ ﺗﺤﺪﻳﺪ اﻟﻌﻨﺼﺮ ﺑﻮاﺳﻄﺔ اﺳﻢ اﻟﻌﻨﺼﺮ. ﻋﻨﺪ ادراج اﻟﺪاﻟﺔ ﻗﻢ ﺑﺘﻮﺻﻴﻞ Clusterاﻟﻰ ﻣﺪﺧﻞ اﻟﺪاﻟﺔ ﻓﻴﻈﻬﺮ اﺳﻢ اول ﻋﻨﺼﺮ ﻓﻰ Clusterﻋﻠﻰ ﻣﺨﺮج اﻟﺪاﻟﺔ. ﻻﺧﺘﻴﺎر ﻋﻨﺼﺮ اﺧﺮ اﺿﻐﻂ ﻋﻠﻰ اﻟﻌﻨﺼﺮ ﺑﻮاﺳﻄﺔ اﻻداة ﻣﻦ ﻗﺎﺋﻤﺔ اﻟﻌﻨﺎﺻﺮ.
55
Operatingواﺧﺘﺮ اﻟﻌﻨﺼﺮ اﻟﺬى ﺗﺮﻳﺪﻩ
ﻟﺰﻳﺎدة ﻋﺪد اﻟﻤﺨﺎرج ﻧﻤﺪ اﻳﻘﻮﻧﺔ اﻟﺪاﻟﺔ ﻻﺳﻔﻞ ﺑﻮاﺳﻄﺔ اﻻداة
.Positioning
اﻟﺘﺤﻮﻳﻞ ﺑﻴﻦ اﻟﻤﺼﻔﻮﻓﺎت و : Clusters ﻓﻰ ﺑﻌﺾ اﻻﺣﻴﺎن ﺗﺤﺘﺎج ﻟﻠﺘﺤﻮﻳﻞ ﺑﻴﻦ اﻟﻤﺼﻔﻮﻓﺔ اﻟﻰ Clusterواﻟﻌﻜﺲ. وﻳﻮﺟﺪ داﻟﺘﺎن ﻟﺘﺤﻮﻳﻞ ﺑﻴﻦ اﻟﻤﺼﻔﻮﻓﺎت و Clustersوﻳﻤﻜﻦ ادراﺟﻬﻤﺎ ﻣﻦ Function Palette>>Programming>>Cluster & Variant
Function Palette>>Programming>>Arrey
56
داﻟﺔ : Cluster to Array ﺗﻘﻮم هﺬة اﻟﺪاﻟﺔ ﺑﺎﻟﺘﺤﻮﻳﻞ ﻣﻦ Clusterﺑﻪ ﻋﺪد ﻣﻌﻴﻦ ﻣﻦ اﻟﻌﻨﺎﺻﺮ ﻟﻬﺎ ﻧﻔﺲ ﻧﻮع اﻟﺒﻴﺎﻧﺎت اﻟﻰ ﻣﺼﻔﻮﻓﺔ ﺑﻬﺎ ﻧﻔﺲ اﻟﻌﺪد ﻣﻦ اﻟﻌﻨﺎﺻﺮ ﻟﻨﻔﺲ ﻧﻮع اﻟﺒﻴﺎﻧﺎت.
وﺳﻴﻜﻮن ﺗﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ هﻮ ﻧﻔﺲ ﺗﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ ﻓﻰ .Cluster
57
ﻻﺣﻆ اﻧﻪ ﻟﻜﻠﻰ ﺗﺴﺘﺨﺪم هﺬة اﻟﺪاﻟﺔ ﻳﺠﺐ ان ﺗﻜﻮن آﻞ اﻟﻌﻨﺎﺻﺮ ﻓﻰ Clusterﻟﻬﺎ ﻧﻔﺲ ﻧﻮع اﻟﺒﻴﺎﻧﺎت. ﻻﺣﻆ اﻳﻀﺎ ان اذا آﺎن اﺣﺪ اﻟﻌﻨﺎﺻﺮ داﺧﻞ Clusterﻋﺒﺎرة ﻋﻦ ﻣﺼﻔﻮﻓﺔ ﻓﻠﻦ ﺗﺴﻄﻴﻊ ان ﺗﺴﺘﺨﺪم هﺬة اﻟﺪاﻟﺔ ﻻن LabVIEWﻻ ﻳﺴﻤﻊ ﺑﻮﺟﻮد ﻣﺼﻔﻮﻓﺔ داﺧﻞ ﻣﺼﻔﻮﻓﺔ. داﻟﺔ : Array to Cluster ﺗﻘﻮم هﺬة اﻟﺪاﻟﺔ ﺑﺎﻟﺘﺤﻮﻳﻞ ﻣﻦ ﻣﺼﻔﻮﻓﺔ اﺣﺎدﻳﺔ ﺗﺤﺘﻮى ﻋﻠﻰ ﻋﺪد ﻣﻌﻴﻦ ﻣﻦ اﻟﻌﻨﺎﺻﺮ اﻟﻰ Clusterﺑﻪ ﻧﻔﺲ اﻟﻌﺪد ﻣﻦ اﻟﻌﻨﺎﺻﺮ ﺑﻨﻔﺲ ﻧﻮع اﻟﺒﻴﺎﻧﺎت.
وﻋﻨﺪ اﺳﺘﺨﺪام هﺬة اﻟﺪاﻟﺔ ﻳﺠﺐ ان ﺗﺤﺪد ﻋﺪد اﻟﻌﻨﺎﺻﺮ ﻓﻰ Clusterوذﻟﻚ ﻻن LabVIEWﻻ ﻳﻘﻮم ﺑﺘﺤﺪﻳﺪ ﺣﺠﻢ Clusterﺗﻠﻘﺎﺋﻴﺎ ﻣﺜﻞ اﻟﻤﺼﻔﻮﻓﺎت. وﻟﺘﺤﺪﻳﺪ ﻋﺪد اﻟﻌﻨﺎﺻﺮ ﻧﻀﻐﻂ ﺑﺎﻟﺰر اﻻﻳﻤﻦ ﻟﻠﻤﺎوس ﻋﻠﻰ اﻳﻘﻮﻧﺔ اﻟﺪاﻟﺔ ﻓﻨﺨﺘﺎر Cluster Sizeﻓﺘﻈﻬﺮ ﻟﻨﺎ ﻧﺎﻓﺬة ﻧﺤﺪد ﻓﻴﻬﺎ ﻋﺪد ﻋﻨﺎﺻﺮ Cluster
58
ﻣﺎذا ﻳﺤﺪث اذا ﻟﻢ ﻧﺤﺪد ﻋﺪد اﻟﻌﻨﺎﺻﺮ ﻓﻰ Cluster؟ اﻟﻘﻴﻤﺔ اﻻﺑﺘﺪاﺋﻴﺔ ﻟﻌﺪد اﻟﻌﻨﺎﺻﺮ ﻓﻰ Clusterهﻰ . 9 ﻓﺎذا آﺎن ﻋﺪد اﻟﻌﻨﺎﺻﺮ ﻓﻰ اﻟﻤﺼﻔﻮﻓﺔ اﻗﻞ ﻣﻦ 9ﻓﺴﻮف ﻳﺤﺘﻮى Clusterﻋﻠﻰ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ ﺑﺎﻻﺿﺎﻓﺔ ﻋﻠﻰ ﻋﻨﺎﺻﺮ ﻣﻜﻤﻠﺔ ﻗﻴﻤﺘﻬﺎ اﻟﻘﻴﻤﺔ اﻻﺑﺘﺪاﺋﻴﺔ ﻟﻨﻮع اﻟﺒﻴﺎﻧﺎت ) ﻣﺜﺎل 0اذا آﺎن ﻧﻮع اﻟﺒﻴﺎﻧﺎت False ، Numericاذا آﺎن ﻧﻮع اﻟﺒﻴﺎﻧﺎت ( Booleanﺣﺘﻰ ﻳﺼﺒﺢ اﻟﻌﺪد اﻟﻜﻠﻰ ﻓﻰ Cluster ﻳﺴﺎوى 9ﻋﻨﺎﺻﺮ.
59
واذا آﺎن ﻋﺪد ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ اآﺒﺮ ﻣﻦ 9ﻓﺴﻮف ﻳﺤﺘﻮى Clusterﻋﻠﻰ اول 9ﻋﻨﺎﺻﺮ ﻣﻦ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ ﻓﻘﻂ . ﻣﺜﺎل ﻋﻠﻰ اهﻤﻴﺔ اﻟﺘﺤﻮﻳﻞ ﺑﻴﻦ Clusterو : Array هﺪف اﻟﻤﺜﺎل ﻋﻜﺲ ﺗﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ ﻓﻰ Clusterوﺣﻴﺚ ان ﻻ ﺗﻮﺟﺪ داﻟﺔ ﺗﻘﻮم ﺑﻬﺬة اﻟﻮﻇﻴﻔﺔ ﻣﻊ Clusterﺳﻨﻘﻮم ﺑﺘﺤﻮﻳﻞ Clusterاﻟﻰ Arrayوﻧﺴﺘﺨﺪم اﻟﺪاﻟﺔ Reverse 1D Arrayﻟﻌﻜﺲ ﺗﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ ﺛﻢ ﻧﺤﻮل اﻟﻤﺼﻔﻮﻓﺔ اﻟﻨﺎﺗﺠﺔ اﻟﻰ .Cluster
اﺳﺘﺨﺪام دوال اﻟﻤﻘﺎرﻧﺔ ﻣﻊ اﻟﻤﺼﻔﻮﻓﺎت و : Clusters ﻳﻤﻜﻦ اﺳﺘﺨﺪام دوال اﻟﻤﻘﺎرﻧﺔ ﻟﻠﻤﻘﺎرﻧﺔ ﺑﻴﻦ ﻣﺼﻔﻮﻓﺘﻴﻦ او Clusters 2
60
وهﻨﺎك ﻧﻤﻄﻴﻦ ﻟﻠﻤﻘﺎرﻧﺔ ﺑﻴﻦ اﻟﻤﺼﻔﻮﻓﺎت و Clustersهﻤﺎ Compare Elementsو Compare .Aggregates وﻻﺧﺘﻴﺎر اﻟﻨﻤﻂ ﻧﻀﻐﻂ ﻋﻠﻰ اﻟﺰر اﻻﻳﻤﻦ ﻟﻠﻤﺎوس ﻋﻠﻰ داﻟﺔ اﻟﻤﻘﺎرﻧﺔ وﻧﺨﺘﺎر Comparison Mode ﺛﻢ اﻟﻨﻤﻂ اﻟﺬى ﻧﺮﻳﺪﻩ.
61
وﻓﻰ ﻧﻤﻂ Compare Aggregatesﺗﻘﻮم داﻟﺔ اﻟﻤﻘﺎرﻧﺔ ﺑﻤﻘﺎرﻧﺔ آﻞ ﻋﻨﺼﺮ ﻣﻊ اﻟﺬى ﻳﻘﺎﺑﻠﻪ اﻟﺬى ﻳﻘﺎﺑﻠﻪ واذا آﺎﻧﺖ آﻞ اﻟﻤﻘﺎرﻧﺎت ﻧﺘﻴﺠﺘﻬﺎ Trueﺗﺨﺮج اﻟﺪاﻟﺔ اﻟﻘﻴﻤﺔ Trueواذا ﻟﻢ ﺗﻜﻦ آﻞ اﻟﻤﻘﺎرﻧﺎت ﻗﻴﻤﺘﻬﺎ Trueﺗﺨﺮج اﻟﺪاﻟﺔ اﻟﻘﻴﻤﺔ .Falseان اﻟﺪاﻟﺔ ﻓﻰ هﺬا اﻟﻨﻤﻂ ﺗﺨﺮج ﻗﻴﻤﺔ وﺣﻴﺪة Trueاو .False
وﻓﻰ ﻧﻤﻂ Compare Elementsﺗﻘﻮم داﻟﺔ اﻟﻤﻘﺎرﻧﺔ ﺑﻤﻘﺎرﻧﺔ آﻞ ﻋﻨﺼﺮ ﻣﻊ اﻟﺬى ﻳﻘﺎﺑﻠﻪ وﺗﺨﺮج ﻧﺘﺎﺋﺞ اﻟﻤﻘﺎرﻧﺎت آﻠﻬﺎ ﻓﻰ ﻣﺼﻔﻮﻓﺔ او Clusterﺑﻨﻔﺲ ﺗﺮﺗﻴﺐ اﻟﻌﻨﺎﺻﺮ.
62
63
Error Clustersودوال Error-Handling Error Clusterوهﻮ Clusterﺧﺎص ﻟﺘﺨﺰﻳﻦ و ﺗﻤﺮﻳﺮ ﻣﻌﻠﻮﻣﺎت ﻋﻦ اﻻﺧﻄﺎء اﻟﺘﻰ ﺗﺤﺪث اﺛﻨﺎء ﺗﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ. وﻳﻤﻜﻦ ادراج هﺬا Clusterﻋﻠﻰ هﻴﺌﺔ Error-In Clusterاو Error-Out Clusterﻣﻦ: Controls Palette>>Modern>>Array , Matrix & Cluster
وﻳﺘﻜﻮن Error Clusterﻣﻦ ﺛﻼث ﻋﻨﺎﺻﺮ: : Status -1وهﻮ ﻣﻦ اﻟﻨﻮع Booleanوﻗﻴﻤﺘﻪ ﺗﻜﻮن Trueﻟﻮ ان هﻨﺎك ﺧﻄﺄ .وﺗﻜﻮن Falseﻟﻮ اﻧﻪ ﻟﻴﺲ هﻨﺎك ﺧﻄﺄ . : Code -2وﻳﺤﻤﻞ رﻗﻢ ﺻﺤﻴﺢ ﻣﻦ اﻟﻨﻮع - signed integer) I32رﻗﻢ ﺻﺤﻴﺢ ﻳﻤﻜﻦ ان ﻳﻜﻮن ﻣﻮﺟﺒﺎ او ﺳﺎﻟﺒﺎ( وهﺬا اﻟﻌﻨﺼﺮ ﻗﻴﻤﺘﻪ ﺗﺤﺪد اﻟﺨﻄﺄ اﻟﺬى ﺣﺪث.
64
ﻓﺎذا آﺎﻧﺖ ﻗﻴﻤﺘﻪ : ﻣﻮﺟﺐ :رﻗﻢ اﻟﺨﻄﺄ ﻓﻠﻜﻞ ﺧﻄﺄ رﻗﻢ آﻮدى ﻣﻌﻴﻦ. ﺳﺎﻟﺐ :رﻗﻢ اﻟﺘﺤﺬﻳﺮ ﻓﻠﻜﻞ ﺗﺤﺬﻳﺮ رﻗﻢ آﻮدى ﻣﻌﻴﻦ. ﺻﻔﺮ :ﻟﻢ ﻳﺤﺪث ﺧﻄﺄ . :Source -3ﻧﺺ ﻳﺤﺘﻮى ﻋﻠﻰ وﺻﻒ ﻟﻤﺼﺪر اﻟﺨﻄﺄ ﺳﻮاء آﺎن داﻟﺔ او .SubVI
ﻳﺤﺪث اﻟﺨﻄﺄ ﻏﺎﻟﺒﺎ ﻋﻨﺪﻣﺎ ﻻ ﺗﺴﺘﻄﻴﻊ اﻟﺪاﻟﺔ او SubVIﺗﻜﻤﻠﺔ ﻣﻬﻤﺘﻬﺎ ﺑﺴﺒﺐ ﻋﺪم ﺗﻮﻓﺮ ﻣﻌﻠﻮﻣﺎت اﺳﺎﺳﻴﺔ ﻟﺘﻜﻤﻠﻪ ﻣﻬﻤﺘﻬﺎ او ان اى ﻣﻦ ﺗﻠﻚ اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﻬﻤﺔ ﻏﻴﺮ ﺻﺎﻟﺤﺔ. وﻳﺴﺘﺨﺪم هﺬا Clusterﻋﺎدة ﻓﻰ آﺜﻴﺮ ﻣﻦ اﻟﺪوال و SubVIآﻤﺪﺧﻞ او ﻣﺨﺮج.
65
آﻴﻒ ﺗﺘﻔﺎﻋﻞ SubVIsو اﻟﺪوال ﻣﻊ اﻻﺧﻄﺎء : اذا ﺣﺪث ﺧﻄﺄ داﺧﻞ داﻟﺔ او SubVIﻓﺎﻧﻬﺎ ﺗﺨﺮج ﻣﻌﻠﻮﻣﺎت اﻟﺨﻄﺄ ﻓﻰ error out clusterﺣﺘﻰ ﺗﻜﻮن هﺬة اﻟﻤﻌﻠﻮﻣﺎت ﺟﺎهﺰة ﻟﻠـ SubVIواﻟﺪوال اﻟﺘﻰ ﺗﻠﻴﻬﺎ. اذا اﺳﺘﻘﺒﻠﺖ SubVIاو داﻟﺔ ﻋﻠﻰ ﻣﺪﺧﻠﻬﺎ error inﻳﺤﺘﻮى ﻋﻠﻰ ﺧﻄﺄ ﻓﺎﻧﻬﺎ ﻻ ﺗﻘﻮم ﺑﺎى ﻋﻤﻞ اﻻ ﺑﻌﺪ ازاﻟﺔ ﺳﺒﺐ اﻟﺨﻄﺄ.واذا ﻟﻢ ﻳﺘﻢ ازاﻟﺔ ﺳﺒﺐ اﻟﺨﻄﺄ ﺗﻘﻮم VIﺑﺘﻤﺮﻳﺮ error inاﻟﻰ error outﻟﻴﻜﻮن ﺟﺎهﺰا ﻟﻠﺪوال و SubVIsاﻟﺘﻰ ﺗﻠﻴﻬﺎ.
اﻧﺘﺸﺎر ﻣﻌﻠﻮﻣﺎت اﻟﺨﻄﺄ ﻋﻦ ﻃﺮﻳﻖ ﺗﺪﻓﻖ اﻟﺒﻴﺎﻧﺎت : ﻋﻨﺪ ﺗﺼﻤﻴﻢ اﻟﺒﺮﻧﺎﻣﺞ ﻳﻔﻀﻞ رﺑﻂ ﻣﺪاﺧﻞ وﻣﺨﺮاج Error Clustersﻟﻠﺪوال و SubVIﺣﺘﻰ ﻳﺘﻢ ﻧﺸﺮ Error Clusterﻋﻦ ﻃﺮﻳﻖ ﺗﺪﻓﻖ اﻟﺒﻴﺎﻧﺎت ﻓﺒﺬﻟﻚ اﻟﻤﻌﻠﻮﻣﺎت ﻋﻦ اﻟﺨﻄﺄ اﻟﺬى ﻳﺤﺪث ﺗﻜﻮن ﻣﺘﺎﺣﺔ ﻟﻠﺪاﻟﺔ او SubVIاﻟﺘﻰ ﺳﺘﻨﻔﺬ.
: Error Case Structure ﻋﻨﺪ ﺗﻮﺻﻴﻞ Error Clusterﺑﺎﻟﻤﺪﺧﻞ Case Selectorﻟـ Case Structureﻓﺎﻧﻪ ﻳﺼﺒﺢ ﻟﻠـ Case Structureﺣﺎﻟﺘﻴﻦ :
66
• اﻟﺤﺎﻟﺔ اﻻوﻟﻰ ) Errorﻟﻮن اﻃﺎرهﺎ اﺣﻤﺮ ( وهﻰ اﻟﺤﺎﻟﺔ اﻟﺘﻰ ﺳﺘﻨﻔﺬ اﺛﻨﺎء ﺗﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ اذا آﺎن Error In Clusterﻳﺤﺘﻮى ﻋﻠﻰ ﺧﻄﺄ ).(Status=True • اﻟﺤﺎﻟﺔ اﻟﺜﺎﻧﻴﺔ ) No Errorﻟﻮن اﻃﺎرهﺎ اﺧﻀﺮ ( وهﻰ اﻟﺤﺎﻟﺔ اﻟﺘﻰ ﺳﺘﻨﻔﺬ اﺛﻨﺎء ﺗﻨﻔﻴﺬ اﻟﺒﺮﻧﺎﻣﺞ اذا آﺎن Error In Clusterﻻ ﻳﺤﺘﻮى ﻋﻠﻰ ﺧﻄﺄ ).(Status=False وﻏﺎﻟﺒﺎ ﻋﻨﺪ ﺗﺼﻤﻴﻢ SubVIﻳﻮﺿﻊ آﻮد SubVIداﺧﻞ اﻟﺤﺎﻟﺔ . No Errorﻓﻬﻰ ﺳﺘﻨﻔﺬ ﻣﻬﻤﺘﻬﺎ اذا ﻟﻢ ﻳﺄﺗﻰ ﻟﻬﺎ ﺧﻄﺄ ﻣﻦ اﻟﺪوال او SubVIsاﻟﺘﻰ ﻗﺒﻠﻬﺎ.
وﻓﻰ اﻟﺤﺎﻟﺔ Errorﺳﻮف ﺗﻘﻮم ﺑﺘﻤﺮﻳﺮ Error Clusterاﻟﻰ ﺧﺎرﺟﻬﺎ ﻟﺘﻨﻘﻞ اﻟﻤﻌﻠﻮﻣﺎت ﻋﻦ اﻟﺨﻄﺄ اﻟﻰ اﻟﺪوال و SubVIsاﻟﺘﻰ ﺑﻌﺪهﺎ. 67
: Error Clusters دﻣﺞ . ﻳﻤﻜﻦ ﺟﻤﻌﻬﻢ ﺟﻤﻴﻌﺎ ﻓﻰ ﻣﺴﺎر واﺣﺪError Cluster اذا آﺎن هﻨﺎك اآﺜﺮ ﻣﻦ ﻣﺼﺪر او ﻣﺴﺎر ﻟﻠـ .Error Clusters ﻟﺪﻣﺞ اآﺜﺮMerge Errors.vi وﺗﺴﺘﺨﺪم
وﻳﺘﻢ ادراﺟﻬﺎ ﻣﻦ Function Palette >>Dialog & User Interface
68
وﻣﺪاﺧﻞ هﺬة VIﺛﻼث ﻣﺪاﺧﻞ : : Error In1ﻣﺪﺧﻞ ﻟـ Error Clusterاﻻآﺜﺮ اهﻤﻴﺔ. : Error In 2ﻣﺪﺧﻞ ﻟـ Error Clusterواهﻤﻴﺔ هﺬا اﻟﻤﺪﺧﻞ ﺑﻌﺪ اهﻤﻴﺔ Error In1 : Error In3ﻣﺪﺧﻞ ﻟـ Error Clusterواهﻤﻴﺔ هﺬا اﻟﻤﺪﺧﻞ ﺑﻌﺪ اهﻤﻴﺔ .Error In2 : Error Array inﻣﺪﺧﻞ ﻟﻤﺼﻔﻮﻓﺔ ﻣﻦ Error Clustersواهﻤﻴﺘﻬﺎ ﺗﺄﺗﻰ ﺑﻌﺪ اهﻤﻴﺔ اﻟﻤﺪاﺧﻞ اﻟﺜﻼث. وﺗﺨﺮج هﺬة Error Cluster VIوﺣﻴﺪ .ﻓﺎذا آﺎن اﺣﺪ اﻟﻤﺪاﺧﻞ ﻳﺤﺘﻮى ﻋﻠﻰ ﺧﻄﺄ )( Status=True ﺗﺨﺮج اﻟﺪاﻟﺔ Error Clusterﻟﻬﺬا اﻟﻤﺪﺧﻞ . وﻟﻮ آﺎن هﻨﺎك اآﺜﺮ ﻣﻦ ﻣﺪﺧﻞ ﻳﺤﺘﻮى ﻋﻠﻰ ﺧﻄﺄ ﺗﺨﺮج اﻟﺪاﻟﺔ Error Clusterﻟﻠﻤﺪﺧﻞ اآﺜﺮ اهﻤﻴﺔ. ﻣﺜﺎل :ﻟﻮ ان Error In2و Error In 3ﻳﺤﺘﻮﻳﺎن ﻋﻠﻰ اﺧﻄﺎء ) Status =Trueﻓﻰ آﻼهﻤﺎ( ﺗﺨﺮج اﻟﺪاﻟﺔ Error In 2ﻻﻧﻪ اآﺜﺮ اهﻤﻴﺔ. واذا ﻟﻢ ﻳﻜﻦ هﻨﺎك اﺧﻄﺄ ﻓﻰ اﻟﻤﺪاﺧﻞ ﺗﺒﺤﺚ اﻟﺪاﻟﺔ ﻋﻦ اﻟﺘﺤﺬﻳﺮات ﻋﻠﻰ اﻟﻤﺪاﺧﻞ وﺗﺨﺮج اآﺜﺮ اﻟﺘﺤﺬﻳﺮات اهﻤﻴﺔ ان وﺟﺪت. واذا ﻟﻢ هﻨﺎك اى ﺧﻄﺄ او ﺗﺤﺬﻳﺮ ﺗﺨﺮج اﻟﺪاﻟﺔ Error Clusterﻻ ﻳﺤﺘﻮى ﻋﻠﻰ اﺧﻄﺎء )(No Error آﻴﻔﻴﺔ ﺗﻜﻮﻳﻦ Errorداﺧﻞ : SubVI آﻴﻒ ﻳﻤﻜﻦ ﺟﻌﻞ SubVIاذا ﻟﻢ ﺗﺴﺘﻄﻊ اآﻤﺎل ﻣﻬﻤﺘﻬﺎ ﻻى ﺳﺒﺐ ان ﺗﻜﻮن ﺧﻄﺄ وﺗﺨﺮﺟﻪ. ﻣﺜﺎل SubVI :ﺗﻘﻮم ﺑﺤﺴﺎ ب اﻟﺠﺬر اﻟﺘﺮﺑﻴﻌﻰ ﻟﻼﻋﺪاد ﻓﺎذا آﺎن اﻟﺪﺧﻞ ﻋﺪد اآﺒﺮ او ﻳﺴﺎوى اﻟﺼﻔﺮ ﻓﺎﻧﻬﺎ ﺗﺤﺴﺐ اﻟﺠﺬر اﻟﺘﺮﺑﻴﻌﻰ و اذا آﺎن اﻟﺪﺧﻞ ﻋﺪد ﺳﺎﻟﺐ ﻓﺎن SubVIﺗﻘﻮم ﺑﺘﻜﻮﻳﻦ ﺧﻄﺄ ﻻن اﻟﻌﺪد ﺳﺎﻟﺐ وﺗﻘﻮم ﺑﺎﺧﺮاج هﺬا اﻟﺨﻄﺄ ﻓﻰ .Error Cluster ﻟﻌﻤﻞ ذﻟﻚ ﻧﺴﺘﺨﺪم اﻟﺪاﻟﺔ Error Cluster from Error Code
69
ﺗﻘﻮم هﺬة VIﺑﺘﺤﻮﻳﻞ اﻟﺮﻗﻢ اﻟﻜﻮدى ﻟﻠﺨﻄﺄ اﻟﻰ . Error Cluster وﻣﺪاﺧﻞ هﺬة :VI • : Error Codeاﻟﺮﻗﻢ اﻟﻜﻮدى ﻟﻠﺨﻄﺄ . • : Error Messageوﺻﻒ ﻟﻠﺨﻄﺄ هﺬا اﻟﻮﺻﻒ ﻳﻈﻬﺮ ﻋﻨﺪ اﺳﺘﺨﺪام Simple Error Handler )ﺳﻴﺄﺗﻰ ﺷﺮﺣﻪ ﻓﻰ اﻟﺠﺰء اﻟﻘﺎدم( واذا ﻟﻢ ﻳﻮﺻﻞ هﺬة اﻟﻤﺪﺧﻞ ﻓﺎن LabVIEWﻳﻈﻬﺮ اﻟﻮﺻﻒ اﻟﺘﻘﻠﻴﺪى اﻟﺨﺎص ﺑـ .Error Code • : Error inﻣﺪﺧﻞ Error Clusterاﻟﺬى ﻳﺤﺘﻮى ﻋﻠﻰ اﻟﻤﻌﻠﻮﻣﺎت ﻋﻦ اى ﺧﻄﺄ ﺣﺪث ﻗﺒﻞ ﻋﻤﻞ . VI وﻣﺨﺮج هﺬة :VI • Error Cluster : Error Outﻳﺤﺘﻮى ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎت ﻋﻦ اﻟﺨﻄﺄ اﻟﺨﺎص ﺑﺎﻟـ Error Codeوذﻟﻚ ﻓﻰ ﺣﺎﻟﺔ اذا آﺎن Error Inﻻﻳﺤﺘﻮى ﻋﻠﻰ ﺧﻄﺄ اﻣﺎ ﻓﻰ ﺣﺎﻟﺔ ان Error In ﻳﺤﺘﻮى ﻋﻠﻰ ﺧﻄﺄ ﻓﺎن ﺧﺮج Error Outهﻮ ﻧﻔﺴﻪ .Error In
70
71
آﻴﻔﻴﺔ اﻇﻬﺎر رﺳﺎﻟﺔ ﺧﻄﺄ ﻟﻠﻤﺴﺘﺨﺪم : ﻋﻨﺪﻣﺎ ﻻ ﻳﺴﺘﻄﻴﻊ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺨﻄﺄ او ازاﻟﺘﻪ ﻓﺎﻧﻪ ﻳﻤﻜﻦ اﻇﻬﺎر رﺳﺎﻟﺔ ﻟﻠﻤﺴﺘﺨﺪم ﺗﺒﻴﻦ ﺣﺪوث اﻟﺨﻄﺄ . ﺗﺴﺘﺨﺪم Simple Error Handler .viﻻﻇﻬﺎر رﺳﺎﻟﺔ ﻟﻠﻤﺴﺘﺨﺪم ﺑﺎﻟﺨﻄﺄ اﻟﺬى ﺣﺪث . وﻳﺘﻢ ادراج هﺬة VIﻣﻦ Function Palette>>Programming>>Dialog & User Interface
وﻳﺘﻢ ﺗﻮﺻﻴﻞ Error Clusterﻓﻰ اﻟﺒﺮﻧﺎﻣﺞ اﻟﻰ ﻣﺪﺧﻞ هﺬة VIﻓﺎذا آﺎن هﻨﺎك ﺧﻄﺄ ﺗﺨﺮج هﺬة اﻟﺪاﻟﺔ وﺻﻒ ﻟﻠﺨﻄﺄ آﻤﺎ اﻧﻬﺎ ﺗﻈﻬﺮ رﺳﺎﻟﺔ ﻟﻠﻤﺴﺘﺨﺪم ﺑﻪ هﺬا اﻟﻮﺻﻒ. و ﻳﺤﺪد اﻟﻤﺪﺧﻞ type of dialogﻧﻮع اﻟﺮﺳﺎﻟﺔ . 72
واذا ﻟﻢ ﻳﻮﺻﻞ هﺬة اﻟﻤﺪﺧﻞ ﺗﻈﻬﺮ رﺳﺎﻟﺔ ﺑﺰرار واﺣﺪ.
ﻧﺎﻓﺬة : Explain Error ﻋﻨﺪﻣﺎ ﻳﺤﺘﻮى Error Cluster Controlاو Error Cluster Indicatorﻋﻠﻰ ﺧﻄﺄ ﻓﻴﻤﻜﻦ اﻇﻬﺎر ﻧﺎﻓﺬة Explain Errorاﻟﺘﻰ ﺗﺤﺘﻮى ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎت ﻋﻦ اﻟﺨﻄﺄ ﺑﺎﻻﺿﺎﻓﺔ ﻟﻮﺻﻒ اﻟﺨﻄﺄ واﺳﺒﺎب ﺣﺪوﺛﻪ.
73
اﺧﺘﺒﺎر ﺣﺪوث ﺧﻄﺄ ﻓﻰ : Loops ﻳﺴﺘﺨﺪم Statusاﻟﻤﻮﺟﻮد ﻓﻰ Error Clusterﻓﻰ اﺧﺘﺒﺎر ﺣﺪوث ﺧﻄﺄ ﻣﻦ ﻋﺪﻣﻪ . وذﻟﻚ ﺑﺎﺳﺘﺨﺪام اﻟﺪاﻟﺔ .Unbundle by Name
74
وﻳﺴﺘﺨﺪم Statusﻓﻰ داﺧﻞ Loopsﻻﻳﻘﺎف ﻋﻤﻠﻬﺎ ﻓﻰ ﺣﺎﻟﺔ ﺣﺪوث ﺧﻄﺄ.
75
ﺗﻢ ﺑﺤﻤﺪ اﷲ ﺗﻌﺎﻟﻰ اﻻﻧﺘﻬﺎء ﻣﻦ اﻟﺪرس اﻟﻰ اﻟﻘﺎء ﺑﺎذن اﷲ ﺗﻌﺎﻟﻰ ﻣﻊ اﻟﺪرس اﻟﺴﺎﺑﻊ
[email protected]