You can work out exactly what you want if you realize that the result of "the selectedChunk" is always char <chartPosition> to <endPosition> of field <n>, and this will be as you would expect if the selection is not empty:

ie, in "this is a sample string of text" in field 1, selecting the characters "is a sample" would result in a selectedchunk of "char 6 to 16 of field 1" in which case the number of words of char 1 to (word 2 of the selectedchunk) of field 1 would be:

the number of words of char 1 to 6 of field 1,
ie, the number of words of "this i"
which is 2

and if the selection is empty then indeed the selectedchunk is always of the form "char <n> to <n-1> of field 1":

So putting the insertion point before "is" in the above example would result in a selectedchunk of
"char 6 to 5 of field 1"
and therefore the number of words of char 1 to (word 2 of the selectedchunk) of field 1 would be

the number of words of char 1 to 5 of field 1,
ie, the number of words of "this "
which is 1

On Sep 27, 2010, at 1:53 PM, Mike Bonner wrote:

Nevermind. *sigh* Number of words prior to selection or insertion point is put the number of words of (char 1 to (word 2 of the selectedchunk) of
field 1)

Rev is far more amazing than I can make it be.  So is Livecode!

Yes indeed. Once you get the hang of chunk expressions you can do *lots* of things -- auto-format phone numbers, insert boilerplate at particular points in a field, extract specific information from a field or other container, etc. I have a little function to get the zip code for an address by sending the address to google maps, fetching the htmltext of the resulting URL, parsing it to get the zip code from the middle of the htmltext, and returning the zip -- all behind the scenes without displaying the webpage. Takes less than a second with a fast internet connection, the zip code is inserted after the address, and the user never needs to know what goes on behind the scenes.

On Mon, Sep 27, 2010 at 11:50 AM, Mike Bonner <bonnm...@gmail.com> wrote:

Ok thats cool.
So if its NOT just an insertion point then
the number of words of char 1 to (word 2 of the selectedchunk) of field
"yourfield"
will give the number of words preceeding the selection?

Yes, but see above -- it would include the word that starts the selection.

So this whole thing could boil down to

on mouseUp
  if word 4 of the selectedchunk < word 2 of the selectedchunk then
put the number of words of (char 1 to (word 4 of the selectedchunk)
of field 1)
  else
put the number of words of (char 1 to (word 2 of the selectedchunk)
of field 1)
  end if
end mouseUp

Pretty much.

I knew I was making my solution WAY too difficult. Thanks for this.

No problem.

Check out the dictionary entries for not only selectedchunk but also offset, wordoffset, itemoffset, and related terms, then do some experimentation. Text parsing in Rev, er, LiveCode, is very powerful.

-- Peter

Peter M. Brigham
pmb...@gmail.com
http://home.comcast.net/~pmbrig


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

Reply via email to