Faster way to get tabStops?

Mike Bonner bonnmike at gmail.com
Wed Feb 18 19:40:59 EST 2015


number if items not tabs. DOH.  Delimiter  on the brain.

On Wed, Feb 18, 2015 at 5:40 PM, Mike Bonner <bonnmike at gmail.com> wrote:

> Ah, here.  If you're looking for the longest formatted line, you can do
> "the formattedwidth of field..." whatever.
>
> Then, if you're looking for the maximum number of tabs, you can cycle
> through the lines with for each, and look for the line with the most items.
>  (if the number of items in tLine > tCurrentItems then put the number of
> items in tLine into tCurrentItems)
>
> Does this get you close to what you want to do?
>
> On Wed, Feb 18, 2015 at 5:30 PM, Mike Bonner <bonnmike at gmail.com> wrote:
>
>> 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