在路徑名中使用變量你好,
如果這是一個微不足道的問題,請原諒我,我沒有太多使用 JSL 的經驗。
我正在嘗試使用 JSL 代碼將圖片添加到懸停標籤,並希望使用變量定義圖片路徑。 我有一個圖片文件夾,並希望使用表中的變量來調用它們。
例如,我的圖片被標記為 1 到 100,並且我的表格中有一個名為“圖片編號”的列。 我希望能夠這樣稱呼他們:
PictureBox(Open("c:/iris/"picture number" .jpg", jpg));
這可能嗎?
非常感謝!
大規模定制回复:在路徑名中使用變量哇,很好的例子, @jthi ! 感謝您的分享!
這裡的技巧是,當您從表列構建圖像精細名稱時,必須指示列名稱和行。 在由 graphlet 執行上下文填充的本地命名空間內,當前行在變量 local:_firstRow 中可用。 因此構造:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
有關此變量和其他變量的更多信息,請參閱懸停標籤執行上下文。
回复:在路徑名中使用變量非常感謝,這很好用。
回复:在路徑名中使用變量嘗試檢查日誌以查看您遇到的錯誤。 最有可能是這樣的:“名稱空間“local_”未在“local_:PicAdress”的訪問或評估中定義”。
嘗試這樣的事情:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
更多信息可能來自:如何使用底層數據點的數據在鼠標懸停時運行查詢?
編輯:
我添加了示例腳本。 它將創建幾個文件(默認為 10 個)到 $TEMP(並嘗試在窗口關閉時刪除它們)並使用兩個圖形生成器創建窗口:
- 首先將使用以下想法從圖形生成器中的數據構建路徑:
PictureBox(打開("c:/iris/" || 本地:_PicAdress || ".jpg", jpg))
- 其次是僅使用圖形生成器中的行信息並根據數據表中的行獲取數據
圖片框(打開(Column("PicAdress")[本地:_firstRow],jpg))
回复:在路徑名中使用變量感謝您的回复。
我有一個後續問題。 我希望懸停標籤從列中獲取文件地址。 我的專欄本身有地址,例如,我的專欄中的文本(名為 PicAdress)是 "c:/iris/picNumber.jpg" 。
但是,我無法讓小屋標籤接受這個變量。我嘗試過使用:
PictureBox(Open(local:_PicAdress, jpg))
沒有成功。
當我簡單地在欄中輸入地址時,沒有問題。
PictureBox(Open("c:/iris/" || local:_PicAdress || ".jpg", jpg))
有什麼建議嗎?
回复:在路徑名中使用變量您可能想檢查此線程。 他們有相同的用例。 該線程包含許多您應該會覺得有用的腳本示例。
懸停標籤
回复:在路徑名中使用變量檢查日誌中的消息。 以下一項或多項可能會有所幫助。
在變量中構建路徑名並將其打印到日誌中,然後傳遞變量以打開。
在要打開的第二個參數兩邊添加引號。
在列名前添加數據表範圍。
在列名後面添加行號下標。
編輯:使用 char() 函數將數字轉換為字符!
filename = "c:/iris/" || char(dt:picture number[1]) || ".jpg";
show(filename);
PictureBox(Open( filename, "jpg"));
回复:在路徑名中使用變量如果您查看懸停標籤編輯器為圖片圖形提供的示例
// Example:
// Graph Builder(Variables(Y(local:_measurements[1])), Elements(Histogram(Y)))
// Example:
// PictureBox(Open("c:/iris/" || local:_Species || ".jpg", jpg));語法似乎有點特殊。 也許它可以與這樣的東西一起工作:
PictureBox(Open("c:/iris/" || char(local:_picture number)|| ".jpg", jpg));回复:在路徑名中使用變量使用特定的圖片編號可以正常工作,但是我無法將變量名稱(變量列是“圖片編號”)插入到該路徑中,例如,以下內容不起作用。 知道如何解決這個問題嗎?
PictureBox(Open("c:/iris/" || :picture number|| ".jpg", jpg));
回复:在路徑名中使用變量謝謝!我會嘗試一下。
回复:在路徑名中使用變量是的,有一些變化:
img << saveimage( "f:/path/x" || Char( imagenumber ) || ".png", "png" );
x 是數字之前的前綴,操作系統不需要。