Do you want them even though they are commented, or do you not want them?

For Navigator I don't care about commented handlers although I suppose maybe I should.

Since a comment relieves you of syntax requirements, this line is perfectly legitimate:

-- I've commented out this handler: on doSomething

I'm going to ignore such handlers, since they're just annoying. ;-)

That leaves two possibilities:

 -- on doSomething
 --on doSomething

So change the statement below to:

  if (word 1 of L is among the items of \
"on,function,getprop,setprop,--on,--function,--getprop,--setprop" and...etc.) \
  or (word 1 of L is "--" and \
word 2 of L is among the items of "on,function,getprop,setprop" and...etc.)

regards,

Geoff


On Mar 17, 2006, at 9:09 AM, Mark Smith wrote:

Lucid and thorough, as usual. And we'd all forgotten about 'Prop' handlers. However, to nitpick, and raise a question from earlier in the thread, what about handlers that are commented out?

hmmm..not as simple as it might seem...

Mark

On 17 Mar 2006, at 16:16, Geoff Canyon wrote:


On Mar 16, 2006, at 5:25 PM, Thomas McGrath III wrote:

But, I would like to get just one of the handlers from a script via script: put handler "FooBar" of the script of card "Foo" into tBar

Most of the solutions presented so far make assumptions. For example, there can be more than one space between "on" and the handler name.

In Navigator I use this to retrieve a list of the handler names:

repeat for each line L in tText -- tText is the script
if word 1 of L is among the items of "on,function,getprop,setprop" then
    put L & cr after tMenuText
  end if
end repeat

So to get the handler you would be doing something like:

put 0 into tLineNumber
put false into tEnteredHandler
repeat for each line L in tText -- tText is the script
  add 1 to tLineNumber
if word 1 of L is among the items of "on,function,getprop,setprop" and \
    word 2 of L is tHandlerName then
    put tLineNumber into tStartLineNumber
    put true into tEnteredHandler
  end if
  if tEnteredHandler and \
    word 1 of L is "end" and \
    word 2 of L is tHandlerName then
    put tLineNumber into tEndLineNumber
    exit repeat
  end if
end repeat

-- if tEnteredHandler is false, we didn't find the handler
-- if tEnteredHandler is true, tStartLineNumber is where it starts,
-- tEndLineNumber is where it ends

regards,

Geoff
_______________________________________________
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

_______________________________________________
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


_______________________________________________
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