home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / dev / AmigaE / ArisModules / MeasConv / MeasConvRx.e < prev   
Text File  |  1995-09-07  |  5KB  |  114 lines

  1. ->
  2. -> MeasCOnvRx.e © Aris Basic 1995
  3. ->
  4. -> COMPILED_NAME:
  5. ->              MeasConvRx
  6. ->
  7. -> COPYRIGHT (DISTRIBUTION):
  8. ->              GMYware
  9. ->    (see MeasConv.guide "GMYWare")
  10. ->
  11. -> DESCRIPTION:
  12. -> ArexxHost of MeasConv (untill some better time as separate programm)
  13. ->
  14. ->
  15. -> HISTORY:
  16. ->  31.08.1995  01.00 initial release
  17. ->  07.09.1995  01.10 now uses measconv.library
  18. ->
  19. ->
  20. OPT PREPROCESS
  21.  
  22. -> Modules
  23.  
  24. MODULE 'measconv','rexxhost'
  25.  
  26. ->// Global Variables
  27. DEF rexx_host,quit=FALSE,rexxmsg,cmd[20]:STRING,args[41]:STRING,argstr[20]:STRING,
  28.     charcount=0:LONG,argvalue,resultstr[20]:STRING
  29. ->///
  30. ->// main program
  31. PROC main() HANDLE
  32.     DEF value ->,valuestr[20]:STRING
  33.     IF NIL=(measconvbase:=OpenLibrary('measconv.library',0)) THEN Raise("MCL")
  34.     IF NIL=(rexxhostbase:=OpenLibrary('rexxhost.library',0)) THEN Raise("RXL")
  35.     IF NIL=(rexx_host:=CreateRexxHost('MEASCONV.RX')) THEN Raise("RXH")
  36.         WHILE ((rexxmsg:=GetRexxMsg(rexx_host,TRUE)) AND (quit=FALSE))
  37.             IF args:=GetRexxCommand(rexxmsg)
  38.                 GetToken(args,{charcount},cmd,19)
  39.                 GetToken(args,{charcount},argstr,19)
  40.                 argvalue:=RealVal(argstr)
  41.                 IF FALSE=RexxStrCmp(cmd,'cm2inch')
  42.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,(Cm2inch(argvalue)),6))
  43.                 ELSEIF FALSE=RexxStrCmp(cmd,'inch2cm')
  44.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,(Inch2cm(argvalue)),6))
  45.                 ELSEIF FALSE=RexxStrCmp(cmd,'inch2ft')
  46.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,(Inch2ft(argvalue)),6))
  47.                 ELSEIF FALSE=RexxStrCmp(cmd,'ft2inch')
  48.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,(Ft2inch(argvalue)),6))
  49.                 ELSEIF FALSE=RexxStrCmp(cmd,'ft2mile')
  50.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,(Ft2mile(argvalue)),6))
  51.                 ELSEIF FALSE=RexxStrCmp(cmd,'mile2ft')
  52.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,(Mile2ft(argvalue)),6))
  53.                 ELSEIF FALSE=RexxStrCmp(cmd,'mile2km')
  54.                     value:=Mile2km(argvalue)
  55.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,value,6))
  56.                 ELSEIF FALSE=RexxStrCmp(cmd,'km2mile')
  57.                     value:=Km2mile(argvalue)
  58.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,value,6))
  59.                 ELSEIF FALSE=RexxStrCmp(cmd,'kg2pound')
  60.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,(Kg2pound(argvalue)),6))
  61.                 ELSEIF FALSE=RexxStrCmp(cmd,'pound2kg')
  62.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,(Pound2kg(argvalue)),6))
  63.                 ELSEIF FALSE=RexxStrCmp(cmd,'celsius2fahreheit')
  64.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,(Cg2fg(argvalue)),6))
  65.                 ELSEIF FALSE=RexxStrCmp(cmd,'fahreheit2celsius')
  66.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,(Fg2cg(argvalue)),6))
  67.                 ELSEIF FALSE=RexxStrCmp(cmd,'celsius2kelvin')
  68.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,(Cg2kg(argvalue)),6))
  69.                 ELSEIF FALSE=RexxStrCmp(cmd,'kelvin2celsius')
  70.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,(Kg2cg(argvalue)),6))
  71.                 ELSEIF FALSE=RexxStrCmp(cmd,'fahreheit2kelvin')
  72.                     value:=Fg2kg(argvalue)
  73.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,value,6))
  74.                 ELSEIF FALSE=RexxStrCmp(cmd,'kelvin2fahreheit')
  75.                     value:=Kg2fg(argvalue)
  76.                     ReplyRexxCommand(rexxmsg,0,0,RealF(resultstr,value,6))
  77.                 ELSEIF FALSE=RexxStrCmp(cmd,'quit')
  78.                     quit:=TRUE
  79.                     ReplyRexxCommand(rexxmsg,0,0,NIL)
  80.                 ELSEIF FALSE=RexxStrCmp(cmd,'about')
  81.                     EasyRequestArgs(0,[20,0,'MeasConvRx ABOUT',{version},'OK'],0,NIL)
  82.                     ReplyRexxCommand(rexxmsg,0,0,NIL)
  83.                 ELSE
  84.                     ReplyRexxCommand(rexxmsg,10,0,NIL)
  85.                     ENDIF
  86.                 charcount:=0
  87.                 value:=0
  88.                 argvalue:=0
  89.                 StrCopy(resultstr,NIL)
  90.                 IF quit=TRUE THEN JUMP end
  91.                 ENDIF
  92.             ENDWHILE
  93. end:
  94.     Raise(0)
  95. EXCEPT
  96.     IF measconvbase THEN CloseLibrary(measconvbase)
  97.     IF rexxmsg THEN ReplyRexxCommand(rexxmsg,0,0,NIL)
  98.     IF rexx_host THEN DeleteRexxHost(rexx_host)
  99.     IF rexxhostbase THEN CloseLibrary(rexxhostbase)
  100.     SELECT exception
  101.         CASE "MCL"
  102.             PrintF('Can`t open measconv.library !\n')
  103.         CASE "RXL"
  104.             PrintF('Can`t open rexxhost.library !\n')
  105.         CASE "RXH"
  106.             PrintF('Can`t create rexx host !\n')
  107.         DEFAULT
  108.         ENDSELECT
  109.     ENDPROC
  110. ->///
  111. version:
  112. CHAR '$VER: MeasConvRx 01.10 (07.09.1995) © Aris Basic\n',0
  113.  
  114.