home *** CD-ROM | disk | FTP | other *** search
- /* $VER: PocketList_DeskJet.adm 0.3 (16.3.95)
-
- Dieses Skript gibt eine Adreßliste auf einem HP DeskJet oder
- kompatiblem aus. Für kleine Adresslisten, z.B. im Geldbeutel.
-
- Aufruf vom ADM-ARexx-Menue.
-
- Written by Werner Braun. All rights reserved.
-
- 0.1 10.10.94 [Werner Braun] - Erste Version (TimeSys.adm)
- 0.2 10.02.95 [Ralf Staiger] - Als Listenausgabe abgewandelt
- 0.3 16.03.95 [jan] - Ausgabedatei nun per Eingaberequester
- wählbar.
- - Anpassung an >1.45: ADM.REMARK2
- entfällt
- - Telefonnummer im Ausdruck aus Platz-
- gründen ohne Leerzeichen.
- - Bemerkungsbreite auf 60 Zeichen max.
- limitiert.
-
- Basiert auf TimeSys von Werner Braun/Jan Geissler.
-
- */
-
- /* Spaltenbreiten */
- sp1 = 20
- sp2 = 20
- sp3 = 30
- sp4 = 7
- sp5 = 25
- sp6 = 15
- sp7 = 60
- NL = '0a'x
-
- /* Rückgabewerte zulassen */
- OPTIONS RESULTS
-
- /* Drucker oeffnen (zum test mit ram:adm.out arbeiten, spart Papier) */
- call addlib("rexxreqtools.library",0,-30,0)
- outfile = rtgetstring("PRT:",'Ausgabedatei (PRT: = Drucker, "" = Abbruch)',"Geldbeutel-Adreßliste per DeskJet")
- IF outfile = "" THEN EXIT
-
- /* Anzahl Adressen holen */
- ADDRINMEM
- numadr = RESULT
-
- /* Fehler ausgeben, falls Adre_speicher leer */
- IF numadr<1 THEN DO
- SAY "Keine Adressen im Speicher"
- EXIT
- END
-
- /* Ausgabedatei vffnen */
- IF ~OPEN(datei,outfile,"W") THEN EXIT
-
-
- /* Ersten Eintr. aktivieren */
- ACTIVATEFIRST
-
-
- /* 24cpi LGothic 6Punkt Hvhe, 12 lpi einstellen mit esc-Sequenz durch prt:
- durchreichen*/
-
- ok = WriteLn(datei,"1b"x"[22""r" || "1b"x || "(8U" || "1b"x || "(s24h6v6T" || "0a1b"x || "&l12D"||"0a"x);
-
- /* Datum bereitstellen */
- Datum=Date(European)
- Datum=Overlay(".",Datum,3,1)
- Datum=Overlay(".",Datum,6,1)
-
- S=1
- Header=" Adressliste vom " || Datum
- Header=insert(Header," ",0,110," ")|| "Seite: "||S
-
- Z=1
- ok = WriteLn(datei,Header);
- ok = WriteLn(datei," ");
-
-
- DO FOR numAdr UNTIL RESULT=-1 /* alle Adressen abarbeiten */
-
- GETADDRESS ADM /* Adresse -> Stemvar ADM */
-
- IF RESULT=0 THEN DO
- /* Ausgabe ... */
- IF Z>=124 then DO
- ok=writech(datei,"0C"x) /* neue Seite */
- Z=1
- S=S+1
- Header=" Adressliste vom " || Datum
- Header=insert(Header," ",0,110," ")|| "Seite: "||S
- ok = WriteLn(datei,Header);
- ok = WriteLn(datei," ");
- END
-
- Zeile1 = ADM.LASTNAME || ADM.COMPANY
-
- i = sp1
- Zeile1 = insert(Zeile1,"",0,i," ")
- Zeile1 = insert(Zeile1, ADM.FIRSTNAME)
-
- i = i + sp2
- Zeile1 = insert(Zeile1,"",0,i," ")
- Zeile1 = insert(Zeile1, ADM.ADDRESS1)
-
- i = i + sp3
- Zeile1 = insert(Zeile1,"",0,i," ")
- Zeile1 = insert(Zeile1, ADM.POSTCODE)
-
- i = i + sp4
- Zeile1 = insert(Zeile1,"",0,i," ")
- Zeile1 = insert(Zeile1, ADM.CITY)
-
- i = i + sp5
- Zeile1 = insert(Zeile1,"",0,i," ")
- Zeile1 = insert(Zeile1, SPACE(ADM.TELEPHONE,0))
-
- Do While pos(NL,ADM.REMARK1) > 0
- ADM.REMARK1 = DelStr(ADM.REMARK1,pos(NL,ADM.REMARK1),1)
- End
-
- i = i + sp6
- Zeile1 = insert(Zeile1,"",0,i," ")
- Zeile1 = insert(Zeile1, ADM.REMARK1)
-
- ok=WriteLn(datei,Zeile1)
-
- z=z+1 /* Zeilenzahl um 1 erhvhen */
-
- ACTIVATENEXT /* Akt. naechsten Eintrag */
- END
-
- END
- /* letzte Seite auswerfen */
- ok=writech(datei,"0C"x)
- ok = CLOSE(datei)
-