Kombinierte und verbundene Zahlen-Editierbox und Slider-BoxIch produziere ein JSL-Skript, das ein Fenster mit einer Liste von Tests anzeigt, aus denen ein Benutzer auswählen kann, um Diagramme für die ausgewählten Benutzer zu erstellen. Für jedes Diagramm muss ein vom Benutzer festgelegtes Intervall festgelegt sein. Da in diesem Beispiel 1 bis 5 Tests möglich sind, für die Diagramme erstellt werden sollen, wie beziehe ich mich auf die Number Edit Boxes, um den korrekten Wert für den zugehörigen Test zu erhalten, wenn die Number Edit Boxes nicht benannt sind? Wo ich stolpere, ist die Frage in MakeCharts = expr (). Gibt es eine Möglichkeit, jedes Number Edit Box in diesem Szenario-Typ eindeutig zu benennen?
//Create a list of all tests represented in this Data Table to be displayed as vertical check boxes
cbAllTests = Check Box( {"Test1", "Test2", "Test3", "Test4", "Test5"} );
//User Interface for selecting desired test results and charts
New Window( "Enter Capability", << Modal,
//Window Header
H Center Box(
H List Box(
tbAddCap = Text Box( "Select Tests to Average" ),
tbAddCap << Set Font( "Arial", 14, "Bold" )
)
),
//Test List Header
Spacer Box( Size( 10, 20 ) ),
H List Box(
Spacer Box( Size( 35, 20 ) ),
tbCap = Text Box( "Test"),
tbCap << Set Font( "Arial", 12, "Bold" )
),
//List of tests from this STR or list of STRs to select from
H List Box(
Spacer Box( Size( 10, 10 ) ),
cbTest = cbAllTests( i )
),
Spacer Box( Size( 10, 20 ) ),
//Display new window listing tests selected for Capability Data Entry
H Center Box( Button Box( "OK", GetChkBoxes ) )
);
//Window to Display Number Edit Boxes to enter values for only the tests being requested
CapWindow = New Window( "Enter Capability",
//Window Header
H Center Box(
H List Box(
tbEntVal = Text Box( "Enter Capability Values*" ),
tbEntVAl << Set Font( "Arial", 14, "Bold" )
)
),
//List of tests requested for Capability Value entry
H List Box(
vlbTests = V List Box()
),
H Center Box( Button Box( "OK", MakeCharts ) ) //WJL - Add procedure to collect values and add selected charts
);
if( N Items( CapTests ) >=1,
For( i = 1, i <= N Items( CapTests), i++,
Eval(
Expr(
vlbTests << Append(
H List Box(
Lineup Box( N Col(4),
tbTest = Text Box( CapTests[i] ),
tbTest << Set Width( 150 ),
tbPlMin = Text Box( "+/-" ),
tbPlMin << Set Font( "Arial", 10 ),
nebCap = Number Edit Box(0),
nebCap << Set Font( "Arial", 10 ),
tbUnits = Text Box( " % " ),
tbUnits << Set Font( "Arial", 10 )
)
)
)
)
)
)
);
GetChkBoxes = Expr(
CapTests = cbTest << Get Selected();
print( CapTests );
);
MakeCharts = Expr(
//This is where I need to collect the values in each Number Edit Box
//How do I reference when they are not uniquely named in the script?
);Re: Kombinierte und verbundene Zahlen-Bearbeitungsbox und Schieberegler-BoxHier ist eine Möglichkeit, das Problem zu lösen. Der Zeiger auf das Zahlenbearbeitungsfeld wird in eine Liste eingefügt, und das Element aus der Liste wird verwendet, um auf das bestimmte Zahlenbearbeitungsfeld zu zeigen.
//Create a list of all tests represented in this Data Table to be displayed as vertical check boxes
cbAllTests = Check Box( {"Test1", "Test2", "Test3", "Test4", "Test5"} );
// This code needs to be processed before it is called
GetChkBoxes = Expr(
CapTests = cbTest << Get Selected();
print( CapTests );
);
//User Interface for selecting desired test results and charts
New Window( "Enter Capability", << Modal,
//Window Header
H Center Box(
H List Box(
tbAddCap = Text Box( "Select Tests to Average" ),
tbAddCap << Set Font( "Arial", 14, "Bold" )
)
),
//Test List Header
Spacer Box( Size( 10, 20 ) ),
H List Box(
Spacer Box( Size( 35, 20 ) ),
tbCap = Text Box( "Test"),
tbCap << Set Font( "Arial", 12, "Bold" )
),
//List of tests from this STR or list of STRs to select from
H List Box(
Spacer Box( Size( 10, 10 ) ),
cbTest = cbAllTests( i )
),
Spacer Box( Size( 10, 20 ) ),
//Display new window listing tests selected for Capability Data Entry
H Center Box( Button Box( "OK", GetChkBoxes ) )
);
//Window to Display Number Edit Boxes to enter values for only the tests being requested
CapWindow = New Window( "Enter Capability",
//Window Header
H Center Box(
H List Box(
tbEntVal = Text Box( "Enter Capability Values*" ),
tbEntVAl << Set Font( "Arial", 14, "Bold" )
)
),
//List of tests requested for Capability Value entry
H List Box(
vlbTests = V List Box()
),
H Center Box( Button Box( "OK", MakeCharts ) ) //WJL - Add procedure to collect values and add selected charts
);
// create a list to hold the pointers to the different Number Edit Boxes
nebCapList = {};
if( N Items( CapTests ) >=1,
For( i = 1, i <= N Items( CapTests), i++,
//Eval(
//Expr(
vlbTests << Append(
H List Box(
Lineup Box( N Col(4),
tbTest = Text Box( CapTests[i] ),
tbTest << Set Width( 150 ),
tbPlMin = Text Box( "+/-" ),
tbPlMin << Set Font( "Arial", 10 ),
nebCap = Number Edit Box(0),
nebCap << Set Font( "Arial", 10 ),
tbUnits = Text Box( " % " ),
tbUnits << Set Font( "Arial", 10 )
)
)
);
// add the pointer to the Number Edit Box, to the list
insert into(nebCapList,nebCap);
)
//)
//)
);
nebCapList[1] << set(55);
MakeCharts = Expr(
//This is where I need to collect the values in each Number Edit Box
//How do I reference when they are not uniquely named in the script?
);Re: Kombinierte und verbundene Zahlen-Bearbeitungsbox und Schieberegler-Box @txnelson - Entschuldigung für die späte Antwort, aber ich konnte Ihren Vorschlag endlich in die Tat umsetzen ... DANKE !!!! Das war das Ticket. Es ist perfekt!