home *** CD-ROM | disk | FTP | other *** search
-
- /* $VER: TelefonListe.rexx 1.3 (09 Dec 1993)
-
- Usage: rx tliste.rexx <Ausgabedatei>
-
- Script, um sich eine Telefonliste ausgeben zu lassen.
- Gibt die Daten in die angegebene Datei, ansonsten in CON: aus.
-
- Benötigt die RexxReqTools.library.
-
- Written by Bernhard Zahler.
- Revised by Jan Geißler.
-
- 1.2 [BZ] 03-Oct-93 Erstes Release
- 1.3 [jan] 09-Dec-93 Minimale Änderungen zur Veröffentlichung
- im ADM-PaketMinor:
- - ADDRESS-Befehl entfernt (nun von bel.
- ADM / vom ADM-Menü aus wählbar).
- - Achtet nun nicht mehr auf FLAGS
- */
-
- call addlib("rexxreqtools.library",0,-30,0)
-
- OPTIONS RESULTS /* Rückgabewerte zulassen */
-
-
- /* Wurde ein Argument ange-
- geben? */
-
- IF arg() ~= 1 THEN outfile="*"
- ELSE PARSE ARG outfile;
-
- /* ADDRESS ADM.1
-
- Dieser ADDRESS-Parameter kann weggelassen werden, wenn das
- Script von ADM aus ausgefuehrt werden soll!
-
- */
-
-
- ADDRINMEM /* Anzahl Adressen holen */
- numadr = RESULT
-
- IF numadr<1 THEN DO /* Fehler ausgeben, falls */
- SAY "Keine Adressen im Speicher" /* Adreßspeicher leer */
- EXIT
- END
-
- IF OUTFILE="*" THEN DO
- outfile = rtgetstring(outfile,"Ausgabedatei bzw. Gerät","Telefonliste")
- END
-
- IF ~OPEN(datei,outfile,"W") THEN EXIT /* Ausgabedatei öffnen */
-
- ergebnis = rtezrequest("Jede zweite Zeile kursiv?","Ja|Nein","Telefonliste")
-
-
- /* Titel schreiben */
- ok = Writech(datei,"1b"x"[72t") /* Seitenlänge auf n Zeilen stellen */
- ok = WriteLn(datei,"Telefonliste vom "DATE())
- ok = WriteLn(datei,"")
- ok = WriteLn(datei,"Name Telefonnummer")
- ok = WriteLn(datei,"------------------------------------------------------")
-
- ACTIVATEFIRST /* Ersten Eintr. aktivieren */
-
- /* Schleife: Bis zur letzten
- Adresse abspeichern */
- z=0 /* zähler initialisieren */
-
- DO FOR numAdr UNTIL RESULT=-1
-
- GETADDRESS ADM /* Adresse -> Stemvar ADM */
-
- IF RESULT=0 THEN DO
-
- ADDRESS
-
- /* Ausgabe ... */
- /* Nur mit gesetzten Telefon-Flag */
-
- /* if trunc(ADM.FLAGS/512)=1 THEN DO
-
- Dieser Befehl prüft, ob Flag 10 gesetzt ist. Hier
- auskommentiert, damit Gesamt-Telefonliste gedruckt
- wird.
-
- Falls der wieder benutzt werden soll, unten das zum
- "DO" zugehörige "END" nicht vergessen!
- */
-
- if ergebnis = 1 THEN DO
- IF (z/2)=TRUNC(z/2) THEN
- ok = WRITECH(datei,"1b"x"[3m") /* Kursiv ein */
- ELSE
- ok = WRITECH(datei,"1b"x"[23m") /* Kursiv aus */
- END
- z=z+1 /* Zähler erhöhen */
- if z=60 then ok=writech(datei,"1b"x"[6q") /* Perforation mit n Zeilen
- überspringen */
- NAME = ADM.LASTNAME
- if WORDS(ADM.FIRSTNAME)>0 THEN NAME = NAME || ", " || ADM.FIRSTNAME
- if WORDS(ADM.REMARK1) >0 THEN NAME = NAME || " (" || ADM.REMARK1 || ")"
- ok = WriteLn(datei,insert(NAME," ",0,40,'.')|| ADM.TELEPHONE)
-
- /* END */
-
- ADDRESS
-
- ACTIVATENEXT /* Akt. naechsten Eintrag */
-
- END
-
- END
-
- ADDRESS
-
- ok = WriteLn(datei,"")
- ok = WriteLn(datei,"*** Ende der Telefonliste vom "DATE()" ***")
-
- ok = CLOSE(datei)
-