control references
Sarah
sarahr at genesearch.com.au
Sun Jun 23 22:45:01 EDT 2002
Hi Doug,
It seems to me that you are asking too much in expecting the same code
to handle a reference no matter whether it is a short reference or a
long reference, and a name, number or ID. If you have a field called
"Data" and you pass it's short name to this script, it's parameter is
going to be "Data" which won't work.
I would start by insisting on a single reference type, say ID. Once your
basic script is working properly, perhaps you could put in some sort of
testing to see what sort of reference was being passed and convert the
reference to a standard form for use in the rest of your script.
When testing your script altered in this way, I had a weird problem with
your variable names: f1Text & f2Text didn't work properly. They appeared
twice in the Script Debug variable list. One of each got set correctly
to the contents of the field, the other pair got left empty. Once I
changed the variable names, the following script worked fine:
on mouseUp
put the ID of fld "Start" into startID
put the ID of fld "End" into endID
equalizeNlines startID, endID
end mouseUp
-- this just swaps the contents of the fields
on equalizeNlines f1, f2
-- f1 and f2 are short IDs of fields
if there is a field ID f1 and there is a field ID f2 then
put fld ID f1 into var1
put fld ID f2 into var2
put var1 into fld ID f2
put var2 into fld ID f1
end if
end equalizeNlines
Note that if your script has:
put "field 1" into field "New field"
then the text "field 1" will go into the field.
If you leave off the quotes and say
put field 1 into field "New field"
then the contents of field 1 will be used.
Cheers,
Sarah
On Monday, June 24, 2002, at 06:50 AM, Ivers, Doug E wrote:
> Here's a code snippet that I'm currently working on:
> on equalizeNlines f1, f2
> -- f1 and f2 are any valid field references
> -- note that I want to be able to pass in short name, ID, or number or
> long name, ID, or number
> if exists(f1) and exists(f2) then
> put value(f1) into f1Text -- slightly goofy
> put value(f2) into f2Text -- slightly goofy
> ...
> ...
> do "put f1Text into "& f1 -- very goofy -- wish for: put f1Text
> into object(f1)
> do "put f1Text into "& f2 -- very goofy -- wish for: put f2Text
> into object(f2)
>
More information about the use-livecode
mailing list