home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #3 / amigamamagazinepolishissue1998.iso / bazy / adm / arexx / adm-arexxmakros.lha / Ausdruck / AdressListeHP_A5.adm next >
Text File  |  1995-06-04  |  3KB  |  118 lines

  1. /* $VER: AdressListeHP_A5 0.2 (23.5.95)  (= Timesys.adm)
  2.  
  3.    Usage: Aufruf vom ADM-ARexx-Menü.
  4.  
  5.    Dieses Skript schreibt eine Adressliste auf einen HP Deskjet
  6.    in DIN A5. Gibt die Daten auf PRT: aus
  7.  
  8.    Written by Werner Braun. All rights reserved.
  9.  
  10.       0.1  10.10.94  [Werner Braun]  - Erste Version
  11.       0.2  23.5.95   [jan]           - Angepaßt an ADM2.0 (Bemerkung)
  12.                                      - Unterstützung von Firmennamen
  13.                                        und Titel.
  14.  
  15.    Basiert auf TelListe von Jan Geißler
  16.  
  17.    */
  18.  
  19. /* R|ckgabewerte zulassen   */
  20. OPTIONS RESULTS
  21.  
  22. /* Drucker oeffnen (zum test mit ram:adm.out arbeiten, spart Papier) */
  23. outfile="prt:";
  24.  
  25. /* Anzahl Adressen holen    */
  26. ADDRINMEM
  27. numadr = RESULT
  28.  
  29. /* Fehler ausgeben, falls Adre_speicher leer  */
  30. IF numadr<1 THEN DO
  31.    SAY "Keine Adressen im Speicher"
  32.    EXIT
  33. END
  34.  
  35. /* Ausgabedatei vffnen     */
  36. IF ~OPEN(datei,outfile,"W") THEN EXIT
  37.  
  38.  
  39. /* Ersten Eintr. aktivieren */
  40. ACTIVATEFIRST
  41.  
  42.  
  43. /* 24cpi LGothic 6Punkt Hvhe, 12 lpi  einstellen mit esc-Sequenz durch prt: durchreichen*/
  44. ok = WriteLn(datei,"1b"x"[18""r" || "1b"x || "(s24h6v6T" || "0a1b"x || "&l12D"||"0a00"x);
  45.  
  46. /* Datum bereitstellen */
  47. Datum=Date(European)
  48. Datum=Overlay(".",Datum,3,1)
  49. Datum=Overlay(".",Datum,6,1)
  50.  
  51. S=1
  52. Header="                 Privat - Adressliste vom " || Datum
  53. Header=insert(Header," ",0,110," ")|| "Seite: "||S
  54.  
  55. Z=1
  56. ok = WriteLn(datei,Header);
  57. ok = WriteLn(datei," ");
  58.  
  59.  
  60. DO FOR numAdr UNTIL RESULT=-1  /* alle Adressen abarbeiten */
  61.  
  62.   GETADDRESS ADM                    /* Adresse -> Stemvar ADM   */
  63.  
  64.   IF RESULT=0 THEN DO
  65.     /* Ausgabe ... */
  66.     IF Z>=84 then DO
  67.       ok=writech(datei,"0C"x)      /* neue Seite */
  68.       Z=1
  69.       S=S+1
  70.       Header="                 Privat - Adressliste vom " || Datum
  71.       Header=insert(Header," ",0,110," ")|| "Seite: "||S
  72.       ok = WriteLn(datei,Header);
  73.       ok = WriteLn(datei," ");
  74.     END
  75.  
  76.     IF ADM.SORT = "COMPANY" THEN DO
  77.        Zeile1 = "                 " || ADM.COMPANY
  78.        IF ADM.FULLNAME ~= "" THEN Zeile1 = Zeile1 "(" || ADM.FULLNAME || ")"
  79.     END; ELSE DO
  80.        Zeile1 = "                 " || ADM.FULLNAME
  81.        IF ADM.COMPANY ~= "" THEN Zeile1 = Zeile1 "(" || ADM.COMPANY || ")"
  82.     END
  83.     Zeile1 = insert(Zeile1," ",0,55," ")||ADM.TELEPHONE
  84.     ok = WriteLn(datei,Zeile1)
  85.  
  86.     Zeile2 = "                 " || ADM.ADDRESS1
  87.     IF WORDS(ADM.ADDRESS2)>0 THEN Zeile2 = Zeile2 || " " || ADM.ADDRESS2
  88.     IF WORDS(ADM.FAX)>0 THEN Zeile2 = insert(Zeile2," ",0,55," ")||"Fax: " || ADM.FAX
  89.     ok = WriteLN(datei,Zeile2)
  90.  
  91.     Zeile3 = "                 " || ADM.POSTCODE || " " || ADM.CITY
  92.     OK = WRITELN(DATEI,Zeile3)
  93.  
  94.     Do While pos(NL,ADM.REMARK1) > 0
  95.        ADM.REMARK1 = DelStr(ADM.REMARK1,pos(NL,ADM.REMARK1),1)
  96.     End
  97.  
  98.     Zeile4 = "                 " || ADM.REMARK1
  99.     IF WORDS(Zeile4)>0 THEN
  100.       DO
  101.         ok=WriteLn(datei,Zeile4)
  102.         z=z+1
  103.       END
  104.  
  105.     OK = WRITELN(DATEI," ")
  106.  
  107.     z=z+4 /* Zeilenzahl um 4 erhvhen */
  108.  
  109.     ACTIVATENEXT                   /* Akt. naechsten Eintrag */
  110.   END
  111.  
  112. END
  113. /* letzte Seite auswerfen */
  114. ok=writech(datei,"0C"x)
  115. ok = CLOSE(datei)
  116.  
  117.  
  118.