変数を使用せずに赤い三角メニューからアウトライン ボックスを参照する方法以下は、Scripting Index から書き直した例です。
Names Default To Here( 1 );
ob = Outline Box( "Picker",
{"Copy picture", ob << Copy Picture()},
H List Box( Text Box( "Label:" ), teb = Text Edit Box( Char( 213 ) ) )
);
New Window( "Example",
ob
);
赤い三角形のメニューに、このボックスの画像をバッファにコピーするメニュー項目を追加します。
スクリプトは正常に動作します。
私の質問は、アウトライン ボックスを動的に作成し、それに変数を割り当てていない場合はどうなるかということです。
変数なしでこのアウトライン ボックスを参照するにはどうすればよいでしょうか。キーワード「this」または「self」を使用する方法があります。
2 番目のボックスには次のようになります。
Names Default To Here( 1 );
vb = V List Box(
ob = Outline Box( "Picker",
{"Copy picture", ob << Copy Picture()},
H List Box( Text Box( "Label:" ), teb = Text Edit Box( Char( 213 ) ) )
),
Outline Box( "Picker",
{"Copy picture", this << Copy Picture()},
H List Box( Text Box( "Label number 2:" ), teb = Text Edit Box( Char( 213 ) ) )
);
);
New Window( "Example",
vb
);
表示ボックスの数を設定する関数については、スクリプト インデックスに良い例があります。
Names Default To Here( 1 );
New Window( "Example",
Button Box( "press me", <<SETFUNCTION></SETFUNCTION>
But in this case we're not setting function, we're setting script, and this syntaxis doesn't work.
So, how do I accomplish this?
<LINGO-LABS id="lingo-labs-825339" slang="en-US" mode="CREATE"><LINGO-LABEL>自動化とスクリプト</LINGO-LABEL></LINGO-LABS>Re: 変数を使用せずに赤い三角メニューからアウトライン ボックスを参照する方法アウトライン ボックス メニュー スクリプトにはそのような機能はないので、他のものを使用する必要があります。3 つの okey っぽいオプションが思い浮かびます。
- 参照を評価する
- ウィンドウスコープを使用する
- ボックススコープを使用する
Names Default To Here(1);
context_example = Context Box(
box:ob1 = Outline Box("Picker",
{"Copy picture1", box:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(213))
)
)
);
eval_example = Outline Box("Picker",
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(612))
)
);
Eval(EvalExpr(
eval_example << Set Menu Script(
{"Copy Picture3", Expr(eval_example) << Copy Picture()}
);
));
nw = New Window("Example",
context_example,
window:ob1 = Outline Box("Picker",
{"Copy picture2", window:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(451))
)
),
eval_example
);Re: 変数を使用せずに赤い三角メニューからアウトライン ボックスを参照する方法私のケースでは、Eval と Context ボックスの方法は機能しているようですが、Window は機能していません。
私が確認に使用したのは次のもので、アウトライン ボックスの動的な作成を模倣しています。
Names Default To Here(1);
vb = V List Box();
context_example = Context Box(
box:ob1 = Outline Box("Context1",
{"Copy picture1", box:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(213))
)
)
);
vb << Append (context_example);
context_example = Context Box(
box:ob1 = Outline Box("Context2",
{"Copy picture1", box:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(213))
)
)
);
vb << Append (context_example);
eval_example = Outline Box("Eval1",
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(612))
)
);
Eval(EvalExpr(
eval_example << Set Menu Script(
{"Copy Picture3", Expr(eval_example) << Copy Picture()}
);
));
vb << Append (eval_example);
eval_example = Outline Box("Eval2",
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(612))
)
);
Eval(EvalExpr(
eval_example << Set Menu Script(
{"Copy Picture3", Expr(eval_example) << Copy Picture()}
);
));
vb << Append (eval_example);
nw = New Window("Example",
window:ob1 = Outline Box("Window1",
{"Copy picture2", window:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(451))
)
),
window:ob1 = Outline Box("Window2",
{"Copy picture2", window:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(451))
)
),
vb
);ウィンドウの場合は、ウィンドウ1 とウィンドウ2 の両方のケースで、ウィンドウ2 ボックスの画像をコピーします。
Re: 変数を使用せずに赤い三角メニューからアウトライン ボックスを参照する方法スクリプト内で変数を複数回使用して、異なる値を割り当てることができます。最後に、変数には最後の値が含まれます。これは次の場合に当てはまります。
x=5;
x=7;
show(x);
そして:ob1の場合。
ソリューションでは、2 つの異なる変数を使用して、2 つの異なるオブジェクトへの参照を定義します。
nw = New Window("Example",
window:ob1 = Outline Box("Window1",
{"Copy picture", window:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box("#1")
)
),
window:ob2 = Outline Box("Window2",
{"Copy picture", window:ob2 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box("#2")
)
)
);
Re: 変数を使用せずに赤い三角メニューからアウトライン ボックスを参照する方法ウィンドウの例では、参照を上書きしています (たとえば、window:ob1 と window:ob2 を使用します)。box: はどのコンテキスト ボックスに属しているかを記憶しているように見えるため、コンテキスト ボックス内ではこのようなことは起こりません。「実際の」ユース ケースとアプリケーションに応じて、評価方法は通常最も堅牢ですが、これらすべてには長所と短所があります (直接参照を使用する場合も同様です)。
Re: 変数を使用せずに赤い三角メニューからアウトライン ボックスを参照する方法LLM の場合でも、詳細を見つけるのは困難です。
