home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / Database / HF-ADM23.LHA / ADM / ARexx / FinalWriter / FinalWriterEtikett.adm < prev   
Encoding:
Text File  |  1995-06-04  |  4.6 KB  |  188 lines

  1. /* $VER: FinalWriterEtikett.adm 1.3 (31.3.95)
  2.  
  3.     Ermöglicht es, mit FinalWriter Etiketten auf 70x35mm-Etikettseiten
  4.     (z.B. von Boeder) Etiketten auszudrucken (mahrspaltig).
  5.  
  6.     Pfade (zu FinalWriter/Etikettformular) müssen angepaßt werden.
  7.  
  8.     von Clemens Resanka in 1994-1995.
  9.  
  10.     1.0     28-Jan-95   Initial release.
  11.     1.1     27-Feb-95   Probleme mit Etikettpositionierung beseitigt
  12.                         [Joachim Schiefer]
  13.     1.2     16-Mar-95   Überprüfung der Pfadeinstellungen und Aufruf
  14.                         eines Editor, falls mgl. [jan]
  15.     1.3     31-Mar-95   Jetzt korrekte Anschrift von Firmen (nix Herr DB ;-))
  16.                         [Joachim Schiefer]
  17.  
  18. Die Grundwerte für 'left' und 'top' von 'GetObjectCoords' werden auf '0.7'
  19. gesetzt bevor die Position des Etiketts berechnet wird.
  20.  
  21. This is an Arexx Script for use with Adress Master and Final Copy/Writer.
  22. Its use is to print an adress-label on an inkjet-printer like a HP Deskjet.
  23. I use the Standard-Inkjet-Labels (70x35mm) from boeder. It should also work
  24. with Standard-Laser-Lables for Laser-printers. :-)
  25. In addition you need the FW-Doc "DefLabels". Call the script from ADM.
  26. If not running FW will be started (edit the path below!)
  27.  
  28. It stores the positon, of where to print the label in Envarc:Etiketten
  29. If you want to edit this file by hand, here is the format:
  30.     x-Position y-Position
  31.  
  32. */
  33.  
  34. Pro= 'Tools:FinalWriter/finalwriter'
  35. Arg= 'Tools:FinalWriter/FWDocs/DefLabels'
  36.  
  37. i=0
  38.  
  39. OPTIONS FAILAT 31
  40.  
  41. OPTIONS RESULTS
  42.  
  43. call addlib("rexxreqtools.library", 0, -30, 0)
  44. NL = '0a'x
  45.  
  46.  
  47. /* Fehlermeldungen */
  48.  
  49. err1  = "Pfad zum Programm FinalWriter"NL||,
  50.         "("||Pro||")"NL||,
  51.         "im Makro nicht richtig gesetzt"
  52. err2  = "Pfad zum FinalWriter-Dokument"NL||,
  53.         "("||Arg||")"NL||"im Makro nicht richtig gesetzt"
  54. path1 = "Tools:ADM/ARexx/FinalWriterEtikett.adm"
  55. macn  = "ADM/FinalWriter-Etikettdruck"
  56. resp  = "rtez_defaultresponse=0"
  57. abbr  = "Makro abgebrochen"
  58.  
  59.  
  60. /* Prüfen, ob FinalWriter und Finalwriter-Etikettdokument vorhanden sind */
  61.  
  62. IF Exists(path1) THEN gadtxt = "_Einstellen|Abbru_ch"
  63. ELSE gadtxt = "Abbru_ch"
  64.  
  65. IF ~Exists(Pro) THEN DO
  66.   IF ans = rtezrequest(err1,gadtxt,macn,,resp)=1 THEN DO
  67.      ADDRESS COMMAND "SYS:C/ED" path1"
  68.      ans = rtezrequest(abbr,"_OK",macn,,resp)
  69.   END
  70.   EXIT
  71. END
  72. IF ~Exists(Arg) THEN DO
  73.   IF ans = rtezrequest(err2,gadtxt,macn,,resp)=1 THEN DO
  74.      ADDRESS COMMAND "SYS:C/ED" path1"
  75.      ans = rtezrequest(abbr,"_OK",macn,,resp)
  76.   END
  77.   EXIT
  78. END
  79.  
  80.  
  81. IF Open(Wieviel,'ENVARC:Etiketten') = 1 THEN DO
  82.     n=Readln(Wieviel)
  83.     PARSE VAR n nx ' ' ny
  84. END
  85. ELSE DO
  86.     nx=1
  87.     ny=1
  88. END
  89.  
  90. GETADDRESS Stemmy
  91.  
  92. Anrede          =   Stemmy.SALUTATION
  93. FullName        =   Stemmy.FIRSTNAME Stemmy.LASTNAME
  94. IF Stemmy.SORT  =   'COMPANY' THEN FullName=Stemmy.company
  95. If Stemmy.SORT  =   'COMPANY' THEN Anrede='Firma'
  96. Adresse         =   Stemmy.ADDRESS1
  97. Adresse2        =   Stemmy.ADDRESS2
  98. Ort             =   Stemmy.POSTCODE Stemmy.CITY
  99. Land            =   Stemmy.COUNTRY
  100.  
  101. DO FOREVER
  102.     i=i+1
  103.     IF ~ Show('Ports','FINALW.'||i) THEN DO
  104.         ADDRESS command run Pro ARG
  105.         DO WHILE ~ Show('Ports','FINALW.'||i)
  106.         END
  107.         INTERPRET ADDRESS 'FINALW.'||i
  108.         LEAVE
  109.     END
  110.     ELSE DO
  111.         INTERPRET ADDRESS 'FINALW.'||i
  112.         STATUS PATHNAME
  113.         filename = RESULT
  114.         IF filename = ARG THEN LEAVE
  115.     END
  116. END
  117.  
  118. ix=1
  119. IF nx=3 THEN ix=0.7
  120. objh = 0.5977
  121. ypos = 0.8259
  122. blox=0
  123. FONTSIZE 17
  124.  
  125. IF Anrede ~= '' THEN DO
  126.     DrawTextBlock 1 ix ypos Anrede
  127.     blox=blox+1
  128. END
  129. IF FullName ~= '' THEN DO
  130.     DrawTextBlock 1 ix ypos+(objh+0.2) FullName
  131.     blox=blox+1
  132. END
  133. IF Adresse ~= '' THEN DO
  134.     DrawTextBlock 1 ix ypos+(objh+0.2)*2 Adresse
  135.     blox=blox+1
  136. END
  137. IF Adresse2 ~= '' THEN DO
  138.     DrawTextBlock 1 ix ypos+(objh+0.2)*3 Adresse2
  139.     blox=blox+1
  140. END
  141. IF Ort ~= '' THEN DO
  142.     DrawTextBlock 1 ix ypos+(objh+0.2)*4 Ort
  143.     blox=blox+1
  144. END
  145. IF Land ~= '' THEN DO
  146.     DrawTextBlock 1 ix ypos+(objh+0.2)*5 Land
  147.     blox=blox+1
  148. END
  149.  
  150. Redraw
  151. CURRENTOBJECT
  152. c=RESULT
  153.  
  154. DO i=1 TO blox-1
  155.     c=c-1
  156.     SelectObject c "MULTIPLE"
  157. END
  158.  
  159. Group
  160.  
  161. GetObjectCoords 0
  162. PARSE VAR RESULT x left top objw objh
  163.  
  164. left=0.7    /* - NEU - X-Wert fuer Etikettenobject */
  165. top=0.7     /* - NEU -Y-Wert fuer Etikettenobject */
  166.  
  167. SetObjectCoords 0 1 left+7*(nx-1) top+3.5*(ny-1) 5.725 3.45
  168. Redraw
  169.  
  170. CURRENTOBJECT
  171. SelectObject RESULT
  172.  
  173. /* save the position of where to print the next label               */
  174. IF nx=3 THEN DO
  175.     nx=1
  176.     ny=ny+1
  177.     if ny > 8 then ny=1
  178. END
  179. ELSE nx=nx+1
  180.  
  181. OPTIONS FAILAT 101
  182. Close(Wieviel)
  183. ADDRESS command 'delete >NIL: ENVARC:Etiketten'
  184. Open(Wieviel,'ENVARC:Etiketten',w)
  185. m = nx ny
  186. WriteLn(Wieviel,m)
  187. Open(Wieviel,'ENVARC:Etiketten',w)
  188.