home *** CD-ROM | disk | FTP | other *** search
/ Better Homes & Gardens: …oking for Today - Chicken / Image.iso / pc / recipes.dxr / 00006_DB.ls < prev    next >
Encoding:
Text File  |  1995-11-20  |  8.6 KB  |  272 lines

  1. on DBGetRecipe recipeID
  2.   global gDBObject, gDBResult, gGRkeyID, gGRDBNum
  3.   set gDBResult to gDBObject(mGetDBRecipe, recipeID, 1)
  4.   return gDBResult
  5. end
  6.  
  7. on getTitle
  8.   global gCurrentRecipe, gDBTitle, gDBChapter, gRecipeIDDB
  9.   DBGetRecord(gCurrentRecipe, "recipe")
  10.   if (gCurrentRecipe > 1700) or (gCurrentRecipe < 2069) then
  11.     put getOne(gRecipeIDDB, gCurrentRecipe) into field "title"
  12.   else
  13.     put DBGetField(gDBTitle) into field "title"
  14.   end if
  15.   put DBGetField(gDBChapter) into field "chapter"
  16. end
  17.  
  18. on getNutrition
  19.   global gDBCalories, gDBCholesterol, gDBCarbohydrates, gDBProtein, gDBSodium, gDBFat, gDBSaturated, gDBPotassium, gNutrition
  20.   set gNutrition to EMPTY
  21.   set gNutrition to integer(DBGetField(gDBCalories))
  22.   put " calories, " after gNutrition
  23.   put integer(DBGetField(gDBProtein)) after gNutrition
  24.   put " g protein, " after gNutrition
  25.   put integer(DBGetField(gDBCarbohydrates)) after gNutrition
  26.   put " g carbohydrates, " after gNutrition
  27.   put integer(DBGetField(gDBFat)) after gNutrition
  28.   put " g fat (" after gNutrition
  29.   put integer(DBGetField(gDBSaturated)) after gNutrition
  30.   put " g saturated fat), " after gNutrition
  31.   put integer(DBGetField(gDBCholesterol)) after gNutrition
  32.   put " mg cholesterol, " after gNutrition
  33.   put integer(DBGetField(gDBSodium)) after gNutrition
  34.   put " mg sodium, " after gNutrition
  35.   put integer(DBGetField(gDBPotassium)) after gNutrition
  36.   put " mg potassium." after gNutrition
  37. end
  38.  
  39. on getBlurb
  40.   global gDBDescription, gCurrentRecipe
  41.   put EMPTY into field "blurb"
  42.   if gCurrentRecipe <> 1717 then
  43.     put DBGetField(gDBDescription) into field "blurb"
  44.   else
  45.     put field "1717blurb" into field "blurb"
  46.   end if
  47. end
  48.  
  49. on getIngredients
  50.   global gDBResult, gCurrentRecipe, gDBIngredient
  51.   set ingredients to EMPTY
  52.   set ingredientsPrint to EMPTY
  53.   DBGetRecord(gCurrentRecipe, "ingredient")
  54.   set ingredient to DBGetField(gDBIngredient)
  55.   set ingredients to ingredient & RETURN & RETURN
  56.   set ingredientsPrint to ingredient & RETURN
  57.   repeat while 1
  58.     DBNextRecord("ingredient")
  59.     if gDBResult = 2 then
  60.       exit repeat
  61.     end if
  62.     set ingredient to DBGetField(gDBIngredient)
  63.     put ingredient & RETURN & RETURN after ingredients
  64.     put ingredient & RETURN after ingredientsPrint
  65.   end repeat
  66.   put ingredients into field "ingredients"
  67. end
  68.  
  69. on getPrepTime
  70.   global gCurrentRecipe, gDBPrepTime
  71.   DBGetRecord(gCurrentRecipe, "prep time")
  72.   put integer(DBGetField(gDBPrepTime)) into field "prep time"
  73. end
  74.  
  75. on DBRecipeTerms
  76.   global gCurrentRecipe, gDBTermLinks, gTermIDDB
  77.   cursor(4)
  78.   DBBeginSearchSession()
  79.   set termList to []
  80.   set results to DBStartSearch(gCurrentRecipe, gDBTermLinks)
  81.   repeat with i = 1 to results
  82.     add(termList, getOne(gTermIDDB, DBGetResult(i)))
  83.   end repeat
  84.   DBEndSession()
  85.   cursor(-1)
  86.   return termList
  87. end
  88.  
  89. on DBAboutRecipe
  90.   global gCurrentRecipe, gDBRamble, gDBDescription, gDBSubTitle, gDBAuthorName, gDBOriginalBook, gDBOrganization, gDBCity, gDBState
  91.   cursor(4)
  92.   dbBeginSession()
  93.   DBGetRecord(gCurrentRecipe, "recipe")
  94.   put DBGetField(gDBRamble) into field "ramble"
  95.   DBGetRecord(gCurrentRecipe, "recipe")
  96.   put DBGetField(gDBDescription) into field "info"
  97.   DBGetRecord(gCurrentRecipe, "recipe")
  98.   put DBGetField(gDBSubTitle) into field "subtitle"
  99.   put DBGetField(gDBAuthorName) into field "author name"
  100.   put DBGetField(gDBOriginalBook) into field "original book"
  101.   put DBGetField(gDBOrganization) into field "organization"
  102.   put DBGetField(gDBCity) & ", " & DBGetField(gDBState) into field "location"
  103.   DBEndSession()
  104.   cursor(-1)
  105. end
  106.  
  107. on DBrecipePage1
  108.   global gCurrentBook, gCurrentRecipe, gDBBeauty
  109.   cursor(4)
  110.   dbBeginSession()
  111.   getTitle()
  112.   getBlurb()
  113.   DBGetRecord(gCurrentRecipe, "beauty")
  114.   set beauty to DBGetField(gDBBeauty)
  115.   updateBeauty(beauty)
  116.   DBEndSession()
  117.   cursor(-1)
  118. end
  119.  
  120. on DBRecipePage2
  121.   global gDBResult, gCurrentRecipe, gDBCalories, gDBInstruction, gDBInstructionType, gDBServings, gMethodName1, gMethodName2, gNutrition
  122.   cursor(4)
  123.   dbBeginSession()
  124.   put EMPTY into field "nutrition"
  125.   getPrepTime()
  126.   getTitle()
  127.   put integer(DBGetField(gDBServings)) into field "servings"
  128.   set recipeText to EMPTY
  129.   getNutrition()
  130.   DBGetRecord(gCurrentRecipe, "ingredient")
  131.   set ingredient to DBGetField(gDBIngredient)
  132.   set recipeText to ingredient & RETURN & RETURN
  133.   repeat while 1
  134.     DBNextRecord("ingredient")
  135.     if gDBResult = 2 then
  136.       put "^" after recipeText
  137.       exit repeat
  138.     end if
  139.     set ingredient to DBGetField(gDBIngredient)
  140.     put ingredient & RETURN & RETURN after recipeText
  141.   end repeat
  142.   DBGetRecord(gCurrentRecipe, "instruction")
  143.   if DBGetField(gDBInstructionType) = 1.0 then
  144.     set anInstruction to DBGetField(gDBInstruction)
  145.     put anInstruction after recipeText
  146.   end if
  147.   repeat while 1
  148.     DBNextRecord("instruction")
  149.     if gDBResult = 2 then
  150.       exit repeat
  151.     end if
  152.     if DBGetField(gDBInstructionType) = 1.0 then
  153.       set num to num + 1
  154.       set anInstruction to DBGetField(gDBInstruction)
  155.       put RETURN & RETURN & anInstruction after recipeText
  156.       next repeat
  157.     end if
  158.     exit repeat
  159.   end repeat
  160.   set mark to offset("^", recipeText)
  161.   set ingredients to char 1 to mark - 1 of recipeText
  162.   set instructions to char mark + 1 to length(recipeText) of recipeText
  163.   put ingredients into field "ingredients"
  164.   put instructions into field "instructions"
  165.   put RETURN after field "instructions"
  166.   put gNutrition into field "nutrition"
  167.   DBEndSession()
  168.   cursor(-1)
  169. end
  170.  
  171. on DBRecipePage4
  172.   global gDBResult, gCurrentPrepTime, gCurrentDishType, gCurrentRecipe, gPersonalBrowser, gPersonalIDDB
  173.   cursor(4)
  174.   if gCurrentRecipe > 6000 then
  175.     set recipeName to getOne(gPersonalIDDB, gCurrentRecipe)
  176.   else
  177.     set recipeName to getOne(gRecipeIDDB, gCurrentRecipe)
  178.   end if
  179.   set tempRecipeID to getaProp(gRecipeIDDB, recipeName)
  180.   if tempRecipeID then
  181.     set gCurrentRecipe to tempRecipeID
  182.   end if
  183.   set recipeName to getOne(gRecipeIDDB, gCurrentRecipe)
  184.   set gBrowserNum to getOne(gPersonalBrowser, recipeName)
  185.   if gCurrentRecipe >= 6000 then
  186.     DBBeginSaveSession()
  187.     DBGetSetRecord(gCurrentRecipe, "personal recipe")
  188.     put DBGetSetField(3001) into field "title"
  189.     set categoryID to DBGetSetField(3004)
  190.     put integer(DBGetSetField(3003)) into field "servings"
  191.     set instructions to DBGetSetField(20001)
  192.     put instructions into field "instructions"
  193.     put RETURN after field "instructions"
  194.     put instructions into field "instructions print"
  195.     DBGetSetRecord(categoryID, "personal category")
  196.     if gDBResult = 0 then
  197.       put DBGetSetField(5001) into field "chapter"
  198.     else
  199.       put "Category 1" into field "chapter"
  200.     end if
  201.     set ingredients to EMPTY
  202.     DBGetSetRecord(gCurrentRecipe, 4000)
  203.     if gDBResult = 0 then
  204.       set ingredient to DBGetSetField(4004)
  205.       set ingredients to ingredient & RETURN & RETURN
  206.       repeat while 1
  207.         DBNextSetRecord(4000)
  208.         if gDBResult <> 0 then
  209.           exit repeat
  210.         end if
  211.         if integer(DBGetSetField(4000)) <> gCurrentRecipe then
  212.           exit repeat
  213.         end if
  214.         set ingredient to DBGetSetField(4004)
  215.         put ingredient & RETURN & RETURN after ingredients
  216.       end repeat
  217.       put ingredients into field "ingredients"
  218.     end if
  219.   else
  220.     dbBeginSession()
  221.     getTitle()
  222.     put getOne(gRecipeIDDB, gCurrentRecipe) into field "title"
  223.     put integer(DBGetField(gDBServings)) into field "servings"
  224.     DBGetRecord(gCurrentRecipe, "ingredient")
  225.     set ingredient to DBGetField(gDBIngredient)
  226.     set recipeText to ingredient & RETURN & RETURN
  227.     repeat while 1
  228.       DBNextRecord("ingredient")
  229.       if gDBResult = 2 then
  230.         put "^" after recipeText
  231.         exit repeat
  232.       end if
  233.       set ingredient to DBGetField(gDBIngredient)
  234.       put ingredient & RETURN & RETURN after recipeText
  235.     end repeat
  236.     DBGetRecord(gCurrentRecipe, "instruction")
  237.     if DBGetField(gDBInstructionType) = 1.0 then
  238.       set anInstruction to DBGetField(gDBInstruction)
  239.       put anInstruction after recipeText
  240.     end if
  241.     repeat while 1
  242.       DBNextRecord("instruction")
  243.       if gDBResult = 2 then
  244.         exit repeat
  245.       end if
  246.       if DBGetField(gDBInstructionType) = 1.0 then
  247.         set num to num + 1
  248.         set anInstruction to DBGetField(gDBInstruction)
  249.         put RETURN & RETURN & anInstruction after recipeText
  250.         next repeat
  251.       end if
  252.       exit repeat
  253.     end repeat
  254.     set mark to offset("^", recipeText)
  255.     set ingredients to char 1 to mark - 1 of recipeText
  256.     set instructions to char mark + 1 to length(recipeText) of recipeText
  257.     put ingredients into field "ingredients"
  258.     put instructions into field "instructions"
  259.   end if
  260.   DBEndSession()
  261.   cursor(-1)
  262. end
  263.  
  264. on getMethodTag anInstruction
  265. end
  266.  
  267. on getTipTag aTip
  268. end
  269.  
  270. on placeMethods instructions
  271. end
  272.