home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / system / askenv / brief.rexx < prev    next >
OS/2 REXX Batch file  |  1995-02-27  |  4KB  |  132 lines

  1. /* Bereitstellen des Briefformat-Kopfes für LaTex-Briefformat */
  2. /* Verzeichnis TeX: muss existieren sowie ein dinbrief.sty für LaTeX */
  3. /* Bengt Giger, Schmiedgasse 48, CH-8640 Rapperswil */
  4.  
  5. /* $VER: Brief 2.0 (23.1.93) */
  6.  
  7. /* trace results */
  8.  
  9. OPTIONS RESULTS
  10. LF='0A'X
  11. HOST = ADDRESS()
  12.  
  13. /* zum Anpassen der Absender-Adresse */
  14.   myName = 'Bengt Giger'
  15.   myStreet= 'Schmiedgasse 48'
  16.   myTown = '8640 Rapperswil'
  17.   myPhone= '055 27 98 79'
  18.  
  19. editor = GetEnv('EDITOR')   /* User-Editor */
  20.  
  21. DO FOREVER
  22.  Call SetRequester
  23.  ADDRESS command
  24.  
  25.  'AskEnv gadfile PIPE:br_req'
  26.  IF rc >= 5 THEN DO
  27.   Exit 5
  28.  END
  29.  file = GetEnv('file')
  30.  fullName = 'TeX:'file'.tex'
  31.  
  32.  IF OPEN(file, fullName, 'R') THEN DO
  33.   'AskEnv SREQ "File existiert schon." BODY Ueberschreiben? NEG Nein POS Ja'
  34.   IF rc = 0 THEN DO
  35.    num = CLOSE(file)
  36.    shell command "delete tex:"file".tex"
  37.    LEAVE
  38.    END
  39.   ELSE DO
  40.    num = Close(file)
  41.    ITERATE
  42.   END
  43.  END
  44.  ELSE LEAVE
  45. END                    /* DO FOREVER */
  46. call OPEN file, fullName, Write
  47.  
  48. person = GetEnv('person')
  49. strasse = GetEnv('strasse')
  50. ort = GetEnv('ort')
  51. adresstyp = GetEnv('adresstyp')
  52. postvermerk = GetEnv('postvermerk')
  53.  
  54. call WRITELN file, "\documentstyle[norm,german]{dinbrief_ch}"
  55. call WRITELN file, '\pagestyle{empty}'
  56. call WRITELN file, '\Postvermerk{'postvermerk'}'
  57. SELECT
  58.  WHEN adresstyp = 0 THEN DO
  59.    call WRITELN file, '\Absender{'myName' \\ 'myStreet' \\ 'myTown'}'
  60.    END
  61.  WHEN adresstyp = 1 THEN DO
  62.    call WRITELN file, '\Retouradresse{'myName' --- 'myStreet' --- 'myTown'}'
  63.    END
  64.  WHEN adresstyp = 2 THEN DO
  65.    call WRITELN file, '\Fenster'
  66.    call WRITELN file, '\Retouradresse{'myName' --- 'myStreet' --- 'myTown'}'
  67.    END
  68.  OTHERWISE
  69. END
  70. call WRITELN file, '\begin{document}'
  71. call WRITELN file, '\begin{letter}{'||person||' \\ '||strasse||' \\ {\bf '||ort||'}}'
  72. call WRITELN file, ''
  73. call WRITELN file, '\opening{   }'
  74. call WRITELN file, ''
  75. call WRITELN file, ''
  76. call WRITELN file, '\closing{   }'
  77. call WRITELN file, '\end{letter} \end{document}'
  78.  
  79. CALL CLOSE(file);
  80. /* SAY 'fertig.' */
  81.  
  82. INTERPRET "editor' 'fullName"
  83.  
  84. shell command 'delete >NIL: env:person env:strasse env:ort env:file env:adresstyp env:postvermerk'
  85.  
  86. Exit 0
  87.  
  88. SetRequester: PROCEDURE
  89.  
  90. fileName = GetEnv("FileName")
  91. person = GetEnv('person')
  92. strasse = GetEnv('strasse')
  93. ort = GetEnv('ort')
  94. postvermerk = GetEnv('postvermerk')
  95.  
  96. IF ~Open(reqFile, 'PIPE:br_req', Write) THEN DO
  97.  SAY 'File für AskEnv nicht geöffnet'
  98.  Exit 10
  99.  END
  100. ELSE DO
  101.  CALL WriteLn reqFile, "WINDOW"
  102.  CALL WriteLn reqFile, "CENTER 320 240"
  103.  CALL WriteLn reqFile, 'NAME "TeX-Brief: AREXX-Macro 23.1.93"'
  104.  CALL WriteLn reqFile, 'TEXT POSITION 30 20 260 20 LABEL "Neuer Brief:" #'
  105.  CALL WriteLn reqFile, 'STRING POSITION 100 50 192 13 GLOBAL file LABEL Filename PLACETEXT left ENTRY "'||filename||'" #'
  106.  CALL WriteLn reqFile, 'STRING POSITION 100 70 192 13 GLOBAL person LABEL Name PLACETEXT left ENTRY "'person'" #'
  107.  CALL WriteLn reqFile, 'STRING POSITION 100 90 192 13 GLOBAL strasse LABEL Strasse PLACETEXT left ENTRY "'strasse'" #'
  108.  CALL WriteLn reqFile, 'STRING POSITION 100 110 192 13 GLOBAL ort LABEL PLZ/Ort PLACETEXT left ENTRY "'ort'" #'
  109.  CALL WriteLn reqFile, 'STRING POSITION 100 130 192 13 GLOBAL postvermerk LABEL Postvermerk PLACETEXT LEFT ENTRY "'postvermerk'" #'
  110.  CALL WriteLn reqFile, 'TEXT   POSITION 10  167 192 13 NOBOX LABEL "Art der Adressierung:" #'
  111.  CALL WriteLn reqFile, 'MX     POSITION 200 160 1 1 GLOBAL adresstyp LABEL PLACETEXT RIGHT ENTRY Standard Kompakt Fenster #'
  112.  CALL WriteLn reqFile, 'BUTTON POSITION 10  218 80 13 LABEL Weiter END #'
  113.  CALL WriteLn reqFile, 'BUTTON POSITION 230 218 80 13 LABEL Abbruch CANCEL #'
  114.  CALL WriteLn reqFile, 'BUTTON POSITION 120 218 80 13 LABEL Hilfe SYNCRUN "Askenv GADFILE BriefHilfe.req" WARN 20 #'
  115.  
  116.  Call Close(reqFile)
  117. END
  118. RETURN
  119.  
  120. /* GetEnv      : liest Umgebungsvariable des ENV: Verzeichnisses     */
  121. /*     Eingabe : Name der Variable                    */
  122. /*     Ausgabe : in Variable gespeicherter Wert, bzw Leerstring     */
  123.  
  124. GetEnv:
  125. arg name
  126.  IF Open(infile, 'env:'name, r) THEN DO
  127.   text = ReadLn(infile)
  128.   CALL Close infile
  129.   RETURN text
  130.  END
  131.  RETURN ''
  132.