Hmmm - you haven't mentioned how much data you're working with.
Using lineoffset() to check for duplicated keys will make you (relatively) slow on large data sets, since it is O(n**2).

Since you know that item 2 is not empty, you must also know that the whole line is not empty :-),
so you can simply check for that.

put empty into Array
repeat for each line tLine in tData
  put item 2 of tLine into tKey
  if tKey = EMPTY then next repeat
  if tArray[tKey] is EMPTY then
put tLine & CR after tArray[tKey] -- or would 'into' be even faster than 'after' ??
  end if
end repeat

Alex.

On 19/08/2017 15:23, Klaus major-k via use-livecode wrote:
Little addition, thanks hermann:

Am 19.08.2017 um 15:44 schrieb Klaus major-k via use-livecode 
<use-livecode@lists.runrev.com>:

Hi Mike,

I added a little IF THEN clause to avoid doublettes in the ney key, too,
and now it does what I need, thanks again!

Am 19.08.2017 um 15:12 schrieb Klaus major-k via use-livecode 
<use-livecode@lists.runrev.com>:
put empty into tArray
## To avoid surpises with LINEOFFSET:
set the wholematches to TRUE

repeat for each line tLine in tData
put item 2 of tLine into tKey
if tKey = EMPTY then next repeat
put tLine & CR after tArray[tKey]
## So this will work as exspected:
if lineoffset(tKey,tArray["keylist"]) = 0 then
put tKey & CR after tArray["keylist"]
end if

## put tKey & cr after tarray['myKeyList']
end repeat
Best

Klaus

--
Klaus Major
http://www.major-k.de
kl...@major-k.de


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



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

Reply via email to