5 Replies Latest reply on Jan 15, 2015 9:05 PM by philmodjunk

    Automatically Populate Return Deliminated Field



      Automatically Populate Return Deliminated Field


      I am trying to create a visual rectangle that changes size dynamically based on inputs from fields. I have been using the chart tool do explore this and have found that plot style with small enough iterations can create this. Right now I can get the shape, and it to change, but I have been manually putting in the return deliminated iterations manually into the "iteration field" and the scatter looks at the two "iterationX" and "iterationY". I have been able to increase the "iteration field" by an appropriate iteration but it just replaces the contents where I would like it to return and place the iteration at the bottom, creating a list like.

      Input fields- BottomLeftX, BottomLeftY, BottomRightX,  BottomRightY, TopRightX, TopRightY, TopLeftX, TopLeftY  (These act as the X,Y coordinates of the corners of the rectangles)

      Automatically Created fields - IterationX , IterationY

      Attached is how it is pictured.

      Are there other ways to do this, outside of plot?





        • 1. Re: Automatically Populate Return Deliminated Field

          In a calculation--such as you might define in a calculation field, an auto-enter calculation or in a set field script step, both the List and ExecuteSQL functions can produce a return separated list of values.

          List ( EdgeLeftx ; edgeRightx ; and so forth... )

          A check box formatted field also stores the values selected by the user separated by returns, but in the order that the user clicked the check boxes unless you do a bit of auto-enter trickery to enforce a specific order.

          Other options are also possible such as: EdgeLeftx & ¶ & edgeRightx &

          The ¶ character puts a return between the values of the two fields shown.


          • 2. Re: Automatically Populate Return Deliminated Field

            I see how this could work if I were to create separate fields for each iteration, but then the iteration would step at different intervals based on the size of the rectangle. I would like each iteration to step at a constant variable, so depending on the size of the rectangle the Iteration field would be longer or shorter.

            Attached is just the script to give the X plot points for the first "line". The script that inserts the iteration just replaces the values by the +0.5 iteration, but it just replaces the value in the field instead of entering it below.


            • 3. Re: Automatically Populate Return Deliminated Field

              What I described can work with different fields, a single field, variables or a set of records. (I kept my answer very general and actually listed several different approaches.)

              What you show in your loop should be written:

              as one of the two following options:

              Set Field [chart::iterx ; chart::iterx & ¶ & $Variable ]

              Set Field [chart::iterx ; List ( chart::iterx ; $variable ) ]

              Both steps apeend the value of $Variable to the values already listed in the chart::Iterx field

              But your set variable step doesn't make sense here as you wouldn't take a field storing a list, add 0.5 to it and store it in $Variable, which is apparently what you are trying to do here...

              • 4. Re: Automatically Populate Return Deliminated Field

                Thank you! Works like a charm!


                A little off subject but do you know if there is, or will be, a way to insert shapes or "dynamic images" to change in size and location depending on fields. Like with 3-D modeling software or CAD?


                Thanks again

                • 5. Re: Automatically Populate Return Deliminated Field

                  I'm just a fellow user of the product and FileMaker does not announce the features of future product versions in advance. You might investigate plug ins and Java coding inside a web viewer to see what others may have done in that area.