WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Samples from Users
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Two Dimensional Array Conversion UDFs

 Keywords: Array Arrayize Table Two dimenstion row column ArrInitialize

Here are two functions to read a 2-dimensional delimited list or a 2-dimensional file into an array.
#DefineFunction fArrayizeTable(list, colsep, rowsep, ibase)
;  **************************************************************************************
;  * 2-dimensional ItemList to Array
;  *
;  * (i) Itemlist
;  * (i) column separator
;  * (i) row separator
;  * (i) base of array, 0 or 1 (because I don't like the 0-base ;-)
;  * (o) array
;  *
;  * 2011-02-26 Lars M. Doornbos
;  **************************************************************************************
   arrtmp = Arrayize(list, rowsep)
   dim1   = ArrInfo(arrtmp, 1)
   dim2   = ItemCount(arrtmp[0],colsep)
   If dim2 == 1 Then Return arrtmp

   arr    = ArrDimension(dim1+ibase, dim2+ibase)
   rtv    = ArrInitialize(arr, '')
   For i = 1 To dim1
      row = arrtmp[i-1]
      For j = 1 To dim2
         arr[i-1+ibase,j-1+ibase] = ItemExtract(j, row, colsep)
      Next
   Next
   Return arr
#EndFunction

#DefineFunction fArrayFileGetTable(filename , colsep, ibase)
;  **************************************************************************************
;  * 2-dimensional FileGet to Array
;  *
;  * (i) filename
;  * (i) column separator
;  * (i) base of array, 0 or 1 (because I don't like the 0-base ;-)
;  * (o) array
;  *
;  * 2011-02-26 Lars M. Doornbos
;  **************************************************************************************
   arrtmp = ArrayFileGet(filename)
   dim1   = ArrInfo(arrtmp, 1)
   dim2   = ItemCount(arrtmp[0],colsep)
   If dim2 == 1 Then Return arrtmp

   arr    = ArrDimension(dim1+ibase, dim2+ibase)
   rtv    = ArrInitialize(arr, '')
   For i = 1 To dim1
      row = arrtmp[i-1]
      For j = 1 To dim2
         arr[i-1+ibase,j-1+ibase] = ItemExtract(j, row, colsep)
      Next
   Next
   Return arr
#EndFunction

Article ID:   W18252
Filename:   Two dimensional Array Conversion UDFs.txt
File Created: 2011:02:28:09:24:34
Last Updated: 2011:02:28:09:24:34