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

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

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

■2058 / inTopicNo.1)  イベントの編集文字列変更で文字の未確定後の入力でエラーになる。
  
□投稿者/ homepiyo -(2007/01/26(Fri) 17:19:45)
http://www9.ocn.ne.jp/~enge/zzkiri/kirierror01.lzh
    桐ver9-2006(桐9-2004sp3)、OSはWindows XPです。

    栄養計算のプログラムを作っています。その中で食品名の検索用フォームを作っているのですがイベント処理でエラーになってしまいます。

    変数に文字を入力して絞込みをするのですが、日本語の文字変換をして確定すれば特に問題なく動作します。しかし、ワープロでするように日本語の文字変換して確定する前に次の文字を入力すると「問題が発生したため、KIRI.EXEを終了します。」というエラーメッセージが出て桐が終了します。

    具体的な例は、"玉ねぎ"を検索しようとして、"たま"と入力してスペースで"玉"変換します。ENTERキーを押さずに(確定せずに)次の文字の"ね"を押すと上記のエラーになります。

    編集文字列変更のところのイベントは以下のとおりです。

    手続き定義開始 t検索項目::編集文字列変更()
    メソッド呼び出し @t検索項目.編集文字列取得(&STR)
    メソッド呼び出し @フォーム.更新モード設定(0)
    絞り込み解除
     ケース開始
     ケース (#ISかな(&STR,1)=1)
      &STR=#連結("絞り込み [食品名読み]{*""",&STR,"""*},文字比較方法=拡張辞書順")
     ケース (#IS数字(&STR,1)=1)
      &STR=#連結("絞り込み [食品番号]{""",&STR,"""*},文字比較方法=拡張辞書順")
     ケース (#IS半角(&STR,1)=1)
    &STR=#連結("検索条件登録 """",{[食品名]{*""",&STR,""" *}},{[食品番号]{""",&STR,""" *}}")
    コマンド &STR
    &STR="絞り込み 条件名="""""
     ケース その他
      &STR=#連結("絞り込み [食品名]{*""",&STR,"""*},文字比較方法=拡張辞書順")
     ケース終了
    コマンド &STR
     並べ替え条件登録 条件名="",{[入力頻度] 降順}
     並べ替え 条件名=""
    メソッド呼び出し @t検索項目.フォーカス設定()
    メソッド呼び出し @フォーム.更新モード設定(8)
    メソッド呼び出し @t検索項目.編集選択位置設定(1,-1)
    メソッド呼び出し @t検索項目.編集選択位置設定(0,0)
    手続き定義終了

    文字の変換のあと未確定の状態で次の文字を入力したときの対処方法がわかりません。どのようにすればよいか、よろしくお願いいたします。

    kirierror01.lzhの内容
    食品名検索用フォーム・・・kensaku.wfm
    イベント・・・kensaku.kev
    食品名索引表・・・索引表個人用.tbl
    エラーの状態・・・error01.jpg

引用返信 [メール受信/OFF] 削除キー/
■2059 / inTopicNo.2)  Re[1]: イベントの編集文字列変更で文字の未確定後の入力でエラーになる。
□投稿者/ homepiyo -(2007/01/26(Fri) 17:57:07)
http://www9.ocn.ne.jp/~enge/p/index.html
    kirierror01.lzhをURLに貼り付けてしまいました。申し訳ございません。
引用返信 [メール受信/OFF] 削除キー/
■2060 / inTopicNo.3)  Re[2]: イベントの編集文字列変更で文字の未確定後の入力でエラーになる。
□投稿者/ 今村 誠 -(2007/01/26(Fri) 21:57:12)
    homepiyoさんこんにちはサンプルは見ていません。
    私は下記のように検索と絞り込みで使い分けています。
    検索の方を削除して検索項目名を""でくくり今回の場合&SValue="食品名"
    にしたらうまくいくと思います。
    まず実験です。
    proc にゅうりょく::編集文字列変更()
     var Str{&tmp比較式,&S編集文字}
     method ハンドル = &hwindow ,@にゅうりょく.編集文字列取得(&S編集文字)
     /* 拡張辞書順検索の為に比較式を変数に代入*/
       if (&S検索選択切換>1)
         &tmp比較式 = "絞り込み ,["+&SValue+"]{*"+""""+&S編集文字+""""+" *:E}"
       else
         &tmp比較式 = "検索 ,["+&SValue+"]{"+""""+&S編集文字+""""+" *:E}"
       end
     if(&S編集文字)
      編集表 &表引表
      コマンド &tmp比較式 /* 比較式はコンマの付け方が難しい*/
      method @フォーム.再描画(1)
     end
    end

引用返信 [メール受信/OFF] 削除キー/
■2062 / inTopicNo.4)  Re[3]: イベントの編集文字列変更で文字の未確定後の入力でエラーになる。
□投稿者/ homepiyo -(2007/01/26(Fri) 23:32:42)
http://www9.ocn.ne.jp/~enge/p/index.html
    2007/01/28(Sun) 13:32:32 編集(投稿者)
    2007/01/28(Sun) 13:32:03 編集(投稿者)

    今村さん。ありがとうございます。
    仕様としては(1)食品名(2)食品名の読み方(3)食品番号のいずれかの部分を入力していって食品名をある程度(10個未満)に絞り込んで該当する食品名を選択する形を考えていますので、絞り込みだけでよいように思っています。

    今村さんの処理には更新モード設定は入っていないので、
    確認をいれてエラーの位置を特定すると、
     メソッド呼び出し @フォーム.更新モード設定(0)
    のところだとわかって、わからないまま除いたらエラーで止まることはなくなりました。更新モード設定は必要なかったみたいです。それと
     メソッド呼び出し @t検索項目.フォーカス設定()
     メソッド呼び出し @フォーム.更新モード設定(8)
    メソッド呼び出し @t検索項目.編集選択位置設定(1,-1)
    メソッド呼び出し @t検索項目.編集選択位置設定(0
    も必要ないようです。
    エラーについては更新モード設定について分かっていなかったためです。
    ありがとうございました。

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



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

このトピックに書きこむ

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

Mode/  Pass/

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

- Child Tree -
- Antispam Version -