am 2009-01-22 10:52 AM
eps= 0.0001soweit ich weiß wird mit DIM iText[1] 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...
DIM iText[1]
x_size = STR(BEAM_THICKNESS*1000, 1, 0)
y_size = STR(BEAM_HEIGHT*1000, 1, 0)
z_size = STR(BEAM_LENGTH_RIGHT*1000, 1, 0)
itext[1] = ""
IF X_dim AND NOT(Y_dim) AND NOT(Z_dim) THEN itext[1] = x_size
IF NOT(X_dim) AND Y_dim AND NOT(Z_dim) THEN itext[1] = y_size
IF NOT(X_dim) AND NOT(Y_dim) AND Z_dim THEN itext[1] = z_size
IF X_dim AND Y_dim AND NOT(Z_dim) THEN itext[1] = x_size+gs_sep+y_size
IF X_dim AND NOT(Y_dim) AND Z_dim THEN itext[1] = x_size+gs_sep+z_size
IF X_dim AND NOT(Y_dim) AND Z_dim THEN itext[1] = x_size+gs_sep+z_size
IF NOT(X_dim) AND Y_dim AND Z_dim THEN itext[1] = y_size+gs_sep+z_size
IF X_dim AND Y_dim AND Z_dim THEN itext[1] = x_size+gs_sep+y_size+gs_sep+z_size
mirr= -2*SYMB_MIRRORED+1
If glob_context=1 Then
LABEL_FONT_NAME=gs_FontType
LABEL_TEXT_SIZE=2.5
LABEL_FONT_STYLE=0
LABEL_TEXT_pen=3
EndIf
DEFINE STYLE "textstyle" LABEL_FONT_NAME, LABEL_TEXT_SIZE, 5, LABEL_FONT_STYLE
STYLE "textstyle"
qq= REQUEST ("Height_of_style","textstyle", txt_hgt)
text_hgt= txt_hgt*GLOB_SCALE/1000
alph0= (-mirr*SYMB_ROTANGLE+360) MOD 360
! * a leghosszabb szovegsor hossza *
nRows= VARDIM1 (iText)
tLen= STW (iText[1])
FOR w=2 TO nRows
tLen= MAX (tLen, STW (iText[w]))
NEXT w
tLen= tLen*GLOB_SCALE/1000
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
! *** interaktiv hotspotok ***
! * eltolás *
HOTSPOT2 textPos[1][1], 0, 1, textPos[1][2], 1+128
HOTSPOT2 textPos[1][1], -0.1, 2, textPos[1][2], 3
HOTSPOT2 textPos[1][1], textPos[1][2], 3, textPos[1][2], 2
HOTSPOT2 0, textPos[1][2], 4, textPos[1][1], 1+128
HOTSPOT2 -0.1, textPos[1][2], 5, textPos[1][1], 3
HOTSPOT2 textPos[1][1], textPos[1][2], 6, textPos[1][1], 2
! * elforgatas *
ADD2 textPos[1][1], textPos[1][2]
ROT2 alph0*(relToZero=0)
HOTSPOT2 0, 0, 7, textRot, 6
HOTSPOT2 tLen*COS(BEAM_DIRECTION)/2, tLen*SIN(BEAM_DIRECTION)/2, 8, textRot, 4+128
HOTSPOT2 tLen*COS(textRot)/2, tLen*SIN(textRot)/2, 9, textRot, 5
DEL 2
! * szovegblokk szoge *
textRot0= (textRot-alph0*(relToZero)+360) MOD 360
textRot= textRot-180*autoRot*(textRot0>90+eps*mirr)*(textRot0<=270+eps*mirr)
alpha= ((alph0*(relToZero=0)+textRot) MOD 360 +360) MOD 360
ADD2 textPos[1][1], textPos[1][2]
ROT2 alpha
ADD2 0, text_hgt*(nRows-1)/2
IF GLOB_CONTEXT = 22 THEN
ADD2 -tLen/2, -text_hgt/2
RECT2 0,0, tLen,nRows*text_hgt
DEL 1
ELSE
FOR w=0 TO nRows-1
TEXT2 0, -w*text_hgt, iTExt[w+1]
NEXT w
ADD2 -tLen/2, -text_hgt/2
PEN gs_cont_pen
IF gs_frame=1 THEN RECT2 0,0, tLen,nRows*text_hgt
FILL gs_fill_type
POLY2_b 5, 2,gs_fill_pen,gs_back_pen,
0,0,1,
tLen,0,1,
tLen,nRows*text_hgt,1,
0,nRows*text_hgt,1,
0,0,-1
DEL 1
ENDIF
DEL 1
DEL 3
END
am 2009-01-22 11:54 AM