'show fields' Question

Cubist at aol.com Cubist at aol.com
Fri Apr 25 16:13:01 CDT 2003


sez DSmith at cvm.tamu.edu:
>This is a MIME message. If you are reading this text, you may want to 
>consider changing to a mail reader or gateway that understands how to 
>properly handle MIME multipart messages.
   I realize this is a chunk of automated boilerplate, but *you* may want to 
consider changing to an email prog which only MIME-izes those messages that 
*need* to be MIME'd...
   Moving right along:

>I am trying to find ways to condense the number of script lines per
>object to get around the 10 lines of script per object limit I face with
>my trial version. I was wondering if it is possible to 'show' and/or
>'hide' multiple fields per script line. For example, is there a way to
>condense the following lines of script to one line:
>
>hide field "Stage 1"
>hide field "Stage 3"
>hide field "Stage 4"
>hide field "Etapa 1"
   Hmmm. The earlier suggestion about grouping the fields, so you can 
show/hide the lot with one "show group Fred" command, should do the job... 
but if grouping doesn't do the job, there are alternatives. In this case, you 
can definitely use fewer than 4 lines -- like so:

repeat with K1 = 1 to 4
  hide field (item K1 of "stage 1,stage 3,stage 4,etapa 1")
end repeat

   This trick is nice because you can generalize it out to as many different 
fields as you need. And if you convert the whole thing into a handler in your 
stack script, not only can you take care of arbitarily many fields in one go, 
it's functionally reduced to one line in every *other* script you've got! 
Like so:

on ToggleFields DaList,ShowVal
  # DaList is a comma-delimited list of field names
  # ShowVal is a boolean (true/false) value
  repeat with K1 = 1 to the number of items in DaList
    # look, Ma -- we don't CARE how many items are in DaList!
    set the visible of field (item K1 of DaList) to ShowVal
    # and this is why I went with a boolean value, instead of
    # hard-coding "show"/"hide" into the thing
  end repeat
end ToggleFields

   With this handler in the stack script, one single line...
ToggleFields ("stage 1,stage 3,stage 4,etapa 1",false)
   ...does what you need anywhere else.
   This specific code may not work "as is" in Rev (I'm too much of a 
HyperCard victim...), but the idea should be fairly clear, right?
   Hope this helps...



More information about the use-livecode mailing list