Hallo,
Ich wollte ein jsl-Skript während der Ausführung ändern. Grund ist wie folgt. Ich habe eine grafische Benutzeroberfläche für die Parameterkorrelation erstellt. Das Spaltenlistenfeld, die Kontrollkästchen und die Textbearbeitungsfelder haben einen Standardwert festgelegt. Ich habe die Schaltfläche "Set Current as Default" hinzugefügt, was bedeutet, dass das, was aktuell in den Feldern eingegeben wird, der neue Standard ist.
Nachfolgend finden Sie die Skriptkopie nur für die grafische Benutzeroberfläche. Ich möchte die Werte im SetDef-Block überschreiben, wenn der Benutzer die Schaltfläche "Set Current As Default" drückt.
Danke für die Hilfe.
dt = Current Data Table();
SetDef = Expr(
// Set Default Values
corrcoldef = {:Name("ColName1")};
fitcoldef = {:Name("ColName2")};
parcoldef = {:Name("ColName3"),:Name("ColName4")};
grpcoldef = {:Name("ColName7"),:Name("ColName8")};
chkb1 = 0; //Uncheck Fit Y by X
chkb2 = 1; //Check Fit Y by X (m=1)
chkb3 = 1; //Check Output R^2 and Offset Table
chkb4 = 0; //Uncheck Output Static JMP report
ncolval = 4; //Number of plots per row in report window
);
GUI = Expr(
reflist = {};
nw = New Window ("Correlate",
TextBox(" Generates one-to-one correlation plots."),
SpacerBox(Size(1,10)),
H List Box (
SpacerBox(Size(10,1)),
V List Box (
Panel Box("Select Columns",
ColSource = ColListBox(dt, all, nlines(18)),
),
SetDefb = Button Box("Set Current as Default")
),
SpacerBox(Size(5,1)),
V List Box (
Panel Box ("",
Line Up Box ( Ncol(2),
corrb = Button Box("Correlate By"),
corrcol = ColListBox(dt,Min Items(1),Max Items(1), nlines(1)),
fitb = Button Box("Fit Line By"),
fitcol = ColListBox(dt,Max Items(1), nlines(1)),
TextBox(" Reference"),
refcombo = Combo Box (reflist),
parb = Button Box ("Parameters"),
parcol = ColListBox (dt, Min Items(1), nlines(8), <<SET data="https://community.jmp.com/" type=""></SET>
Ich hatte plötzlich eine Idee. Speichern Sie die Standardwerte in einer externen Textdatei und ändern Sie stattdessen diese Datei.
Aber wenn es bessere Ideen gibt, lass es mich wissen. 
Vielen Dank,
Shaira