PROCEDURE VERS4 * vers4n: bersicht und drucken im neuen Formular LOCAL aAdresse := {} LOCAL cBreit := chr(27)+"(s4B", cNorm := chr(27)+"(s0B" + Chr(27)+"(s0p10.00h12.0v0s0b3T" cBreit := IIf( cDrucker = "EP",Trim(" "), cBreit ) cNorm := IIf( cDrucker = "EP",Trim(" "), cNorm ) select 9 use drubef cdrucker=upper(cdrucker) if cDrucker="EP" z12p=trim(ep12p) z14p=trim(ep14p) znorm=trim(epnorm) else z12p=trim(hp12p) z14p=trim(hp14p) znorm=trim(hpnorm) ENDIF cBreit := Chr(27)+z12p cNorm := Chr(27)+znorm use mwstdat zik=ik nZnam := Val( Substr( 9->f13,1,2 ) ) nSnam := Val( Substr( 9->f13,4,2 ) ) nZadr := Val( Substr( 9->f14,1,2 ) ) nSadr := Val( Substr( 9->f14,4,2 ) ) use set margin to 0 auf=nr select 2 zei=10 @ 8,5 say "Name der Versicherung" @ 8,47 say "Erf-Dat" @ 8,56 say "bez am" @ 8,65 say "bez-"+w_g @ 9,5 say "-------------------------------------"; + "-------------------------------------" do while val(nr)=auftrnr @ zei,5 say name1 @ zei,26 say name2 @ zei,47 say erf_datum @ zei,56 say bez_am @ zei,65 say str(&b_b_g,10,2) zei=zei+1 skip enddo **************************** zei=zei+1 antw=" " do while antw=" " @ zei,5 say "Sollen die Anschreiben gedruckt werden ?" get antw read if antw="j" exit endif if antw="n" return endif antw=" " enddo ausw=" " zei=zei+1 do while ausw=" " @ zei,5 say "Welches Anschreiben soll gedruckt werden ( aa=alle )"get ausw read if ausw="aa" .or. (val(ausw)>0 .and. val(ausw)<20) exit else ausw=" " endif enddo zei=zei+1 zanz=2 @ zei,5 say "Wie oft sollen die Anschreiben gedruckt werden ?"get zanz read select 1 find &auf schda=1 zanrede=anrede zvorname=vorname zname=name zstrasse=strasse zplz_ort=plz_ort zgestorben=gestorben ztodesurs=todesurs zansp_bez=ansp_bez zansp_anr=ansp_anr zansp_name=ansp_name zansp_vname=ansp_vname zansp_str=ansp_str zansp_ort=ansp_ort zansp_bankv=ansp_bankv zansp_kto=ansp_kto zansp_blz=ansp_blz zansp_ktoi=ansp_ktoi schdat="0100000" do datei select 2 find &auf nrvers=1 do while val(auf)=auftrnr if nrvers=val(ausw) .or. ausw="aa" set device to screen clear anz=0 sch1=1 do while .t. anz=anz+1 if anz>zanz exit endif set device to print if einschr="X" @ 08,8 say "EINSCHREIBEN" if name2=space(30) @ 10,8 say name1 @ 11,8 say strasse @ 12,55 say erf_datum @ 13,8 say plz_ort else @ 10,8 say name1 @ 11,8 say name2 @ 12,8 say strasse @ 12,55 say erf_datum @ 14,8 say plz_ort endif else if name2=space(30) @ 08,8 say name1 @ 09,8 say strasse @ 11,8 say plz_ort @ 12,55 say erf_datum else @ 08,8 say name1 @ 09,8 say name2 @ 10,8 say strasse @ 12,8 say plz_ort @ 12,55 say erf_datum endif endif @ 17,14 say trim(zvorname)+" " +trim(zname) @ 17,55 say auf @ 26,46 say trim( zname ) +" / "+ auf **** @ 29,17 say ztodesurs @ 32,7 say anl1 @ 32,39 say zansp_bez @ 33,7 say anl2 @ 33,39 say zansp_anr @ 34,7 say anl3 @ 34,39 say trim(zansp_vname)+" "+trim(zansp_name) @ 35,7 say anl4 @ 35,39 say zansp_str @ 36,7 say anl5 @ 36,39 say zansp_ort //?? select 1 select 2 if kennzab="A" @ 37,39 say "Bankverbindung:" @ 38,39 say zansp_bankv @ 39,39 say "BLZ: "+zansp_blz @ 40,39 say "KTO: "+zansp_kto ELSE @ 38,39 SAY Z1214(cBreit) + "S C H E C K S senden Sie B I T T E" + Z1214(cNorm) @ 39,39 SAY Z1214(cBreit) + "N U R an unsere H A U P T-Anschrift:" + Z1214(cNorm) @ 41,39 SAY Z1214(cBreit) + " Vestische Strae 146" + Z1214(cNorm) @ 43,39 SAY Z1214(cBreit) + "4 6 1 1 7 O B E R H A U S E N" + Z1214(cNorm) @ 44,10 SAY Z1214(cNorm) // fr alle Flle endif @ 47,35 say trim(zvorname)+" "+trim(zname) DO CASE CASE Substr( Str( auftrnr,6,0 ), 3, 1 ) = "2" // .OR. Substr( Str( auftrnr,6,0 ), 3, 1 ) = "5" @ 61,7 say "45144 Essen, Busehofstrae 100" @ 62,7 say "Telefon (0201) 76 60 70" //+05.03.2010 08:59 CASE Substr( Str( auftrnr,6,0 ), 3, 1 ) = "3" ; CASE Substr( Str( auftrnr,6,0 ), 3, 1 ) = "3" .AND. Substr( Str( auftrnr,6,0 ), 4, 1 ) >= "5" ; //+05.03.2010 08:54 Ratingen .OR. Substr( Str( auftrnr,6,0 ), 3, 1 ) = "4" @ 61,7 say "47178 Duisburg, Bahnhofstrae 208" @ 62,7 say "Telefon (0203) 40 41 40" CASE Substr( Str( auftrnr,6,0 ), 3, 1 ) = "5" ; .OR. Substr( Str( auftrnr,6,0 ), 3, 1 ) = "6" @ 61,7 say "45899 Gelsenkirchen, Turfstrae 13" @ 62,7 say "Telefon (0209) 94 42 888" OTHERWISE @ 61,7 say "46117 Oberhausen, Vestische Strae 146" @ 62,7 say "Telefon (0208) 63 13 49" ENDCASE eject AAdd( aAdresse, zname ) AAdd( aAdresse, 2->name1 ) AAdd( aAdresse, 2->name2 ) AAdd( aAdresse, 2->strasse ) AAdd( aAdresse, 2->plz_ort ) enddo endif skip nrvers=nrvers+1 enddo nAnzum := len( aAdresse )/5 set device to screen @ 20,5 say "Anzahl der zu druckenden Umschlge (k->-) = " get nAnzum READ nZadr := IIf( nAnzum < 0, nZadr-8, nZadr ) IF nAnzum <> 0 nOrientierung := XBPPRN_ORIENT_LANDSCAPE // 27.10.2005 set device to print IF cLPT = "LPTA" // oPrinterPS:DEVICE():setOrientation( XBPPRN_ORIENT_LANDSCAPE ) //Papier horizontal bedrucken // oPrinterPS:DEVICE():startdoc() // 26.10.2005 geremt fr Essen ELSE @ 0,0 say chr(27)+"&l1O" ENDIF FOR i:=1 to len( aAdresse ) STEP 5 @ nZadr,nSadr say aAdresse[i+1] IF aAdresse[i+2]<>" " @ ++nZadr,nSadr say aAdresse[i+2] ENDIF @ ++nZadr,nSadr say aAdresse[i+3] @ ++nZadr,(nSadr-40) say aAdresse[i] @ ++nZadr,nSadr say aAdresse[i+4] nZadr := nZadr - 3 // EJECT // siehe unten 26.10.2005 NEXT IF cLPT = "LPTA" // oPrinterPS:DEVICE():setOrientation( XBPPRN_ORIENT_PORTRAIT ) //Papier vertikal bedrucken ELSE @ ++nZadr,0 say chr(27)+"&l0O" ENDIF IF cLPT = "LPT1" EJECT ENDIF nOrientierung := XBPPRN_ORIENT_PORTRAIT // 27.10.2005 SET DEVICE TO SCREEN ENDIF return