각 루프가 창에 다른 탭을 생성하는 탭 상자 내부의 For 루프목록을 만들기 위해 다양한 도구 목록(ChamberTool 또는 Cham)을 통해 반복하려고 합니다.그런 다음 해당 목록을 사용하여 각 챔버가 탭 상자 창의 별도 탭인 날짜별로 데이터 윤곽을 만듭니다.나는 이러한 각 작업을 독립적으로 수행했지만 내 특별한 문제는 이 변수 목록에서 각 도구에 대한 탭을 만드는 것입니다.내 접근 방식이 잘못된 것일 수 있지만 여기에 내 스크립트가 있습니다.
먼저, 제가 작업한 두 개의 스크립트가 있습니다.나는 이미 방법을 알고 있는 부분의 스크립팅을 넘겨주고 이 게시물을 더 간략하게 유지하고 내 주요 문제 진술을 손상시키지 않습니다.
ContourG = dt << Contour stuff here;
Graph = new window("Contours", tab box(
"Tab Name Here", (vlistbox(ContourG)),
));하지만 for 루프를 실행하려고 하면 완전히 망가집니다.
Cham = Associative Array(Column(dt_stacked, "Chamber") << Get Values) << Get Keys;Associative Array(Column(dt_stacked, "Chamber")<< Get Values)<<GET keys=""></GET>
Re: 각 루프가 창에 다른 탭을 생성하는 탭 상자 내부의 For 루프다음은 하나의 창에서 미리 작성된 분석을 생성하는 스크립트이며 두 번째 창은 디스플레이를 실시간으로 동적으로 생성합니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
// Create the default lists
namesList = {};
objList = {};
// Generate the output names
For( i = 1, i <= 10, i++,
Insert Into( namesList, "Analysis " || Char( i ) )
);
//Pre run the reports
For( i = 1, i <= 10, i++,
objList[i] = V List Box( Oneway( x( :Site ), y( Column( i + 4 ) ) ) )
);
// Create the display window for to display the prebuilt reports upon a user's reques
nw = New Window( "Output PreBuilt",
theHLB = H List Box(
lB = List Box(
namesList,
maxselected( 1 ),
Try( myObj << delete );
theHLB << append( myObj = objList[Contains( namesList, (lB << get selected)[1] )] << clone box );
)
)
);
// Create the display window for the displaying of the dynamically created reports
nw2 = New Window( "Output Dynamic Creation",
theHLB2 = H List Box(
lB2 = List Box(
namesList,
maxselected( 1 ),
Try( myObj2 << delete );
theHLB2 << append(
myObj2 = V List Box(
Oneway( x( :Site ), y( Column( Contains( namesList, (lB2 << get selected)[1] )+4 ) ) )
)
);
)
)
);Re: 각 루프가 창에 다른 탭을 생성하는 탭 상자 내부의 For 루프입력해 주셔서 감사합니다. 내 보고서는 기능당 약 8-10개의 차트를 생성하고 차트 유형은 기능 유형에 따라 다르며 레이어당 3-8개의 기능이 있고 제품당 최대 10개의 레이어가 있으며 제품은 데이터 가져오기 날짜에 따라 달라질 수 있습니다.FOR LOOP를 통해 쉽게 액세스할 수 있도록 목록이나 배열에 모든 플롯/차트를 저장할 수 있습니까?
Re: 각 루프가 창에 다른 탭을 생성하는 탭 상자 내부의 For 루프물론 UI를 디자인하는 방법에는 여러 가지가 있습니다. 그러나 4단계 계층 구조에서는 '조건부' 옵션과 함께 로컬 데이터 필터를 사용하는 것을 고려할 것입니다.
// Conditional (hierarchical) local data filter
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 529, 563 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :sex, :age, :name ),
Display( :sex, Size( 149, 28 ), List Display ),
Display( :age, Size( 149, 84 ), List Display ),
Display( :name, Size( 149, 210 ), List Display )
)
)
);Re: 각 루프가 창에 다른 탭을 생성하는 탭 상자 내부의 For 루프
-->
Text Box( tabListFirst[i] ||"->"|| tabListSecond[ii][iii] ||"->"|| tabListThird[ii][iii] ||"->"|| tabListForth[iii][iiii]) )
Text Box( tabListFirst[i] ||"->"|| tabListSecond[i][ii] ||"->"|| tabListThird[ii][iii] ||"->"|| tabListForth[iii][iiii]) )
마이너 업데이트......
Re: 각 루프가 창에 다른 탭을 생성하는 탭 상자 내부의 For 루프4단계 탭 상자 예:
Names Default To Here( 1 );
// Make multiple lists that will define the multi-level hierarchical tab structure
nFirst = 5;
nSecondMax = 5;
nThirdMax = 5;
nForthMax = 5;
tabListFirst = {}; // first lists
tabListSecond = {}; // second lists
tabListThird = {}; // third lists
tabListForth = {}; // forth lists
For( i = 1, i <= nFirst, i++, //first level
Insert Into( tabListFirst, " L1 Tab " || Char( i ) );
secondList = {};
For( ii = 1, ii <= nSecondMax, ii++, //second level
Insert Into( secondList, "L2 Tab " || Char( ii ) );
thirdList = {};
For( iii = 1, iii <= nThirdMax, iii++,//third level
Insert Into( thirdList, "L3 Tab " || Char( iii ) );
forthList = {};
For( iiii = 1, iiii <= nForthMax, iiii++,//forth level
Insert Into( forthList, "L4 Tab " || Char( iiii ) )
);
Insert Into( tabListForth, Eval List( List( forthList ) ) );
);
Insert Into( tabListThird, Eval List( List( ThirdList ) ) );
);
Insert Into( tabListSecond, Eval List( List( secondList ) ) );
);
/*
Show( tabListFirst );
Show( tabListSecond );
Show( tabListThird );
Show( tabListForth );
*/
// Use these lists to build the UI
tb = Tab Box(); //first level of Tab Box
For( i = 1, i <= N Items( tabListFirst ), i++,
tb2 = Tab Box(); //second level of Tab Box
For( ii = 1, ii <= N Items( tabListSecond[i] ), ii++,
tb3 = Tab Box(); //third level of Tab Box
For (iii = 1, iii <= NItems ( tabListThird[ii]), iii++,
tb4 = Tab Box();
For (iiii = 1, iiii <= NItems ( tabListForth[iii]), iiii++,
tb4 << Add( tabListForth[iii][iiii] || " Tab",
Text Box( tabListFirst[i] ||"->"|| tabListSecond[ii][iii] ||"->"|| tabListThird[ii][iii] ||"->"|| tabListForth[iii][iiii]) )
);
tb3 << Add(tabListThird[ii][iii] || " Tab", tb4);
);
tb2 << Add ( tabListSecond[i][ii] || " Tab", tb3);
);
tb << Add( tabListFirst[i] || " Tab", tb2 );
);
New Window( "Example", tb );
Re: 각 루프가 창에 다른 탭을 생성하는 탭 상자 내부의 For 루프감사합니다. 정확히 제가 찾고 있는 것입니다. 제 데이터는 4레벨이고 다음 레벨의 탭 수는 이전 레벨의 탭 값을 기반으로 합니다..Re: 각 루프가 창에 다른 탭을 생성하는 탭 상자 내부의 For 루프Jim의 예를 바탕으로 작성:
NamesDefaultToHere(1);
// Make two lists that will define the two-level hierarchical tab structure
nFirst = 4;
nSecondMax = 5;
tabListFirst = {}; // A List
tabListSecond = {}; // A list of lists
for(i=1, i<=nFirst, i++,
InsertInto(tabListFirst, "Tab "|| Char(i));
secondList = {};
for(ii=1, ii<=randomInteger(1, nSecondMax), ii++,
InsertInto(secondList, "Tab "|| Char(ii))
);
InsertInto(tabListSecond, evalList(List(secondList)));
);
// Use these lists to build the UI
tb = Tab Box();
For( i = 1, i <= N Items( tabListFirst ), i++,
tb2 = TabBox();
for(ii = 1, ii <= NItems(tabListSecond[i]), ii++,
tb2 << add(
tabListSecond[i][ii] || " Tab",
Button Box( "Press " || tabListSecond[i][ii] )
);
);
tb << Add(tabListFirst[i] || " Tab", tb2);
);
New Window( "Example", tb );Re: 각 루프가 창에 다른 탭을 생성하는 탭 상자 내부의 For 루프탭 상자의 두 번째 레이어를 동적으로 만들 수 있습니까? 내 데이터에는 여러 레이어의 데이터가 있습니다. 감사합니다.
<SPAN class="token function">Names Default To Here</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token number">1</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
tabList <SPAN class="token operator">=</SPAN> <SPAN class="token punctuation">{</SPAN><SPAN class="token string">"First"</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"Second"</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"Third"</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"Fourth"</SPAN><SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">;<BR /></SPAN>
<SPAN class="token function">New Window</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Example"</SPAN><SPAN class="token punctuation">,</SPAN> tb <SPAN class="token operator">=</SPAN> <SPAN class="token function">Tab Box</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
<SPAN class="token function">For</SPAN><SPAN class="token punctuation">(</SPAN> i <SPAN class="token operator">=</SPAN> <SPAN class="token number">1</SPAN><SPAN class="token punctuation">,</SPAN> i <SPAN class="token operator"><=</SPAN> <SPAN class="token function">N Items</SPAN><SPAN class="token punctuation">(</SPAN> tabList <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> i<SPAN class="token operator">++</SPAN><SPAN class="token punctuation">,</SPAN>
tb <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> Add</SPAN><SPAN class="token punctuation">(</SPAN>
tabList<SPAN class="token punctuation">[</SPAN>i<SPAN class="token punctuation">]</SPAN> <SPAN class="token operator">||</SPAN> <SPAN class="token string">" Tab"</SPAN><SPAN class="token punctuation">,<BR /></SPAN> //another layer of tabs goes here<BR />
<SPAN class="token function">Button Box</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"Press "</SPAN> <SPAN class="token operator">||</SPAN> tabList<SPAN class="token punctuation">[</SPAN>i<SPAN class="token punctuation">]</SPAN> <SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Re: 각 루프가 창에 다른 탭을 생성하는 탭 상자 내부의 For 루프내 이전 게시물은 완전히 고정되어 있지 않았습니다.그것은 하드 코딩된 방법과 필요할 때마다 탭을 추가하도록 결정할 수 있는 방법을 모두 보여주었습니다.그러나 더 직접적으로 만들기 위해 JSL 목록을 사용하여 추가해야 하는 탭을 결정하는 재작업된 스크립트가 있습니다.
Names Default To Here( 1 );
tabList = {"First", "Second", "Third", "Fourth"};
New Window( "Example", tb = Tab Box() );
For( i = 1, i <= N Items( tabList ), i++,
tb << Add(
tabList[i] || " Tab",
Button Box( "Press " || tabList[i] )
)
);Re: 각 루프가 창에 다른 탭을 생성하는 탭 상자 내부의 For 루프@txnelson , 내 코드는 목록의 각 개별 항목이 자체 탭이 되도록 변수 목록을 기반으로 루프를 만들려는 시도였습니다.당신이 준 예는 특정 수의 탭을 하드 코딩하는 방법처럼 보이지만 제 경우에는 탭 수가 변경됩니다.예를 들어 내 데이터 세트가 내 목록에 5개의 개별 엔터티가 있는 경우 내 코드는 각 엔터티에 대해 하나씩 5개의 탭을 생성해야 합니다.그러나 다음 날 내 데이터 세트는 8개의 엔터티가 될 수 있습니다.
그리고 관련 없는 질문입니다. 내 계정에서 내 이메일 주소를 어떻게 업데이트할 수 있습니까?내 계정이 더 이상 액세스할 수 없는 주소에 연결되어 있고 평생 업데이트 방법을 알아낼 수 없다는 것을 깨달았습니다.
Re: 각 루프가 창에 다른 탭을 생성하는 탭 상자 내부의 For 루프새 탭을 만드는 데 사용하는 구문이 올바르지 않습니다. 다음은 새 탭을 추가하는 방법에 대해 Scripting Index에서 직접 가져온 예입니다.실제로 이 예에서는 두 가지 방법을 보여줍니다.귀하의 코드는 하나의 탭만 생성합니다.
Names Default To Here( 1 );
New Window( "Example",
tb = Tab Box(
Tab Page Box(
"First Tab",
Tip( "First Tab Tooltip" ),
Button Box( "Press One" )
),
Tab Page Box(
"Second Tab",
Closeable( 1 ),
Button Box( "Press Two" )
),
Tab Page Box(
"Third Tab",
Icon( "Nominal" ),
Button Box( "Press Three" )
)
)
);
Wait( 1 );
tb << Add(
"Fourth Tab",
Button Box( "Press Four" )
);