{\rtf1\ansi\ansicpg1254\deff0\deflang1055{\fonttbl{\f0\fmodern\fprq1\fcharset162{\*\fname Courier New;}Courier New TUR;}{\f1\fswiss\fprq2\fcharset162{\*\fname Arial;}Arial TUR;}{\f2\fnil\fcharset162 Tahoma;}} {\colortbl ;\red0\green0\blue128;\red0\green0\blue0;} \viewkind4\uc1\pard\lang1031\b\f0\fs24 //******Fliesen zeichnen******************************\par \cf1\b0\i\fs20\par // Zeichnen einer Wand mit Fiesen\cf2\i0\par \par \b var\b0 \par \cf1\i // h\'f6he und breite der wand, h\'f6he und Breite der Fliese\cf2\i0\par hoehe,Breite,fliesenhoehe,fliesenbreite:Integer;\par resthoehe,restBreite,rrfliesenhoehe,rrfliesenbreite:Integer;\par \cf1\i //Ma\'dfstab und breite der Fugen\cf2\i0\par masstab,fugenbreite :Integer;\par \cf1\i //Fl\'e4che der Fliesen\cf2\i0\par fl :double;\par \cf1\lang2057\i //Hilfsvariablen\cf2\i0\par row,col:Duoble;\par x,y,i:Double;\par \lang1036 x1,x2,y1,y2:Double; \par \lang1031\b begin\b0\par clear(\cf1 0\cf2 );\par \cf1\i // Wandgr\'f6\'dfe, Fliesengr\'f6\'dfe,\cf2\i0\par \cf1\i //Ma\'dfstab und Fugenbreite abfragen\cf2\i0\par hoehe := strtoint(inputbox(\cf1 'Wandh\'f6he'\cf2 ,\cf1 'Wie hoch(lang)ist die Fl\'e4che in mm?'\cf2 ,\cf1 ''\cf2 ));\par Breite:= strtoint( inputbox(\cf1 'Wandbreite'\cf2 ,\cf1 'Wie breit ist die Fl\'e4che in mm?'\cf2 ,\cf1 ''\cf2 ));\par fliesenhoehe :=strtoint(inputbox(\cf1 'Fliesenh\'f6he'\cf2 ,\cf1 'Wie hoch(lang)ist Fliese in mm?'\cf2 ,\cf1 ''\cf2 ));\par fliesenbreite:= strtoint(inputbox(\cf1 'Fliesenbreite'\cf2 ,\cf1 'Wie breit ist die Fliese in mm?'\cf2 ,\cf1 ''\cf2 ));\par masstab := strtoint(inputbox(\cf1 'Ma\'dfstab'\cf2 ,\cf1 'In welchem ma\'dfstab m\'f6chten Sie zeichnen 1 x '\cf2 ,\cf1 '50'\cf2 ));\par fugenbreite := strtoint(inputbox(\cf1 'Fugenbreite'\cf2 ,\cf1 'Wie breit sollen die Fugen sein(mm)?'\cf2 ,\cf1 '3'\cf2 ));\par \cf1\i //masstab setzten\cf2\i0\par mapscale:=masstab; \par \cf1\i // Wand oder Fl\'e4che zeichnen\cf2\i0\par x1:= \cf1 10\cf2 ;\par y1:= \cf1 10\cf2 ;\par x2:= \cf1 10\cf2 +(breite/masstab);\par y2:=\cf1 10\cf2 +(hoehe/masstab);\par \lang2057 Rectangle(\cf1 0\cf2 ,x1,y1,x2,y2,\cf1 1\cf2 ,pssolid,clblack,bssolid,clgray,false);\par \cf1\lang1031\i // erste Fliese zeichnen\cf2\i0\par x1:=\cf1 10\cf2 +(fugenbreite/masstab);\par y1:=\cf1 10\cf2 +(fugenbreite/masstab);\par x2:= \cf1 10\cf2 +((fugenbreite+fliesenbreite)/masstab);\par \lang2057 y2:=\cf1 10\cf2 +((fugenbreite+fliesenhoehe)/masstab);\par \par Rectangle(\cf1 0\cf2 ,x1,y1,x2,y2,\cf1 1\cf2 ,psclear,clred,bssolid,clred,true);\par \par \cf1\lang1031\i // Anzahl der ganzen fliesen in breite berechnen\cf2\i0\par col := ((breite - fugenbreite)/ (fliesenbreite+fugenbreite));\par \cf1\lang2057\i //runden\cf2\i0\par i:=StrtoInt(FormatFloat(\cf1 0\cf2 ,col));\par \cf1\lang1031\i // zu viele spalten dann eine abschneiden, format rundet nur auf!!!\cf2\i0\par \lang2057\b if\b0 i> col \b then\b0\par col:=i-\cf1 1\cf2\par \lang1031\b else\b0\par col:=i;\par \par \cf1\i //Anzahl der ganzen Fliesen in Spalte berechnen\cf2\i0\par // zur Kontrolle showmessage(col);\par row := ((hoehe - fugenbreite)/ (fliesenhoehe+fugenbreite));\par \cf1\lang2057\i // runden\cf2\i0\par i:=strtoint(formatfloat(\cf1 0\cf2 ,row));\par \cf1\lang1031\i // zu viele Zeilen dann eine abschneiden, format rundet nur auf!!!\cf2\i0\par \lang2057\b if\b0 i> row \b then\b0\par row:=i-\cf1 1\cf2\par \lang1031\b else\b0\par row:=i;\par // zur Kontrolle showmessage(row);\par \cf1\i //Fl\'e4che der ganzen Fliesen berechnen in qm\cf2\i0\par \lang2057 fl:= Fliesenhoehe * fliesenbreite * col*row/\cf1 100\cf2 ;\par ArrayRectSelection((fliesenbreite +fugenbreite)/masstab,(fliesenhoehe+fugenbreite)/masstab,col,row); \par \cf1\lang1031\i //Restfliesen berechen\cf2\i0\par \par restbreite:= breite-((fliesenbreite + fugenbreite)*col);\par resthoehe:= hoehe-((fliesenhoehe+fugenbreite)*row);\par \par \cf1\i // Fliesen f\'fcr die letzte Spalte berechen\cf2\i0\par rrfliesenhoehe := fliesenhoehe;\par rrfliesenbreite := restbreite-(\cf1 2\cf2 *fugenbreite);\par \cf1\i //Anfangspunkt f\'fcr letzte Spalte\cf2\i0\par // zur Kontrolle showmessage(rrfliesenbreite);\par \b if\b0 rrfliesenbreite > \cf1 0\cf2 \b then\b0\par \b begin\b0\par x1:= \cf1 10\cf2 +(col *(fliesenbreite+fugenbreite))+fugenbreite;\par y1:= \cf1 10\cf2 +fugenbreite;\par \par x2:= x1+(rrfliesenbreite/masstab);\par y2:= y1+(rrfliesenhoehe/masstab);\par \cf1\i //alle selektionen aufheben\cf2\i0\par deselectall(\cf1 0\cf2 );\par \cf1\i //erstes Muster f\'fcr Restfliese zeichnen\cf2\i0\par \lang2057 Rectangle(\cf1 0\cf2 ,x1,y1,x2,y2,\cf1 1\cf2 ,psclear,clred,bssolid,clred,true);\par \cf1\lang1031\i // duplizieren\cf2\i0\par ArrayRectSelection((rrfliesenbreite+fugenbreite)/masstab,(rrfliesenhoehe+fugenbreite)/masstab,\cf1 1\cf2 ,row); \par \b end\b0 ;\par \cf1\i // Fliesen f\'fcr die letzte Zeile berechen\cf2\i0\par rrfliesenhoehe := resthoehe - (\cf1 2\cf2 *fugenbreite);\par rrfliesenbreite := fliesenbreite;\par \par \cf1\i //Anfangspunkt f\'fcr letzte Zeile\cf2\i0\par // zur Kontrolle showmessage(rrfliesenhoehe);\par \lang2057\b if\b0 rrfliesenhoehe > \cf1 0\cf2 \b then\b0\par \b begin\b0\par x1:= \cf1 10\cf2 +fugenbreite;\par \lang1031 y1:= \cf1 10\cf2 + row *(fugenbreite+fliesenhoehe)+fugenbreite;\par x2:= x1+(rrfliesenbreite/masstab);\par y2:= y1+(rrfliesenhoehe/masstab);\par \cf1\i //alle selektionen aufheben\cf2\i0\par deselectall(\cf1 0\cf2 );\par \cf1\i //erstes Muster Zeile f\'fcr Restfliese zeichnen\cf2\i0\par \lang2057 Rectangle(\cf1 0\cf2 ,x1,y1,x2,y2,\cf1 1\cf2 ,psclear,clred,bssolid,clred,true);\par \cf1\i // duplizieren\cf2\i0\par ArrayRectSelection((rrfliesenbreite+fugenbreite)/masstab,(rrfliesenhoehe+fugenbreite)/masstab,col,\cf1 1\cf2 ); \par \lang1031\b end\b0 ;\par \par \cf1\i // letzte fliese zeichnen\cf2\i0\par \par \b if\b0 ((resthoehe > fugenbreite) \b and\b0 (restbreite >fugenbreite)) \b then\b0\par \b begin\b0\par rrfliesenhoehe := resthoehe - (\cf1 2\cf2 *fugenbreite);\par rrfliesenbreite := restbreite-(\cf1 2\cf2 *fugenbreite);\par x1:= \cf1 10\cf2 +(col *(fliesenbreite+fugenbreite))+fugenbreite;\par y1:= \cf1 10\cf2 + row *(fugenbreite+fliesenhoehe)+fugenbreite;\par x2:= x1+(rrfliesenbreite/masstab);\par y2:= y1+(rrfliesenhoehe/masstab);\par \lang2057 Rectangle(\cf1 0\cf2 ,x1,y1,x2,y2,\cf1 1\cf2 ,psclear,clred,bssolid,clred,false);\par \lang1031\b end\b0 ;\par \par refresh;\par \b end\b0 .\f1\par \pard\cf0\lang1055\f2\fs16\par }