home *** CD-ROM | disk | FTP | other *** search
- /* $VER: FinalWriterEtikett.adm 1.3 (31.3.95)
-
- Ermöglicht es, mit FinalWriter Etiketten auf 70x35mm-Etikettseiten
- (z.B. von Boeder) Etiketten auszudrucken (mahrspaltig).
-
- Pfade (zu FinalWriter/Etikettformular) müssen angepaßt werden.
-
- von Clemens Resanka in 1994-1995.
-
- 1.0 28-Jan-95 Initial release.
- 1.1 27-Feb-95 Probleme mit Etikettpositionierung beseitigt
- [Joachim Schiefer]
- 1.2 16-Mar-95 Überprüfung der Pfadeinstellungen und Aufruf
- eines Editor, falls mgl. [jan]
- 1.3 31-Mar-95 Jetzt korrekte Anschrift von Firmen (nix Herr DB ;-))
- [Joachim Schiefer]
-
- Die Grundwerte für 'left' und 'top' von 'GetObjectCoords' werden auf '0.7'
- gesetzt bevor die Position des Etiketts berechnet wird.
-
- This is an Arexx Script for use with Adress Master and Final Copy/Writer.
- Its use is to print an adress-label on an inkjet-printer like a HP Deskjet.
- I use the Standard-Inkjet-Labels (70x35mm) from boeder. It should also work
- with Standard-Laser-Lables for Laser-printers. :-)
- In addition you need the FW-Doc "DefLabels". Call the script from ADM.
- If not running FW will be started (edit the path below!)
-
- It stores the positon, of where to print the label in Envarc:Etiketten
- If you want to edit this file by hand, here is the format:
- x-Position y-Position
-
- */
-
- Pro= 'Tools:FinalWriter/finalwriter'
- Arg= 'Tools:FinalWriter/FWDocs/DefLabels'
-
- i=0
-
- OPTIONS FAILAT 31
-
- OPTIONS RESULTS
-
- call addlib("rexxreqtools.library", 0, -30, 0)
- NL = '0a'x
-
-
- /* Fehlermeldungen */
-
- err1 = "Pfad zum Programm FinalWriter"NL||,
- "("||Pro||")"NL||,
- "im Makro nicht richtig gesetzt"
- err2 = "Pfad zum FinalWriter-Dokument"NL||,
- "("||Arg||")"NL||"im Makro nicht richtig gesetzt"
- path1 = "Tools:ADM/ARexx/FinalWriterEtikett.adm"
- macn = "ADM/FinalWriter-Etikettdruck"
- resp = "rtez_defaultresponse=0"
- abbr = "Makro abgebrochen"
-
-
- /* Prüfen, ob FinalWriter und Finalwriter-Etikettdokument vorhanden sind */
-
- IF Exists(path1) THEN gadtxt = "_Einstellen|Abbru_ch"
- ELSE gadtxt = "Abbru_ch"
-
- IF ~Exists(Pro) THEN DO
- IF ans = rtezrequest(err1,gadtxt,macn,,resp)=1 THEN DO
- ADDRESS COMMAND "SYS:C/ED" path1"
- ans = rtezrequest(abbr,"_OK",macn,,resp)
- END
- EXIT
- END
- IF ~Exists(Arg) THEN DO
- IF ans = rtezrequest(err2,gadtxt,macn,,resp)=1 THEN DO
- ADDRESS COMMAND "SYS:C/ED" path1"
- ans = rtezrequest(abbr,"_OK",macn,,resp)
- END
- EXIT
- END
-
-
- IF Open(Wieviel,'ENVARC:Etiketten') = 1 THEN DO
- n=Readln(Wieviel)
- PARSE VAR n nx ' ' ny
- END
- ELSE DO
- nx=1
- ny=1
- END
-
- GETADDRESS Stemmy
-
- Anrede = Stemmy.SALUTATION
- FullName = Stemmy.FIRSTNAME Stemmy.LASTNAME
- IF Stemmy.SORT = 'COMPANY' THEN FullName=Stemmy.company
- If Stemmy.SORT = 'COMPANY' THEN Anrede='Firma'
- Adresse = Stemmy.ADDRESS1
- Adresse2 = Stemmy.ADDRESS2
- Ort = Stemmy.POSTCODE Stemmy.CITY
- Land = Stemmy.COUNTRY
-
- DO FOREVER
- i=i+1
- IF ~ Show('Ports','FINALW.'||i) THEN DO
- ADDRESS command run Pro ARG
- DO WHILE ~ Show('Ports','FINALW.'||i)
- END
- INTERPRET ADDRESS 'FINALW.'||i
- LEAVE
- END
- ELSE DO
- INTERPRET ADDRESS 'FINALW.'||i
- STATUS PATHNAME
- filename = RESULT
- IF filename = ARG THEN LEAVE
- END
- END
-
- ix=1
- IF nx=3 THEN ix=0.7
- objh = 0.5977
- ypos = 0.8259
- blox=0
- FONTSIZE 17
-
- IF Anrede ~= '' THEN DO
- DrawTextBlock 1 ix ypos Anrede
- blox=blox+1
- END
- IF FullName ~= '' THEN DO
- DrawTextBlock 1 ix ypos+(objh+0.2) FullName
- blox=blox+1
- END
- IF Adresse ~= '' THEN DO
- DrawTextBlock 1 ix ypos+(objh+0.2)*2 Adresse
- blox=blox+1
- END
- IF Adresse2 ~= '' THEN DO
- DrawTextBlock 1 ix ypos+(objh+0.2)*3 Adresse2
- blox=blox+1
- END
- IF Ort ~= '' THEN DO
- DrawTextBlock 1 ix ypos+(objh+0.2)*4 Ort
- blox=blox+1
- END
- IF Land ~= '' THEN DO
- DrawTextBlock 1 ix ypos+(objh+0.2)*5 Land
- blox=blox+1
- END
-
- Redraw
- CURRENTOBJECT
- c=RESULT
-
- DO i=1 TO blox-1
- c=c-1
- SelectObject c "MULTIPLE"
- END
-
- Group
-
- GetObjectCoords 0
- PARSE VAR RESULT x left top objw objh
-
- left=0.7 /* - NEU - X-Wert fuer Etikettenobject */
- top=0.7 /* - NEU -Y-Wert fuer Etikettenobject */
-
- SetObjectCoords 0 1 left+7*(nx-1) top+3.5*(ny-1) 5.725 3.45
- Redraw
-
- CURRENTOBJECT
- SelectObject RESULT
-
- /* save the position of where to print the next label */
- IF nx=3 THEN DO
- nx=1
- ny=ny+1
- if ny > 8 then ny=1
- END
- ELSE nx=nx+1
-
- OPTIONS FAILAT 101
- Close(Wieviel)
- ADDRESS command 'delete >NIL: ENVARC:Etiketten'
- Open(Wieviel,'ENVARC:Etiketten',w)
- m = nx ny
- WriteLn(Wieviel,m)
- Open(Wieviel,'ENVARC:Etiketten',w)
-