アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法こんにちは、
ユーザーに配布することを想定したアプリケーションを作成しています...
いくつかの理由から、実行に必要なすべてのスクリプトとデータ テーブルをアプリケーションで一元管理する必要があります (アプリケーションの外部でスクリプトや参照データテーブルを呼び出す必要はありません)。
すべてのスクリプトをアプリケーションに埋め込まれた関数に一元化することに成功しましたが、データ テーブルを埋め込む方法がわかりません (つまり、いくつかの参照データ テーブルを公開の場所に保持し、アプリケーションから呼び出す必要があるということです)。 。
誰かが単一のアプリにすべてを埋め込んで配布できるようにする方法を知っていますか?
どうもありがとう。
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法これは解決済みとマークされていますが、次のことを追加したいと思いました。
オブジェクト エクスプローラーにデータ テーブルが表示されます。 それらをクリックすると、その下にプロパティが開きます。 ここから位置を制御できます。 埋め込みスクリプトに設定するとよいようです。
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法それもエレガントな方法です:)ただし、私はアプリ内のすべてのファイルを一元管理することを好みます。
ありがとう。
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法アドインが共有ドライブ上に存在する場合は、データセットを動的に作成するのではなく、アドインの場所に保存できます。たとえば、addin.def は次のとおりです。
id="com.abccorp.mydept.myapp"
name="My Application"
autoload=1
home="M:\jmpapps\myapp\Addin"
すべての JSL ファイルとデータセットをフォルダー M:\jmpapps\myapp\Addin に保存します。
コードでは、アドイン プレフィックスを使用してデータセットを参照できます。
open("$ADDIN_HOME(com.abccorp.mydept.myapp)\mydataset.xlsx");
HTH
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法情報をありがとう :)
ありがとうございます...
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法ご参考までに、
JMP はインタプリタ言語であり、コンパイル言語ではありません。
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法ああ、
なるほど。 今では完璧に動作します...
関数を呼び出す前に、まず関数を定義する必要があるとは知りませんでした。 他の言語では、コンパイル後、関数はどこに配置されても (スクリプトの外であっても) 認識されます。
みんなありがとう !!
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法Ian (ちなみに Jan ではありません) は、関数が呼び出される前に定義されているコードを示しました。コードは、関数が定義される前に関数を呼び出します。
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法これは私にとってはうまくいきました:
NamesDefaultToHere(1);
CreateTab = Function( {}, {Default Local},
A = New Table( "TestTable",
Add Rows( 4 ),
New Column( "Age", Numeric, Continuous, Format( "Best", 12 ), Set Values( [3, 5, 2, 8] ) ),
New Column( "Height", Numeric, Continuous, Format( "Best", 12 ), Set Values( [0.6, 1.03, 0.55, 1.3] ) )
);
A;
);
dt = CreateTab();
dt << Distribution(Y(:Height));
関数を 2 回呼び出しても、JMP はテーブル名の衝突を処理するため、引き続き機能します。
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法ジャン、
あなたの提案をテストするために、以下の簡単なコードを結合しました。
原則は機能すると確信していますが、どういうわけかそれを行うことができません。
dt = CreateTab();
CreateTab = Function( {},
A = New Table( "TestTable",
Add Rows( 4 ),
New Column( "Age",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [3, 5, 2, 8] )
),
New Column( "Height",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [0.6, 1.03, 0.55, 1.3] )
)
);
A;
);生成されたテーブルを dt に渡すことができないようなものです。
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法こんにちは、ジャンさん
申し訳ありませんが、重要なヒントの 1 つを誤解していました !!!! 
実際、「データ スクリプトのコピー」という提案は、それを機能させる魔法のようなものになるはずです。 この機能は知りませんでした!
テストさせてください...
どうもありがとう。
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法「仕様または参照」に関するコメントは完全には理解できませんが、おそらくそうする必要はないでしょう。このスレッド助けます。
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法ジャン、
私は Application Builder を使い始めましたが、その後やめました (作成するオブジェクトを制御する方法がよくわかりません...完全なスクリプト作成方法と比較して、挿入するオブジェクトが限られていることに加えて)。
とにかく、今はすべてをスクリプト化しています。
Dan の例は、私が何をしたいのかを説明するのに非常に適しています。彼の例では、データテーブルの埋め込みと呼ばれるものは、それをアプリケーション ビルダーに表示するだけです。 しかし、実際には、その場所 ($SAMPLE_DATA\Big Class.jmp) から取得されます。 これは、データ テーブル「Big Class」のコピーがコンピューター上のどこかに既に保存されていない場合、Dan のコードは機能しないことを意味します。
私がやりたいのは、アプリケーションにテーブルを埋め込んで、ユーザーがこのテーブルのコピーを持つ必要がないようにすることです(ところで、これらのテーブルは一種の仕様または参照なので、スクリプトで生成することはできません)。
私の説明が曖昧になっていないことを願っています...:(
Re: アプリケーション、スクリプト、データテーブルをパッケージに埋め込む方法これを行うための「最善の」方法は、アプリケーションの構築方法 (アプリケーション ビルダーを使用しますか?)、および必要なワークフローとユーザー インターフェイスによって異なると思います。 ダンさんのブログ投稿役に立つかもしれない。
JSL を追加して JMP テーブルを独自のコードに生成することで、JMP テーブルを「含める」こともできることを忘れないでください (必要なテーブルの赤い三角メニューから「テーブル スクリプトのコピー」を使用します)。