パス名に変数を使用するこんにちは、
これが些細な質問である場合はご容赦ください。私には JSL での作業経験があまりありません。
JSLコードを使用してホバーラベルに画像を追加しようとしていますが、変数を使用して画像のパスを定義したいと考えています。 写真のフォルダーがあり、テーブル内の変数を使用してそれらを呼び出す必要があります。
たとえば、写真には 1 から 100 までのラベルが付けられており、テーブルには「写真番号」という列があります。 次のようにそれらを呼び出せるようにしたいです。
PictureBox(Open("c:/iris/"picture number" .jpg", jpg));
これは可能ですか?
どうもありがとう!
マスカスタマイゼーションRe: パス名に変数を使用するうわー、素晴らしい例ですね、 @jthi ! 共有してくれてありがとう!
ここでのコツは、テーブルの列からイメージの名前を作成するときに、列名と行を指定する必要があることです。 グラフレット実行コンテキストによって設定された Local 名前空間内では、現在の行は変数 local:_firstRow で使用できます。 したがって、構成は次のようになります。
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
この変数およびその他の変数の詳細については、を参照してください。ホバーラベル実行コンテキスト。
Re: パス名に変数を使用するどうもありがとう、これはうまくいきます。
Re: パス名に変数を使用するログをチェックして、どのようなエラーが発生しているかを確認してください。 おそらく次のような内容になります。「名前空間 "local_" は、'local_:PicAdress' のアクセスまたは評価で定義されていません。」
次のようなことを試してください。
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
詳細については、次の情報を参照してください。基礎となるデータポイントのデータを使用して、マウスオーバーでクエリを実行するにはどうすればよいですか?
編集:
サンプルスクリプトを追加しました。 $TEMP にいくつかのファイル (デフォルトでは 10) を作成し (ウィンドウを閉じるときにそれらのファイルを削除しようとします)、2 つのグラフ ビルダーを含むウィンドウを作成します。
- まず、このアイデアを使用してグラフ ビルダーでデータからパスを構築します。
PictureBox(Open("c:/iris/" || local:_PicAdress || ".jpg", jpg))
- 2 番目は、グラフ ビルダーからの行情報のみを使用し、データテーブルから行に基づいてデータを取得します。
画像ボックス(Open(Column("PicAdress")[local:_firstRow],jpg))
Re: パス名に変数を使用するご回答ありがとうございます。
追加の質問があります。 ホバーラベルが列からファイルアドレスを取得できるようにしたいと考えています。 私の列にはアドレス自体が含まれています。たとえば、私の列 (PicAdress という名前) のテキストは "c:/iris/picNumber.jpg" です。
ただし、この変数を受け入れるための hovel ラベルを取得できません。私は使用してみました:
PictureBox(Open(local:_PicAdress, jpg))
成功しませんでした。
欄に住所を入力するだけなら問題ありません。
PictureBox(Open("c:/iris/" || local:_PicAdress || ".jpg", jpg))
何かアドバイス?
Re: パス名に変数を使用するこのスレッドをチェックしてみるとよいでしょう。 彼らは同じユースケースを持っていました。 このスレッドには、役に立つスクリプトの例が多数含まれています。
ホバーラベル
Re: パス名に変数を使用するログでメッセージを確認してください。 次の 1 つ以上が役立つ可能性があります。
パス名を変数に構築してログに出力し、その変数をオープンに渡します。
2 番目のパラメータを引用符で囲んで開きます。
データテーブルのスコープを列名の前に追加します。
列名の後に行番号の添字を追加します。
編集: char() 関数を使用して数値を文字に変換します。
filename = "c:/iris/" || char(dt:picture number[1]) || ".jpg";
show(filename);
PictureBox(Open( filename, "jpg"));
Re: パス名に変数を使用するHover Label Editor が 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));Re: パス名に変数を使用する特定のピクチャ番号を使用することは正常に機能しますが、このパスに変数名 (変数列が「ピクチャ番号」) を挿入することはできません。たとえば、次のような場合は機能しません。 これを修正する方法はありますか?
PictureBox(Open("c:/iris/" || :picture number|| ".jpg", jpg));
Re: パス名に変数を使用するありがとう!試してみます。
Re: パス名に変数を使用するはい、これのいくつかのバリエーション:
img << saveimage( "f:/path/x" || Char( imagenumber ) || ".png", "png" );
x は数字の前のプレフィックスであり、オペレーティング システムでは必要ありません。