home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / util / rexx / MOOS.lha / MOOS / Tests / rexx_dos.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1997-02-26  |  8.2 KB  |  349 lines

  1. /*
  2.  * rexx_dos.library
  3.  *
  4.  * Test file...
  5.  */
  6.  
  7. OPTIONS RESULTS
  8. lib = 'rexxMOOS.library'; IF ~SHOW('L',lib) THEN CALL ADDLIB(lib,100,-30)
  9.  
  10.                                                                               
  11. /*
  12.  *    ReadArgs()
  13.  */
  14. CALL print(4,'#',"ReadArgs(string,template,options)")
  15.  
  16. DROP file add quiet
  17. str = "mio tuo suo add"
  18. tpl = "FILE/M,ADD/S,QUIET=Q/S"
  19. CALL print(20,'-','ReadArgs("'str'","'tpl'","opt.*")')
  20. IF ReadArgs(str,tpl,"opt.*") THEN DO
  21.     SAY "OPT.FILE.0 =" opt.file.0
  22.     DO n = 1 FOR opt.file.0
  23.         SAY "OPT.FILE."n "=" opt.file.n
  24.     END
  25.     SAY "OPT.ADD    =" opt.add
  26.     SAY "OPT.QUIET  =" opt.quiet
  27.     END
  28. DROP opt.
  29.  
  30. CALL print(20,'-','ReadArgs("'str'","'tpl'","opt.")')
  31. IF ReadArgs(str,tpl,"opt.") THEN DO
  32.     SAY "OPT.FILE.COUNT =" opt.file.count
  33.     DO n = 0 FOR opt.file.count
  34.         SAY "OPT.FILE."n "=" opt.file.n
  35.     END
  36.     SAY "OPT.ADD    =" opt.add
  37.     SAY "OPT.QUIET  =" opt.quiet
  38.     END
  39. DROP opt.
  40.  
  41. str = "29 12 68 A D"
  42. tpl = "ID/N/M,Append=A/S,Delete=D/S"
  43. CALL print(20,'-','ReadArgs("'str'","'tpl'")')
  44. IF ReadArgs(str,tpl) THEN DO
  45.     SAY "ID.COUNT =" id.count
  46.     DO n = 0 FOR id.count
  47.         SAY "ID."n "=" id.n
  48.     END
  49.     SAY "APPEND =" append
  50.     SAY "DELETE =" delete
  51.     END
  52.  
  53. DROP id. append delete
  54.  
  55.                                                                               
  56. /*
  57.  *    Info()
  58.  */
  59. CALL print(4,'#',"Info(path,options)")
  60.  
  61. path = "SYS:"
  62. CALL print(20,'-','Info("'path'","ex.")')
  63. IF Info(path,"ex.") THEN DO
  64.     SAY "VolumeName    " ex.VolumeName
  65.     SAY "DateStamp     " ex.DateStamp
  66.     SAY "NumSoftErrors " ex.NumSoftErrors
  67.     SAY "UnitNumber    " ex.UnitNumber
  68.     SAY "DiskState     " ex.DiskState
  69.     SAY "NumBlocks     " ex.NumBlocks
  70.     SAY "NumBlocksUsed " ex.NumBlocksUsed
  71.     SAY "BytesPerBlock " ex.BytesPerBlock
  72.     SAY "DiskType      " ex.DiskType
  73.     SAY "InUse         " ex.InUse
  74.     END
  75.  
  76. DROP ex.
  77.  
  78.                                                                               
  79. /*
  80.  *    Delay()
  81.  */
  82. CALL print(4,'#',"Delay(ticks)")
  83.  
  84. ticks = 100
  85. CALL print(20,'-',"Delay("ticks")")
  86. CALL TIME('r'); CALL Delay(ticks)
  87. SAY ticks "ticks ==" TIME('e') "secs..."
  88.  
  89. ticks = 50
  90. CALL print(20,'-',"Delay("ticks")")        /* Now we're sure that the library    */
  91. CALL TIME('r'); CALL Delay(ticks)        /* is loaded in the system            */
  92. SAY ticks "ticks ==" TIME('e') "secs..."
  93.  
  94.                                                                               
  95. /*
  96.  *    SetVar()
  97.  *    GetVar()
  98.  *    DeleteVar()
  99.  */
  100. CALL print(4,'#',"SetVar(name,value,options)")
  101. var = "test"
  102. val = "the variable content..."
  103. CALL print(20,'-','SetVar("'var'",val)')
  104. SAY SetVar(var,val)
  105.  
  106. CALL print(4,'#',"GetVar(name,options)")
  107. CALL print(20,'-','GetVar("language")')
  108. SAY "language ==" GetVar("language")
  109.  
  110. CALL print(20,'-','GetVar("'var'","Exists")')
  111. SAY GetVar(var,"Exists")
  112.  
  113. CALL print(4,'#',"DeleteVar(name,options)")
  114. CALL print(20,'-','DeleteVar("'var'")')
  115. SAY DeleteVar(var)
  116.  
  117.                                                                               
  118. /*
  119.  *    SplitPath()
  120.  */
  121. CALL print(4,'#',"SplitPath(path,options)")
  122.  
  123. dir = "DF0:foo/bar/moos-startup"
  124. CALL print(20,'-',"SplitPath('"dir"')")
  125. SAY SplitPath(dir)
  126.  
  127. CALL print(20,'-',"SplitPath('"dir"','Path')")
  128. SAY SplitPath(dir,"Path")
  129.  
  130. CALL print(20,'-',"SplitPath('"dir"','test.')")
  131. SAY SplitPath(dir,"test.")
  132. SAY "test.DirPart  ==" test.DirPart
  133. SAY "Test.FilePart ==" test.FilePart
  134.  
  135. DROP test.
  136.  
  137.                                                                               
  138. /*
  139.  *    MatchPattern()
  140.  */
  141. CALL print(4,'#',"MatchPattern(pattern,string,options)")
  142.  
  143. CALL print(20,'-','MatchPattern("#?Con#?","L:Kingcon-handler")')
  144. SAY MatchPattern("#?Con#?","L:Kingcon-handler")
  145.  
  146. CALL print(20,'-','MatchPattern("#?Con#?","L:Kingcon-handler","Case")')
  147. SAY MatchPattern("#?Con#?","L:Kingcon-handler","Case")
  148.  
  149.                                                                               
  150. /*
  151.  *    AddPart()
  152.  */
  153. CALL print(4,'#',"AddPart(dirname,filename)")
  154.  
  155. dir  = "DF0:"
  156. file = "bar"
  157. CALL print(20,'-',"AddPart("'"'dir'","'file'"'")")
  158. SAY AddPart(dir,file)
  159. dir  = "RAM:foo"
  160. file = "bar"
  161. CALL print(20,'-',"AddPart("'"'dir'","'file'"'")")
  162. SAY AddPart(dir,file)
  163. dir  = "RAM:foo/"
  164. file = "bar/sub_bar"
  165. CALL print(20,'-',"AddPart("'"'dir'","'file'"'")")
  166. SAY AddPart(dir,file)
  167.  
  168.                                                                               
  169. /*
  170.  *    SameDevice()
  171.  */
  172. CALL print(4,'#',"SameDevice()")
  173.  
  174. path1 = "RAM:t"
  175. path2 = "System:"
  176. CALL print(20,'-','SameDevice("'path1'","'path2'")')
  177. SAY SameDevice(path1,path2)
  178.  
  179. path1 = "Libs:rexxsyslib.library"
  180. path2 = "Devs:serial.device"
  181. CALL print(20,'-','SameDevice("'path1'","'path2'")')
  182. SAY SameDevice(path1,path2)
  183.  
  184.                                                                               
  185. /*
  186.  *    SameLock()
  187.  */
  188. CALL print(4,'#',"SameLock(path1,path2)")
  189.  
  190. path1 = "C:List"
  191. path2 = "SYS:c/list"
  192. CALL print(20,'-','SameLock("'path1'","'path2'")')
  193. SAY SameLock(path1,path2)
  194.  
  195. path1 = "C:"
  196. path2 = "SYS:c"
  197. CALL print(20,'-','SameLock("'path1'","'path2'")')
  198. SAY SameLock(path1,path2)
  199.  
  200. path2 = "SYS:s"
  201. CALL print(20,'-','SameLock("'path1'","'path2'")')
  202. SAY SameLock(path1,path2)
  203.  
  204. path2 = "RAM:"
  205. CALL print(20,'-','SameLock("'path1'","'path2'")')
  206. SAY SameLock(path1,path2)
  207.  
  208.                                                                               
  209. /*
  210.  *    MaxCli()
  211.  */
  212. CALL print(4,'#',"MaxCli()")
  213.  
  214. CALL print(20,'-','MaxCli()')
  215. SAY "There are at most" MaxCli() "Cli processes..."
  216.  
  217.                                                                               
  218. /*
  219.  *    IsFileSystem()
  220.  */
  221. CALL print(4,'#',"IsFileSystem(devicename)")
  222.  
  223. dev = "CON:"
  224. CALL print(20,'-','IsFileSystem("'dev'")')
  225. SAY IsFileSystem(dev)
  226.  
  227. dev = "RAM:"
  228. CALL print(20,'-','IsFileSystem("'dev'")')
  229. SAY IsFileSystem(dev)
  230.  
  231.                                                                               
  232. /*
  233.  *    WriteBlock()
  234.  */
  235. CALL print(4,'#',"WriteBlock(file,string,options)")
  236.  
  237. str = "Test string..."
  238. CALL print(20,'-','WriteBlock("T:prova","'str'")')
  239. IF WriteBlock("T:prova",str) THEN DO
  240.     ADDRESS COMMAND 'Type "T:prova"'
  241.     CALL print(20,'-','WriteBlock("T:prova",str,"Append")')
  242.     IF WriteBlock("T:prova",str,"Append") THEN DO
  243.         ADDRESS COMMAND 'Type "T:prova"'
  244.     END
  245.     ADDRESS COMMAND 'Delete "T:prova" QUIET'
  246. END
  247.                                                                               
  248. /*
  249.  *    Examine()
  250.  */
  251. CALL print(4,'#',"Examine(path,options)")
  252.  
  253. pat = "c:List"
  254. CALL print(20,'-','Examine("'pat'","ex.")')
  255. IF Examine(pat,"ex.") THEN DO
  256.     SAY "DiskKey     " ex.DiskKey
  257.     SAY "DirEntryType" ex.DirEntryType
  258.     SAY "FileName    " ex.FileName
  259.     SAY "Protection  " ex.Protection
  260.     SAY "EntryType   " ex.EntryType
  261.     SAY "Size        " ex.Size
  262.     SAY "NumBlocks   " ex.NumBlocks
  263.     SAY "Comment     " ex.Comment
  264.     SAY "WeekDay     " ex.WeekDay
  265.     SAY "Date        " ex.Date
  266.     SAY "Time        " ex.Time
  267.     SAY "OwnerUID    " ex.OwnerUID
  268.     SAY "OwnerGID    " ex.OwnerGID
  269.     END
  270.  
  271. DROP ex.
  272.  
  273.                                                                               
  274. /*
  275.  *    ReadBlock()
  276.  */
  277. CALL print(4,'#',"ReadBlock(file,options)")
  278.  
  279. CALL print(20,'-','ReadBlock("ENV:language")')
  280. SAY "language ==" ReadBlock("ENV:language")
  281.  
  282.                                                                               
  283. /*
  284.  *    Execute()
  285.  */
  286. CALL print(4,'#',"Execute(command,options)")
  287.  
  288. cmd = "Status FULL"
  289. CALL print(20,'-','Execute("'cmd'","out.")')
  290. IF Execute(cmd,"out.") THEN
  291.     DO n = 0 FOR out.count
  292.         SAY out.n
  293.     END
  294.  
  295. DROP out.
  296.  
  297.                                                                               
  298. /*
  299.  *    ExAll()
  300.  */
  301. CALL print(4,'#',"ExAll(pattern,options)")
  302.  
  303. DROP ex.
  304. pat = "devs:#?.device"
  305. CALL print(20,'-','ExAll("'pat'","ex.")')
  306. IF ExAll(pat,"ex.") THEN
  307.     DO n = 0 FOR ex.count
  308.         SAY "Name" ex.n.Name
  309.     END
  310.  
  311. DROP ex.                /* we need a new, clear stem */
  312. pat = "Libs:xpk#?"        /* the pattern to be examine */
  313. CALL print(20,'-','ExAll("'pat'","ex.* Fields 14")')
  314. IF ExAll(pat,"ex.* Fields 14") THEN
  315.     DO n = 1 FOR ex.0
  316.         SAY "Name" ex.n.Name
  317.         SAY "Prot" ex.n.Prot
  318.     END
  319.  
  320. DROP ex.
  321. pat = "Libs:req#?"
  322. CALL print(20,'-','ExAll("'pat'","ex. Type 6")')
  323. IF ExAll(pat,"ex. Type 6") THEN
  324.     DO n = 0 FOR ex.count
  325.         SAY "Name" ex.n.Name
  326.         SAY "Type" ex.n.Type
  327.         SAY "Size" ex.n.Size
  328.         SAY "Prot" ex.n.Prot
  329.         SAY "WDay" ex.n.WDay
  330.         SAY "Date" ex.n.Date
  331.         SAY "Time" ex.n.Time
  332.         SAY "Note" ex.n.Note
  333.     END
  334.  
  335. DROP ex.
  336.  
  337.                                                                               
  338.  
  339. ADDRESS COMMAND 'Wait' 2
  340.  
  341. SAY
  342. EXIT 0
  343.  
  344. print: PROCEDURE
  345.     PARSE ARG pos,char,str
  346.     IF char = '#' THEN SAY '0a0a'x
  347.     SAY COPIES(char,pos) || OVERLAY(" "str" ",COPIES(char,78 - pos))
  348.     RETURN
  349.