home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / EDG-CT1.DMS / in.adf / CT.run / Macros / Add_CT_To_Flyer.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1995-10-09  |  3.0 KB  |  150 lines

  1. /*
  2.                         Control Tower Arexx Script
  3.                            Written By J.L. White
  4.                          (C)1995 Merlin's Software
  5. */
  6.  
  7. signal on error
  8. signal on syntax
  9. Options Results
  10.  
  11. Quotes = '22'X
  12. SingleQ = '27'X
  13.  
  14. Main:
  15. call OpenStuff()
  16. call Docs()
  17. call Routine()
  18. call CloseStuff()
  19. exit
  20. return
  21.  
  22. GetFile:
  23.     parse Arg Title, Path
  24.     Address FLY_1 SetString Path
  25.     Address FLY_1 GetFileNameNT Title
  26. return result
  27.  
  28.  
  29. GetPath:
  30.     parse Arg Title, Path
  31.     Address FLY_1 SetString Path
  32.     Address FLY_1 GetPathNameNT Title
  33. return result
  34.  
  35. GetText:
  36.     parse Arg Title, Text
  37.     Address FLY_1 SetString Text
  38.     Address FLY_1 GetStringNT Title
  39. return result
  40.  
  41.  
  42. OpenStuff:
  43.     address command "run CT:FLY"
  44.     do while (POS('FLY_1',SHOW('Ports')) = 0)
  45.         address command "wait 1"
  46.         end
  47.     TOASTERLIB="ToasterARexx.port"
  48.     call remlib('ToasterARexx.port')
  49.     call remlib('PROJECT_REXX_PORT')
  50.     call addlib('PROJECT_REXX_PORT' , 0)
  51.     call addlib(TOASTERLIB,0)
  52. return
  53.  
  54. CloseStuff:
  55.     Address FLY_1 Quit
  56.     call remlib('ToasterARexx.port')
  57.     call remlib('PROJECT_REXX_PORT')
  58.     exit
  59. return
  60.  
  61. YesOrNo: procedure
  62.     parse Arg Title,Yes,No
  63.     Address FLY_1 OK_TEXT Yes
  64.     Address FLY_1 CANCEL_TEXT No
  65.     Address FLY_1 AskYesNoNT Title
  66.     if result = "OK" then YesNo = 1
  67.     else YesNo = 0
  68. return YesNo
  69.  
  70. Info: 
  71.     parse Arg Title,Yes
  72.     Address FLY_1 OK_TEXT Yes
  73.     Address FLY_1 FYINT Title
  74. return
  75.  
  76. FindDrive:
  77.     address command "C:Info >RAM:FLY-List"
  78.     call open TempFile,"RAM:FLY-List",R
  79.     do until eof(TempFile)
  80.         line = readln(TempFile)
  81.         parse var line Drive" "Rest
  82.         if Drive = "FA0:" then 
  83.             Volume = word(Rest,7)":"
  84.     end
  85.     call close TempFile
  86.     address command "Delete >NIL: RAM:FLY-List"
  87. return Volume
  88.  
  89. GetFileName: procedure  
  90.    ARG CompleteName
  91.    c = lastpos("/",CompleteName)
  92.    if c = 0 then c = lastpos(":",CompleteName)
  93.    return substr(CompleteName, c + 1)
  94.  
  95.  
  96. GetPathName: procedure  
  97.    ARG CompleteName
  98.    c = lastpos(":",CompleteName)
  99.    if c = 0 then c = lastpos(":",CompleteName)
  100.    return left(CompleteName,c)
  101.  
  102. Docs:
  103. Answer = YesOrNo(" Do You Need Instructions?"," YES "," NO ")
  104. if Answer = 0 then return 
  105. Text = "This Macro will automatically add\
  106. Control Tower to the Flyer Program\
  107. Menu. You have the option to do it\
  108. just for now or to come up every\
  109. time you boot the Flyer Software."
  110. Address FLY_1 OK_TEXT " Continue! "
  111. Address FLY_1 FYINT Text
  112.  
  113. return
  114.  
  115.  
  116. Routine:
  117.     Type = YesOrNo("Add Control Tower Now Or Always?"," NOW ","ALWAYS!")
  118.     call CreateAdd()
  119.     if Type = 0 then do
  120.         call CreateAlways()
  121.         end
  122.  
  123. return
  124.  
  125.  
  126. CreateAdd:
  127.     TOASTERLIB="ToasterARexx.port"
  128.     call remlib('ToasterARexx.port')
  129.     call remlib('PROJECT_REXX_PORT')
  130.     call addlib('PROJECT_REXX_PORT' , 0)
  131.     call addlib(TOASTERLIB,0)
  132.     call Addprogram("Control Tower","run CT:CT 1",0)
  133.  
  134. return
  135.  
  136. CreateAlways:
  137.     call open TempFile,"Toaster:Programs/StartToaster",A
  138.     call writeln TempFile,"rx >NIL: CT:ARexx/CTAdd.rexx"
  139.     call close TempFile
  140.  
  141. return
  142.  
  143. syntax:
  144. error:
  145.     Address FLY_1 OK_TEXT " OK "
  146.     Title = "An Error Was Found With This Macro On Line #"SIGL"!"
  147.     Address FLY_1 FYINT Title
  148.     Address FLY_1 Quit
  149. exit
  150.