home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 1997 September / Personal_Computer_World_Sep_97.iso / DXRS / CDXPCW09.DXR / 00017.ls < prev    next >
Encoding:
Text File  |  1997-06-25  |  4.1 KB  |  174 lines

  1. on startMovie
  2.   openXLib(the pathName & "V12dbe")
  3.   openXLib(the pathName & "V12table")
  4.   set the floatPrecision to 2
  5. end
  6.  
  7. on stopMovie
  8.   global gDb, gTable
  9.   if objectp(gTable) then
  10.     set gTable to 0
  11.   end if
  12.   if objectp(gDb) then
  13.     set gDb to 0
  14.   end if
  15. end
  16.  
  17. on initStuff
  18.   global gDb, gTable
  19.   set gTable to 0
  20.   set gDb to 0
  21.   set DBfact to xtra("V12dbe")
  22.   set gDb to new(DBfact, the pathName & "catalog.V12", "ReadWrite", "top secret")
  23.   if not objectp(gDb) then
  24.     alert("Cannot create Database instance. Err=" && gDb)
  25.     exit
  26.   end if
  27.   set TBfact to xtra("V12table")
  28.   set gTable to new(TBfact, mGetRef(gDb), "articles")
  29.   if not objectp(gTable) then
  30.     alert("Cannot create V12table instance. Err=" && gDb)
  31.   end if
  32. end
  33.  
  34. on showSelection
  35.   global CDXTable
  36.   set n to mSelectCount(CDXTable)
  37.   set temp to mGetPosition(CDXTable)
  38.   mGoFirst(CDXTable)
  39.   put EMPTY into field "selection"
  40.   set dummy to EMPTY
  41.   repeat with i = 1 to n
  42.     set nm to mGetField(CDXTable, "CD_PROD")
  43.     set prc to mGetField(CDXTable, "CD_ISSUE")
  44.     set catNum to mGetField(CDXTable, "CD_CAT")
  45.     mGoNext(CDXTable)
  46.   end repeat
  47. end
  48.  
  49. on updateDisplay
  50.   global gTable
  51.   set i to mGetPosition(gTable)
  52.   set the foreColor of field "selection" to 176
  53.   set the foreColor of line i of field "selection" to 35
  54.   put mGetField(gTable, "name") into field "name"
  55.   put mGetField(gTable, "price") into field "price"
  56.   put mGetField(gTable, "description") into field "description"
  57.   put mGetField(gTable, "catalog number") into field "catalog"
  58.   put mGetField(gTable, "category") into field "category"
  59. end
  60.  
  61. on domSelectCount
  62.   global gTable
  63.   put mSelectCount(gTable) into field "totalCount"
  64. end
  65.  
  66. on doNext
  67.   global gTable
  68.   set err to mGoNext(gTable)
  69.   CheckError(err, "doNext")
  70.   updateDisplay()
  71. end
  72.  
  73. on doPrevious
  74.   global gTable
  75.   set err to mGoPrevious(gTable)
  76.   CheckError(err, "doPrevious")
  77.   updateDisplay()
  78. end
  79.  
  80. on doFirst
  81.   global gTable
  82.   set err to mGoFirst(gTable)
  83.   CheckError(err, "doFirst")
  84.   updateDisplay()
  85. end
  86.  
  87. on doLast
  88.   global gTable
  89.   set err to mGoLast(gTable)
  90.   CheckError(err, "doLast")
  91.   updateDisplay()
  92. end
  93.  
  94. on doAddRecord
  95.   global gTable
  96.   set err to mAddRecord(gTable)
  97.   if err = 0 then
  98.     EditMode(1)
  99.   end if
  100.   CheckError(err, "addRecord")
  101. end
  102.  
  103. on doEditRecord
  104.   global gTable
  105.   set err to mEditRecord(gTable)
  106.   if err = 0 then
  107.     EditMode(1)
  108.   end if
  109.   CheckError(err, "editRecord")
  110. end
  111.  
  112. on doUpdateRecord
  113.   global gTable
  114.   set err to mSetField(gTable, "name", field "name")
  115.   CheckError(err, "mSetField name")
  116.   set err to mSetField(gTable, "price", field "price")
  117.   CheckError(err, "mSetField price")
  118.   set err to mSetField(gTable, "description", field "description")
  119.   CheckError(err, "mSetField description")
  120.   set err to mSetField(gTable, "catalog number", field "catalog")
  121.   CheckError(err, "mSetField catalog number")
  122.   set err to mSetField(gTable, "category", field "category")
  123.   CheckError(err, "mSetField category")
  124.   set err to mUpdateRecord(gTable)
  125.   if err = 0 then
  126.     EditMode(0)
  127.   end if
  128.   CheckError(err, "updateRecord")
  129.   showSelection()
  130. end
  131.  
  132. on doDeleteRecord
  133.   global gTable
  134.   set err to mDeleteRecord(gTable)
  135.   CheckError(err, "deleteRecord")
  136.   showSelection()
  137. end
  138.  
  139. on doSetIndex ndx
  140.   global gTable
  141.   set err to mSetIndex(gTable, ndx)
  142.   CheckError(err, "mSetIndex " & ndx)
  143.   set err to mSelect(gTable)
  144.   CheckError(err, "mSelect")
  145.   showSelection()
  146. end
  147.  
  148. on doSetCriteria
  149.   global gTable
  150.   set err to mSetCriteria(gTable, field "fld", field "op", field "value")
  151.   CheckError(err, "mSetCriteria #1")
  152.   if (field "bool" = "and") or (field "bool" = "or") then
  153.     set err to mSetCriteria(gTable, field "bool", field "fld2", field "op2", field "value2")
  154.     CheckError(err, "mSetCriteria #2")
  155.     if (field "bool2" = "and") or (field "bool2" = "or") then
  156.       set err to mSetCriteria(gTable, field "bool2", field "fld3", field "op3", field "value3")
  157.       CheckError(err, "mSetCriteria #3")
  158.     end if
  159.   end if
  160. end
  161.  
  162. on doOrderBy
  163.   global gTable
  164.   set err to mOrderBy(gTable, field "SortFld")
  165.   CheckError(err, "mOrderBy")
  166. end
  167.  
  168. on doSelect
  169.   global gTable
  170.   set err to mSelect(gTable)
  171.   CheckError(err, "mSelect")
  172.   showSelection()
  173. end
  174.