home *** CD-ROM | disk | FTP | other *** search
- /* ------------------------------------------------------------------------
- :Program. WriteMessage
- :Contents. writes a new message to UMS' messagebase
- :Author. Kai Bolay [kai]
- :Address. Snail Mail: EMail:
- :Address. Hoffmannstraße 168 UUCP: kai@amokle.stgt.sub.org
- :Address. D-71229 Leonberg FIDO: 2:2407/106.3
- :History. v1.0 [kai] 23-Sep-93
- :Copyright. Public Domain
- :Language. ARexx
- :Translator. RexxMast
- :Bugs. no argument parsing
- ------------------------------------------------------------------------ */
-
- /*** Startup ***/
-
- options results
-
- RC = 0
-
- signal on BREAK_C
- signal on BREAK_D
- signal on BREAK_E
- signal on BREAK_F
- signal on ERROR
- signal on HALT
- signal on IOERR
- signal on SYNTAX
-
- /*** Constant definition (who knows how to include UMSConsts.rexx ???) ***/
-
- UMSCODE_MsgText = 0
- UMSCODE_ToName = 3
- UMSCODE_Group = 9
- UMSCODE_Subject = 10
- UMSCODE_Organization = 13
- UMSCODE_ReplyGroup = 18
- UMSCODE_Newsreader = 34
-
- /*** Open ums.library ***/
-
- libname = "ums.library"
-
- if ~show("L", libname) then do
- if ~addlib(libname, 0, -210, 8) then do
- say libname "not found!"
- exit
- end
- end
-
- /*** Login ***/
-
- parse arg name password num .
-
- account = UMSLogin(name, password)
- if account = 0 then do
- say "unable to login."
- exit
- end
-
- /*** Do the magic ***/
-
- msg.UMSCODE_MsgText = "Party people come on!" || '0A'x || '0A'x || "Bye!"
- msg.UMSCODE_ToName = "Fred Feuerstein"
- msg.UMSCODE_Group = "test.blafasel"
- msg.UMSCODE_Subject = "Let's do it!"
- msg.UMSCODE_Organization = "Institute for Future Technology"
- msg.UMSCODE_ReplyGroup = "test.laber"
- msg.UMSCODE_Newsreader = "UMS-ARexx 0.0"
-
- num = WriteUMSMsg(account, msg.)
- if num = 0 then do
- call CheckErr
- end; else do
- say "The new message got #" || num
- end
-
- /*** Final cleanup ***/
-
- BREAK_C:
- BREAK_D:
- BREAK_E:
- BREAK_F:
- ERROR:
- HALT:
- IOERR:
- SYNTAX:
-
- IF RC ~= 0 THEN DO
- SAY "Error: " rc errortext(rc) "Line" sigl
- END
-
- /*** Logout ***/
-
- if account ~= 0 then do
- call UMSLogout(account)
- account = 0
- end
-
- exit
-
- /*** Support ***/
-
- CheckErr: procedure expose account
- err = UMSErrNum(account)
- if err ~= 0 then do
- say "UMS Error #" || err || ": " || UMSErrTxt(account)
- end
- return
-