Bob is right - LiveCode does not natively know how to handle lines of data as a set of fixed-length fields, so you have to roll your own field defs and apply them to each line.

Here is one way:

local sFieldLengths = "5,16,1,3,8,8"

on mouseUp
   answer file "Select a text file with fixed-length fields:"
   if it = empty then exit to top
   put url ("file:" & it) into tData

   split tData with CR
   repeat for each key tLineNum in tData
      put mySplit(tData[tLineNum]) into tData[tLineNum]
   end repeat

   -- now 'tData' is a two-dimension array
   -- of fields by number within lines by number
end mouseUp

function mySplit pRecord
   put 0 into tOffset
   put 0 into x
   repeat for each item tLength in sFieldLengths
      add 1 to x
      put char (tOffset+1) to (tOffset+tLength) of pRecord into tFieldArray[x]
      add tLength to tOffset
   end repeat
   return tFieldArray
end mySplit


But if you have control over the data format and can use tab-delimited data, it becomes much simpler:

on mouseUp
   answer file "Select a tab-delimited text file:"
   if it = empty then exit to top
   put url ("file:" & it) into tData

   split tData with CR
   repeat for each key tLineNum in tData
      split tData[tLineNum] with tab
   end repeat

   -- now 'tData' is a two-dimension array
   -- of fields by number within lines by number
end mouseUp


Food for thought...
Phil Davis



On 12/14/10 3:42 PM, Bob Sneidar wrote:
Looks like you have to roll your own.

Bob


On Dec 14, 2010, at 3:37 PM, JosepM wrote:

Hi,

Is posible in LiveCode delimite the chars of a variable inside of one array
to assign other variable that assign the values into the array to each
element.

Example, so my explanation is confused :) I know.

I have a string with:

00000Description nameT001    0.00    0.00

and I need to asign the entire string to the array but autofilling the
values like in Pascal when use "Type of"

So the string will be... splited by the definition of the array, but I don't
know if is posible define one array with the length of her elements.

00000
Description name
T
001
    0.00
    0.00


Salut,
Josep

--
View this message in context: 
http://runtime-revolution.278305.n4.nabble.com/array-types-tp3088217p3088217.html
Sent from the Revolution - User mailing list archive at Nabble.com.

_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net


_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to