home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / fish / disks / d1068.lha / Programs / AddressBook / Arexx / MicroDot / sendmess.REXX < prev   
Encoding:
OS/2 REXX Batch file  |  1995-02-15  |  6.7 KB  |  201 lines

  1. /*
  2. **  $VER: sendmess.rexx 01.50 (11.02.95)
  3. **
  4. **  © 1994-95 Aris Basic
  5. **
  6. **  PROGRAMNAME:
  7. **      sendmess.rexx
  8. **
  9. **  FUNCTION:
  10. **      Sends a message via MicroDot from Address-Book (© Jörg Krause).
  11. **
  12. **      This macro needs MicroDot 1.10 by © Oliver Wagner
  13. **      Its possible that also works with older MD but i`m not sure.
  14. **
  15. **  $HISTORY:
  16. **
  17. **   28.12.94 : 01.12 : initial release
  18. **   12.01.95 : 01.15 : subject can have now spaces(thes will be converted TO underline "_")
  19. **   12.01.95 : 01.20 : problems with path "Ram Disk" are now gone this path will be converted
  20. **                      "RAM".Editor it`s now user will it must not be ED.Added Support
  21. **                      FOR uuencoding binar Files with user choice OF program.
  22. **   11.02.95 : 01.50 : now script use ABook Server(1.30+) wenn needed this means that script
  23. **                      must not be Started from ABook actualy he don`t need ABook because
  24. **                      script will than use ABook Server.
  25. */
  26.  
  27. edcmd='GED'
  28. edsufix='STICKY SCREEN=WORKBENCH'
  29.  
  30. /*
  31. **  Editor Commands Examples:
  32. **
  33. **  GoldED © Dietmar Eilert:
  34. **
  35. **            edcmd='GED'
  36. **         edsufix1='STICKY'                   <- This Suffix must be in VAR sufix you use GoldED
  37. **         edsufix2='STICKY SCREEN=WORKBENCH'  <- Suffix FOR GoldED on Workbench Screen
  38. **                                                change ScreenName IF you want another
  39. **                                                PUBLIC Screen
  40. **
  41. **  ED © Commodore Amiga INC.:
  42. **
  43. **            edcmd='ED '
  44. **          edsufix=''                         <- I don`t know any usefull Argument FOR ED
  45. **
  46. **
  47. **  In Script Command Actualy IS : edcmd||' T:mess.ascii '||edsufix
  48. **
  49. **
  50. */
  51.  
  52. uuencmd='UUxt a'
  53. uuenin=' '
  54. uuensufix=''
  55.  
  56. /*
  57. **  UUEncode Commands Examples:
  58. **
  59. **  UUxt © Asher Feldman:
  60. **
  61. **          uuencmd='UUxt -a'
  62. **           uuenin=' '                         <- When Somebody need FOR own UUencode package
  63. **        uuensufix=''                          <- See UP ^
  64. **
  65. **
  66. **  UUencode Author ?:
  67. **
  68. **          uuencmd='uuenode'
  69. **           uuenin=' >'
  70. **        uuensufix=''
  71. **
  72. **
  73. **
  74. **
  75. **  In Script Command Actualy IS : uuencmd||' '||file||'.uu'||uuenin||file||' '||uuensufix
  76. **
  77. **
  78. */
  79.  
  80. OPTIONS RESULTS
  81. CR=D2C(13)          
  82. IF ~Show('P','ADDRESS_BOOK.1') THEN DO
  83.                                   IF ~Show('P','ABOOK_SERVER') THEN DO
  84.                                                                     SAY 'Kann Address-Book oder ABook-Server nicht finden !!'
  85.                                                                     EXIT 10
  86.                                   END
  87.                                   CALL server()
  88. END
  89. ADDRESS 'ADDRESS_BOOK.1'
  90. checkMD()
  91. 'LOCKGUI'
  92. 'GETSELECTED'
  93. IF RC=5 THEN DO
  94.              IF Show('P','ABOOK_SERVER') THEN CALL server()
  95.              'REQUEST INFO TITLE="FEHLER" BODY="Kein Eintrag Selektiert !" BUTTON="_OK"'
  96.              EXIT 10
  97. END
  98. lock=RESULT
  99. 'UNLOCKGUI'
  100. main:
  101. 'LOCK 'lock
  102. IF RC=10 THEN DO
  103.                  'REQUEST INFO TITLE="FEHLER" BODY="Ungültiger Lock" BUTTON="_OK"'
  104.                   CALL error()
  105. END
  106. 'QUERY EMAIL'
  107. email=RESULT
  108. lemail=LENGTH(email)
  109. IF lemail=0 THEN DO
  110.                               'REQUEST INFO TITLE="FEHLER" BODY="Eintrag hat keine EMail-Adresse"
  111.                               BUTTON="_OK"'
  112.                               CALL error()
  113. END
  114. 'REQUEST INFO TITLE="ANFRAGE" BODY="Art der Nachricht" BUTTON="_KURZ|_DATEI|_ABBRUCH"'
  115. button=RESULT
  116. SELECT
  117.       WHEN button=0 THEN CALL ex()
  118.       WHEN button=1 THEN DO
  119.                              'REQUEST STRING TITLE="ANFRAGE" BODY="Nachricht:"'
  120.                              nachricht=RESULT
  121.                              file='T:mess.ascii'
  122.                              OPEN(tmp,file,'WRITE')
  123.                              WRITELN(tmp,nachricht)
  124.                              CLOSE(tmp)
  125.                              filetyp=1
  126.                          END
  127.       WHEN button=2 THEN DO
  128.                              'REQUEST INFO TITLE="ANFRAGE" BODY="Was fuer eine Datei ?"
  129.                              BUTTON="_ALT(ASCII)|ALT(_BIN)|_NEU(ASCII)"'
  130.                              button2=RESULT
  131.                              IF button2=0 THEN DO
  132.                                                ADDRESS COMMAND  edcmd||' T:mess.ascii '||edsufix
  133.                                                file='T:mess.ascii'
  134.                                                filetyp=1
  135.                              END
  136.                              IF button2=1 THEN DO
  137.                                                'REQUEST FILE TITLE="ASCII-Datei:"'
  138.                                                IF RC=5 THEN CALL ex()
  139.                                                file=RESULT
  140.                                                filetyp=1
  141.                                                file=checkram(file)
  142.                              END
  143.                              IF button2=2 THEN DO
  144.                                                'REQUEST FILE TITLE="BIN-Datei:"'
  145.                                                IF RC=5 THEN CALL ex()
  146.                                                file=RESULT
  147.                                                filetyp=2
  148.                                                file=checkram(file)
  149.                                                'REQUEST INFO TITLE="ANFRAGE" BODY="Sie haben eine Binare Datei ausgewaehlt.Soll ich diese UUEncoden?" BUTTON="_JA|_NEIN"'
  150.                                                button3=RESULT
  151.                                                IF button3=1 THEN DO
  152.                                                                  ADDRESS COMMAND uuencmd||' '||file||'.uu'||uuenin||file||' '||uuensufix
  153.                                                                  file=file||'.uu'
  154.                                                                  filetyp=1
  155.                                                END
  156.                              END
  157.                         END
  158.      OTHERWISE CALL error()
  159. END
  160. 'REQUEST STRING TITLE="ANFRAGE" BODY="Betreff:"'
  161. betreff=RESULT
  162. ADDRESS 'MICRODOT'
  163. NOREQUEST
  164. IF filetyp=1 THEN DO
  165. SendMail TO email BODYFILE file SUBJECT SPACE(betreff,1,'_')
  166. IF file='T:mess.ascii' THEN ADDRESS COMMAND 'Delete T:mess.ascii'
  167. END
  168. IF filetyp=2 THEN DO
  169. SendMail TO email BODYFILE file BIN SUBJECT betreff
  170. END
  171. ex:
  172. EXIT
  173. error:
  174. EXIT
  175.  
  176. PROCEDURE checkram:
  177. arg filename
  178. w1=WORD(filename,1)
  179. IF w1='RAM' THEN DO
  180.                  wl=LENGTH(filename)
  181.                  ramstr='RAM'
  182.                  filestr=SUBSTR(filename,9,wl-8)
  183.                  filen=ramstr||filestr
  184.                  RETURN filen
  185. END
  186. RETURN filename 
  187.  
  188.  
  189. PROCEDURE checkMD:
  190. IF ~Show('P','MICRODOT') THEN DO
  191.                          'REQUEST INFO TITLE="FEHLER" BODY="Kann nicht MicroDot finden !" BUTTON="_OK"'
  192.                          EXIT 10
  193. END
  194. RETURN 0
  195.  
  196. server:
  197. ADDRESS 'ABOOK_SERVER'
  198. 'SHOWLIST ALL'
  199. lock=RESULT
  200. CALL main()
  201.