Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: arrays
data=ArrDimension(10,2) ;fill array for xx=0 to 9 data[xx,0] = xx+xx data[xx,1] = xx*xx next ;report on results for xx=0 to 9 xxplus=data[xx,0] xxmult=data[xx,1] Pause(strcat("xx is ",xx),strcat("xx+xx is ",xxplus,@crlf,"xx*xx is ",xxmult)) nextI think where most people tend to get stuck is where the data goes. In a two-dimensional array, the first index doesn't contain data, it merely acts as a pointer to the data in the second dimension. (To take it further, only the nth dimension has data, the other dimensions act as pointers to this data.) I tend to think of it more as a series of records: eg.
arr=arrdimension(2,3)This gives me an array of two records, each of these records has three elements (eg. the three might be name, address, postcode or something like that). So, to access the data, I choose which record I want out of the two, and grab the data:
name=arr[0,0] addr=arr[0,1] pc=arr[0,2]Hope that helps.
chevy truck red chevy truck green dodge car green ford car blueI believe the following code would return green:
array=ArrDimension(4,3) myans = array[1,3] message("info", myans) exitI would test it, but that leads to my next question: How do you fill the array with the info from cars.dat?
chevy truck red chevy truck green dodge car green ford car blue ;assuming that these values are in a file cars.dat fn="cars.dat" handle=FileOpen(fn,"READ") mycars=ArrDimension(100,3) index=0 imake=0 itype=1 icolor=2 while 1 line=StrTrim(FileRead(handle)) if line=="*EOF*" then break if line=="" then continue mycars[index,imake]=ItemExtract(1,line," ") mycars[index,itype]=ItemExtract(2,line," ") mycars[index,icolor]=ItemExtract(3,line," ") index=index+1 endwhile FileClose(handle) ;index is now a count of elements in the array ;compute maxindex. Since array is zero based, ;just subtract 1 maxindex = index -1 ;look at results for index=0 to maxindex Message(index,strcat(mycars[index,imake]," ",mycars[index,itype]," ",mycars[index,icolor])) nextI always think of a 2 dimentional array being like a spreadsheet:
Name SSN Income Jeff 123-45-6789 10000 Marty 234-56-7890 100000 Laura 345-67-8901 50000 a(1,1) = "Jeff" a(1,2) = "123-45-6789" a(1,3) = "10000" a(2,1) = "Marty" a(2,2) = "234-56-7890" etc...A 3 dimentional array would be like a workbook in Excel. It might look like this: Price(Year, Month, Region)
Article ID: W14820
File Created: 2001:11:08:12:40:10
Last Updated: 2001:11:08:12:40:10