Zone d'édition combinée et connectée et zone de curseurJe suis en train de produire un script JSL qui affiche une fenêtre avec une liste de tests pouvant être sélectionnés par un utilisateur pour produire des graphiques pour ceux sélectionnés. Chaque graphique doit avoir un intervalle défini par l'utilisateur. Étant donné que cet exemple peut permettre à 1 à 5 tests de produire des graphiques, comment puis-je me référer aux zones d'édition pour obtenir la valeur correcte pour le test associé étant donné que les boîtes d'édition en format ne sont pas nommées? Où je trébuche est la question dans MakeCharts = expr (). Existe-t-il un moyen de nommer de manière unique chaque zone d'édition de numéro dans ce type de scénario?
//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?
);Objet: Zone d'édition de numéro et de zone de curseur combinées et connectéesVoici une façon de gérer le problème. Le pointeur sur la zone d'édition de numéro est placé dans une liste, puis l'élément de la liste est utilisé pour renvoyer à la zone d'édition de numéro spécifique.
//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?
);Objet: Zone d'édition de numéro et de zone de curseur combinées et connectées @txnelson - Désolé pour la réponse tardive mais j'ai enfin pu mettre votre suggestion en action ... MERCI !!!! C'était le billet. C'est parfait!