Offset with 'charstoskip' doesn't work? [was RunRev vsRealBasic (Richard Gaskin)]

Michael D Mays michael.rr at mdmays.com
Fri Jan 21 11:50:46 EST 2005


On Jan 21, 2005, at 10:05 AM, Alex Tweedly wrote:

> Michael D Mays wrote:
>
>> I thought I would see if I could solve the RB/Rev/SC challenge and 
>> tried this as a first attempt:
>>
>> on mouseUp
>>   put fld 1 into sFld
>>   put fld 2 into tFld
>>   put "" into fld 3
>>   -- put 0 into it --*1
>>   put zero into t --*2
>>   repeat with i= 1 to the number of lines in tFld
>>     repeat
>>       -- get offset(line i of tFld,sfld,it) --*1
>>       get offset(line i of tFld,sfld,t) --*2
>>       put it into t --*2
>>       if it is zero then exit repeat
>>       put line i of tFld&&i&&it&return after fld 3
>>     end repeat
>>   end repeat
>> end mouseUp
>>
>> but what happens is along the way it finds a search string in 
>> question at char 246674 and then finds it again at 250675 and then 
>> finds it again at 246674 then at 250675 then at 246674 then at 250675 
>> ...
>>
>> Is offset not working or am I not?
>>
> It's you :-)
> When you do the second search, t already contains an 'skip' value; the 
> result from the offset search is relative to that.
> So instead of
>  put it into t
> you should do
>  add it to t
>
> -- Alex.
>

Someday I will read the complete description in the documentation all 
by myself.:)
Thanks.

But what is the advantage of returning the offset from the last offset 
rather than the offset from beginning?

I think I do need to insert
   put zero into t
after the first repeat and before the second repeat.

Michael



More information about the Use-livecode mailing list