home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / ps_ext.zip / REXX.EXT < prev    next >
Text File  |  1997-05-16  |  10KB  |  439 lines

  1. @Rexx Constructs
  2. %If Then Else
  3. $IF value = 0 THEN
  4.    DO
  5.    END
  6. ELSE
  7.    DO
  8.    END
  9. %DO
  10. $DO index = 1 to 100 by 1
  11. END
  12. %Do while
  13. $DO WHILE value > 0
  14. END
  15. %Do until
  16. $DO UNTIL value > 0
  17. END
  18. %Select when
  19. $SELECT
  20.    WHEN value > 0
  21.       THEN
  22.    WHEN value = 0
  23.       THEN
  24.    WHEN value < 0
  25.       THEN
  26.    OTHERWISE
  27. END
  28. %Count
  29. $do numeric_value
  30. %Greater than
  31. $>
  32. %Less than
  33. $<
  34. %Equal
  35. $= or ==
  36. %Not equal
  37. $<> or \=
  38. %CrLf
  39. $crlf=d2c(13)||d2c(10)
  40. %And
  41. $&
  42. %Or
  43. $|
  44. %Not
  45. $^ or \
  46. %Procedure
  47. $PROCEDURE EXPOSE Valuename /* Procedure must follow imidiately after the label ! */
  48. %Signal
  49. $SIGNAL labelname
  50. %Signal off
  51. $SIGNAL OFF ERROR
  52. SIGNAL OFF FAILURE
  53. SIGNAL OFF HALT
  54. SIGNAL OFF NOVALUE
  55. SIGNAL OFF SYNTAX
  56. SIGNAL OFF NOTREADY
  57. %Signal on
  58. $SIGNAL ON ERROR NAME labelname
  59. SIGNAL ON FAILURE NAME labelname
  60. SIGNAL ON HALT NAME labelname
  61. SIGNAL ON NOVALUE NAME labelname
  62. SIGNAL ON SYNTAX NAME labelname
  63. SIGNAL ON NOTREADY NAME labelname
  64.  
  65. @Rexxutil
  66. %Load RexxUtil
  67. $/* Load RexxUtil.DLL */
  68. CALL RxFuncAdd 'SysLoadFuncs','Rexxutil','SysLoadFuncs'
  69. CALL SysLoadFuncs
  70. %Query RexxUtil
  71. $rc = RxFuncQuery('SysloadFuncs') /* rc is 0 if  SysLoadFuncs is not loaded */
  72. %Drop RexxUtil 
  73. $CALL SysDropFuncs
  74. %RxMessageBox
  75. $value = RxMessageBox(text,title,bottom,symbol)
  76.  
  77. @Sys - object functions
  78. %SysCopyObject
  79. $rc = SysCopyObject(source,destination)
  80. %SysCreateObject
  81. $rc = SysCreateObject('WPProgram', 'title', '<WP_DESKTOP>','EXENAME=filename;STARTUPDIR=dir;PROGTYPE=PM;', 'U')
  82. %SysCreateShadow
  83. $SysCreateShadow(Object, target)
  84. %SysDeregisterObjectClass
  85. $rc = SysDeregisterObjectClass(classname)
  86. %SysDestroyObject
  87. $rc = SysDestroyObject(objectname)
  88. %SysMoveObject
  89. $rc = SysMoveObject(source,destination)
  90. %SysOpenObject
  91. $rc = SysOpenObject(objectname, display, mark)
  92. %SysQueryClassList
  93. $CALL SysQueryClassList 'stem.'
  94. %SysRegisterObjectClass
  95. $rc = SysRegisterObjectClass(name,module)
  96. %SysSaveObject
  97. $SysSaveObject(name, dAsync)
  98. %SysSetObjectData
  99. $SysSetObjectData(name, config)
  100.  
  101. @Sys - file functions
  102. %SysDriveInfo
  103. $Info = SysDriveInfo(drive)
  104. %SysDriveMap
  105. $List = SysDriveMap(drive,options)
  106. %SysFileDelete
  107. $SysFileDelete(file)
  108. %SysFileTree
  109. $CALL SysFileTree filename,'List',option,attribute
  110. %SysFileSearch
  111. $CALL SysFileSearch search value,file,'List',options
  112. %SysGetMessage
  113. $Message = SysGetMessage(number,file)
  114. %SysIni - query value
  115. $value = SysIni(file,app,key)
  116. %SysIni - query all apps
  117. $rc = SysIni(file,'ALL:','List')
  118. %SysMkDir
  119. $CALL SysMkDir directory
  120. %SysGetEA
  121. $CALL SysGetEA file, EAname, var
  122. %SysPutEA
  123. $CALL SysPutEA file, EAname, value
  124. %SysRmDir
  125. $CALL SysRmDir directory
  126. %SysSearchPath
  127. $SysSearchPath(path, file)
  128. %SysSetIcon
  129. $rc = SysSetIcon(file,iconfile)
  130. %SysTempFileName
  131. $file = SysTempFileName(template,filter)
  132.  
  133. @Sys - other functions
  134. %SysCls
  135. $CALL SysCls
  136. %SysCurPos
  137. $pos = SysCurPos(row,col)
  138. %SysCurState
  139. $CALL SysCurState 'ON' or 'OFF'
  140. %SysGetKey
  141. $key = SysGetKey('ECHO')
  142. key = SysGetKey('NOECHO')
  143. %SysOS2Ver
  144. $Version = SysOS2Ver()
  145. %SysSleep
  146. $CALL SysSleep seconds
  147. %SysTextScreenRead
  148. $line = SysTextScreenRead(row,col,length)
  149. %SysTextScreenSize
  150. $rc =SysTextScreenSize()
  151. %SysWaitNamedPipe
  152. $SysWaitNamedPipe(name, [time_limit])
  153.  
  154. @I/O functions
  155. %Address
  156. $ADDRESS environment
  157. %Charin
  158. $Value = CHARIN(name,start,length)
  159. %Charin file to variable
  160. $numchars = CHARS(filename)
  161. value = CHARIN(filename,1,numchars)
  162. rc=stream(filename,'c','close') /* Is this needed? */
  163. %Charout
  164. $CALL CHAROUT name,string
  165. %Chars
  166. $Value = CHARS(name)
  167. %Directory
  168. $Value = DIRECTORY() /* returns current directory */
  169. CALL DIRECTORY directory /* switch to directory */
  170. %Filespec
  171. $Value = FILESPEC('D',filename) /* returns drive */
  172. Value = FILESPEC('P',filename) /* returns the path */
  173. Value = FILESPEC('N',filename /* returns the filename */
  174. %Linein
  175. $value = LINEIN(name,line)
  176. %Lineout
  177. $CALL LINEOUT name,string,line
  178. %Lines
  179. $lines = LINES(name)
  180.  
  181. @Parse
  182. %Parse Arg
  183. $PARSE ARG string
  184. %Parse Linein
  185. $parse [Upper] linein [template]
  186. %Parse Pull
  187. $PARSE PULL string
  188. %Parse Source
  189. $PARSE SOURCE string
  190. %Parse Value
  191. $PARSE VALUE function WITH template /* Parse Value TIME() with Std ':' Min ':' Sec */
  192. %Parse Var
  193. $PARSE VAR string first rest
  194. %Parse Version
  195. $PARSE VERSION REXXVERSION
  196.  
  197. @Stream
  198. %Stream - Open
  199. $CALL STREAM file,'C','OPEN'
  200. %Stream - Open Read
  201. $CAll STREAM file,'C','OPEN READ'
  202. %Stream - Open Write
  203. $CALL STREAM file,'C','OPEN WRITE'
  204. %Stream - Seek
  205. $CALL STREAM file,'C','SEEK number'
  206. %Stream - Close
  207. $CALL STREAM file,'C','CLOSE'
  208. %Stream - filename
  209. $filename = STREAM(file,'C','QUERY EXIST')
  210. %Stream - size
  211. $size = STREAM(file,'C','QUERY SIZE')
  212. %Stream - time/Date
  213. $timeinfo = STREAM(file,'C','QUERY DATETIME')
  214. %Stream - description
  215. $Value = STREAM(file,'D')
  216. %Stream - status
  217. $Value = STREAM(file,'S')
  218.  
  219. @Queue 
  220. %RxQueue - GET
  221. $Queue = RxQueue('GET')
  222. %RxQueue - Create
  223. $Name = RxQueue('CREATE',name)
  224. %RxQueue - Set
  225. $rc = RxQueue('SET',name)
  226. %RxQueue - Delete
  227. $rc = RxQueue('DELETE',name)
  228. %Queued
  229. $Zeilen = QUEUED() /* returns the number of lines in queue */
  230. %Queue
  231. $QUEUE value /* append value to the end of the queue */
  232. %Pull
  233. $PULL value /* get 1. line of queue */
  234. %Push
  235. $PUSH value /* insert value at the beginning of the queue */
  236.  
  237. @Strings
  238. %B2X
  239. $value = B2X(char)
  240. %Center
  241. $value = CENTER(string,length,fillchar)
  242. %Chars
  243. $value = CHARS(name)
  244. %Compare
  245. $value = COMPARE(string1,string2)
  246. %Copies
  247. $value = COPIES(string,number)
  248. %C2D
  249. $value = C2D(char)
  250. %C2X
  251. $value = C2X(char)
  252. %Delstr
  253. $value = DELSTR(string,start,length)
  254. %Delword
  255. $value = DELWORD(string,start,length)
  256. %D2C
  257. $value = D2C(number)
  258. %D2X
  259. $value = D2X(number)
  260. %Insert
  261. $value = INSERT(new,target,start)
  262. %Lastpos
  263. $value = LASTPOS(needle,haystack,start)
  264. %Left
  265. $value = LEFT(string,length,fillchar)
  266. %Length
  267. $value = LENGTH(string)
  268. %Pos
  269. $value = POS(needle,haystack,start)
  270. %Overlay
  271. $value = OVERLAY(new,target,start,length,fillchar)
  272. %Reverse
  273. $value = REVERSE(string)
  274. %Right
  275. $value = RIGHT(string,length,fillchar)
  276. %Space
  277. $value = SPACE(string,number,fillchar)
  278. %Strip
  279. $value = STRIP(string,option,fillchar)
  280. %Substr
  281. $value = SUBSTR(string,start,length)
  282. %Subword
  283. $value = SUBWORD(string,start,length)
  284. %Translate
  285. $value = TRANSLATE(string) /* convert string to uppercase */
  286. /* replace a character within the string with an other character */
  287. value = TRANSLATE(string,tableout,tablein,pad)
  288. %Verify
  289. $value = VERIFY(string1,string2)
  290. %Word
  291. $value = WORD(string,pos)
  292. %Wordindex
  293. $index = WORDINDEX(string,word)
  294. %Wordlength
  295. $value = WORDLENGTH(string,pos)
  296. %Wordpos
  297. $value = WORDPOS(needle,haystack,start)
  298. %Words
  299. $value = WORDS(string)
  300. %X2B
  301. $value = X2B(hex char)
  302. %X2C
  303. $value = X2C(hex char)
  304. %X2D
  305. $value = X2D(hex char)
  306. %Xrange
  307. $value = XRANGE(start,end)
  308.  
  309. @Math functions
  310. %ABS
  311. $value = ABS(number)
  312. %Digits
  313. $value = DIGITS()
  314. %Format
  315. $value = FORMAT(number,before,after)
  316. %Form
  317. $value = FORM()
  318. %Fuzz
  319. $value = FUZZ()
  320. %Numeric Digits
  321. $NUMERIC DIGITS value
  322. %Numeric Form
  323. $NUMERIC FORM 'SCIENTIFIC' or 'ENGINEERING'
  324. %Numeric Fuzz
  325. $NUMERIC FUZZ value
  326. %Max
  327. $value = MAX(number1,number2,...,number20)
  328. %Min
  329. $value = MIN(number1,number2,....,number20)
  330. %Random
  331. $value = RANDOM(min,max)
  332. %Sign
  333. $value = SIGN(number)
  334. %Trunc
  335. $Value = TRUNC(number,n)
  336.  
  337. @Other functions
  338. %Abbrev
  339. $value = ABBREV(information,info,length)
  340. %Beep
  341. $CALL BEEP frequency,duration
  342. %BitAnd
  343. $bitand(string1, string2, fill)
  344. %BitOr
  345. $bitor(string1, string2, fill)
  346. %BitXOr
  347. $bitxor(string1, string2, fill)
  348. %Condition
  349. $rc = CONDITION('C') /* Condition Name */
  350. rc = CONDITION('I') /* Condition Instruction */
  351. rc = CONDITION('D') /* Condition Description */
  352. rc = CONDITION('S') /* Condition Status */
  353. %Datatype
  354. $Type = DATATYPE(string)
  355. %Date
  356. $value = DATE() /* dd mm yyyy */
  357. value = DATE('B') /* days since January 1, 0001 */
  358. value = DATE('D') /* days since January 1, of the current year */
  359. value = DATE('E') /* dd/mm/yy European format */
  360. value = DATE('L') /* language-dependent format*/
  361. value = DATE('M') /* name of the month */
  362. value = DATE('N') /* dd mon yyyy */
  363. value = DATE('O') /* yy/mm/ddt */
  364. value = DATE('S') /* yyyymmdd */
  365. value = DATE('U') /* mm/dd/yy */
  366. value = DATE('W') /* day of week */
  367. %Drop
  368. $DROP value
  369. %Errortext
  370. $errortext(n)
  371. %Endlocal
  372. $endlocal()
  373. %Setlocal
  374. $setlocal()
  375. %Sourceline
  376. $line = SOURCELINE(line)
  377. %Symbol
  378. $status = SYMBOL(value)
  379. %Time
  380. $value = TIME() /* hh:mm:ss */
  381. value = TIME('C') /* hh:mmxx */
  382. value = TIME('E') /* Elapsed */
  383. value = TIME('H') /* hh */
  384. value = TIME('M') /* mmmm since midnight */
  385. value = TIME('L') /* hh:mm:ss:uu0000 */
  386. value = TIME('N') /* hh:mm:ss */
  387. value = TIME('R') /* Reset elapsed */
  388. %Trace
  389. $trace(definition)
  390. %value
  391. $value = VALUE(name,newvalue,environment)
  392. /* example */
  393. path = VALUE('Path',,'OS2ENVIRONMENT')
  394.  
  395. @Screen colors (ANSI-Sequences)
  396. %Standard
  397. $CALL CHAROUT 'CON:',''
  398. %Bright - foreground
  399. $CALL CHAROUT 'CON:',''
  400. %Invers
  401. $CALL CHAROUT 'CON:',''
  402. %Invisible
  403. $CALL CHAROUT 'CON:',''
  404. %Foreground black
  405. $CALL CHAROUT 'CON:',''
  406. %Foreground red
  407. $CALL CHAROUT 'CON:',''
  408.  
  409. %Foreground white
  410. $CALL CHAROUT 'CON:',''
  411. %Background black
  412. $CALL CHAROUT 'CON:',''
  413. %Background red
  414. $CALL CHAROUT 'CON:',''
  415.  
  416. %Background white
  417. $CALL CHAROUT 'CON:',''
  418. %Clear screen
  419. $CALL CHAROUT 'CON:',''
  420. %Delete line
  421. $CALL CHAROUT 'CON:',''
  422. %Coursor position
  423. $CALL CHAROUT 'CON:','x;yH'
  424. %Coursor up
  425. $CALL CHAROUT 'CON:','yA'
  426. %Coursor down
  427. $CALL CHAROUT 'CON:','yB'
  428. %Coursor to right
  429. $CALL CHAROUT 'CON:','xC'
  430. %Coursor to left
  431. $CALL CHAROUT 'CON:','xD'
  432.  
  433. %Cursor position restore
  434. $CALL CHAROUT 'CON:','u'
  435. %ANSI on
  436. $ADDRESS CMD 'ANSI ON'
  437. %ANSI off
  438. $ADDRESS CMD 'ANSI OFF'
  439.