Verwendung von Variablen im PfadnamenHallo,
Bitte verzeihen Sie mir, wenn dies eine triviale Frage ist, ich habe nicht viel Erfahrung in der Arbeit mit JSL.
Ich versuche, mithilfe von JSL-Code ein Bild zum Hover-Label hinzuzufügen, und möchte den Bildpfad mithilfe einer Variablen definieren. Ich habe einen Ordner mit Bildern und möchte, dass diese über eine Variable in meiner Tabelle aufgerufen werden.
Meine Bilder sind beispielsweise mit 1 bis 100 beschriftet und ich habe in meiner Tabelle eine Spalte mit dem Namen „Bildnummer“. Ich möchte sie wie folgt aufrufen können:
PictureBox(Open("c:/iris/"picture number" .jpg", jpg));
Ist das möglich?
Vielen Dank!
MassenanpassungBetreff: Verwendung von Variablen im PfadnamenWow, tolles Beispiel, @jthi ! Vielen Dank fürs Teilen!
Der Trick hierbei besteht darin, dass Sie beim Erstellen des Bild-Fine-Namens aus einer Tabellenspalte den Spaltennamen UND die Zeile angeben müssen. Innerhalb des lokalen Namespace, der vom Graphlet-Ausführungskontext gefüllt wird, ist die aktuelle Zeile in der Variablen local:_firstRow verfügbar. Somit das Konstrukt:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
Weitere Informationen zu dieser und anderen Variablen finden Sie unter Hover-Label-Ausführungskontext .
Betreff: Verwendung von Variablen im PfadnamenVielen Dank, das funktioniert super.
Betreff: Verwendung von Variablen im PfadnamenSchauen Sie sich das Protokoll an, um zu sehen, welche Fehler Sie erhalten. Höchstwahrscheinlich etwa so: „Der Namespace „local_“ ist beim Zugriff oder bei der Auswertung von „local_:PicAdress“ nicht definiert.“
Probieren Sie so etwas aus:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
Weitere Infos evtl. von: Wie führe ich eine Abfrage beim Mouseover aus und verwende dabei Daten aus dem zugrunde liegenden Datenpunkt?
Bearbeiten:
Ich habe ein Beispielskript hinzugefügt. Es werden einige Dateien (standardmäßig 10) in $TEMP erstellt (und versucht, sie beim Schließen des Fensters zu löschen) und ein Fenster mit zwei Diagrammerstellern erstellt:
- Erstellen Sie zunächst einen Pfad aus den Daten im Graph Builder unter Verwendung dieser Idee:
PictureBox(Open("c:/iris/" || local:_PicAdress || ".jpg", jpg))
- Zweitens werden nur die Zeileninformationen aus dem Graph Builder verwendet und Daten basierend auf der Zeile aus der Datentabelle abgerufen
Bildbox(Open(Column("PicAdress")[local:_firstRow],jpg))
Betreff: Verwendung von Variablen im PfadnamenDanke für die Antworten.
Ich habe eine Folgefrage. Ich möchte, dass das Hover-Label die Dateiadresse aus einer Spalte erhält. Meine Spalte enthält die Adresse selbst, der Text in meiner Spalte (mit dem Namen PicAdress) lautet beispielsweise „c:/iris/picNumber.jpg“.
Allerdings kann ich das Hovel-Label nicht dazu bringen, diese Variable zu akzeptieren. Ich habe versucht:
PictureBox(Open(local:_PicAdress, jpg))
ohne Erfolg.
Wenn ich einfach die Adresse in die Spalte eingebe, gibt es kein Problem.
PictureBox(Open("c:/iris/" || local:_PicAdress || ".jpg", jpg))
Irgendein Rat?
Betreff: Verwendung von Variablen im PfadnamenVielleicht möchten Sie diesen Thread überprüfen. Sie hatten den gleichen Anwendungsfall. Der Thread enthält viele Skriptbeispiele, die Sie nützlich finden sollten.
Hover-Label
Betreff: Verwendung von Variablen im PfadnamenÜberprüfen Sie das Protokoll auf Meldungen. Einer oder mehrere der folgenden Punkte könnten hilfreich sein.
Erstellen Sie den Pfadnamen in einer Variablen und geben Sie ihn im Protokoll aus. Übergeben Sie dann die Variable zum Öffnen.
Fügen Sie zum Öffnen Anführungszeichen um den zweiten Parameter ein.
Fügen Sie den Datentabellenbereich vor dem Spaltennamen hinzu.
Fügen Sie nach dem Spaltennamen einen Zeilennummernindex hinzu.
Bearbeiten: Verwenden Sie die Funktion char(), um Zahlen in Zeichen umzuwandeln!
filename = "c:/iris/" || char(dt:picture number[1]) || ".jpg";
show(filename);
PictureBox(Open( filename, "jpg"));
Betreff: Verwendung von Variablen im PfadnamenSchauen Sie sich das Beispiel des Hover Label Editors für Picture Graphlet an
// Example:
// Graph Builder(Variables(Y(local:_measurements[1])), Elements(Histogram(Y)))
// Example:
// PictureBox(Open("c:/iris/" || local:_Species || ".jpg", jpg));Die Syntax scheint etwas speziell zu sein. Vielleicht würde es mit so etwas funktionieren:
PictureBox(Open("c:/iris/" || char(local:_picture number)|| ".jpg", jpg));Betreff: Verwendung von Variablen im PfadnamenDie Verwendung einer bestimmten Bildnummer funktioniert einwandfrei, ich kann jedoch keinen Variablennamen (die Variablenspalte lautet „Bildnummer“) in diesen Pfad einfügen. Folgendes funktioniert beispielsweise nicht. Irgendeine Idee, wie man das beheben kann?
PictureBox(Open("c:/iris/" || :picture number|| ".jpg", jpg));
Betreff: Verwendung von Variablen im PfadnamenDanke! Ich werde es versuchen.
Betreff: Verwendung von Variablen im PfadnamenJa, eine Variation davon:
img << saveimage( "f:/path/x" || Char( imagenumber ) || ".png", "png" );
x ist das Präfix vor der Nummer und wird vom Betriebssystem nicht benötigt.