home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / comm / ums / developer.lha / Developer / arexx / WriteMessage.rexx < prev   
Encoding:
OS/2 REXX Batch file  |  1993-11-03  |  2.3 KB  |  110 lines

  1. /* ------------------------------------------------------------------------
  2.   :Program.       WriteMessage
  3.   :Contents.      writes a new message to UMS' messagebase
  4.   :Author.        Kai Bolay [kai]
  5.   :Address.       Snail Mail:              EMail:
  6.   :Address.       Hoffmannstraße 168       UUCP: kai@amokle.stgt.sub.org
  7.   :Address.       D-71229 Leonberg         FIDO: 2:2407/106.3
  8.   :History.       v1.0 [kai] 23-Sep-93
  9.   :Copyright.     Public Domain
  10.   :Language.      ARexx
  11.   :Translator.    RexxMast
  12.   :Bugs.          no argument parsing
  13. ------------------------------------------------------------------------ */
  14.  
  15. /*** Startup ***/
  16.  
  17. options results
  18.  
  19. RC = 0
  20.  
  21. signal on BREAK_C
  22. signal on BREAK_D
  23. signal on BREAK_E
  24. signal on BREAK_F
  25. signal on ERROR
  26. signal on HALT
  27. signal on IOERR
  28. signal on SYNTAX
  29.  
  30. /*** Constant definition (who knows how to include UMSConsts.rexx ???) ***/
  31.  
  32. UMSCODE_MsgText      =  0
  33. UMSCODE_ToName       =  3
  34. UMSCODE_Group        =  9
  35. UMSCODE_Subject      = 10
  36. UMSCODE_Organization = 13
  37. UMSCODE_ReplyGroup   = 18
  38. UMSCODE_Newsreader   = 34
  39.  
  40. /*** Open ums.library ***/
  41.  
  42. libname = "ums.library"
  43.  
  44. if ~show("L", libname) then do
  45.   if ~addlib(libname, 0, -210, 8) then do
  46.     say libname "not found!"
  47.     exit
  48.   end
  49. end
  50.  
  51. /*** Login ***/
  52.  
  53. parse arg name password num .
  54.  
  55. account = UMSLogin(name, password)
  56. if account = 0 then do
  57.   say "unable to login."
  58.   exit
  59. end
  60.  
  61. /*** Do the magic ***/
  62.  
  63. msg.UMSCODE_MsgText      = "Party people come on!" || '0A'x || '0A'x || "Bye!"
  64. msg.UMSCODE_ToName       = "Fred Feuerstein"
  65. msg.UMSCODE_Group        = "test.blafasel"
  66. msg.UMSCODE_Subject      = "Let's do it!"
  67. msg.UMSCODE_Organization = "Institute for Future Technology"
  68. msg.UMSCODE_ReplyGroup   = "test.laber"
  69. msg.UMSCODE_Newsreader   = "UMS-ARexx 0.0"
  70.  
  71. num = WriteUMSMsg(account, msg.)
  72. if num = 0 then do
  73.   call CheckErr
  74. end; else do
  75.   say "The new message got #" || num
  76. end
  77.  
  78. /*** Final cleanup ***/
  79.  
  80. BREAK_C:
  81. BREAK_D:
  82. BREAK_E:
  83. BREAK_F:
  84. ERROR:
  85. HALT:
  86. IOERR:
  87. SYNTAX:
  88.  
  89. IF RC ~= 0 THEN DO
  90.   SAY "Error: " rc errortext(rc) "Line" sigl
  91. END
  92.  
  93. /*** Logout ***/
  94.  
  95. if account ~= 0 then do
  96.   call UMSLogout(account)
  97.   account = 0
  98. end
  99.  
  100. exit
  101.  
  102. /*** Support ***/
  103.  
  104. CheckErr: procedure expose account
  105.   err = UMSErrNum(account)
  106.   if err ~= 0 then do
  107.     say "UMS Error #" || err || ": " || UMSErrTxt(account)
  108.   end
  109. return
  110.