フォーラムへの返信
-
投稿者投稿
-
MZPlatformユーザー会キーマスター
Webアプリケーション用の設定をしていただくと、所定の位置にapplicationsフォルダが作成されます。その中にあるWindowSample.mzaxが画面を切り替える機能のサンプルとなっております。
Webアプリケーション用の設定方法は、配布用のZIPファイルを展開したMZ Platform Servletフォルダ内のReadMe.txtに書かれています。設定が問題なく完了しましたら、Webブラウザで下記のアドレスを指定するとサンプルの動作を確認できます。
http://<サーバのアドレス>:8080/mz/WindowSample.doサンプルがあるapplicationsフォルダの位置は、準備したサーバにTomcatをインストールした場合は、下記になります。
(Tomcatのフォルダ)\webapps\mz\WEB-INF\applicationsMZPlatformユーザー会キーマスター以前メールでご相談いただいた内容に対して、テーブルサブセットフィルターを用いてテーブル内の文字列を検索して行選択する処理をご紹介しました。
残念ながら、現在のテーブルサブセットフィルターの機能としては、文字列が完全に一致しない場合に柔軟に判定する機能が用意されておりません。
そのような処理を実現する場合には、アプリケーション側でテーブルに含まれている全ての文字列をあらかじめ半角英数小文字や全角平仮名に変換しておき、検索用の文字列を半角英数小文字や全角平仮名に変換してから、テーブルサブセットフィルターにテーブルを設定して文字列検索による行選択を実行するように処理を構築することで対応可能です。
この文字列変換機能は、文字列格納変数のメソッドとして提供されています。
ただし、メソッドで対応可能な変換は、全角の英数字を半角小文字に変換することと、全角半角の片仮名を全角の平仮名に変換することに限定されます。
変換処理のサンプルアプリケーションを添付しますので、必要に応じてご利用ください。なお、掲示板へのアプリケーション添付については、右側の注意事項にありますように、ZIPファイル等に圧縮してから添付するようにお願いします。
添付ファイル:
MZPlatformユーザー会キーマスターご不便をおかけして申し訳ありません。
現在の環境では質問者へのメール通知が利用できず、ご不便をおかけしていることは認識しております。引き続き、良い解決方法がないか検討いたします。MZPlatformユーザー会キーマスターご要望をお知らせいただき、ありがとうございます。
そのような機能追加は可能と思いますので、検討してみます。MZPlatformユーザー会キーマスターHTML表示パネルは、Webブラウザの動作を再現するためのコンポーネントではないため、意図する動作を実現することは難しいと思います。
代わりに、外部プログラム通信を用いた方法で動作が実現できたのでお知らせします。外部プログラム通信のメソッド「標準のブラウザでWEBページを開く(String)」の引数に、「mailto:」の文字列を指定すると標準のメールソフトが起動します。参考までに、作成したアプリケーションを添付します。引数の文字列は文字列格納変数を用いて動的に作成することが可能です。
注意点としては、こちらの環境ではccやsubjectなどのオプションをつなぐときに&ではなく&を指定しないと正常に表示されませんでした。また、こちらはメールソフトによるみたいですが、bccは表示されませんでした。ご利用の環境での挙動をご確認いただいて記述を調整してみていただければと思います。
- この返信は9年、 9ヶ月前にMZPlatformユーザー会が編集しました。
- この返信は9年、 9ヶ月前にMZPlatformユーザー会が編集しました。
添付ファイル:
MZPlatformユーザー会キーマスターテーブルサブセットフィルタで検索後の結果(選択データ)を
再度テーブルサブセットフィルタの全体データに設定し,
その後にテーブルサブセットフィルタから選択データを取得しテーブルに
設定しておりますが,
最初の選択データをどこかに確保しておき,テーブルに設定する
ようにしますと,お望みの処理になると存じます.MZPlatformユーザー会キーマスターテキストフィールドに一文字入力するごとに,
データ更新イベントが発生し,毎回データベースの検索が実行され,
反応が悪くなってしまうということと理解致しました.幾つか改善策が考えられますが,例えば,
一文字ではなく複数文字入力された際に検索を実行するように
処理を修正されてはいかがでしょうか.文字列格納変数にテキストフィールドの文字列を設定し,
メソッド「文字列の長さを取得する()」を実行することにより,
文字数を取得することができます.
その文字数を比較演算コンポーネントを用いて,指定の文字数以上
であることを判定し,処理を実行します.また,他の方法としましては,ある程度文字列が入力され,
「Enter」キーが押された場合のみ検索するという方法も考えられます.テキストフィールドのデータ更新イベントではなく,
アクションイベントを使用し,イベント番号0を指定することにより,
「Enter」キーが押された場合のみ,処理を実行することが可能です.以上,ご検討をよろしくお願い申し上げます.
MZPlatformユーザー会キーマスター当方で試してみましたが,状況を再現できませんでした.
お使いのSQL文,テーブル,または,MZプラットフォームからの検索の
手順について,もう少し情報をご連絡いただけますでしょうか.MySQLでdate(フィールド名),time(フィールド名)を使用し,
例えば,Select date(フィールド名), time(フィールド名) from テーブル名
というSQL文を実行した場合,検索結果として,
MySQLのDATE型(日付のみ),TIME型(時刻のみ)のテーブルが
返ってきます.MZプラットフォームでこのテーブルを受け取った際には,
両方の列がDate型(日付型=日付と時刻の両方を含む)に自動的に変換された
テーブルデータが取得できるはずです.添付いただきましたアプリケーション画面の画像を拝見しますと,
文字列データ(java.lang.String)がバイナリ型等([B)の列に設定できない
とのエラーが表示されております.
通常,上述のように文字列型ではなく,Date型(日付型)のデータとして
取得されるはずです.お手数をおかけし申し訳ございませんが,
作成中のアプリケーションにつきまして,特にフィールドの型に関係する
処理についてご確認いただき,再度,ご連絡いただければと存じます.MZPlatformユーザー会キーマスターテキストフィールド等のコンポーネントはカーソルが当たった際
または消失した際にフォーカスイベントが発生します.そのフォーカスイベント発生時の処理に,テキストフィールド等に
背景色を設定するメソッドを実行するよう定義すると,ご質問の
処理が実現可能です.背景色設定のメソッドは「背景色を設定する(Color)」です.
テキストフィールド以外のコンポーネントで日本語のメソッド名が
設定されていないコンポーネントがありますが,
その場合は「setBackground(Color)」を用います.引数のColor値は,他のコンポーネントから取得し設定することも可能ですが,
取得方法「固定値」として文字列(RED,WHITEなど)で直接設定する
ことも可能です.また,前述のフォーカスイベントには,フォーカス取得時(当たった時),
フォーカス消失時に,それぞれ,イベント番号1,0が設定されています.
イベント番号で設定色を区別することにより,カーソルが当たった際,
消失した際の色を別々に設定することが可能です.ご参考のため,サンプルアプリケーションを作成しましたので,
詳細は添付ファイルをアプリケーションビルダーでロードしご確認ください.添付ファイル:
MZPlatformユーザー会キーマスターこちらは情報共有のためのご投稿と解釈してよろしいでしょうか?
ご協力ありがとうございます。右側の注意事項にありますが、ファイルを添付する場合は圧縮したZIPファイルとしてアップロードをお願いします。
-
投稿者投稿