home *** CD-ROM | disk | FTP | other *** search
/ Shocking The Web CD-ROM / SHOCK_CD.ISO / pc / tutorial / ch05_des / autodet / autodet.dcr / 00004_Preferences Script.ls < prev    next >
Encoding:
Text File  |  1996-10-23  |  2.8 KB  |  96 lines

  1. global gPrefsFile, gPrefSettings, gExternalParams
  2.  
  3. on makePref prefName, prefData
  4.   if voidp(gPrefSettings) then
  5.     set gPrefSettings to [:]
  6.   end if
  7.   setaProp(gPrefSettings, prefName, prefData)
  8.   debug(string(gPrefSettings))
  9. end
  10.  
  11. on deletePref prefName
  12.   deleteProp(gPrefSettings, prefName)
  13. end
  14.  
  15. on writePrefs prefsFile
  16.   if (the movieName contains ".dcr") and listp(gPrefSettings) then
  17.     if voidp(prefsFile) then
  18.       if voidp(gPrefsFile) then
  19.         set gPrefsFile to "DXM.txt"
  20.       end if
  21.       set prefsFile to gPrefsFile
  22.     end if
  23.     set prefData to "--Shockwave User Preferences File" & RETURN & RETURN
  24.     repeat with i = 1 to count(gPrefSettings)
  25.       set prefName to getPropAt(gPrefSettings, i)
  26.       set prefSetting to getProp(gPrefSettings, prefName)
  27.       set prefData to prefData & prefName & "=" & prefSetting & RETURN
  28.     end repeat
  29.     setPref(prefsFile, prefData)
  30.     debug("writing preferences: " & prefData)
  31.   end if
  32. end
  33.  
  34. on readPrefs prefsFile, debugArg
  35.   if voidp(prefsFile) then
  36.     if not gPrefsFile then
  37.       set gPrefsFile to "DXM.txt"
  38.     end if
  39.     set prefsFile to gPrefsFile
  40.   end if
  41.   if voidp(gPrefSettings) then
  42.     if voidp(debugArg) then
  43.       set gPrefSettings to [:]
  44.     end if
  45.     if not (the movieName contains ".dcr") then
  46.       exit
  47.     end if
  48.     set prefsText to getPref(prefsFile)
  49.   else
  50.     set prefsText to debugArg
  51.   end if
  52.   set oldDelim to the itemDelimiter
  53.   set the itemDelimiter to "="
  54.   if not voidp(prefsText) then
  55.     repeat with i = 1 to the number of lines in prefsText
  56.       if (the number of items in line i of prefsText > 1) and not (line i of prefsText starts "--") then
  57.         set prefName to item 1 of line i of prefsText
  58.         repeat with j = the number of chars in prefName down to 1
  59.           if char j of prefName = numToChar(32) then
  60.             delete char j of prefName
  61.           end if
  62.         end repeat
  63.         set prefData to item 2 to the number of items in line i of prefsText of line i of prefsText
  64.         repeat with k = 1 to the number of chars in prefData
  65.           if char 1 of prefData <> numToChar(32) then
  66.             exit repeat
  67.           end if
  68.           delete char 1 of prefData
  69.         end repeat
  70.         if not voidp(integer(prefData)) then
  71.           set prefData to integer(prefData)
  72.         end if
  73.         makePref(prefName, prefData)
  74.       end if
  75.     end repeat
  76.   end if
  77. end
  78.  
  79. on readExternalParams
  80.   if not (the movieName contains ".dcr") then
  81.     exit
  82.   end if
  83.   set pCount to externalParamCount()
  84.   if pCount then
  85.     if voidp(gExternalParams) then
  86.       set gExternalParams to [:]
  87.     end if
  88.     repeat with i = 1 to pCount
  89.       set pName to externalParamName(i)
  90.       set pData to externalParamValue(i)
  91.       setaProp(gExternalParams, pName, pData)
  92.     end repeat
  93.     debug(string(gExternalParams), "paramData")
  94.   end if
  95. end
  96.