Faster way to get tabStops?

Mike Bonner bonnmike at gmail.com
Thu Feb 19 01:30:28 CET 2015


The problem here is that even though you use the for each form, you are
still using chunking (line x of field y) to do your checks.

I don't know if there is a way to put the formatted text into a variable in
such a way that when you use "for each" you can check the formattedwidth of
tLine

Since you're cycling through every line, with your current method, using
"with i = 1 to the number of lines..." would work just as well and obviate
the need for a self run counter.

On Wed, Feb 18, 2015 at 4:50 PM, Dan Friedman <dan at clearvisiontech.com>
wrote:

> Greetings!  I am trying to set the tabStops to fit the data a field.  The
> script below works great!  However, ask it to process a few thousand lines
> with 10 or so columns, and you'll have time to get a cup of coffee!  Any
> ideas on how to speed this up?  Maybe there is some magical property I
> don't about?
>
> Thanks in advance,
> -Dan
>
>
> on formatData
>   set the itemDel to tab
>   put "" into theTabs
>
>   put 0 into l
>   repeat for each line tLine in fld "myField"
>     add 1 to l
>     put 0 into i
>     repeat for each item tItem in tLine
>       add 1 to i
>       if the formattedWidth of item i of line l of fld "myField" > item i
> of theTabs then
>         put the formattedWidth of item i of line l of fld "myField" into
> item i of theTabs
>       end if
>     end repeat
>   end repeat
>
>   put "" into fTabs
>   put 0 into i
>   put 0 into tTotal
>   repeat for each item tItem in theTabs
>     add 1 to i
>     add tItem+20 to tTotal
>     put tTotal into item i of fTabs
>   end repeat
>
>   replace tab with "," in fTabs
>
>   set the tabStops of fld "myField" to fTabs
> end formatData
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>


More information about the use-livecode mailing list