Verwenden von Variablen im PfadnamenHallo,
Bitte verzeihen Sie mir, wenn dies eine triviale Frage ist. Ich habe nicht viel Erfahrung mit JSL.
Ich versuche, mithilfe von JSL-Code ein Bild zur Hover-Bezeichnung hinzuzufügen, und möchte den Bildpfad mithilfe einer Variablen definieren. Ich habe einen Ordner mit Bildern und möchte, dass diese mithilfe einer Variablen in meiner Tabelle aufgerufen werden.
Zum Beispiel sind meine Bilder mit 1 bis 100 gekennzeichnet, und in meiner Tabelle befindet sich eine Spalte mit dem Namen "Bildnummer". Ich möchte sie so nennen können:
PictureBox (Open ("c: / iris /" Bildnummer ".jpg", jpg));
Ist das möglich?
Danke vielmals!
SkriptingBetreff: Verwenden von Variablen im PfadnamenJa, einige Variationen 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.
Betreff: Verwenden von Variablen im PfadnamenVielen Dank! Ich werde es versuchen.
Betreff: Verwenden von Variablen im PfadnamenDie Verwendung einer bestimmten Bildnummer funktioniert einwandfrei, aber ich kann keinen Variablennamen (die Variablenspalte ist "Bildnummer") in diesen Pfad einfügen. Beispiel: Das Folgende funktioniert nicht. Irgendeine Idee, wie man das behebt?
PictureBox(Open("c:/iris/" || :picture number|| ".jpg", jpg));
Betreff: Verwenden von Variablen im PfadnamenWenn Sie sich das Beispiel ansehen, das der Hover Label Editor für Picture Graphlet gibt
// Example:
// Graph Builder(Variables(Y(local:_measurements[1])), Elements(Histogram(Y)))
// Example:
// PictureBox(Open("c:/iris/" || local:_Species || ".jpg", jpg));Die Syntax scheint etwas Besonderes zu sein. Vielleicht würde es mit so etwas funktionieren:
PictureBox(Open("c:/iris/" || char(local:_picture number)|| ".jpg", jpg));Betreff: Verwenden von Variablen im PfadnamenÜberprüfen Sie das Protokoll auf Nachrichten. Eine oder mehrere der folgenden Möglichkeiten können hilfreich sein.
Erstellen Sie den Pfadnamen in einer Variablen, drucken Sie ihn in das Protokoll und übergeben Sie die zu öffnende Variable.
Fügen Sie um den 2. zu öffnenden Parameter Anführungszeichen hinzu.
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: Verwenden 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: Verwenden von Variablen im PfadnamenVielen Dank, das funktioniert super.
Betreff: Verwenden von Variablen im PfadnamenWow, exzellentes Beispiel, @jthi ! Vielen Dank für das Teilen!
Der Trick dabei ist, dass Sie beim Erstellen des Bildfeinnamens aus einer Tabellenspalte den Spaltennamen UND die Zeile angeben müssen. Innerhalb des lokalen Namespace, der vom Graphlet-Ausführungskontext ausgefüllt wird, ist die aktuelle Zeile in der Variablen local verfügbar: _firstRow. Also das Konstrukt:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
Weitere Informationen zu dieser und anderen Variablen finden Sie unter Hover Label Execution Context .
Betreff: Verwenden 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 hat die Adresse selbst. Der Text in meiner Spalte (PicAdress) lautet beispielsweise "c: /iris/picNumber.jpg".
Ich kann das Hovel-Label jedoch nicht dazu bringen, diese Variable zu akzeptieren. Ich habe versucht mit:
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: Verwenden von Variablen im PfadnamenÜberprüfen Sie das Protokoll, um festzustellen, welche Fehler auftreten. Höchstwahrscheinlich so etwas: "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 möglicherweise von: Wie führe ich eine Abfrage beim Mouseover mit Daten aus dem zugrunde liegenden Datenpunkt aus?
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 Diagramm-Buildern erstellt:
- Zuerst wird der Pfad aus den Daten im Graph Builder mit dieser Idee erstellt:
PictureBox (Öffnen ("c: / iris /" || local: _PicAdress || ".jpg", jpg))
- Zweitens werden nur die Zeileninformationen aus dem Diagramm-Generator verwendet und Daten basierend auf der Zeile aus der Datentabelle abgerufen
Picture Box (Open (Spalte ("PicAdress") [local: _firstRow], jpg))