Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: udfArrayReverse Array Reverse Element
;------------------------------------------------------------------------------------------------------------------------------------------ #DefineFunction udfArrayReverse (arrArray) objSC = CreateObject ("MSScriptControl.ScriptControl") objSC.AllowUI = @FALSE Switch @TRUE Case 256 == VarType (arrArray) ; WinBatch Array. Case ObjectTypeGet (arrArray) == "ARRAY|VARIANT" ; Variant Array objSC.Language = "jscript" objSC.AddCode(: "function VB2JSArray(objVBArray){var a;try{a=new VBArray(objVBArray).toArray();}catch(e){a=new Array(objVBArray);}return a;}") objSC.AddCode(: 'function JS2VBArray(objJSArray){var dict=new ActiveXObject("Scripting.Dictionary");for(var i=0;i<objJSArray.length;i++){dict.add(i,objJSArray[i]);}return dict.Items();}') objSC.AddCode(: "function ArrayReverse(objVBArray){return JS2VBArray(VB2JSArray(objVBArray).reverse());}") arrArray = objSC.Run(: "ArrayReverse", arrArray) Break Case @TRUE objSC.Language = "vbscript" objSC.AddCode(: "Dim a()") arrArray = objSC.Eval(: "a") EndSwitch Return arrArray ;.......................................................................................................................................... ; This UDF "udfArrayReverse" returns a zero-based variant array that contains all elements from the given array in reversed order ; (makes the last element first, and the first element last). ; ; Parameter: ; arrArray ... A one-dimensional array. Array type can be WinBatch Array or Variant Array. ;.......................................................................................................................................... ; Alternative codeline, see above: ; objJSC.AddCode(: "function VB2JSArray(objVBArray){return new VBArray(objVBArray).toArray();}") ; Possibly in some circumstances not so safe to use. ;.......................................................................................................................................... ; (c)Detlev Dalitz.20100121. ; Jim Dippner.20080221: changed VB2JSArray. ; David Wang.20060704: created VB2JSArray, JS2VBArray. ;.......................................................................................................................................... #EndFunction ;------------------------------------------------------------------------------------------------------------------------------------------
Article ID: W18342
Filename: udfArrayReverse.txt
File Created: 2010:01:21:10:12:42
Last Updated: 2010:01:21:10:12:42