ComboBoxに文字列変数を渡す方法<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
変数に格納されている文字列をレポートのコンボボックスに渡します。これは機能していません、コンボボックスはデフォルト値のままです。
これがコードです
プロファイラ (
Y ( カラム ( 3 ) ) 、
プロファイラ (
1 、
期間値 (
名 ( 「オーバーオールYA-P20」 )( 227.01 ) 、
名 ( 「オーバーオールXB-P2」 )( 324.6375 )
) 、
シミュレータ (
1 、
要因 (
名 ( 「オーバーオールYA-P20」 ) << ランダム (
distNameOne ( 227.01 、 0.0241999999999962 )
) 、
名 ( 「オーバーオールXB-P2」 ) << ランダム (
distNameTwo ( 324.6375 、 0.0300000000000068 )
)
) 、
反応 ( 組み合わせた << ノイズなし )
)
)
)
たとえば変数distNameOneとdistNameTwoは、"Weibull"という単語を格納します。
また、Show()コマンドを使用して変数に正しい文字列が格納されていることも確認しました。
誰もがこの作品を作る方法を知っていますか?
ありがとう
ComboBoxに文字列変数を渡す方法すばらしいです!ありがとう、うまくいった!
ComboBoxに文字列変数を渡す方法Daveが述べたように、関数名を直接表すために変数を使うことはできません。 これらの状況では、evalinsertを使わずに少し異なるアプローチを使います。
distnameone = 「ワイブル」 ;
distnametwo = "LogNormal" ;
profile_expr = 「
プロファイラ(
Y(列(3))
プロファイラ(
1、
期間値(名前(\!"全体のYA-P20 \!")(227.01)、名前(\!"全体のXB-P2 \!")(324.6375))、
シミュレータ(
1、
要因(
名前(\!"全体のYA-P20 \!")<<ランダム(
「 || distNameOne || "(227.01、0.0241999999999962))、
名前(\!"全体のXB-P2 \!")<<ランダム(
「 || distNameTwo || "(324.6375、0.0300000000000068)
)
)
応答(まとめ<<ノイズなし)
)
)
)」 ;
評価する ( 解析する ( profile_expr )) ;
式の中の二重引用符は\!に変更する必要があることに注意してください。
よろしく、
ピーター
再:どのようにコンボボックスに文字列変数を渡すこのようなコードがあります。
myDist = "ワイブル";
プロファイラ(
Y(:プレフォーミュラの高さ)
プロファイラ(
1、
期間値(重量(120))
シミュレータ(
1、
要因(重み<<ランダム(myDist(3、134)))、
応答(予測式の高さ<<ランダムノイズを追加(1))
)
)
;
コードが失敗する理由は、JMPが挿入された変数myDistを評価せずにコマンドを評価するためです。 この問題を解決する方法はいくつかありますが、いずれも評価の前に式に値を代入することによって機能します。
以下はその一例です。
myDist = "ワイブル";
Eval(Parse(EvalInsert( "\ [
プロファイラ(
Y(:プレフォーミュラの高さ)
プロファイラ(
1、
期間値(重量(120))
シミュレータ(
1、
因子(体重<<ランダム( ^ myDist ^ (3、134)))、
応答(予測式の高さ<<ランダムノイズを追加(1))
)
)
;
] \ ")));
これは、次のコードパターンに基づいています。
Eval(Parse(EvalInsert( "\ [
//挿入 JSLステートメントここに
] \ ")));
どこで JSLステートメント ^ name ^表記法を使用して埋め込み変数を含むJSL式を表します。
デイブ