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