Re: Analizar la cadena citada más externaEstoy de acuerdo en que debe aprender a usar expresiones, pero también debe aprender a trabajar con cadenas de caracteres. Use la secuencia de escape \!" para ingresar una comilla doble dentro de una cadena. De lo contrario, las comillas se interpretan como un delimitador de cadena como descubrió.
Re: Analizar la cadena citada más externaEste es el script exacto que necesito poner en un nuevo script de tabla:
Eval(
Parse(
eval Insert(
"\[Graph Builder(
Size( 1500, 400 ),
Show Control Panel( 0 ),
Show Title( 0 ),
Variables(
X( :TIME ),
Y( :Y )
),
Elements( Points( X, ^TempY^, Legend( 6 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "My New Title" ),
Image Export Display( Normal )}
),
Dispatch(
{},
"TIME",
ScaleBox,
{Format( "Format Pattern", "<M><-><D><-><YY> <ZHH><AMPM>" ),
Min( 3717386000 ), Max( 3717507800 ), Interval( "Hour" ), Inc( 4 ),
Minor Ticks( 0 ), Label Row( Label Orientation( "Vertical" ) )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "Graph Title" )}
),
Dispatch(
{},
"Y title",
TextEditBox,
{Set Text( "Thing of Interest" )}
)
)
)]\"
)
)
);</AMPM></ZHH></YY></D></M>El motivo de "Eval(Parse(Eval Insert(") es que hay una variable en el script "TempY" que es el nombre de otra variable de tabla que se cambia a través de un cuadro de opción en una ventana de entrada.
Re: Analizar la cadena citada más externaProbablemente necesite mirar expr() e insertar into() o sustituir into() para construir su nueva secuencia de comandos de tabla. Si expande su scipt para mostrar lo que tiene, es posible que podamos ayudarlo con más detalle.
Re: Analizar la cadena citada más externaHola @Martín .
Este es un ejemplo con Big Class y Substitute
a) para reemplazar TempY con la variable
b) para obtener el código en la función NewScript.
los temporal en "Elementos" posee para ser reemplazado por "Y", por lo que podría poner "Y" allí directamente.
¿Quería cambiar "Y" en Variables?
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
TempY=Expr(Y);
myCode= Substitute(Expr(
Graph Builder(
Size( 1500, 400 ),
Show Control Panel( 0 ),
Show Title( 0 ),
Variables(
X( :age ),
Y( :height /*change this one*/ )
),
Elements( Points( X, TempY, Legend( 6 ) ) )
)),
Expr(TempY),Name Expr(TempY));
Eval(Substitute(Expr(dt << New Script("Script", __script__)),Expr(__script__),Name Expr(myCode)))
Analizar la cadena citada más externaEstoy escribiendo un script que crea un script adicional en la tabla de datos como "Nuevo script". Pero tengo un problema al analizar la cadena que configuré como código que se colocará en el nuevo script.
El problema es cuando ejecuto "dt << New Script("Script", parse(a));" cuando analiza la cadena, asume que la cita anterior al Generador de gráficos es la primera cita y luego finaliza esa cita al principio de la sección "Título del gráfico" y finaliza. Necesito poder escribir en el script que mi script está escribiendo en la tabla de datos, muchas comillas sin que se analicen cuando voy a colocarlas en el script.
El código se parece a esto:
a = "Parse(Eval(Eval Insert(
"Graph Builder(
...
Dispatch(
... ,"Graph Title",
),
....
)"
)));
La personalización en masa