home *** CD-ROM | disk | FTP | other *** search
/ Inventor Labs: Technology / INVENTORLABS_TECHNOLOGY.BIN / mac / FILES / SHARED.CST / 00022_Script_DatabaseMgr < prev    next >
Text File  |  1997-07-24  |  2KB  |  70 lines

  1. --o:  Database Mgr
  2.  
  3. --This object creates/compiles databases, data lists, and data objects and passes the finished 
  4. --data structures to the objects using them.  
  5.  
  6. Property pDatabaseMgrCastLst, pDelimators
  7.  
  8. --/ Developement
  9. global gImplementedHS
  10. --/ 
  11. ----------------------------------------------------------------------------ò
  12. on mInit me, DatabaseMgrCastLst
  13.   --/
  14.   set gImplementedHS = []
  15.   --/
  16.   set pDatabaseMgrCastLst = DatabaseMgrCastLst
  17.   set pDelimators = the text of cast "Datapaks Deliminter"
  18.   return (me)
  19.   
  20. end
  21. ----------------------------------------------------------------------------ò
  22. on mCreateDataPacks me, InventorDB
  23.   
  24.   set HSDBscript = script("HSDataObject")
  25.   set dbMainText = the text of cast InventorDB
  26.   set endline = 0
  27.   set linetext = empty
  28.   set HSdatapak = [:]
  29.   set AvailibleFunctionTypes = [#PICT,#AREA,#TEXT,#FRAME]
  30.   set ListOfFunctionObjs = [#PICT:script "PICT Funct Parent Script",#AREA:script "AREA Funct Parent Script",¼
  31.                                         #TEXT:script "TEXT Funct Parent Script",#FRAME:script "FRAME Funct Parent Script"]
  32.   
  33.   
  34.   -- remove non-data items from beginning of database
  35.   repeat while (lineText <> "ú")
  36.     set endLine = endLine + 1
  37.     set linetext = line endLine of dbMainText
  38.   end repeat
  39.   delete line 1 to endLine of dbMainText
  40.   
  41.   
  42.   repeat while (dbMainText <> empty)
  43.     
  44.     set lineText = Empty
  45.     set endLine = 0
  46.     repeat while (linetext <> "^") 
  47.       set endline = endline + 1
  48.       set linetext = line endline of dbMainText
  49.     end repeat
  50.     
  51.     set HSdata = line 1 to endline of dbMainText
  52.     delete line 1 to endline of dbMainText
  53.     set HSinitLine = line 1 of HSdata
  54.     set FunctionType = value(item 3 of HSinitLine) --returns #PICT, #AREA, #NOTHING, etc.
  55.     set AssociatedHs = value(item 1 of HSinitLine)
  56.     add(gImplementedHS,AssociatedHs)
  57.     set AreaFunctionObject = Birth(getProp(ListOfFunctionObjs, FunctionType))
  58.     set DataPakobj = Birth(HSDBscript)
  59.     mInit( DataPakobj, HSdata, AreaFunctionObject,pDelimators)
  60.     addprop (HSdatapak,AssociatedHs,DataPakobj)
  61.     
  62.   end repeat
  63.  
  64.   
  65.   return ( HSdatapak )
  66.   
  67. end
  68. ----------------------------------------------------------------------------ò
  69.  
  70.