scripting "aggiungi riga" con input elenco dinamicoCiao a tutti,
Ho un TableBox come tabella di rapporto nel mio diario. Posso riempire questa tabella con "aggiungi riga" che come input richiede un elenco. Funziona quando scrivo direttamente i valori dell'elenco nella funzione. Vedi sotto. Quando preparo l'elenco in anticipo e lo analizzo nella funzione, non funziona più Vedi il secondo esempio sotto. Come mai? L'obiettivo è costruire questa "riga di aggiunta" in un ciclo con informazioni ogni volta diverse.
Bauke
// possible and working
ob[TableBox(1)] << add row ({"1","2","3",4});
// not possible why?
rowContents2 = {"1","2","3",4};
ob[TableBox(1)] << add row (rowContents2);
SceneggiaturaRe: scripting "aggiungi riga" con input elenco dinamicoIl motivo per cui funziona è ciò che il codice sta semplicemente facendo, è costruire il JSL esatto necessario in una stringa di caratteri e quindi utilizzare Eval(Parse(…….)) per dire a JMP di inviare il valore delle stringhe di caratteri a JMP.
Se prendi il tuo esempio specifico, la sintassi codificata per ottenere ciò che desideri è
ob[TableBox(1)] << add row ({"1", "2", "3", 4});
Quindi, se si può costruire la riga di codice sopra in una stringa di caratteri, la stringa di caratteri può essere inviata a JMP usando la combinazione di funzioni Eval(Parse()).Ecco una semplice espansione del tuo script per chiarire, si spera
rowContents2 = {"1","2","3",4};
// Create a character string variable with the required syntax
myString = "ob[TableBox(1)] << add row (" || char(rowContents2) || ");";
// Write the string to the log to show what it looks like
show( myString );
// Run the character string variable
Eval( Parse( myString ) );
Re: scripting "aggiungi riga" con input elenco dinamicoMolte grazie!
Il primo non ha funzionato. La seconda soluzione ha funzionato aggiungendo 2 parentesi mancanti alla fine. Non capisco ancora perché funzioni, ma forse lo scoprirò più avanti.
Bauke
Re: scripting "aggiungi riga" con input elenco dinamicoprova le opzioni nello script sottostante.(Nota: 2 finali ")" sono stati aggiunti per rendere corretta la sintassi, dopo @Bauke osservazione dei caratteri mancanti)
rowContents2 = {"1","2","3",4};
ob[TableBox(1)] << add row (eval(rowContents2));
// or if necessary this should force it to work
eval(parse("ob[TableBox(1)] << add row (" || char(rowContents2) || ");"));