home *** CD-ROM | disk | FTP | other *** search
- /*
- * rexx_dos.library
- *
- * Test file...
- */
-
- OPTIONS RESULTS
- lib = 'rexxMOOS.library'; IF ~SHOW('L',lib) THEN CALL ADDLIB(lib,100,-30)
-
-
- /*
- * ReadArgs()
- */
- CALL print(4,'#',"ReadArgs(string,template,options)")
-
- DROP file add quiet
- str = "mio tuo suo add"
- tpl = "FILE/M,ADD/S,QUIET=Q/S"
- CALL print(20,'-','ReadArgs("'str'","'tpl'","opt.*")')
- IF ReadArgs(str,tpl,"opt.*") THEN DO
- SAY "OPT.FILE.0 =" opt.file.0
- DO n = 1 FOR opt.file.0
- SAY "OPT.FILE."n "=" opt.file.n
- END
- SAY "OPT.ADD =" opt.add
- SAY "OPT.QUIET =" opt.quiet
- END
- DROP opt.
-
- CALL print(20,'-','ReadArgs("'str'","'tpl'","opt.")')
- IF ReadArgs(str,tpl,"opt.") THEN DO
- SAY "OPT.FILE.COUNT =" opt.file.count
- DO n = 0 FOR opt.file.count
- SAY "OPT.FILE."n "=" opt.file.n
- END
- SAY "OPT.ADD =" opt.add
- SAY "OPT.QUIET =" opt.quiet
- END
- DROP opt.
-
- str = "29 12 68 A D"
- tpl = "ID/N/M,Append=A/S,Delete=D/S"
- CALL print(20,'-','ReadArgs("'str'","'tpl'")')
- IF ReadArgs(str,tpl) THEN DO
- SAY "ID.COUNT =" id.count
- DO n = 0 FOR id.count
- SAY "ID."n "=" id.n
- END
- SAY "APPEND =" append
- SAY "DELETE =" delete
- END
-
- DROP id. append delete
-
-
- /*
- * Info()
- */
- CALL print(4,'#',"Info(path,options)")
-
- path = "SYS:"
- CALL print(20,'-','Info("'path'","ex.")')
- IF Info(path,"ex.") THEN DO
- SAY "VolumeName " ex.VolumeName
- SAY "DateStamp " ex.DateStamp
- SAY "NumSoftErrors " ex.NumSoftErrors
- SAY "UnitNumber " ex.UnitNumber
- SAY "DiskState " ex.DiskState
- SAY "NumBlocks " ex.NumBlocks
- SAY "NumBlocksUsed " ex.NumBlocksUsed
- SAY "BytesPerBlock " ex.BytesPerBlock
- SAY "DiskType " ex.DiskType
- SAY "InUse " ex.InUse
- END
-
- DROP ex.
-
-
- /*
- * Delay()
- */
- CALL print(4,'#',"Delay(ticks)")
-
- ticks = 100
- CALL print(20,'-',"Delay("ticks")")
- CALL TIME('r'); CALL Delay(ticks)
- SAY ticks "ticks ==" TIME('e') "secs..."
-
- ticks = 50
- CALL print(20,'-',"Delay("ticks")") /* Now we're sure that the library */
- CALL TIME('r'); CALL Delay(ticks) /* is loaded in the system */
- SAY ticks "ticks ==" TIME('e') "secs..."
-
-
- /*
- * SetVar()
- * GetVar()
- * DeleteVar()
- */
- CALL print(4,'#',"SetVar(name,value,options)")
- var = "test"
- val = "the variable content..."
- CALL print(20,'-','SetVar("'var'",val)')
- SAY SetVar(var,val)
-
- CALL print(4,'#',"GetVar(name,options)")
- CALL print(20,'-','GetVar("language")')
- SAY "language ==" GetVar("language")
-
- CALL print(20,'-','GetVar("'var'","Exists")')
- SAY GetVar(var,"Exists")
-
- CALL print(4,'#',"DeleteVar(name,options)")
- CALL print(20,'-','DeleteVar("'var'")')
- SAY DeleteVar(var)
-
-
- /*
- * SplitPath()
- */
- CALL print(4,'#',"SplitPath(path,options)")
-
- dir = "DF0:foo/bar/moos-startup"
- CALL print(20,'-',"SplitPath('"dir"')")
- SAY SplitPath(dir)
-
- CALL print(20,'-',"SplitPath('"dir"','Path')")
- SAY SplitPath(dir,"Path")
-
- CALL print(20,'-',"SplitPath('"dir"','test.')")
- SAY SplitPath(dir,"test.")
- SAY "test.DirPart ==" test.DirPart
- SAY "Test.FilePart ==" test.FilePart
-
- DROP test.
-
-
- /*
- * MatchPattern()
- */
- CALL print(4,'#',"MatchPattern(pattern,string,options)")
-
- CALL print(20,'-','MatchPattern("#?Con#?","L:Kingcon-handler")')
- SAY MatchPattern("#?Con#?","L:Kingcon-handler")
-
- CALL print(20,'-','MatchPattern("#?Con#?","L:Kingcon-handler","Case")')
- SAY MatchPattern("#?Con#?","L:Kingcon-handler","Case")
-
-
- /*
- * AddPart()
- */
- CALL print(4,'#',"AddPart(dirname,filename)")
-
- dir = "DF0:"
- file = "bar"
- CALL print(20,'-',"AddPart("'"'dir'","'file'"'")")
- SAY AddPart(dir,file)
- dir = "RAM:foo"
- file = "bar"
- CALL print(20,'-',"AddPart("'"'dir'","'file'"'")")
- SAY AddPart(dir,file)
- dir = "RAM:foo/"
- file = "bar/sub_bar"
- CALL print(20,'-',"AddPart("'"'dir'","'file'"'")")
- SAY AddPart(dir,file)
-
-
- /*
- * SameDevice()
- */
- CALL print(4,'#',"SameDevice()")
-
- path1 = "RAM:t"
- path2 = "System:"
- CALL print(20,'-','SameDevice("'path1'","'path2'")')
- SAY SameDevice(path1,path2)
-
- path1 = "Libs:rexxsyslib.library"
- path2 = "Devs:serial.device"
- CALL print(20,'-','SameDevice("'path1'","'path2'")')
- SAY SameDevice(path1,path2)
-
-
- /*
- * SameLock()
- */
- CALL print(4,'#',"SameLock(path1,path2)")
-
- path1 = "C:List"
- path2 = "SYS:c/list"
- CALL print(20,'-','SameLock("'path1'","'path2'")')
- SAY SameLock(path1,path2)
-
- path1 = "C:"
- path2 = "SYS:c"
- CALL print(20,'-','SameLock("'path1'","'path2'")')
- SAY SameLock(path1,path2)
-
- path2 = "SYS:s"
- CALL print(20,'-','SameLock("'path1'","'path2'")')
- SAY SameLock(path1,path2)
-
- path2 = "RAM:"
- CALL print(20,'-','SameLock("'path1'","'path2'")')
- SAY SameLock(path1,path2)
-
-
- /*
- * MaxCli()
- */
- CALL print(4,'#',"MaxCli()")
-
- CALL print(20,'-','MaxCli()')
- SAY "There are at most" MaxCli() "Cli processes..."
-
-
- /*
- * IsFileSystem()
- */
- CALL print(4,'#',"IsFileSystem(devicename)")
-
- dev = "CON:"
- CALL print(20,'-','IsFileSystem("'dev'")')
- SAY IsFileSystem(dev)
-
- dev = "RAM:"
- CALL print(20,'-','IsFileSystem("'dev'")')
- SAY IsFileSystem(dev)
-
-
- /*
- * WriteBlock()
- */
- CALL print(4,'#',"WriteBlock(file,string,options)")
-
- str = "Test string..."
- CALL print(20,'-','WriteBlock("T:prova","'str'")')
- IF WriteBlock("T:prova",str) THEN DO
- ADDRESS COMMAND 'Type "T:prova"'
- CALL print(20,'-','WriteBlock("T:prova",str,"Append")')
- IF WriteBlock("T:prova",str,"Append") THEN DO
- ADDRESS COMMAND 'Type "T:prova"'
- END
- ADDRESS COMMAND 'Delete "T:prova" QUIET'
- END
-
- /*
- * Examine()
- */
- CALL print(4,'#',"Examine(path,options)")
-
- pat = "c:List"
- CALL print(20,'-','Examine("'pat'","ex.")')
- IF Examine(pat,"ex.") THEN DO
- SAY "DiskKey " ex.DiskKey
- SAY "DirEntryType" ex.DirEntryType
- SAY "FileName " ex.FileName
- SAY "Protection " ex.Protection
- SAY "EntryType " ex.EntryType
- SAY "Size " ex.Size
- SAY "NumBlocks " ex.NumBlocks
- SAY "Comment " ex.Comment
- SAY "WeekDay " ex.WeekDay
- SAY "Date " ex.Date
- SAY "Time " ex.Time
- SAY "OwnerUID " ex.OwnerUID
- SAY "OwnerGID " ex.OwnerGID
- END
-
- DROP ex.
-
-
- /*
- * ReadBlock()
- */
- CALL print(4,'#',"ReadBlock(file,options)")
-
- CALL print(20,'-','ReadBlock("ENV:language")')
- SAY "language ==" ReadBlock("ENV:language")
-
-
- /*
- * Execute()
- */
- CALL print(4,'#',"Execute(command,options)")
-
- cmd = "Status FULL"
- CALL print(20,'-','Execute("'cmd'","out.")')
- IF Execute(cmd,"out.") THEN
- DO n = 0 FOR out.count
- SAY out.n
- END
-
- DROP out.
-
-
- /*
- * ExAll()
- */
- CALL print(4,'#',"ExAll(pattern,options)")
-
- DROP ex.
- pat = "devs:#?.device"
- CALL print(20,'-','ExAll("'pat'","ex.")')
- IF ExAll(pat,"ex.") THEN
- DO n = 0 FOR ex.count
- SAY "Name" ex.n.Name
- END
-
- DROP ex. /* we need a new, clear stem */
- pat = "Libs:xpk#?" /* the pattern to be examine */
- CALL print(20,'-','ExAll("'pat'","ex.* Fields 14")')
- IF ExAll(pat,"ex.* Fields 14") THEN
- DO n = 1 FOR ex.0
- SAY "Name" ex.n.Name
- SAY "Prot" ex.n.Prot
- END
-
- DROP ex.
- pat = "Libs:req#?"
- CALL print(20,'-','ExAll("'pat'","ex. Type 6")')
- IF ExAll(pat,"ex. Type 6") THEN
- DO n = 0 FOR ex.count
- SAY "Name" ex.n.Name
- SAY "Type" ex.n.Type
- SAY "Size" ex.n.Size
- SAY "Prot" ex.n.Prot
- SAY "WDay" ex.n.WDay
- SAY "Date" ex.n.Date
- SAY "Time" ex.n.Time
- SAY "Note" ex.n.Note
- END
-
- DROP ex.
-
-
-
- ADDRESS COMMAND 'Wait' 2
-
- SAY
- EXIT 0
-
- print: PROCEDURE
- PARSE ARG pos,char,str
- IF char = '#' THEN SAY '0a0a'x
- SAY COPIES(char,pos) || OVERLAY(" "str" ",COPIES(char,78 - pos))
- RETURN
-