JSL para seleccionar la pestaña Proyecto y ejecutar scriptAmigos,
Soy nuevo en el trabajo con proyectos y tengo dificultades para lograr varias cosas que hago habitualmente en JSL.Mi proyecto tiene 4 tablas de datos y estoy intentando seleccionar una de ellas y luego ejecutar un script en particular que figura en esa tabla de datos.He mirado la información de ayuda para Proyectos pero no puedo entender cómo lograrlo.Cualquier sugerencia/idea será muy apreciada.
Re: JSL para seleccionar la pestaña Proyecto y ejecutar scriptAdemás, no debería necesitar mensajes Run Script separados para cada bloque. Solo hice eso para facilitar la lectura. Sin embargo, es posible que necesites la llamada wait(0) si estás intentando abrir algo y luego le pones el foco inmediatamente, de lo contrario, es posible que la pestaña no haya terminado de cargarse cuando intentemos abrirla.Re: JSL para seleccionar la pestaña Proyecto y ejecutar script
@terapin escribió:
Maldita sea,
Eso fue fácil.No sabía que tenía que usar Ejecutar script para cada comando o conjunto de comandos.
Ahora funciona muy bien excepto por poder pasar una variable como Nombre de ventana o tabla de datos. Estoy usando JSL para procesar datos de numerosos sitios y extraigo la identificación del sitio del archivo de datos abierto y luego lo uso en muchas otras secciones de JSL para guardar, cambiar el nombre y mover los archivos de datos a directorios específicos del sitio.Desafortunadamente, no puedo pasar mi variable, stn, a los nombres de la ventana o la tabla de datos como se muestra a continuación.¿Es posible hacer esto con Proyectos? Si es así, ¿tiene alguna sugerencia sobre cómo lograrlo?
Proyecto << Ejecutar script( Obtener tabla de datos( stn || " Amp_Hr por día " ) ); << Ejecutar script ("OP de parámetros con PAR");
Proyecto << Ejecutar script (Obtener ventana( stn || " Amp_Hr por día" ) << Traer ventana al frente() );
Es intencional que los proyectos tengan sus propios alcances JSL, pero eso puede causar problemas al intentar compartir variables entre ellos. Una forma de hacerlo es utilizar Eval/EvalExpr. No es bonito, pero funciona:
win name = "Big Class";
Eval(
Eval Expr(
project << Run Script( Get Window( Expr( win name ) ) << Bring Window To Front() )
)
);
Re: JSL para seleccionar la pestaña Proyecto y ejecutar scriptMaldita sea,
Eso fue fácil.No sabía que tenía que usar Ejecutar script para cada comando o conjunto de comandos.
Ahora funciona muy bien excepto por poder pasar una variable como Nombre de ventana o tabla de datos. Estoy usando JSL para procesar datos de numerosos sitios y extraigo la identificación del sitio del archivo de datos abierto y luego lo uso en muchas otras secciones de JSL para guardar, cambiar el nombre y mover los archivos de datos a directorios específicos del sitio.Desafortunadamente, no puedo pasar mi variable, stn, a los nombres de la ventana o la tabla de datos como se muestra a continuación.¿Es posible hacer esto con Proyectos? Si es así, ¿tiene alguna sugerencia sobre cómo lograrlo?
Proyecto << Ejecutar script( Obtener tabla de datos( stn || " Amp_Hr por día " ) ); << Ejecutar script ("OP de parámetros con PAR");
Proyecto << Ejecutar script (Obtener ventana( stn || " Amp_Hr por día" ) << Traer ventana al frente() );
Re: JSL para seleccionar la pestaña Proyecto y ejecutar scriptUtilice Proyecto << Ejecutar Script() para ejecutar JSL dentro del proyecto desde fuera de él:
// 1. Create a project and open two data table in it
p = new Project();
p << Run Script(
Open("$SAMPLE_DATA/Big Class.jmp");
Open("$SAMPLE_DATA/Airline Delays.jmp");
);
// 2. Run the a saved script from each table
p << Run Script(
Get Data Table("Big Class") << Run Script("Distribution");
Get Data Table("Airline Delays") << Run Script("Graph Builder Heatmap");
);
// 3. Optionally, make Big Class the visible tab
wait(0);
p << Run Script(
Get Window("Big Class") << Bring Window To Front();
);
Re: JSL para seleccionar la pestaña Proyecto y ejecutar scriptHola Aarón,
Estoy intentando usar JSL para trabajar pero fuera de un proyecto existente.Es decir, con un proyecto abierto quiero ejecutar un script externo que seleccione una pestaña en particular y ejecute un script guardado con esa pestaña.Por ejemplo, con las tablas de datos Big Class, Abrasion y Bicycle movidas a un proyecto (intenté enviar mi versión archivada de este proyecto pero aparece un error "El contenido del archivo adjunto no coincide con su tipo de archivo"), quiero un archivo JSL que se guarda fuera del proyecto para abrir el proyecto, seleccionar la pestaña Clase grande, ejecutar el script de distribución, cambiar a la pestaña Bicicleta y ejecutar el script Ajustar modelo.Puedo abrir el Proyecto sin ningún problema, pero no puedo realizar el resto.
Re: JSL para seleccionar la pestaña Proyecto y ejecutar scriptCon muy pocas excepciones, los scripts JSL funcionarán igual dentro de los proyectos que antes. Entonces, si tiene JSL que ya hace lo que necesita, lo más probable es que todo lo que necesite hacer sea ejecutar ese JSL desde una pestaña del proyecto. Si hay errores o no funciona como esperaba, puedo intentar ayudarlo a resolverlos.Re: JSL para seleccionar la pestaña Proyecto y ejecutar scriptPara aclarar, ¿quieres usar JSL en proyectos para hacer algo que normalmente haces con JSL fuera de los proyectos, o usar la interfaz gráfica de usuario en proyectos para hacer lo que normalmente haces en JSL?