(現在 過去ログ30 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■4629 / inTopicNo.1)  オブジェクト名の取得方法
  
□投稿者/ kirikiri -(2009/04/10(Fri) 17:01:17)
    桐ver9 2007
    win XP

    いつもお世話になっています。
    またひとつ難問にぶつかってしまい、
    ご教授いただけたらと思い質問させて頂きました。

    やりたい事は、オブジェクト名の取得です。
    今回は、フォーカスからの取得が出来ない状況なので困っています。

    色々調べてみたところ、オブジェクト取得コマンドで出来そうなのですが、
    <番号>にあたる計算式が分かりません。
    始め#項目番号で取得かと思ったのですが、この番号はフォームの
    セクション中に割り振られた番号のようで、駄目でした。

    メソッド呼び出し @フォーム.オブジェクト取得( <番号>,<変数名> )

    この<番号>にあたる計算式をご存じの方いらっしゃいますか?
    理想としては、項目名や項目番号を経由して取得できればばと考えています。

    よろしくお願い致します。
引用返信 [メール受信/OFF] 削除キー/
■4630 / inTopicNo.2)  Re[1]: オブジェクト名の取得方法
□投稿者/ ONnoji -(2009/04/10(Fri) 17:20:50)
    2009/04/10(Fri) 17:31:45 編集(投稿者)
    2009/04/10(Fri) 17:27:52 編集(投稿者)
    2009/04/10(Fri) 17:26:57 編集(投稿者)
    2009/04/10(Fri) 17:24:35 編集(投稿者)

    > メソッド呼び出し @フォーム.オブジェクト取得( <番号>,<変数名> )
    >
    > この<番号>にあたる計算式をご存じの方いらっしゃいますか?

    これは桐のヘルプに書いてありますが、

    番号はゼロから始まります。最初のオブジェクトの番号がゼロになります。

    0 1 2 3 ... n という具合です。

    戻り値 = <変数名> に0(ゼロ)が返った場合、番号に対応するオブジェクトは存在しません。

    なお、@フォームを指定した場合は、n 番目のセクション名を取得します。

    ちなみに、このメソッドはフォームまたはセクションのオブジェクト名を列挙するために使いますよ。

引用返信 [メール受信/OFF] 削除キー/
■4632 / inTopicNo.3)  Re[1]: オブジェクト名の取得方法
□投稿者/ うにん -(2009/04/10(Fri) 20:25:12)
    > やりたい事は、オブジェクト名の取得です。
    > 今回は、フォーカスからの取得が出来ない状況なので困っています。

    「できない状況」というのが、方法が見つからないのか、やりたくないのか?
    オブジェクトのイベントで&thisを使えばいいのですが。
    「&this は、フォームに組み込まれている局所変数です。この変数には、イベントが発生するたびに、発生元のオブジェクト名が代入されています。 」

    メソッド呼び出し @フォーム.フォーカスオブジェクト取得( &focus )
    なんてのもありますね。つまり、これをやりたくないのかな。

    > メソッド呼び出し @フォーム.オブジェクト取得( <番号>,<変数名> )
    >
    > この<番号>にあたる計算式をご存じの方いらっしゃいますか?
    > 理想としては、項目名や項目番号を経由して取得できればばと考えています。

    項目名や項目番号は表の属性で、フォームのオブジェクトとは関係ない
    (たまたまテキストオブジェクトのソース式の中に項目名が含まれてたりする
    だけ)なので、全部列挙して探すしかないでしょう。

引用返信 [メール受信/OFF] 削除キー/
■4633 / inTopicNo.4)  Re[1]: オブジェクト名の取得方法
□投稿者/ 尾形 -(2009/04/11(Sat) 06:44:58)
    どうも、こんにちは

    オブジェクト名って自分で定義できるのだから
    ダイレクト指定でダメなの?

    フォーカスオブジェクトと相関的なオブジェクト名にしておくとか

引用返信 [メール受信/OFF] 削除キー/
■4636 / inTopicNo.5)  現在の項目名を取得する
□投稿者/ ONnoji -(2009/04/11(Sat) 13:03:47)
    > やりたい事は、オブジェクト名の取得です。
    > 今回は、フォーカスからの取得が出来ない状況なので困っています。

    [フォーカス取得]イベントで、&this を参照すればフォーカスを取得したオブジェクト名は判りますよ。

    ちなみに、&this はあらかじめ桐が用意している文字列型の局所変数です。

    > 理想としては、項目名や項目番号を経由して取得できればばと考えています。

    フォーカスというよりも、現在の項目名を取得するのであれば…、

    #項目番号()関数を使うと、現在の項目番号を取得できます。
    現在の項目番号から、項目名を取得できます。


    (例)

     変数宣言 自動,文字列{ &fieldName, &dataType, &fieldKind }
     変数宣言 自動,整数 { &fieldNum }
     &fieldNum = #項目番号( #u )
     &fieldName = #項目属性( &fieldNum, 1 ) /* 項目名を取得 */
     &dataType = #項目属性( &fieldNum, 2 ) /* データ型を取得 */
     &fieldKind = #項目属性( &fieldNum, 6 ) /* 項目種別を取得{基本、計算、ふりがな} */

    参考URL

    < フォームアプリケーション応用 >
    第2回 英字を半角全角に変換!
    http://www.geocities.jp/siliconvalley_bay_7565/procedure02.htm#no04

引用返信 [メール受信/OFF] 削除キー/
■4640 / inTopicNo.6)  Re[2]: オブジェクト名の取得方法
□投稿者/ kirikiri -(2009/04/11(Sat) 22:21:02)
    ■4630 ONnojiさんへ

    「オブジェクト取得」は、オブジェクト名を列挙するためのコマンドだったんですね。
    わかりました。モヤモヤしていたものが晴れました。
    有難うございます。



    ■4632 うにんさんへ

    「できない状況」というのは、うにんさんがおっしゃる通り、
    「フォーカスオブジェクト取得」を使用しない方法でという意味です。

    その状況というのが、下記状況においてです。
    ・レコード更新イベントの場合であり、
    ・取得したいオブジェクト名が多数あり、
    ・フォーカスが取得対象に無い可能性がある場合


    ■4633 尾形さんへ

    そうですね!項目名と相関的なオブジェクト名にすることにしました。



    皆様色々と有難うございました。

解決済み!
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -