home *** CD-ROM | disk | FTP | other *** search
- /*
- $VER: DruckeEintrag.adm 1.2 (15.6.1995)
-
- Druckt einen Eintrag mit allen Daten
- (samt ExternInfo-Datei, falls vorhanden)
-
- von Carsten Kullik.
-
- 1.0 [CaK] 9.6.94 - Erste Version.
- 1.1 [jan] 13.5.95 - Völlig überarbeitet.
- Anpassung an neue Stemvariablen.
- 1.2 [jan] 15.6.95 - EXTFILE-Parameter bei GETADDRESS
- für ADM2.01
- */
-
- OPTIONS RESULTS /*Rückgabewerte zulassen*/
-
- dir = "work:ADM/Extern"
- file = ""
- titl = "ExternInfo-Verzeichnis auswählen"
- ok = "OK"
-
- IF ~SHOW("L","rexxreqtools.library") THEN
- CALL ADDLIB("rexxreqtools.library",0,-30,0)
-
-
- ausgabe = 0 /*Ausgabe Info-File vorsorglich sperren*/
- LF = '0A'X /*Linefeed*/
-
- IF ~OPEN(drucker,"PRT:","W") THEN DO /*Druckerausgabe vorbereiten*/
- ECHO "Kann Druckerausgabe nicht einleiten!"
- EXIT
- END
-
- GETADDRESS ADM EXTFILE /*Speicheradresse des akt. Datensatzes*/
-
- /* --- Wenn ein Info-File existiert, dann auch Ausdrucken?*/
-
- IF EXISTS(ADM.EXTERNINFO) THEN DO
- Tags = "rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext"
- Frage = "Ausdruck des Datensatzes" datei LF ||"mit externer Datei (ExternInfo)?"
- ausgabe = rtezrequest(Frage,"Ja|Nein",,Tags)
-
- END
-
- nam = ""
- IF ADM.LASTNAME ~= "" THEN DO
- nam = STRIP(ADM.SALUTATION STRIP(ADM.FIRSTNAME STRIP( ADM.TITLE ADM.LASTNAME)))
- END
- IF ADM.ID ~= "" THEN nam = STRIP(nam " (ID:" ADM.ID || ")")
-
- IF ADM.SORT = "COMPANY" THEN DO
- text = ADM.COMPANY
- CALL Druckzeile
- IF nam ~= "" THEN DO
- text = nam
- CALL Druckzeile
- END
- END; ELSE DO
- IF nam ~= "" THEN DO
- text = nam
- CALL Druckzeile
- END
- text = ADM.COMPANY
- CALL Druckzeile
- END;
-
- text = LF || ADM.ADDRESS1 /*Wohnort*/
- CALL Druckzeile
- text = ADM.ADDRESS2
- CALL Druckzeile
- text = STRIP(ADM.POSTCODE ADM.CITY)
- IF ADM.COUNTRY ~= "" THEN text = text || "," ADM.COUNTRY
- CALL Druckzeile
-
- text = ""; pp = POS("|",ADM.TELEPHONE)
- DO WHILE pp > 0
- ADM.TELEPHONE = DELSTR(ADM.TELEPHONE,pp,1)
- ADM.TELEPHONE = INSERT(", ",ADM.TELEPHONE,pp)
- pp = POS("|",ADM.TELEPHONE)
- END;
-
- pp = POS(" ",ADM.TELEPHONE)
- DO WHILE pp > 0
- ADM.TELEPHONE = DELSTR(ADM.TELEPHONE,pp,1)
- pp = POS(" ",ADM.TELEPHONE)
- END;
-
- pp = POS(" ,",ADM.TELEPHONE)
- DO WHILE pp > 0
- ADM.TELEPHONE = DELSTR(ADM.TELEPHONE,pp,1)
- pp = POS(" ,",ADM.TELEPHONE)
- END;
-
- IF ADM.TELEPHONE ~= "" THEN text = text || "Tel.:" ADM.TELEPHONE
- CALL Druckzeile
-
- text = ""
- IF ADM.FAX ~= "" THEN text = text || "Fax: " ADM.FAX
- CALL Druckzeile
-
- text = "" /*Geburtstag*/
- IF ADM.BIRTHDAY ~= "" THEN text = LF|| text || "Geb.:" ADM.BIRTHDAY
- CALL Druckzeile
-
- text = "" /*Bemerkungen*/
- IF ADM.REMARK1 ~= "" THEN text = LF|| text || ADM.REMARK1
- CALL Druckzeile
-
- IF ausgabe THEN DO /*Wenn Ausgabe erwuenscht,*/
- text = LF /*1 Linefeed einfuegen und*/
- CALL Druckzeile
- IF OPEN(ADM.EXTERNINFO,datei,"R") THEN DO /*das externe Info-File oeffnen*/
- DO WHILE ~EOF(Infofile) /*Dateiende erreicht? Nein,*/
- text = READLN(Infofile) /*Zeilen einlesen und an*/
- call Druckzeile
- /*ok = WRITELN(drucker,text) Drucker ausgeben*/
- END
- ok = CLOSE(Infofile)
- END
- END
-
- ok = CLOSE(drucker)
-
- EXIT
-
- /* Unterprogramm DRUCKZEILE */
- Druckzeile:
- text = STRIP(text,"T"," ") /*Leerzeichen am Ende entfernen*/
- text = STRIP(text,"T",",") /*Kommas am Ende entfernen*/
-
- IF text ~= "" THEN /*Wenn Zeile nicht leer...*/
- ok = WRITELN(drucker,text) /*Zeile ausgeben*/
-
- RETURN
-