Re: Analizza la stringa tra virgolette più esterneSono d'accordo sul fatto che dovresti imparare a usare le espressioni, ma devi anche imparare a lavorare con le stringhe di caratteri. Usa la sequenza di escape \!" per inserire una virgoletta doppia all'interno di una stringa. In caso contrario, le virgolette vengono interpretate come delimitatori di stringa come hai scoperto.
Re: Analizza la stringa tra virgolette più esterneQuesto è lo script esatto che devo inserire in un nuovo script di tabella:
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>Il motivo per "Eval(Parse(Eval Insert(" è perché c'è una variabile nello script "TempY" che è il nome di un'altra variabile di tabella che viene modificata tramite una casella di opzione in una finestra di input.
Re: Analizza la stringa tra virgolette più esterneProbabilmente devi guardare expr() e inserire in() o sostituirlo in() per costruire il tuo nuovo script di tabella. Se espandi il tuo script per mostrare quello che hai, potremmo essere in grado di aiutarti in modo più dettagliato.
Ri: Analizza la stringa tra virgolette più esternaCiao @Martino .
Questo è un esempio con Big Class e Substitute
a) per sostituire TempY con la variabile
b) inserire il codice nella funzione NewScript.
Il TempY in "Elementi" ha essere sostituito da "Y", quindi potresti inserire "Y" direttamente lì.
Volevi cambiare "Y" in Variabili?
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)))
Analizzare la stringa tra virgolette più esternaSto scrivendo uno script che crea uno script aggiuntivo nella tabella dati come "Nuovo script". Ma ho un problema con l'analisi della stringa che ho impostato come codice da inserire nel nuovo script.
Il problema è quando eseguo "dt << New Script("Script", parse(a));" quando analizza la stringa, presuppone che la citazione prima del Costruttore di grafici sia la prima citazione, quindi termina quella citazione all'inizio della sezione "Titolo del grafico" e termina. Devo essere in grado di scrivere nello script che il mio script sta scrivendo nella tabella dati, molte virgolette senza che vengano analizzate quando vado a inserirle nello script.
Il codice è simile a questo:
a = "Parse(Eval(Eval Insert(
"Graph Builder(
...
Dispatch(
... ,"Graph Title",
),
....
)"
)));
Personalizzazione di massa