home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #3 / amigamamagazinepolishissue1998.iso / bazy / intra2_17 / rexx / demo1.irx < prev    next >
Text File  |  1994-02-22  |  4KB  |  164 lines

  1. /* INTRA_demo1.irx  by Frank Maesen                               */
  2. /* $VER: INTRA_demo1.irx 1.1 (22.2.1994)                          */
  3. /* Example Arexx program for controlling INTRA by Bart Vanhaeren  */
  4.  
  5. NL = '0a'x
  6.  
  7. OPTIONS RESULTS
  8.  
  9. IF POS('rexxsupport.library',SHOW('libs'))=0 THEN
  10.   nill=ADDLIB('rexxsupport.library',0,-30,0)
  11.  
  12. IF POS('INTRAREXX', SHOW('PORTS'))=0 THEN DO
  13.   SAY "*** Start INTRA first !!!"
  14.   EXIT(0)
  15.  END
  16.  
  17. ADDRESS (TRIM(SUBSTR(SHOW('PORTS'),POS('INTRAREXX',SHOW('PORTS')),12)))
  18.  
  19. SCREENTOFRONT
  20.  
  21. REQUESTNOTIFY PROMPT "ARexx script start ..."
  22.  
  23. INVOICES
  24. IF RC=0 THEN DO
  25.   REQUESTRESPONSE PROMPT """Close current file ?!?"""
  26.   IF RC>0 THEN DO
  27.     REQUESTNOTIFY PROMPT "Quitting ARexx script ..."
  28.     EXIT(0)
  29.    END
  30.   ELSE CLOSE
  31.  END
  32.  
  33. filelist=SHOWDIR('RAM:','File')
  34. DO i=1 TO WORDS(filelist)
  35.    IF WORD(filelist,i)='TestDemo.intra' THEN DO
  36.       REQUESTRESPONSE PROMPT """Overwrite old demofile ?!?"""
  37.       IF RESULT=1 THEN LEAVE
  38.       ELSE DO 
  39.          REQUESTNOTIFY PROMPT "Quitting ARexx script ..."
  40.          EXIT(0)
  41.         END
  42.      END
  43.   END
  44.  
  45. NEW FILENAME "RAM:TestDemo.intra"
  46. IF RC~=0 THEN DO
  47.   REQUESTNOTIFY PROMPT "Couldn't create file for demo !!!"
  48.   REQUESTNOTIFY PROMPT "Quitting ARexx script ..."
  49.   EXIT(0)
  50.  END
  51.  
  52. DO i=1 TO 25
  53.   ADD
  54.   SETDATA DATE i"-01-"49+i*2 AMOUNT RANDOM(0, 1000)+RANDOM(100, 1000) TRADER """BETAtestings Inc.""" DESCRIPTION """Testobject" i""""
  55.   REWRITE i
  56.  END
  57. REQUESTNOTIFY PROMPT "Just created 25 invoices."
  58.  
  59. REQUESTRESPONSE PROMPT """Calculate total of invoices ?!?"""
  60. IF RESULT=1 THEN DO
  61.    total=0
  62.    DO i=1 TO 25
  63.       READ i
  64.       GETDATA AMOUNT
  65.       PARSE VAR RESULT '"'RESULT'"' nill
  66.       total=total+RESULT
  67.      END
  68.    REQUESTNOTIFY PROMPT "Total amount: "||total
  69.   END
  70.  
  71. number=RANDOM(0,26)
  72. REQUESTRESPONSE PROMPT """Search the amount for ""Testobject "||number||""" ?!?"""
  73. IF RESULT=1 THEN DO
  74.    POSITION BOF
  75.    DO i=1 TO 25
  76.       GETDATA DESCRIPTION
  77.       IF RESULT="""Testobject "||number"""" THEN DO
  78.          GETDATA AMOUNT
  79.          REQUESTNOTIFY PROMPT "Testobject "||number||" = "||RESULT
  80.          LEAVE
  81.         END
  82.       NEXT
  83.      END
  84.   END
  85.  
  86. REQUESTRESPONSE PROMPT """Wanna know which version you're running of INTRA ?!?"""
  87. IF RESULT = 1 THEN DO
  88.    VERSION
  89.    PARSE VAR RESULT nil RESULT
  90.    REQUESTNOTIFY PROMPT RESULT
  91.   END
  92.  
  93. REQUESTRESPONSE PROMPT """Change all EVEN invoices from trader ?!?"""
  94. IF RESULT = 1 THEN DO
  95.    REQUESTSTRING PROMPT """Enter new trader""" DEFAULT """Trader ????"""
  96.    IF RC~=0 THEN BREAK
  97.    ELSE DO 
  98.       name=RESULT
  99.       DO i=25 TO 2 BY -1 
  100.          READ i
  101.          IF i // 2 = 0 THEN DO 
  102.             SETDATA TRADER name
  103.             REWRITE i
  104.            END
  105.          PREVIOUS
  106.         END
  107.      END
  108.   END
  109.  
  110. records='25'
  111. REQUESTRESPONSE PROMPT """Open another INTRA file to play with ?!?"""
  112. IF RESULT = 1 THEN DO
  113.    CLOSE
  114.    OPEN
  115.    IF RC~=0 THEN DO
  116.       REQUESTNOTIFY PROMPT "Dummy, why do you select thing you don't mean !!!"
  117.       OPEN FILENAME "RAM:TestDemo.intra"
  118.      END
  119.    ELSE DO
  120.       INVOICES
  121.       records=RESULT
  122.       REQUESTNOTIFY PROMPT "File contains "||RESULT||" records."
  123.      END
  124.   END
  125.  
  126. REQUESTRESPONSE PROMPT """Search the highest amount of all invoices ?!?"""
  127. IF RESULT=1 THEN DO
  128.    POSITION BOF
  129.    GETDATA AMOUNT
  130.    PARSE VAR RESULT '"'RESULT'"' nill
  131.    number=RESULT '1'
  132.    DO i=2 TO records
  133.       READ i
  134.       GETDATA AMOUNT
  135.       PARSE VAR RESULT '"'RESULT'"' nill
  136.       IF RESULT > WORD(number,1) THEN number=RESULT i
  137.      END
  138.    READ WORD(number,2)
  139.    REQUESTNOTIFY PROMPT "HIGHEST amount : "||WORD(number,1)||", INVOICE : "||WORD(number,2)
  140.   END
  141.  
  142. REQUESTSTRING PROMPT """Calculate total of which month ???""" DEFAULT "01-93"
  143. IF RC=0 THEN DO
  144.    info=RESULT
  145.    total=0
  146.    INVOICES
  147.    DO i=1 TO RESULT
  148.       READ i
  149.       GETDATA DATE AMOUNT
  150.       PARSE VAR RESULT '"'dat'"' '"'val'"' nill
  151.       IF RIGHT(dat,5) = info THEN total = total + val
  152.      END
  153.    IF total~=0 THEN REQUESTNOTIFY PROMPT "Total amount for 'XX-"info "=" total"'"
  154.    ELSE REQUESTNOTIFY PROMPT "Didn't find any amount for 'XX-"info"'"
  155.   END
  156. ELSE IF RC=10 THEN REQUESTNOTIFY PROMPT "Reqtools is not available"
  157. CLOSE
  158.  
  159. REQUESTRESPONSE PROMPT """Delete RAM:TestDemo.intra (demofile) ?!?"""
  160. IF RESULT=1 THEN DELETE FILENAME """RAM:TestDemo.intra""" FORCE
  161.  
  162. REQUESTNOTIFY PROMPT "ARexx script is done ..."
  163. EXIT(0)
  164.