PROCEDURE faltkarte; CONST pageWidth=210; pageHeight=297; pageFoldY=148.5; VAR X1,X2,X3,X4,X5,X6,X7,X8: REAL; Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,Y10,Y11,Y12,Y13: REAL; width,depth,height: REAL; myHandle: HANDLE; BEGIN height:=RealDialog('Geben Sie fŸr die Hšhe eine reelle Zahl zwischen 0 und 24 ein:','0.00'); IF height>24.75 THEN BEGIN height:=24; END; width:=RealDialog('Geben Sie fŸr die Breite eine reelle Zahl zwischen 0 und 12 ein:','0.00'); IF width>12.5 THEN BEGIN width:=12.5; END; depth:=6*height; {*dina a4 blatt zeichnen*} BEGINGROUP; penPat(2); penFore(0,0,65535); moveto(0,0); lineto(pageWidth,0); lineto(pageWidth,pageHeight); lineto(0,pageHeight); lineto(0,0); ENDGROUP; {*wŠhlt das letzte aktive Objekt im Layer aus*} myHandle:= LSACTLAYER; setDselect(myHandle); {*Koordinaten festlegen*} X1:=15; X2:=X1+width; X3:=X1+2*width; X4:=X1+3*width; X5:=X1+4*width; X6:=X1+5*width; X7:=X1+6*width; X8:=X1+7*width; Y1:=pageFoldY-depth; Y2:=Y1+height; Y3:=Y1+2*height; Y4:=Y1+3*height; Y5:=Y1+4*height; Y6:=Y1+5*height; Y7:=Y1+6*height; Y8:=Y1+7*height; Y9:=Y1+8*height; Y10:=Y1+9*height; Y11:=Y1+10*height; Y12:=Y1+11*height; Y13:=Y1+12*height; BEGINGROUP; {*horizontale Linien*} penPat(-2); penFore(65535,0,0); moveto(X6,Y13); lineto(X8,Y13); moveto(X5,Y12); lineto(X6,Y12); penFore(0,65535,0); lineto(X8,Y12); penFore(65535,0,0); moveto(X4,Y11); lineto(X5,Y11); moveto(X6,Y11); lineto(X7,Y11); moveto(X4,Y7); lineto(X5,Y7); moveto(X3,Y10); lineto(X4,Y10); penFore(0,65535,0); moveto(X5,Y10); lineto(X7,Y10); penFore(65535,0,0); moveto(X2,Y9); lineto(X3,Y9); moveto(X5,Y9); lineto(X6,Y9); moveto(X1,Y8); lineto(X2,Y8); penFore(0,65535,0); moveto(X4,Y8); lineto(X6,Y8); penFore(65535,0,0); moveto(X5,Y7); lineto(X5,Y7); penFore(0,65535,0); moveto(X3,Y6); lineto(X5,Y6); penFore(65535,0,0); moveto(X7,Y6); lineto(X8,Y6); penFore(65535,0,0); moveto(X3,Y5); lineto(X4,Y5); moveto(X6,Y5); lineto(X7,Y5); penFore(0,65535,0); moveto(X2,Y4); lineto(X4,Y4); penFore(65535,0,0); moveto(X5,Y4); lineto(X6,Y4); moveto(X2,Y3); lineto(X3,Y3); moveto(X4,Y3); lineto(X5,Y3); penFore(0,65535,0); moveto(X1,Y2); lineto(X3,Y2); penFore(65535,0,0); lineto(X4,Y2); moveto(X1,Y1); lineto(X3,Y1); {*vertikale Linien*} penFore(0,0,65535); penPat(2); moveto(X1,Y1); lineto(X1,Y8); moveto(X2,Y3); lineto(X2,Y9); moveto(X3,Y1); lineto(X3,Y3); moveto(X3,Y5); lineto(X3,Y10); moveto(X4,Y2); lineto(X4,Y5); moveto(X4,Y7); lineto(X4,Y11); moveto(X5,Y3); lineto(X5,Y7); moveto(X5,Y9); lineto(X5,Y12); moveto(X6,Y4); lineto(X6,Y9); moveto(X6,Y11); lineto(X6,Y13); moveto(X7,Y5); lineto(X7,Y11); moveto(X8,Y6); lineto(X8,Y13); ENDGROUP; {*wŠhlt das letzte aktive Objekt aus*} myHandle:=LSACTLAYER; DUPLICATE(pageWidth-2*X1-7*width,0); FLIPVER; {*papier faltkante zeichnen*} penFore(65535,0,0); penPat(-2); moveto(0,pageFoldY); lineto(X1,pageFoldY); moveto(X8,pageFoldY); lineto(pageWidth-X1-7*width,pageFoldY); moveto(pageWidth-X1,pageFoldY); lineto(pageWidth,pageFoldY); END; RUN(faltkarte);