■7116 / inTopicNo.2) |
#対応番号と#対応文字列を利用する
|
□投稿者/ ONnoji -(2012/07/12(Thu) 11:44:32)
| ■No7114に返信(くおんたむさんの記事) > タイトルの通りですが、すでに宣言した配列用素数を > 後で、変更させることは、可能でしょうか? > VBSであれば「ReDim」と同じような事をイベントで行 > いたいのですが。。。(^_^;)
配列変数を一度削除して、新たに宣言するしか方法がありませんが、 局所変数では、変数を削除すること自体が出来ないですね。
※固有変数も、変数を削除できない場合があると思います。 > 何か、裏技的なものがあれば教えて頂きたいのですが。 > 変数は、出来れば固有か局所でお願いいたします。
裏技でもなんでもありませんが…
もしも、1次元の配列ならば、
半角コンマで区切った文字列を利用することも可能ですよ。
具体例は以下を参考にしてください。
【参考】桐のイベント道場 かっこうBBS (三代目)より引用 #対応番号と#対応文字列を利用する 投稿者:ONnoji 投稿日:2011年10月30日(日)10時31分39秒
二つの文字列、仮に &Aストリング ・ &Bストリング を用意して、
&Aストリング の中の文字出現位置を、仮に &at として、
&Bストリング の文字位置 &at の文字列を取り出す。
この方法はdBASE言語の時からよく利用しました。
ちなみに、桐の場合には、半角コンマで区切った文字列に対して、
#対応番号 で &Aストリング の &at が求められますので、
逆関数の、#対応文字列 で &Bストリング の文字列を取り出します。
これは私( ONnoji )が非常によく使う手法ですよ。 ※私のライブラリの中にはた〜くさんありますよ。変数名に List という文字を使っています。
配列変数を用意して、要素番号1から順番に調べるよりも簡単でしょう。
以下に具体例を示しますので、参考にしてください。
フォームアプリケーション入門§2 テキストボックスの入力前・入力後・ソース値更新イベント http://www.geocities.jp/siliconvalley_bay_7565/guide02.htm#tori より ↓
手続き定義開始 txtToriCode::ソース値更新( )
&mToriName = "********" 条件 (&mToriCode="11") &mToriName = "注文仕入" 条件 (&mToriCode="12") &mToriName = "注文返品" 条件 (&mToriCode="21") &mToriName = "委託仕入" 条件 (&mToriCode="22") &mToriName = "委託返品" 条件 (&mToriCode="91") &mToriName = "その他仕入" 条件 (&mToriCode="92") &mToriName = "その他返品"
手続き定義終了
↓ ↓ ↓
手続き定義開始 txtToriCode::ソース値更新( ) 変数宣言 自動,文字列{ &codeList, &nameList } 変数宣言 自動,整数 { &at }
&codeList = "11 ,12 ,21 ,22 ,91 ,92" &nameList = "注文仕入,注文返品,委託仕入,委託返品,その他仕入,その他返品" &codeList = #trim( &codeList, 4 ) /* 空白文字除去 */
&at = #対応番号( &codeList, &mToriCode ) if ( &at ) &mToriName = #対応文字列( &nameList, &at ) else &mToriName = "********" end
手続き定義終了
|
|