#include #include Global $NAV_OPTIONS_ARRAY[13][3] = [["#", "Abb", "Full"],["1", "Jan.", "January"],["2", "Feb.", "February"],["Mr", "Mar", "March"],["4", "Apr.", "April"],["5", "May", "May"],["6", "Jun.", "June"],["7", "Jul.", "July"],["8", "Aug.", "August"],["9", "Sep.", "September"],["10", "Oct.", "October"],["11", "Nov.", "November"],["12", "Dec.", "December"]] #cs====MailSlot operation #include 'MailSlot.au3' Global Const $sMailSlotName1 = "\\.\mailslot\INavMedia-Nav1";===Receive data from Nav Global Const $hMailSlotFromNav = _MailSlotCreate($sMailSlotName1) Global Const $hMailSlotToNav = "\\.\mailslot\INavMedia-Nav2";===Send data to Nav _MailSlotWrite($hMailSlotToNav, $NAV_OPTIONS_ARRAY, 2, "80") #ce ;#cs====Self contained operation $vData = _ArrayToString ($NAV_OPTIONS_ARRAY) _StringToMultiDArray($vData) If $NAV_OPTIONS_ARRAY[3][0] = "Mr" Then MsgBox(0,"Before " & $NAV_OPTIONS_ARRAY[3][0],"the same") If $NAV_OPTIONS_ARRAY[3][1] = "Mar" Then MsgBox(0,"Before " & $NAV_OPTIONS_ARRAY[3][1],"the same") If $NAV_OPTIONS_ARRAY[3][2] = "March" Then MsgBox(0,"Before " & $NAV_OPTIONS_ARRAY[3][2],"the same") Func _StringToMultiDArray($str) Local $aArray=StringSplit($str ,"|" & @CR) Local $iFilas=StringSplit($str,@CR) Local $iCol=StringSplit($iFilas[1],"|")[0] $iFilas=$iFilas[0] Local $aArray2D[$iFilas][$iCol] Local $i=0 For $f= 0 to $iFilas-1 For $c=0 to $iCol-1 $aArray2D[$f][$c]=$aArray[$i+$c+1] Next $i+=$iCol Next If UBound($aArray2D) < 2 Then $aArray2D = _StringExplode($str, "|");Test if it's one column, if it is just explode the original variable so it's a 1d array ;_ArrayDelete($aArray2D, 0-2) ;_ArrayDisplay($aArray2D, "Final") Return $aArray2D EndFunc ;#ce