Utilisation de variables dans le nom du cheminBonjour,
Veuillez me pardonner si c'est une question triviale, je n'ai pas beaucoup d'expérience de travail avec JSL.
J'essaie d'ajouter une image à l'étiquette de survol en utilisant le code JSL et je souhaite définir le chemin de l'image à l'aide d'une variable. J'ai un dossier d'images et je veux qu'elles soient appelées à l'aide d'une variable dans mon tableau.
Par exemple, mes images sont étiquetées de 1 à 100 et j'ai une colonne dans mon tableau appelée "numéro d'image". Je veux pouvoir les appeler, comme ceci:
PictureBox (Open ("c: / iris /" numéro d'image ".jpg", jpg));
Est-ce possible?
Merci beaucoup!
ScriptingRe: Utilisation de variables dans le nom du cheminOui, une variation de ceci:
img << saveimage( "f:/path/x" || Char( imagenumber ) || ".png", "png" );
x est le préfixe avant le nombre et n'est pas requis par le système d'exploitation.
Re: Utilisation de variables dans le nom du cheminMerci! je vais essayer.
Re: Utilisation de variables dans le nom du cheminL'utilisation d'un numéro d'image spécifique fonctionne bien, mais je ne peux pas insérer un nom de variable (la colonne de variable est "numéro d'image") dans ce chemin, par exemple, ce qui suit ne fonctionne pas. Une idée de comment résoudre ce problème?
PictureBox(Open("c:/iris/" || :picture number|| ".jpg", jpg));
Re: Utilisation de variables dans le nom du cheminSi vous consultez l'exemple donné par Hover Label Editor pour Picture Graphlet
// Example:
// Graph Builder(Variables(Y(local:_measurements[1])), Elements(Histogram(Y)))
// Example:
// PictureBox(Open("c:/iris/" || local:_Species || ".jpg", jpg));la syntaxe semble être un peu spéciale. Peut-être que cela fonctionnerait avec quelque chose comme ça:
PictureBox(Open("c:/iris/" || char(local:_picture number)|| ".jpg", jpg));Re: Utilisation de variables dans le nom du cheminConsultez le journal pour les messages. Un ou plusieurs des éléments suivants peuvent vous aider.
Construisez le nom du chemin dans une variable et imprimez-le dans le journal, puis passez la variable à ouvrir.
Ajoutez des guillemets autour du 2ème paramètre à ouvrir.
Ajoutez la portée de la table de données avant le nom de la colonne.
Ajoutez un indice de numéro de ligne après le nom de la colonne.
edit: utilisez la fonction char () pour convertir numérique en caractère!
filename = "c:/iris/" || char(dt:picture number[1]) || ".jpg";
show(filename);
PictureBox(Open( filename, "jpg"));
Re: Utilisation de variables dans le nom du cheminVous voudrez peut-être vérifier ce fil. Ils avaient le même cas d'utilisation. Le fil contient de nombreux exemples de scripts que vous devriez trouver utiles.
Étiquette de survol
Re: Utilisation de variables dans le nom du cheminMerci beaucoup, cela fonctionne très bien.
Re: Utilisation de variables dans le nom du cheminWow, excellent exemple, @jthi ! Merci de le partager!
L'astuce ici est que lorsque vous construisez le nom fin de l'image à partir d'une colonne de table, vous devez indiquer le nom de la colonne ET la ligne. Dans l'espace de noms Local rempli par le contexte d'exécution du graphlet, la ligne actuelle est disponible dans la variable local: _firstRow. Ainsi la construction:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
Pour plus d'informations à ce sujet et sur d'autres variables, consultez Contexte d'exécution de l'étiquette de survol .
Re: Utilisation de variables dans le nom du cheminMerci pour les réponses.
J'ai une question complémentaire. Je veux que l'étiquette de survol obtienne l'adresse du fichier à partir d'une colonne. Ma colonne a l'adresse elle-même, par exemple, le texte de ma colonne (nommé PicAdress) est "c: /iris/picNumber.jpg".
Cependant, je ne peux pas obtenir l'étiquette de masure pour accepter cette variable. j'ai essayé d'utiliser:
PictureBox(Open(local:_PicAdress, jpg))
sans succès.
Lorsque j'entre simplement l'adresse dans la colonne, il n'y a pas de problème.
PictureBox(Open("c:/iris/" || local:_PicAdress || ".jpg", jpg))
Aucun conseil?
Re: Utilisation de variables dans le nom du cheminEssayez de consulter le journal pour voir les erreurs que vous rencontrez. Très probablement quelque chose comme ceci: "L'espace de noms" local_ "n'est pas défini dans l'accès ou l'évaluation de 'local_: PicAdress'".
Essayez quelque chose comme ceci:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
Plus d'informations éventuellement de: Comment exécuter une requête au survol de la souris, en utilisant les données du point de données sous-jacent?
Éditer:
J'ai ajouté un exemple de script. Il créera quelques fichiers (10 par défaut) dans $ TEMP (et tentera de les supprimer à la fermeture de la fenêtre) et créera une fenêtre avec deux générateurs de graphes:
- First construira le chemin à partir des données dans le générateur de graphiques en utilisant cette idée:
PictureBox (Ouvrir ("c: / iris /" || local: _PicAdress || ".jpg", jpg))
- La deuxième consiste à utiliser uniquement les informations de ligne du générateur de graphiques et à obtenir des données basées sur la ligne à partir de la table de données
Picture Box (Ouvrir (Colonne ("PicAdress") [local: _firstRow], jpg))