フォーラムへの返信
-
投稿者投稿
-
MZPlatformユーザー会キーマスター
ご要望をお知らせいただき、ありがとうございます。
そのような機能追加は可能と思いますので、検討してみます。MZPlatformユーザー会キーマスターHTML表示パネルは、Webブラウザの動作を再現するためのコンポーネントではないため、意図する動作を実現することは難しいと思います。
代わりに、外部プログラム通信を用いた方法で動作が実現できたのでお知らせします。外部プログラム通信のメソッド「標準のブラウザでWEBページを開く(String)」の引数に、「mailto:」の文字列を指定すると標準のメールソフトが起動します。参考までに、作成したアプリケーションを添付します。引数の文字列は文字列格納変数を用いて動的に作成することが可能です。
注意点としては、こちらの環境ではccやsubjectなどのオプションをつなぐときに&ではなく&を指定しないと正常に表示されませんでした。また、こちらはメールソフトによるみたいですが、bccは表示されませんでした。ご利用の環境での挙動をご確認いただいて記述を調整してみていただければと思います。
- この返信は9年、 8ヶ月前にMZPlatformユーザー会が編集しました。
- この返信は9年、 8ヶ月前に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ファイルとしてアップロードをお願いします。
MZPlatformユーザー会キーマスターテーブルにはマウスモーションイベントが定義されていますので、これが発生したときにマウスカーソルの位置の行を選択する処理を呼び出すと実現できます。
準備としては、テーブルを行選択モードにしておく必要があります。実行(設定可)で実行した時にテーブル上で表示できるポップアップメニューで、テーブル>選択方法>行選択を選択してください。
次に、対象となるテーブルにマウスモーションイベントを追加し、同じテーブルのメソッドgetRowIndexByLocationY(int)を呼び出します。引数はイベント内包のY座標とします。
続いて、同じテーブルのメソッド「選択行を指定する(int,int)」を呼び出して、引数は両方ともメソッド処理結果として上記のメソッドを指定します。最後に、マウスモーションイベントの2つのメソッド起動をイベント番号指定として、30番のテーブル上でマウスポインタが移動したときとします。
以上で実現できると思いますが、想定する結果と異なる場合は再度お問い合わせください。
上記の方法で作成したサンプルアプリケーションを添付しておきます。添付ファイル:
MZPlatformユーザー会キーマスター残念ながら、MZの標準機能としてFAX送信は提供しておりません。
以前お答えしたPDFの印刷のように、お使いの環境でコマンドラインからFAX送信が実行できれば、MZからも実行することができるかもしれません。こちらの環境ではすぐに試せる状況ではありませんが、調べてみたところ、Windowsの標準FAX機能でコマンドラインからの実行ができるという情報はないようです。プリンタのように印刷実行して送信することができるようですが、送信用の情報を入力するダイアログが表示されてしまうようなので、ご希望の動作にならないかもしれません。
一方、Windowsの標準機能ではなく市販のソフトウェアやFAXサーバなどで、コマンドラインからの実行や他のプログラムからのFAX送信が可能なものがあれば実現できる可能性がありますので、必要に応じてお調べください。
MZPlatformユーザー会キーマスター最も簡単な方法としては、共有フォルダ等に画像ファイルを格納しておいて、そのパス文字列をDBに登録することが挙げられます。
最近産総研で試した方法としては、画像データを文字列に変換し、その文字列をDBに登録することが挙げられます。画像データと文字列の相互変換については、今年度の次回リリースで画像データ格納変数にメソッドが追加される予定です。この機能をお試しいただくための追加JARファイルとサンプルアプリケーションを添付しますので、必要に応じてお試しください。
サンプルには画像と文字列の相互変換までしか機能がありませんが、変換後の文字列をDBに登録して参照するところまではこちらで確認済みです。DBはMySQLで試しておりまして、DB側の型をlongtextにしました。
なお、サイズが大きい画像データの文字列をDBに登録した場合、それらが多数出力されるクエリを実行すると、当然ながら処理が重くなりますのでご注意ください。
添付ファイル:
-
投稿者投稿