Hi John, welcome to the gang.

FWIW, if your needs are super-simple, saving the values of various fields - and especially if those fields are not going to have multi-line values, you may want to check out the keywords 'combine' and 'split'.

Combine takes a (simple, not nested) array and combines it into flat text with the delimiters you specify for keys and records; split does the reverse.

So what I've done for this kind of case - simple mobile app, storing some simple values in case it gets backgrounded - is keep all the data in an array; update the array when the data changes (e.g. user edits a field, or some other event) - and then calling a command along these lines:

        command storeSettings
           global gaSettings
           local tPath, tFlat
           put gaSettings into tFlat
           combine tFlat using return and tab
           put format("file://%s/settings.txt", prefsFolder()) into tPath
           put tFlat into URL tPath
        end storeSettings

The advantage over arrayEncode is that the file is very readable - with the above delimiters, each line is an entry from the array, in the format <key><tab><value>. I know Richard questions why one would ever want to read "LSON": my answer is that during development it can be helpful, either directly when developing on desktop, or attaching to error reports once the app has moved onto a device.

The disadvantage is that you need a couple of characters that you know won't be included in either key or value. It doesn't have to be tab and return; you could use "◊" and "¶" - but if you have any doubts of what your users might ever need to enter, this is an issue.

HTH,

Ben


On 27/07/2018 19:37, John McKenzie via use-livecode wrote:

  Thanks for the extra comments everyone. Glad my thought process was
correct, databse is overkill, saving every text change is too much,
etc, etc.

  As I said I will not be able to really do anything until next week.

  Thanks for mentioning the closeField command guys. I will check it
out, but the name sounds like it explains it, loose focus on the field,
field is closed, handling activated.

  Because I like word play I might make my own text file format, the
"Extended Livecode Optimized Serialized Object Notation" format or
ELSON. It adds just enough features to LSON to make identical to JSON.
Being stupid and redundant it will be the hot new buzzword in the
computing industry.


  Using arrays intigues me, especially if I can just keep it in RAM (It
is a small amount of data for sure).

  Thanks for your continued help everyone. Off to super busy weekend
planning and working on an event for Sunday. Will update you/ask
follow-ups next week.


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to