home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / Database / HF-ADM23.LHA / ADM / ARexx / Ausdruck / DruckeEintrag.adm < prev    next >
Encoding:
Text File  |  1995-06-15  |  3.6 KB  |  136 lines

  1. /*
  2.    $VER: DruckeEintrag.adm 1.2 (15.6.1995)
  3.  
  4.    Druckt einen Eintrag mit allen Daten
  5.    (samt ExternInfo-Datei, falls vorhanden)
  6.  
  7.    von Carsten Kullik.
  8.  
  9.    1.0 [CaK]  9.6.94   - Erste Version.
  10.    1.1 [jan]  13.5.95  - Völlig überarbeitet.
  11.                          Anpassung an neue Stemvariablen.
  12.    1.2 [jan]  15.6.95  - EXTFILE-Parameter bei GETADDRESS
  13.                          für ADM2.01
  14. */
  15.  
  16. OPTIONS RESULTS                 /*Rückgabewerte zulassen*/
  17.  
  18. dir   = "work:ADM/Extern"
  19. file  = ""
  20. titl  = "ExternInfo-Verzeichnis auswählen"
  21. ok    = "OK"
  22.  
  23. IF ~SHOW("L","rexxreqtools.library") THEN
  24.    CALL ADDLIB("rexxreqtools.library",0,-30,0)
  25.  
  26.  
  27. ausgabe = 0                     /*Ausgabe Info-File vorsorglich sperren*/
  28. LF = '0A'X                      /*Linefeed*/
  29.  
  30. IF ~OPEN(drucker,"PRT:","W") THEN DO   /*Druckerausgabe vorbereiten*/
  31.    ECHO "Kann Druckerausgabe nicht einleiten!"
  32.    EXIT
  33. END
  34.  
  35. GETADDRESS ADM EXTFILE    /*Speicheradresse des akt. Datensatzes*/
  36.  
  37. /* --- Wenn ein Info-File existiert, dann auch Ausdrucken?*/
  38.  
  39. IF EXISTS(ADM.EXTERNINFO) THEN DO
  40.    Tags = "rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext"
  41.    Frage = "Ausdruck des Datensatzes" datei LF ||"mit externer Datei (ExternInfo)?"
  42.    ausgabe = rtezrequest(Frage,"Ja|Nein",,Tags)
  43.  
  44. END
  45.  
  46. nam = ""
  47. IF ADM.LASTNAME ~= "" THEN DO
  48.    nam = STRIP(ADM.SALUTATION STRIP(ADM.FIRSTNAME STRIP( ADM.TITLE ADM.LASTNAME)))
  49. END
  50. IF ADM.ID ~= "" THEN nam = STRIP(nam " (ID:" ADM.ID || ")")
  51.  
  52. IF ADM.SORT = "COMPANY" THEN DO
  53.    text = ADM.COMPANY
  54.    CALL Druckzeile
  55.    IF nam ~= "" THEN DO
  56.       text = nam
  57.       CALL Druckzeile
  58.    END
  59. END; ELSE DO
  60.    IF nam ~= "" THEN DO
  61.       text = nam
  62.       CALL Druckzeile
  63.    END
  64.    text = ADM.COMPANY
  65.    CALL Druckzeile
  66. END;
  67.  
  68. text = LF || ADM.ADDRESS1         /*Wohnort*/
  69. CALL Druckzeile
  70. text = ADM.ADDRESS2
  71. CALL Druckzeile
  72. text = STRIP(ADM.POSTCODE ADM.CITY)
  73. IF ADM.COUNTRY ~= "" THEN text = text || "," ADM.COUNTRY
  74. CALL Druckzeile
  75.  
  76. text = ""; pp = POS("|",ADM.TELEPHONE)
  77. DO WHILE pp > 0
  78.    ADM.TELEPHONE = DELSTR(ADM.TELEPHONE,pp,1)
  79.    ADM.TELEPHONE = INSERT(", ",ADM.TELEPHONE,pp)
  80.    pp = POS("|",ADM.TELEPHONE)
  81. END;
  82.  
  83. pp = POS("  ",ADM.TELEPHONE)
  84. DO WHILE pp > 0
  85.    ADM.TELEPHONE = DELSTR(ADM.TELEPHONE,pp,1)
  86. pp = POS("  ",ADM.TELEPHONE)
  87. END;
  88.  
  89. pp = POS(" ,",ADM.TELEPHONE)
  90. DO WHILE pp > 0
  91.    ADM.TELEPHONE = DELSTR(ADM.TELEPHONE,pp,1)
  92. pp = POS(" ,",ADM.TELEPHONE)
  93. END;
  94.  
  95. IF ADM.TELEPHONE ~= "" THEN text = text || "Tel.:" ADM.TELEPHONE
  96. CALL Druckzeile
  97.  
  98. text = ""
  99. IF ADM.FAX ~= "" THEN text = text || "Fax: " ADM.FAX
  100. CALL Druckzeile
  101.  
  102. text = ""                               /*Geburtstag*/
  103. IF ADM.BIRTHDAY ~= "" THEN text = LF|| text || "Geb.:" ADM.BIRTHDAY
  104. CALL Druckzeile
  105.  
  106. text = ""                            /*Bemerkungen*/
  107. IF ADM.REMARK1 ~= "" THEN text = LF|| text || ADM.REMARK1
  108. CALL Druckzeile
  109.  
  110. IF ausgabe THEN DO                          /*Wenn Ausgabe erwuenscht,*/
  111.    text = LF                                /*1 Linefeed einfuegen und*/
  112.    CALL Druckzeile
  113.       IF OPEN(ADM.EXTERNINFO,datei,"R") THEN DO   /*das externe Info-File oeffnen*/
  114.          DO WHILE ~EOF(Infofile)            /*Dateiende erreicht? Nein,*/
  115.             text = READLN(Infofile)         /*Zeilen einlesen und an*/
  116.             call Druckzeile
  117.             /*ok = WRITELN(drucker,text)    Drucker ausgeben*/
  118.          END
  119.          ok = CLOSE(Infofile)
  120.       END
  121. END
  122.  
  123. ok = CLOSE(drucker)
  124.  
  125. EXIT
  126.  
  127. /* Unterprogramm DRUCKZEILE */
  128. Druckzeile:
  129.    text = STRIP(text,"T"," ")           /*Leerzeichen am Ende entfernen*/
  130.    text = STRIP(text,"T",",")           /*Kommas am Ende entfernen*/
  131.  
  132.    IF text ~= "" THEN                   /*Wenn Zeile nicht leer...*/
  133.       ok = WRITELN(drucker,text)        /*Zeile ausgeben*/
  134.  
  135. RETURN
  136.