On Tuesday, September 30, 2003, at 12:02 PM, Ken Norris wrote:


Howdy,

What are you favorite ways of saving Preferences?

examples:

external files, substacks, reading into CustomProps, hidden fields, etc.

Definitely a data stack with custom properties.


Here is a function, not really tested, that decides good place to save preferences x-platform

--
-- prefsFolder()
--
function prefsFolder
  local tAppDataF, tPrefsF, tAppPrefsF
  get the filename of stack the mainStack of stack kSelf
  set the itemDelimiter to "/"
  get item 1 to -2 of it
  put it into tStackF
  if the platform = "Win32" then
    -- for Windows 2000/XP
    put specialFolderPath(kCSIDL_APPDATA) into tAppDataF
    if tAppDataF = empty then
      -- maybe it's Win 95/98/ME?
      -- use the the mainstack folder
      return tStackF
    end if
    -- have user's application data folder (on 2000/XP)
    -- e.g. c:\documents and settings\alex\application data
    -- make sure our subfolder exists there
    put format("%s/%s", tAppDataF, "Mindlube") into tAppPrefsF
    --
  else if the platform = "MacOS" then
    put specialFolderPath("Preferences") into tPrefsF
    put format("%s/%s", \
        tPrefsF, \
        "Mindlube") into tAppPrefsF
  else -- some Unix variant
    put format("%s/.%s", $HOME, "Mindlube") into tAppPrefsF
  end if
  -- does it exist
  if there is not a folder tAppPrefsF then
    create folder tAppPrefsF
    if the result <> empty then
      throw "failed to create prefs folder:" && the result && tAppPrefsF
    end if
  end if
  if not canWriteFileTo(tAppPrefsF) then
    throw "preferences folder is not writable:" && tAppPrefsF
  end if
  return tAppPrefsF
end prefsFolder



Alex Rice <[EMAIL PROTECTED]> | Mindlube Software | http://mindlube.com

what a waste of thumbs that are opposable
to make machines that are disposable  -Ani DiFranco

_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to