Ri: Passaggio diretto dell'argomento a un file di scriptC'è un motivo per cui devi farlo in questo modo?A meno che tu non sia costretto da circostanze estreme, il tuo metodo di costruzione di una GUI interattiva non è quello che dovresti fare.
Prendi in considerazione l'utilizzo delle classi JMP: consentono di utilizzare i metodi direttamente come callback sugli elementi di visualizzazione e possono semplificare notevolmente la costruzione della GUI.
Argomento di passaggio diretto a un file di scriptEHI,
desidero passare l'argomento str1, un argomento stringa a uno script separato denominato: "script2run.jsl" ad esempio, e quello script utilizza l'argomento str1 e stampa un messaggio come:
print("This is the important string I successfully passed: " || Eval(str1)) ;
uno script diverso che crea una finestra che verrà salvata come diario per un utilizzo successivo attiverà lo script tramite pulsanti che sarebbero qualcosa del genere:
vars4script = {"nine", "one", "two", "eight", "eleven"};
win_click = New Window( "journal window",
Spacer Box( size( 100, 10 ) ),
Header = Text Box( " journal window buttons", <<FONT color=""></FONT>
ci sono 3 metodi qui ma nessuno funziona correttamente quando si fa clic sui pulsanti
Automazione e scriptingRi: Passaggio diretto dell'argomento a un file di scriptSto valutando la possibilità di creare la tua interfaccia utente in qualche altro modo, ma se vuoi davvero seguire la strada che hai suggerito, questo potrebbe funzionare (lo farei non Usa questo)
Names Default To Here(1);
vars4script = {"nine", "one", "two", "eight", "eleven"};
win_click = New Window("journal window",
Spacer Box(size(100, 10)),
Header = Text Box(" journal window buttons", <<FONT color="">= 1, i--,
Eval(EvalExpr(
buttons_area1 << Append(Button Box(vars4script[i],
str1 = Expr(vars4script[i]);
Expr(Parse(Load Text File("script2.jsl")));
));
));
);
</FONT>Ri: Passaggio diretto dell'argomento a un file di scriptSe puoi fornire esempi di modi migliori, sarò più che felice di vedere. i miei unici vincoli sono che uno script generico otterrà variabili diverse a seconda del pulsante cliccato nell'interfaccia utente.Ri: Passaggio diretto dell'argomento a un file di scriptIn casi semplici, molto probabilmente potresti utilizzare una funzione e magari il nome di un pulsante come argomento. Puoi modificare il tuo script generico? Potrebbe ad esempio essere incluso all'inizio del tuo script e quindi chiamare una funzione da quello script generico all'interno di ciascuno dei pulsanti?
script1.jsl
Names Default To Here(1);
Include("script2.jsl");
vars4script = {"nine", "one", "two", "eight", "eleven"};
win_click = New Window("journal window",
Spacer Box(size(100, 10)),
Header = Text Box(" journal window buttons", <<FONT color=""></FONT>
script2.jsl
Names Default To Here(1);
my_func = function({str}, {Default Local},
Show(str);
);