6 Replies Latest reply on Nov 11, 2015 7:38 AM by beverly

    I need functions to make digital "flash cards"


      I need two functions to make "flash cards".


      1) I need to create a button that will re-populate the screen with values from a random key value. 


      2) I need a way to hide values for related fields until the field is clicked on -- revealing the correct answer. 


      Any suggestions will be appreciated! 

        • 1. Re: I need functions to make digital "flash cards"

          Good morning.

          The beauty of FIleMaker is that many many problems that one needs to solve can be done in FileMaker. I needed a leader board one time and created it in FileMaker. The platform is more than boring rows and columns of data.


          Since your request is data driven (questions and answers) you can set this up in FileMaker with some work. Here are some things that pop into my mind when I read your request:

          1. Set up a table called "Questions/ANswers" - in your case they could be in the same table or be in separate tables.  Set up another table called "zSystem" or "Home" this will be the TO upon which your 'flash card' layout is built. In this zSystem table have two fields: QuestionNo: A global number field and "Flag_ShowAnswer", a global number field. Build your relationship like this: zSystem::QuestionNo = Questions::ID (serial ID of your question records)


          2. Your "show question" button will need to reset the relationship between Zysstem  and your question/answer table. I'd look up a random number function that would be run every time the button is pressed, filling in the zSystem::QuestionNo field that sets the relationship between the tables. Here's one I use all the time: Creating Random Numbers in FileMaker : SFR FileMaker Blog    


          If each question has an ID of a serial number then this random number would show a question that matches the random number that was generated in the first table.


          3. If you're using FIleMaker 14 you can hide objects (like your answer) until they click another button (either a separate button or the place that the answer should appear). WHen this button is pressed, the zSystem::Flag_ShowAnswer field is set to 1. Every time you re run the script to show a new question, set this field back to "".


          If you're on a version less than 14, you can use a separate relationship to the questions/answers table that becomes valid when you click the button/area, thus revealing the answer.


          This should get yah started.

          • 2. Re: I need functions to make digital "flash cards"

            I did a "flash cards" for my grandson (one for High Frequency Words and one for math).


            1. 're-populate the screen' is not what I did. I had records and just randomly went to another record.


            Go to Record/Request/Page (no dialog; Random * Get ( FoundCount ) )


            2. depending on version, you can "Hide object when". For FM14:






            • 3. Re: I need functions to make digital "flash cards"

              1. works like a charm. 


              I am not able to figure out how to use 2. for what I need however. 


              I'm guessing Jeremy's more laborious approach would do it, but if possible to stay with some thing simple (not requiring additional tables) that's what I'd prefer. 


              I'm picturing an object like a large black button, something to cover the answer until I click it.  When it's clicked it changes from Fill to No Fill/0 opacity, revealing the answer beneath ...

              • 4. Re: I need functions to make digital "flash cards"

                This is what I did:


                the button (over the field) has one step

                Set field (myanswerfield ; <<calc-based-on-whatever-gets-the-answer>>)


                then the answer field is empty until clicked.


                I did something slightly different when I wanted the answer to be typed by the user.



                • 5. Re: I need functions to make digital "flash cards"

                  Okay, what I think might work best is to make a "Study Copy" of the project database.  Then delete the values (not keys) to be learned from the Study Copy.  Then designate a way for answers typed into fields in the Study Copy to be checked against the Master Copy for the right answer.  Possible?  Then run a script to delete the answer in the Study Copy when moving to a new record.


                  Beverly, any relation to what you mentioned about having the answer typed by the user?    I added the Master Copy as an External Data Source in the Study Copy.  Not sure how to validate what is typed in the Study Copy field.   I don't see the Master Copy on any menus or anywhere (like the validate field tab) in the manage databases area. 

                  • 6. Re: I need functions to make digital "flash cards"

                    You can have the "answer" in a field, just don't display it on the layout. Then you have something to check against. You don't need to have a separate layout.


                    Script triggers can clear whatever you want (when moving to a new record).


                    I have a user answer field where they can enter. Check that against the "stored" answer.




                    p.s. on a Macintosh, the Speak script step is great for flash card "verbal hints".