<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Thema "Etikett ausbauen - Problem mit Array" in Programmierung</title>
    <link>https://community.graphisoft.com/t5/Programmierung/Etikett-ausbauen-Problem-mit-Array/m-p/429299#M332</link>
    <description>hallo liebe Leute,&lt;BR /&gt; &lt;BR /&gt; möchte die Balkenetikette etwas ausbauen - hab aber nur beschränkte GDL Kenntnisse...&lt;BR /&gt; &lt;BR /&gt; hier mal das Orig. Script:&lt;BR /&gt; &lt;BR /&gt; &lt;PRE&gt;eps= 0.0001&lt;BR /&gt; &lt;BR /&gt; DIM iText[1]&lt;BR /&gt; &lt;BR /&gt; x_size = STR(BEAM_THICKNESS*1000, 1, 0)&lt;BR /&gt; y_size = STR(BEAM_HEIGHT*1000, 1, 0)&lt;BR /&gt; z_size = STR(BEAM_LENGTH_RIGHT*1000, 1, 0)&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; itext[1] = ""&lt;BR /&gt; IF X_dim AND NOT(Y_dim) AND NOT(Z_dim) THEN itext[1] = x_size&lt;BR /&gt; IF NOT(X_dim) AND Y_dim AND NOT(Z_dim) THEN itext[1] = y_size&lt;BR /&gt; IF NOT(X_dim) AND  NOT(Y_dim) AND Z_dim THEN itext[1] = z_size&lt;BR /&gt; IF X_dim AND Y_dim AND NOT(Z_dim) THEN itext[1] = x_size+gs_sep+y_size&lt;BR /&gt; IF X_dim AND NOT(Y_dim) AND Z_dim THEN itext[1] = x_size+gs_sep+z_size&lt;BR /&gt; IF X_dim AND NOT(Y_dim) AND Z_dim THEN itext[1] = x_size+gs_sep+z_size&lt;BR /&gt; IF NOT(X_dim) AND Y_dim AND Z_dim THEN itext[1] = y_size+gs_sep+z_size&lt;BR /&gt; IF X_dim AND Y_dim AND Z_dim THEN itext[1] = x_size+gs_sep+y_size+gs_sep+z_size&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; mirr= -2*SYMB_MIRRORED+1&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; If glob_context=1 Then&lt;BR /&gt; 	LABEL_FONT_NAME=gs_FontType&lt;BR /&gt; 	LABEL_TEXT_SIZE=2.5&lt;BR /&gt; 	LABEL_FONT_STYLE=0&lt;BR /&gt; 	LABEL_TEXT_pen=3&lt;BR /&gt; EndIf&lt;BR /&gt; &lt;BR /&gt; DEFINE STYLE  "textstyle" LABEL_FONT_NAME, LABEL_TEXT_SIZE, 5, LABEL_FONT_STYLE&lt;BR /&gt; STYLE "textstyle"&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; qq= REQUEST ("Height_of_style","textstyle", txt_hgt)&lt;BR /&gt; text_hgt= txt_hgt*GLOB_SCALE/1000&lt;BR /&gt; &lt;BR /&gt; alph0= (-mirr*SYMB_ROTANGLE+360) MOD 360&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; ! * a leghosszabb szovegsor hossza *&lt;BR /&gt; nRows= VARDIM1 (iText)&lt;BR /&gt; tLen= STW (iText[1])&lt;BR /&gt; FOR w=2 TO nRows&lt;BR /&gt; 	tLen= MAX (tLen, STW (iText[w]))&lt;BR /&gt; NEXT w&lt;BR /&gt; tLen= tLen*GLOB_SCALE/1000&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; ADD2 label_position[2][1]+label_position[3][1]+symb_a_size/2,label_position[2][2]+label_position[3][2]+symb_b_size/2&lt;BR /&gt; &lt;BR /&gt; ! *** interaktiv hotspotok ***&lt;BR /&gt; ! * eltolás *&lt;BR /&gt; 	HOTSPOT2 textPos[1][1],  0,				1, textPos[1][2], 1+128&lt;BR /&gt; 	HOTSPOT2 textPos[1][1], -0.1,			2, textPos[1][2], 3&lt;BR /&gt; 	HOTSPOT2 textPos[1][1], textPos[1][2],	3, textPos[1][2], 2&lt;BR /&gt; 	HOTSPOT2 0, textPos[1][2],				4, textPos[1][1], 1+128&lt;BR /&gt; 	HOTSPOT2 -0.1, textPos[1][2],			5, textPos[1][1], 3&lt;BR /&gt; 	HOTSPOT2 textPos[1][1], textPos[1][2],	6, textPos[1][1], 2&lt;BR /&gt; &lt;BR /&gt; ! * elforgatas *&lt;BR /&gt; ADD2 textPos[1][1], textPos[1][2]&lt;BR /&gt; ROT2 alph0*(relToZero=0)&lt;BR /&gt; 	HOTSPOT2 0, 0,										7, textRot, 6&lt;BR /&gt; 	HOTSPOT2 tLen*COS(BEAM_DIRECTION)/2, tLen*SIN(BEAM_DIRECTION)/2,	8, textRot, 4+128&lt;BR /&gt; 	HOTSPOT2 tLen*COS(textRot)/2, tLen*SIN(textRot)/2,	9, textRot, 5&lt;BR /&gt; DEL 2&lt;BR /&gt; &lt;BR /&gt; ! * szovegblokk szoge *&lt;BR /&gt; textRot0= (textRot-alph0*(relToZero)+360) MOD 360&lt;BR /&gt; textRot= textRot-180*autoRot*(textRot0&amp;gt;90+eps*mirr)*(textRot0&amp;lt;=270+eps*mirr)&lt;BR /&gt; alpha= ((alph0*(relToZero=0)+textRot) MOD 360 +360) MOD 360&lt;BR /&gt; &lt;BR /&gt; ADD2 textPos[1][1], textPos[1][2]&lt;BR /&gt; ROT2 alpha&lt;BR /&gt; 	ADD2 0, text_hgt*(nRows-1)/2&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; 		IF GLOB_CONTEXT = 22 THEN&lt;BR /&gt; 			ADD2 -tLen/2, -text_hgt/2&lt;BR /&gt; 			RECT2 0,0, tLen,nRows*text_hgt&lt;BR /&gt; 			DEL 1&lt;BR /&gt; 		ELSE&lt;BR /&gt; 			FOR w=0 TO nRows-1&lt;BR /&gt; 				TEXT2 0, -w*text_hgt, iTExt[w+1]&lt;BR /&gt; 			NEXT w&lt;BR /&gt; &lt;BR /&gt; 			ADD2 -tLen/2, -text_hgt/2&lt;BR /&gt; 			PEN gs_cont_pen&lt;BR /&gt; 			IF gs_frame=1 THEN RECT2 0,0, tLen,nRows*text_hgt&lt;BR /&gt; &lt;BR /&gt; 			FILL gs_fill_type&lt;BR /&gt; 			POLY2_b 5, 2,gs_fill_pen,gs_back_pen,&lt;BR /&gt; 				0,0,1,&lt;BR /&gt; 				tLen,0,1,&lt;BR /&gt; 				tLen,nRows*text_hgt,1,&lt;BR /&gt; 				0,nRows*text_hgt,1,&lt;BR /&gt; 				0,0,-1&lt;BR /&gt; &lt;BR /&gt; 			DEL 1&lt;BR /&gt; &lt;BR /&gt; 		ENDIF&lt;BR /&gt; 	DEL 1&lt;BR /&gt; DEL 3&lt;BR /&gt; &lt;BR /&gt; END&lt;BR /&gt; &lt;BR /&gt;  &lt;/PRE&gt;soweit ich weiß wird mit &lt;I&gt;DIM iText[1]&lt;/I&gt; ein Array definiert. nun möchte ich, dass das Array 3(oder4) Zeilen erhält, in denen dann zusätzliche Angaben (UK, Material, ID-Nr.,...) stehen können und die mittels Parameter ein bzw. ausgeschaltet werden...&lt;BR /&gt; &lt;BR /&gt; also &lt;I&gt;DIM iText[1]&lt;/I&gt; zuerst 'befüllen', und dann mit TEXT2 0,0, iText[1] ausgeben.&lt;BR /&gt; &lt;BR /&gt; Ich scheitere z.Z. daran, dass ich das mit den Indezies o.ä. nicht kapier (also die [1][3]... die die Position im Array angeben ...    &lt;!-- s:) --&gt;&lt;span class="lia-unicode-emoji" title=":leicht_lächelndes_Gesicht:"&gt;🙂&lt;/span&gt;&lt;!-- s:) --&gt;    &lt;BR /&gt; &lt;BR /&gt; hoffe auf Hilfe,&lt;BR /&gt; &lt;BR /&gt; liebe Grüße,  Klaus&lt;BR /&gt;  &lt;BR /&gt;  &lt;SMALL&gt;[ 22. Januar 2009, 10:56: Beitrag editiert von: klaus ]&lt;/SMALL&gt;</description>
    <pubDate>Thu, 22 Jan 2009 09:52:00 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2009-01-22T09:52:00Z</dc:date>
    <item>
      <title>Etikett ausbauen - Problem mit Array</title>
      <link>https://community.graphisoft.com/t5/Programmierung/Etikett-ausbauen-Problem-mit-Array/m-p/429299#M332</link>
      <description>hallo liebe Leute,&lt;BR /&gt; &lt;BR /&gt; möchte die Balkenetikette etwas ausbauen - hab aber nur beschränkte GDL Kenntnisse...&lt;BR /&gt; &lt;BR /&gt; hier mal das Orig. Script:&lt;BR /&gt; &lt;BR /&gt; &lt;PRE&gt;eps= 0.0001&lt;BR /&gt; &lt;BR /&gt; DIM iText[1]&lt;BR /&gt; &lt;BR /&gt; x_size = STR(BEAM_THICKNESS*1000, 1, 0)&lt;BR /&gt; y_size = STR(BEAM_HEIGHT*1000, 1, 0)&lt;BR /&gt; z_size = STR(BEAM_LENGTH_RIGHT*1000, 1, 0)&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; itext[1] = ""&lt;BR /&gt; IF X_dim AND NOT(Y_dim) AND NOT(Z_dim) THEN itext[1] = x_size&lt;BR /&gt; IF NOT(X_dim) AND Y_dim AND NOT(Z_dim) THEN itext[1] = y_size&lt;BR /&gt; IF NOT(X_dim) AND  NOT(Y_dim) AND Z_dim THEN itext[1] = z_size&lt;BR /&gt; IF X_dim AND Y_dim AND NOT(Z_dim) THEN itext[1] = x_size+gs_sep+y_size&lt;BR /&gt; IF X_dim AND NOT(Y_dim) AND Z_dim THEN itext[1] = x_size+gs_sep+z_size&lt;BR /&gt; IF X_dim AND NOT(Y_dim) AND Z_dim THEN itext[1] = x_size+gs_sep+z_size&lt;BR /&gt; IF NOT(X_dim) AND Y_dim AND Z_dim THEN itext[1] = y_size+gs_sep+z_size&lt;BR /&gt; IF X_dim AND Y_dim AND Z_dim THEN itext[1] = x_size+gs_sep+y_size+gs_sep+z_size&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; mirr= -2*SYMB_MIRRORED+1&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; If glob_context=1 Then&lt;BR /&gt; 	LABEL_FONT_NAME=gs_FontType&lt;BR /&gt; 	LABEL_TEXT_SIZE=2.5&lt;BR /&gt; 	LABEL_FONT_STYLE=0&lt;BR /&gt; 	LABEL_TEXT_pen=3&lt;BR /&gt; EndIf&lt;BR /&gt; &lt;BR /&gt; DEFINE STYLE  "textstyle" LABEL_FONT_NAME, LABEL_TEXT_SIZE, 5, LABEL_FONT_STYLE&lt;BR /&gt; STYLE "textstyle"&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; qq= REQUEST ("Height_of_style","textstyle", txt_hgt)&lt;BR /&gt; text_hgt= txt_hgt*GLOB_SCALE/1000&lt;BR /&gt; &lt;BR /&gt; alph0= (-mirr*SYMB_ROTANGLE+360) MOD 360&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; ! * a leghosszabb szovegsor hossza *&lt;BR /&gt; nRows= VARDIM1 (iText)&lt;BR /&gt; tLen= STW (iText[1])&lt;BR /&gt; FOR w=2 TO nRows&lt;BR /&gt; 	tLen= MAX (tLen, STW (iText[w]))&lt;BR /&gt; NEXT w&lt;BR /&gt; tLen= tLen*GLOB_SCALE/1000&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; ADD2 label_position[2][1]+label_position[3][1]+symb_a_size/2,label_position[2][2]+label_position[3][2]+symb_b_size/2&lt;BR /&gt; &lt;BR /&gt; ! *** interaktiv hotspotok ***&lt;BR /&gt; ! * eltolás *&lt;BR /&gt; 	HOTSPOT2 textPos[1][1],  0,				1, textPos[1][2], 1+128&lt;BR /&gt; 	HOTSPOT2 textPos[1][1], -0.1,			2, textPos[1][2], 3&lt;BR /&gt; 	HOTSPOT2 textPos[1][1], textPos[1][2],	3, textPos[1][2], 2&lt;BR /&gt; 	HOTSPOT2 0, textPos[1][2],				4, textPos[1][1], 1+128&lt;BR /&gt; 	HOTSPOT2 -0.1, textPos[1][2],			5, textPos[1][1], 3&lt;BR /&gt; 	HOTSPOT2 textPos[1][1], textPos[1][2],	6, textPos[1][1], 2&lt;BR /&gt; &lt;BR /&gt; ! * elforgatas *&lt;BR /&gt; ADD2 textPos[1][1], textPos[1][2]&lt;BR /&gt; ROT2 alph0*(relToZero=0)&lt;BR /&gt; 	HOTSPOT2 0, 0,										7, textRot, 6&lt;BR /&gt; 	HOTSPOT2 tLen*COS(BEAM_DIRECTION)/2, tLen*SIN(BEAM_DIRECTION)/2,	8, textRot, 4+128&lt;BR /&gt; 	HOTSPOT2 tLen*COS(textRot)/2, tLen*SIN(textRot)/2,	9, textRot, 5&lt;BR /&gt; DEL 2&lt;BR /&gt; &lt;BR /&gt; ! * szovegblokk szoge *&lt;BR /&gt; textRot0= (textRot-alph0*(relToZero)+360) MOD 360&lt;BR /&gt; textRot= textRot-180*autoRot*(textRot0&amp;gt;90+eps*mirr)*(textRot0&amp;lt;=270+eps*mirr)&lt;BR /&gt; alpha= ((alph0*(relToZero=0)+textRot) MOD 360 +360) MOD 360&lt;BR /&gt; &lt;BR /&gt; ADD2 textPos[1][1], textPos[1][2]&lt;BR /&gt; ROT2 alpha&lt;BR /&gt; 	ADD2 0, text_hgt*(nRows-1)/2&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; 		IF GLOB_CONTEXT = 22 THEN&lt;BR /&gt; 			ADD2 -tLen/2, -text_hgt/2&lt;BR /&gt; 			RECT2 0,0, tLen,nRows*text_hgt&lt;BR /&gt; 			DEL 1&lt;BR /&gt; 		ELSE&lt;BR /&gt; 			FOR w=0 TO nRows-1&lt;BR /&gt; 				TEXT2 0, -w*text_hgt, iTExt[w+1]&lt;BR /&gt; 			NEXT w&lt;BR /&gt; &lt;BR /&gt; 			ADD2 -tLen/2, -text_hgt/2&lt;BR /&gt; 			PEN gs_cont_pen&lt;BR /&gt; 			IF gs_frame=1 THEN RECT2 0,0, tLen,nRows*text_hgt&lt;BR /&gt; &lt;BR /&gt; 			FILL gs_fill_type&lt;BR /&gt; 			POLY2_b 5, 2,gs_fill_pen,gs_back_pen,&lt;BR /&gt; 				0,0,1,&lt;BR /&gt; 				tLen,0,1,&lt;BR /&gt; 				tLen,nRows*text_hgt,1,&lt;BR /&gt; 				0,nRows*text_hgt,1,&lt;BR /&gt; 				0,0,-1&lt;BR /&gt; &lt;BR /&gt; 			DEL 1&lt;BR /&gt; &lt;BR /&gt; 		ENDIF&lt;BR /&gt; 	DEL 1&lt;BR /&gt; DEL 3&lt;BR /&gt; &lt;BR /&gt; END&lt;BR /&gt; &lt;BR /&gt;  &lt;/PRE&gt;soweit ich weiß wird mit &lt;I&gt;DIM iText[1]&lt;/I&gt; ein Array definiert. nun möchte ich, dass das Array 3(oder4) Zeilen erhält, in denen dann zusätzliche Angaben (UK, Material, ID-Nr.,...) stehen können und die mittels Parameter ein bzw. ausgeschaltet werden...&lt;BR /&gt; &lt;BR /&gt; also &lt;I&gt;DIM iText[1]&lt;/I&gt; zuerst 'befüllen', und dann mit TEXT2 0,0, iText[1] ausgeben.&lt;BR /&gt; &lt;BR /&gt; Ich scheitere z.Z. daran, dass ich das mit den Indezies o.ä. nicht kapier (also die [1][3]... die die Position im Array angeben ...    &lt;!-- s:) --&gt;&lt;span class="lia-unicode-emoji" title=":leicht_lächelndes_Gesicht:"&gt;🙂&lt;/span&gt;&lt;!-- s:) --&gt;    &lt;BR /&gt; &lt;BR /&gt; hoffe auf Hilfe,&lt;BR /&gt; &lt;BR /&gt; liebe Grüße,  Klaus&lt;BR /&gt;  &lt;BR /&gt;  &lt;SMALL&gt;[ 22. Januar 2009, 10:56: Beitrag editiert von: klaus ]&lt;/SMALL&gt;</description>
      <pubDate>Thu, 22 Jan 2009 09:52:00 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Programmierung/Etikett-ausbauen-Problem-mit-Array/m-p/429299#M332</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-01-22T09:52:00Z</dc:date>
    </item>
    <item>
      <title>Re: Etikett ausbauen - Problem mit Array</title>
      <link>https://community.graphisoft.com/t5/Programmierung/Etikett-ausbauen-Problem-mit-Array/m-p/429300#M333</link>
      <description>Du kannst 1-dimensionale Arrays definieren,&lt;BR /&gt; z.B. DIM ar[10], was 10 Einzeladressen in 10 Zeilen hätte.&lt;BR /&gt; Und Du kannst 2-dimensionale Arrays definieren, die dann quasi wie eine Excel-Tabelle aufgebaut sind:&lt;BR /&gt; DIM ar[10][20] definiert so eine Array-Tabelle mit 10 Zeilen und 20 Spalten.&lt;BR /&gt; Du greifst z.B. mit ar[5][12] auf den Wert in Zeile 5, Spalte 12 zu.&lt;BR /&gt; &lt;BR /&gt; Neben der Defintion mit DIM kannst Du auch Array-Parameter definieren, indem Du auf das Tabellensymbol im geöffneten Objekt neben dem Parameter-Typ klickst.&lt;BR /&gt;  &lt;BR /&gt;  &lt;SMALL&gt;[ 22. Januar 2009, 11:56: Beitrag editiert von: Jochen Suehlo ]&lt;/SMALL&gt;</description>
      <pubDate>Thu, 22 Jan 2009 10:54:00 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Programmierung/Etikett-ausbauen-Problem-mit-Array/m-p/429300#M333</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2009-01-22T10:54:00Z</dc:date>
    </item>
  </channel>
</rss>

