こんにちは、
ウィンドウ レベルからパラメーターまたは変数のリスト (たとえば、Excel からコピー) を提供し、このリストを (たとえば、[OK] をクリックして) さらに渡して、SQL クエリ用の別のリストを作成したいと考えています。 ある種のリスト ボックス (下の図のようなもの) でそれを行うことはできますか? それを行うために他にどのような方法を使用できますか? よろしくお願いします。

こんにちは、返信が遅くなり申し訳ありません。 これはまさに私が実装したかったものです。 どうもありがとうございます。 よろしくお願いします
以下は例です。 関数 (例では parsePaste) を作成して、入力を処理し、必要な変更を行います: 重複を削除し、行の変更を何かに置き換え、重複したセパレーターを削除します... [OK] を押すと、1 つの文字列が返されます。返された文字列を SQL に適合するように変更できます (例として Words() および Concat Items())。
Names Default To Here(1);
parsePaste = function({tempStr}, {Default Local},
tempStr = Regex(tempStr, "\r\n", ",", GLOBALREPLACE); //replace row changes with ,
tempStr = Substitute(tempStr, ",,", ","); //replace double ,, with one ,
tempStr = Regex(tempStr, ",$", "", GLOBALREPLACE); //remove , if last character
return(tempStr);
);
win2 = New Window("Example", << Modal,
V List Box(
Text Box("Add Serialnumbers:"),
teb = Text Edit Box("", << set width(200), << set nlines(3),
<< Set Function(Function({this},
this << set text(parsePaste(this << get text));
))
),
H List Box(
Button Box("OK", listStr = teb << get text),
Button Box("Cancel")
)
)
);
show(listStr);
temp = Words(listStr, ",");
temp = "'" || Concat Items(temp, "','") ||"'";
show(temp);
こんにちは、
提案していただきありがとうございます。 どこかからシリアル番号をコピーし、解析機能を使用してさらに渡すことができるようにしたいので、オプション2とモーダルウィンドウを組み合わせます。 テキストエディットボックスでやってみます。
よろしくお願いします
始めるためのいくつかの質問/アイデア:
- ユーザーが事前に作成されたリストから興味深いシリアル番号を選択するようにしますか? リストボックスを使用できます
- ユーザーがどこかからシリアル番号をコピーして貼り付け、SQL クエリに変換できるようにしますか? 解析機能でテキスト編集ボックスを使用できます。
- おそらく上記の両方でしょうか? ユーザーがどこかから値をコピーして貼り付けている場合、ユーザーはそこに含まれたいものを既に選択できるため、これを回避しようとする可能性が最も高いです。
- モーダルを使いたいですか?
スクリプト インデックスをチェック: Modal (モーダル ウィンドウの作成方法)、List Box、Text Edit Box、Concat Items (JMP リストを文字列に変換する方法)
[OK] ボタンの下にテキスト ボックスの値を設定し、選択した値を [OK] が押されたときにログに記録するリストとして出力するリスト ボックスの簡単な例:
Names Default To Here(1);
serialList = {"a1", "b2", "c3", "d4"};
win2 = New Window("Example",
V List Box(
lb = List Box(serialList, width(200), nlines(6)),
Button Box("OK", Show(lb << get selected); tb << Set Text(char(lb << get selected))),
tb = Text Box("");
)
);
