Hard code or portable code
hershrev
hershbp at realtorsgroup.us
Thu Mar 11 16:35:37 EST 2004
Very good explanation .
Thanks , hershrev
On Thursday, March 11, 2004, at 01:31 AM, J. Landman Gay wrote:
> On Wednesday, March 10, 2004, at 04:09 PM, hershrev wrote:
>>
>> Can I please have a little understanding on the parameter part of
>> functions what does it do or add?
>
> The following is kind of long, so apologies in advance. I wrote it for
> someone else a long time ago. The person I was writing to said he
> never used custom functions because he didn't know what they were. He
> asked me to explain.
>
> ***
>
> If Revolution does not have a built-in function to do something you
> want, you can write your own function to do it instead. Suppose we
> want to add two numbers together and get a total. (This is a very
> simple example, and really you would not need to do this because MC
> can add two numbers easily inside a script. But it makes a good
> example.) So we can write a function called "addNumbers" like this:
>
> function addNumbers num1,num2
> put num1 + num2 into theTotal
> return theTotal
> end addNumbers
>
> The parameters "num1" and "num2" are like baskets that hold whatever
> values the original handler sends to the function. In this case, they
> each will contain a number. The special word "return" tells Revolution
> to send the variable "theTotal" back to the handler that asked for the
> information. So, this function takes two numbers that are passed to it
> in the parameters, adds them together, and sends back a total. Now we
> can write a handler that uses this function this way:
>
> on myHandler
> put 16 into theFirstNumber
> put 4 into theSecondNumber
> put addNumbers(theFirstNumber,theSecondNumber) into myTotal
> end myHandler
>
> This handler will send "16" and "4" to our custom function
> "addNumbers". The addNumbers function will catch these two numbers in
> its parameters "num1" and "num2", then add them together, and send
> back "20". The script "myHandler" will receive that 20 and put it into
> the variable "myTotal". So myTotal now equals 20.
>
> When you use a function in a handler, you must provide a place for its
> results to go -- a variable usually, or sometimes a field. For
> example, this will not work:
>
> addNumbers(theFirstNumber,theSecondNumber)
>
> because there is no place for the returned information to go. A
> handler that uses a function must provide a place to store the
> information that the function sends back. This is true of built-in Rev
> functions too. For example, this will not work:
>
> the date
>
> because there is no place for the date to be stored. You must provide
> a place:
>
> put the date into myDate
>
> A handler that uses a custom function must follow the same rule. It
> must provide a place for the returned information to be stored:
>
> put addNumbers(theFirstNumber,theSecondNumber) into myTotal
>
> Functions can be as short or as long as you want, and sometimes can be
> very complicated. But the basics are always the same: a handler asks a
> function to do some work and often sends some parameters to the
> function to tell it what to use for that work. The function does the
> work and returns the finished calculation to the original handler. The
> handler can use the finished calculation any way it wants, just as if
> it were any other variable.
>
> --
> Jacqueline Landman Gay | jacque at hyperactivesw.com
> HyperActive Software | http://www.hyperactivesw.com
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
More information about the use-livecode
mailing list