home *** CD-ROM | disk | FTP | other *** search
/ LAUNCH 4 / LAUNCH.BIN / mac / TOYOTA / TOYOTA.DIR / 01110_Script_1110 < prev   
Text File  |  1995-09-26  |  8KB  |  250 lines

  1. on initializeFields
  2.   put " " into field "zipHole"
  3.   set the textFont of field  "zipHole" = "Helvetica"
  4.   set the textSize of field "zipHole" = 18
  5.   put EMPTY into field "zipHole"
  6.   put "Enter a five digit zip code." into field "displayResults"
  7. end InitializeFields
  8.  
  9. on checkKey
  10.   set x = charToNum(the key)
  11.   if (x < 48 OR x > 57) AND x <> 8 then dontPassEvent
  12.   if length(field "zipHole") = 5 AND x <> 8 then dontPassEvent
  13. end checkKey
  14.  
  15. on checkFieldLength
  16.   if length(field "zipHole") = 5 then go frame "sea"
  17. end
  18.  
  19.  
  20. on searchAndReport
  21.   global index, zip, foist
  22.   set foist = 1
  23.   put EMPTY into field "displayResults" 
  24.   if length(field "zipHole") < 5 then
  25.     put "Please enter five digits and press return." into field "displayResults"
  26.     put empty into field "zipHole"
  27.   else
  28.     put "Let me look up zip code" && field "zipHole" & "." & RETURN ¼
  29.     & "Back in a flash!" into field "displayResults"
  30.     
  31.     
  32.     put field "zipHole" into zip
  33.     put (char 1 to 2 of field "zipHole") into xx
  34.     set flag = 0
  35.     
  36.     set index = 1
  37.     repeat while (line (index) of field xx <> empty)
  38.       if line (index) of field xx contains zip then
  39.         report (xx)
  40.         set flag = 1
  41.       end if  
  42.       set index = index + 5
  43.     end repeat  
  44.     
  45.     put string (value (xx) - 1) into xy
  46.     if value (xy) < 0 then put "00" into xy
  47.     if length (xy) < 2 then put "0" before xy
  48.     set index = 1
  49.     repeat while (line (index) of field xy <> empty)
  50.       if line (index) of field xy contains zip then
  51.         report (xy)
  52.         set flag = 1
  53.       end if  
  54.       set index = index + 5
  55.     end repeat  
  56.     
  57.     put string (value (xx) - 2) into xz
  58.     if value (xz) < 0 then put "00" into xz
  59.     if length (xz) < 2 then put "0" before xz
  60.     set index = 1
  61.     repeat while (line (index) of field xz <> empty)
  62.       if line (index) of field xz contains zip then
  63.         report (xz)
  64.         set flag = 1
  65.       end if  
  66.       set index = index + 5
  67.     end repeat  
  68.     
  69.     
  70.     if flag = 0 then 
  71.       
  72.       put "To locate a dealer near you:" & RETURN & "Call 1-800-GO-TOYOTA!" into field "displayResults"
  73.     else 
  74.       put RETURN after field "displayResults"
  75.     end if
  76.     put EMPTY into field "zipHole"
  77.   end if
  78. end searchAndReport
  79.  
  80. on report zz
  81.   global index, zip, foist
  82.   if foist = 1 then put "The Toyota Dealer(s) nearest to zip code" && zip && "is(are):" & RETURN into field "displayResults"
  83.   put RETURN & line (index + 1) of field zz & RETURN & line (index + 2) of field zz & RETURN after field "displayResults"
  84.   put word 1 to 3 of line (index + 3) of field zz after field "displayResults"
  85.   set x = charToNum (char 1 of word 3 of line (index + 3) of field zz)
  86.   if (x < 48 OR x > 57) then put " " & word 4 of line (index + 3) of field zz after field "displayResults"
  87.   set x = charToNum (char 1 of word 4 of line (index + 3) of field zz)
  88.   if (x < 48 OR x > 57) then put " " & word 5 of line (index + 3) of field zz after field "displayResults"
  89.   set x = charToNum (char 1 of word 5 of line (index + 3) of field zz)
  90.   if (x < 48 OR x > 57) then put " " & word 6 of line (index + 3) of field zz after field "displayResults"
  91.   set x = charToNum (char 1 of word 6 of line (index + 3) of field zz)
  92.   if (x < 48 OR x > 57) then put " " & word 7 of line (index + 3) of field zz after field "displayResults"
  93.   
  94.   put RETURN & "(" & char 1 to 3 of line (index + 4) of field zz ¼
  95.     & ") " & char 4 to 6 of line (index + 4) of field zz ¼
  96.     & "-" & char 7 to 10 of line (index + 4) of field zz & RETURN after field "displayResults"
  97.   set foist = 0
  98. end report
  99.  
  100. ---PARSING HANDLERS
  101.  
  102. on openFile whichFile
  103.   global gFileHandle
  104.   if objectP(gFileHandle) then gFileHandle(mDispose)
  105.   set gFileHandle = fileIO(mNew, "READ", the pathname & whichFile)
  106. end
  107.  
  108. on resetFilePosition
  109.   global gFileHandle
  110.   gFileHandle(mSetPosition, 0)
  111. end
  112.  
  113. --on translateLine textString
  114. --  global gNewRecord
  115. --  set buffer = ""
  116. --  set itemList = []
  117. --  repeat with n = 1 to the number of chars in textString
  118. --    beep
  119. --    if char n of textString <> " " then
  120. --      set buffer = buffer & char n of textString
  121. --      set spacePrevious = FALSE
  122. --    else
  123. --      if spacePrevious = TRUE AND buffer = "" then
  124. --        nothing
  125. --      else if spacePrevious = TRUE then
  126. --        delete char the number of chars in buffer of buffer
  127. --        append itemList, buffer
  128. --        set buffer = ""
  129. --      else
  130. --        set buffer = buffer & char n of textString
  131. --        set spacePrevious = TRUE
  132. --      end if
  133. --    end if
  134. --  end repeat
  135. --  delete char the number of chars in buffer of buffer
  136. --  append itemList, buffer
  137. --  set gNewRecord = ""
  138. --  repeat with n = 1 to count (itemList)
  139. --    set gNewRecord = gNewRecord & TAB & getAt(itemList, n)
  140. --  end repeat
  141. --  delete char 1 of gNewRecord
  142. --end
  143.  
  144. on translateLine whichLine
  145.   global gNewRecord
  146.   set gNewRecord = char 1 to 30 of whichLine & TAB & char 31 to 60 of whichLine & TAB & char 61 to 73 of whichLine & TAB & char 74 to 84 of whichLine & TAB & char 85 to 100 of whichLine & TAB & char 101 to (the number of chars in whichLine) of whichLine
  147. end
  148.  
  149.  
  150.  
  151.  
  152. on condenseFile
  153.   global gFileHandle, gNewRecord, gWriteFileHandle
  154.   if objectP(gWriteFileHandle) then gWriteFileHandle(mdispose)
  155.   set gWriteFileHandle = fileIO(mNew, "WRITE", the pathName & "NEW DB")
  156.   openFile "FRAN.TXT"
  157.   set gOriginalString = gFileHandle(mReadFile)
  158.   repeat with n = 1 to the number of lines in gOriginalString
  159.     if line n of gOriginalString <> "" then
  160.       set currentLine = line n of gOriginalString
  161.       if currentLine contains "Unas" or currentLine contains "unas" then
  162.         nothing
  163.       else
  164.         translateLine currentLine
  165.         gWriteFileHandle(mWriteString, gNewRecord & RETURN)
  166.         put (the number of lines in gOriginalString - n) &&  gNewRecord
  167.       end if
  168.     else
  169.       nothing
  170.     end if
  171.     
  172.   end repeat
  173. end
  174.  
  175. on getZips
  176.   openFile "toyota zip list"
  177.   set gOriginalString = gFileHandle(mReadFile)
  178.   repeat with n = 1 to the number of lines in gOriginalString
  179.     delete char 1 to 2 of line n of gOriginalString
  180.     put (the number of lines in gOriginalString) - n
  181.   end repeat
  182.   set the text of cast 1111 to gOriginalString
  183.   
  184. end
  185.  
  186. on clearAllZipData
  187.   repeat with n = 0 to 99
  188.     if n < 10 then
  189.       set the text of cast "0" & string(n) = ""
  190.     else
  191.       set the text of cast string(n) = ""
  192.     end if
  193.   end repeat
  194. end
  195.  
  196. on fixExtraReturns
  197.   repeat with n = 1 to 99
  198.     if n < 10 then
  199.       set tempText = the text of cast ("0" & string(n))
  200.       if tempText <> "" then
  201.         delete char 1 of tempText
  202.         
  203.         set the text of cast "0" & n = tempText
  204.       end if
  205.     else
  206.       set tempText = the text of cast string(n)
  207.       if tempText <> "" then
  208.         delete char 1 of tempText
  209.         set the text of cast string(n) = tempText
  210.       end if
  211.     end if
  212.   end repeat
  213. end
  214.  
  215. on importToyotaFinal
  216.   global gCurrentRecord
  217.   openFile "toyota final"
  218.   set the itemDelimiter = TAB
  219.   set gOriginalString = gFileHandle(mReadFile)
  220.   
  221.   repeat with n = 1160 to the number of lines in gOriginalString
  222.     formatLine (line n of gOriginalString)
  223.     put (the number of lines in gOriginalString) - n
  224.     set the text of cast string (char 1 to 2 of gCurrentRecord) = ¼
  225.       the text of cast string (char 1 to 2 of gCurrentRecord) & RETURN & gCurrentRecord
  226.   end repeat
  227. end
  228.  
  229. on formatLine whichLine
  230.   global gCurrentRecord
  231.   --parse zips
  232.   set myZips = item 1 of whichLine
  233.   set tempMyZips = char 15 to the number of chars in myZips of myZips
  234.   set myZips = ""
  235.   repeat with n = 0 to ((the number of chars in tempMyZips)/7)
  236.     set myZips = myZips && char ((n * 7)+1) to ((n + 1) * 7) of tempMyZips
  237.   end repeat
  238.   delete char 1 of myZips
  239.   
  240.   --parse rest of data
  241.   set gCurrentRecord = myZips & RETURN & ¼
  242.                       item 2 of whichLine & return & ¼
  243.                       item 3 of whichLine & return & ¼
  244.                       item 4 of whichLine & "," &&¼
  245.                       char 1 to 2 of item 5 of whichLine && char 3 to the number of chars in item 5 of whichline of item 5 of whichline & return &¼
  246.                       char 6 to 15 of item 6 of whichLine
  247.   put gCurrentRecord
  248. end
  249.  
  250.