PROCEDURE skyline; VAR i,a,j:INTEGER; pageWidth: REAL; pageHeight: REAL; pageFoldY: REAL; objectX0,objectX1,objectX2,objectX3,objectX4,objectX5,objectX6: REAL; objectY1,objectY2,objectY3,objectY4,objectY5,objectY6,objectY7,objectY8,objectY9,objectY10,objectY11,objectY12,objectY13: REAL; width1: REAL; depth1: REAL; height1: REAL; width2: REAL; depth2: REAL; height2: REAL; width3: REAL; depth3: REAL; height3: REAL; width4: REAL; depth4: REAL; height4: REAL; fensterStartX,fensterStartY,fensterEndY,fensterEndX:REAL; BEGIN {*Variablen berechnen*} pageWidth:=210; pageHeight:=297; pageFoldY:= pageHeight/2; height1:=PHEIGHT1; width1:=PWIDTH1; depth1:=PDEPTH1; height2:=PHEIGHT2; width2:=PWIDTH2; depth2:=PDEPTH2; height3:=PHEIGHT3; width3:=PWIDTH3; depth3:=PDEPTH3; height4:=PHEIGHT4; width4:=PWIDTH4; depth4:=PDEPTH4; objectX1:=(pageWidth-width1-width2-width3-width4)/2; objectX2:=objectX1+width1; objectX3:=objectX2+width2; objectX5:=objectX3+width3; objectX6:=objectX5+width4; objectX4:=objectX6-(2*width4); objectY1:=pageFoldY - depth2; objectY2:=pageFoldY-depth3; objectY3:=pageFoldY - depth1; objectY4:=pageFoldY-depth4; objectY5:=objectY2+height3; objectY7:=objectY3+height1; objectY8:=objectY2+height3+depth3; objectY6:=objectY8-depth4; objectY9:=objectY1+height2; objectY10:=objectY3+height1+depth1; objectY11:=objectY1+height2+depth2; objectY12:=objectY4+height4; objectY13:=objectY4+height4+depth4; {*Stift einstellen*} penPat(2); penFore(0,0,65535); {*blatt zeichnen*} moveto(0,0); lineto(pageWidth,0); lineto(pageWidth,pageHeight); lineto(0,pageHeight); lineto(0,0); {*schnittkanten zeichnen*} moveto(objectX1,objectY3); lineto(objectX1,objectY10); moveto(objectX2,objectY1); lineto(objectX2,objectY11); moveto(objectX3,objectY1); lineto(objectX3,objectY11); moveto(objectX5,objectY2); lineto(objectX5,objectY6); moveto(objectX4,objectY6); lineto(objectX4,objectY13); moveto(objectX6,objectY4); lineto(objectX6,objectY13); {*Stift einstellen*} penFore(65535,0,0); penPat(-2); {*blatt faltkanten zeichnen*} moveto(0,pageFoldY); lineto(objectX1,pageFoldY); moveto(objectX6,pageFoldY); lineto(pageWidth,pageFoldY); {*faltkanten zeichnen*} moveto(objectX1,objectY3); lineto(objectX2,objectY3); moveto(objectX1,objectY7); lineto(objectX2,objectY7); moveto(objectX1,objectY10); lineto(objectX2,objectY10); moveto(objectX2,objectY1); lineto(objectX3,objectY1); moveto(objectX2,objectY9); lineto(objectX3,objectY9); moveto(objectX2,objectY11); lineto(objectX3,objectY11); moveto(objectX3,objectY2); lineto(objectX5,objectY2); moveto(objectX3,objectY5); lineto(objectX5,objectY5); moveto(objectX3,objectY8); lineto(objectX4,objectY8); moveto(objectX5,objectY4); lineto(objectX6,objectY4); moveto(objectX4,objectY6); lineto(objectX5,objectY6); moveto(objectX4,objectY12); lineto(objectX6,objectY12); moveto(objectX4,objectY13); lineto(objectX6,objectY13); {*Stift einstellen*} penPat(2); penFore(0,0,0); {*Fenster1*} {*Fenster1-Koordinaten und zeichnen*} fensterStartX:=objectX1+3; fensterStartY:=objectY3+3; fensterEndX:=objectX2-(Width1/2)-1.5; fensterEndY:=fensterStartY+6; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); a:=(height1-depth1)/8; {*Fenster1-vertikal erweitern*} FOR i:=0 TO a DO BEGIN fensterStartY:=fensterStartY+8; fensterEndY:=fensterStartY+6; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); END; {*Fenster1-horizontal erweitern*} FensterStartY:=objectY3+3; FensterEndY:=FensterStartY+6; FOR i:=0 TO 0 DO BEGIN fensterStartY:=fensterStartY; fensterEndY:=fensterEndY; fensterStartX:=objectX1+(Width1/2)+1.5; fensterEndX:=objectX2-3; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); FOR j:=0 TO a DO BEGIN fensterStartX:=objectX1+(Width1/2)+1.5; fensterEndX:=objectX2-3; fensterStartY:=fensterStartY+8; fensterEndY:=fensterStartY+6; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); END; END; {*Fenster2*} {*Fenster2-Koordinaten und zeichnen*} fensterStartX:=objectX2+5; fensterStartY:=objectY1+5; fensterEndX:=objectX3-5; fensterEndY:=fensterStartY+10; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); a:=(height2-depth2)/13; {*Fenster2-vertikal erweitern*} FOR i:=0 TO a DO BEGIN fensterStartY:=fensterStartY+14; fensterEndY:=fensterStartY+10; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); END; {*Fenster3*} {*Fenster3-Koordinaten und zeichnen*} fensterStartX:=objectX3+5; fensterStartY:=objectY2+5; fensterEndX:=objectX5-(Width3/2)-2.5; fensterEndY:=fensterStartY+7; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); a:=(height3-depth3)/12; {*Fenster3-vertikal erweitern*} FOR i:=0 TO a DO BEGIN fensterStartY:=fensterStartY+12; fensterEndY:=fensterStartY+7; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); END; {*Fenster3 horizontal erweitern*} FensterStartY:=objectY2+5; FensterEndY:=fensterStartY+7; FOR i:=0 TO 0 DO BEGIN fensterStartY:=fensterStartY; fensterEndY:=fensterEndY; fensterStartX:=objectX3+(Width3/2)+2.5; fensterEndX:=objectX5-5; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); FOR j:=0 TO a DO BEGIN fensterStartX:=objectX3+(Width3/2)+2.5; fensterEndX:=objectX5-5; fensterStartY:=fensterStartY+12; fensterEndY:=fensterStartY+7; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); END; END; {*Fenster4*} {*Fenster4-Koordinaten und zeichnen*} fensterStartX:=objectX4+2; fensterStartY:=objectY6+2; fensterEndX:=objectX6-2; fensterEndY:=fensterStartY+4; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); a:=(height4-height3)/8; {*Fenster2-vertikal erweitern*} FOR i:=0 TO a DO BEGIN fensterStartY:=fensterStartY+6; fensterEndY:=fensterStartY+4; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); END; {*Fenster4-EG*} {*Fenster4-EG-Koordinaten und zeichnen*} fensterStartX:=objectX5+4; fensterStartY:=objectY4; fensterEndX:=objectX6-2; fensterEndY:=ObjectY6-2; RECT(fensterStartX,fensterStartY,fensterEndX,fensterEndY); {*Stift einstellen*} penPat(2); END; RUN(skyline);