Utilizzo delle variabili nel nome del percorsoCiao,
Per favore perdonami se questa è una domanda banale, non ho molta esperienza di lavoro con JSL.
Sto cercando di aggiungere un'immagine all'etichetta al passaggio del mouse utilizzando il codice JSL e desidero definire il percorso dell'immagine utilizzando una variabile. Ho una cartella di immagini e desidero che vengano chiamate utilizzando una variabile nella mia tabella.
Ad esempio, le mie immagini sono etichettate da 1 a 100 e nella tabella è presente una colonna denominata "numero immagine". Voglio poterli chiamare così:
PictureBox(Open("c:/iris/"picture number" .jpg", jpg));
È possibile?
Grazie molto!
Personalizzazione di massaRi: Utilizzo delle variabili nel nome del percorsoWow, ottimo esempio @jthi ! Grazie per averlo condiviso!
Il trucco qui è che quando crei il nome dell'immagine da una colonna di tabella, devi indicare il nome della colonna E la riga. All'interno dello spazio dei nomi Local popolato dal contesto di esecuzione del graphlet, la riga corrente è disponibile nella variabile local:_firstRow. Quindi il costrutto:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
Per ulteriori informazioni su questa e altre variabili, vedere Contesto di esecuzione dell'etichetta al passaggio del mouse .
Ri: Utilizzo delle variabili nel nome del percorsoGrazie mille, funziona alla grande.
Ri: Utilizzo delle variabili nel nome del percorsoProva a controllare il registro per vedere quali errori ricevi. Molto probabilmente qualcosa del genere: "Lo spazio dei nomi "local_" non è definito nell'accesso o nella valutazione di 'local_:PicAdress'".
Prova qualcosa del genere:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
Maggiori informazioni possibilmente da: Come eseguire una query al passaggio del mouse, utilizzando i dati dal punto dati sottostante?
Modificare:
Ho aggiunto uno script di esempio. Creerà un paio di file (10 per impostazione predefinita) in $TEMP (e tenterà di eliminarli alla chiusura della finestra) e creerà una finestra con due costruttori di grafici:
- Per prima cosa creeremo il percorso dai dati nel generatore di grafici utilizzando questa idea:
PictureBox(Open("c:/iris/" || local:_PicAdress || ".jpg", jpg))
- Il secondo è utilizzare solo le informazioni sulla riga dal generatore di grafici e ottenere i dati in base alla riga da datatable
Casella immagine(Apri(Colonna("PicAdress")[locale:_primaRiga],jpg))
Ri: Utilizzo delle variabili nel nome del percorsoGrazie per le risposte
Ho una domanda di follow-up. Voglio che l'etichetta al passaggio del mouse ottenga l'indirizzo del file da una colonna. La mia colonna ha l'indirizzo stesso, ad esempio, il testo nella mia colonna (denominata PicAdress) è "c:/iris/picNumber.jpg" .
Tuttavia, non riesco a far sì che l'etichetta tugurio accetti questa variabile. ho provato a usare:
PictureBox(Open(local:_PicAdress, jpg))
senza successo.
Quando inserisco semplicemente l'indirizzo nella colonna non ci sono problemi.
PictureBox(Open("c:/iris/" || local:_PicAdress || ".jpg", jpg))
Qualche consiglio?
Ri: Utilizzo delle variabili nel nome del percorsoPotresti voler controllare questo thread. Avevano lo stesso caso d'uso. Il thread contiene molti esempi di script che dovresti trovare utili.
Etichetta al passaggio del mouse
Ri: Utilizzo delle variabili nel nome del percorsoControlla il registro per i messaggi. Uno o più dei seguenti potrebbero essere d'aiuto.
Crea il nome del percorso in una variabile e stampalo nel log, quindi passa la variabile per aprire.
Aggiungi virgolette attorno al 2° parametro da aprire.
Aggiungi l'ambito della tabella dati prima del nome della colonna.
Aggiungi un pedice del numero di riga dopo il nome della colonna.
modifica: usa la funzione char() per convertire numerici in caratteri!
filename = "c:/iris/" || char(dt:picture number[1]) || ".jpg";
show(filename);
PictureBox(Open( filename, "jpg"));
Ri: Utilizzo delle variabili nel nome del percorsoSe dai un'occhiata all'esempio fornito da Hover Label Editor per Picture Graphlet
// Example:
// Graph Builder(Variables(Y(local:_measurements[1])), Elements(Histogram(Y)))
// Example:
// PictureBox(Open("c:/iris/" || local:_Species || ".jpg", jpg));la sintassi sembra essere un po' speciale. Forse funzionerebbe con qualcosa del genere:
PictureBox(Open("c:/iris/" || char(local:_picture number)|| ".jpg", jpg));Ri: Utilizzo delle variabili nel nome del percorsoL'uso di un numero di immagine specifico funziona correttamente, ma non riesco a inserire un nome di variabile (la colonna variabile è "numero di immagine") in questo percorso, ad esempio, quanto segue non funziona. Qualche idea su come risolvere questo problema?
PictureBox(Open("c:/iris/" || :picture number|| ".jpg", jpg));
Ri: Utilizzo delle variabili nel nome del percorsoGrazie! lo proverò.
Ri: Utilizzo delle variabili nel nome del percorsoSì, qualche variazione di questo:
img << saveimage( "f:/path/x" || Char( imagenumber ) || ".png", "png" );
x è il prefisso prima del numero e non è richiesto dal sistema operativo.