フォーラムへの返信
-
投稿者投稿
-
MZPlatformユーザー会キーマスター
イベント伝播制御は、あるコンポーネントから発生したイベントの処理でイベント伝播制御の「受け取ったイベントを発生させる」を起動し、イベント伝播制御からそのイベントが発生したときに実際の処理を記述して使います。その状態でイベント無視モードをtrueに設定するとイベント伝播制御で処理が止まり、falseに設定するとイベントが伝播して処理が実行されます。
イベント伝播制御の使い方については、AP_DATAのSampleフォルダにサンプルがありますので、まずはそちらをご覧ください。ご不明な点があれば再度お問い合わせください。
MZPlatformユーザー会キーマスターご質問の内容からするとあまり理解できていないようですので、もう少し処理を整理して追加したサンプルを添付します。より複雑になりますので、さらに理解が難しくなると思いますがご容赦ください。
このサンプルでは、コンボボックスで機番を選択すると、ガントチャートが表示されます。また、緑用に加えて黄用の処理を追加しました。ここでは黄=安全停止としています。黄用の処理としてFORコンポーネントを複製し、ID26のファンクション中でID30のサブルーチンと複製したFORの繰返し処理を実行しています。赤用の処理を増やす場合にはFORだけを複製して適切に呼び出せば追加できると思います。
添付ファイル:
MZPlatformユーザー会キーマスターサンプルでは、緑の点灯を「稼働」開始、緑の消灯を「稼働」終了という「状態」を表現するものとして作成しました。赤、黄、青、カウンタが何を表現するか次第で、作成の仕方が変わります。
ただし、少なくともID15のサブルーチンで列を増やすということにはなりません。なぜなら、ID15のサブルーチンでは、ガントチャートに渡すテーブルの形を作成しており、この形が大きく変わることはないからです。
作成の仕方としては例えば、赤、黄、青の点灯と消灯で「異常停止」、「安全停止」、「段取り中」の開始と終了を表現するものとして、テーブルの形を変えずに「状態」を増やすことが考えられます。その場合は、ID16の繰り返し制御(FOR)とそこから起動されているコンポーネントをすべて複製して、赤用、黄用、青用の処理を追加することが考えられます。
- この返信は7年前にMZPlatformユーザー会が編集しました。
MZPlatformユーザー会キーマスターMZアプリはZIPファイルにしないと添付できませんのでご注意ください。
また、ご質問はきちんと文章で表現していただかないとお答えできません。
「うまくいかない」「変更したい」ではお答えのしようがありません。何かやりたいことがあって、該当するコンポーネントおよびそのメソッドがあるかどうか、どのように機能を呼び出すのかなど、この掲示板では技術的な質問に対して産総研から回答をすることになっております。
MZPlatformユーザー会キーマスターツリーの選択ノード名を使った処理については、金型履歴管理のサンプルをビルダーでご覧ください。
「マスタ」複合コンポーネントの中に書かれていまして、ツリーのデータ選択イベントで、ツリーの「getNodeText(PFObjectTreeNode)」を呼んでいます。このメソッドで、選択ノード名が取得できるので、それを使ってマップからキーを指定して値を取得してみてください。
MZPlatformユーザー会キーマスターもちろん可能です。これまでの情報で作成できますので、ご検討ください。
例えば、CSVファイルを読み込んで、それから機番を選択するという二段階の処理が必要な場合、いくつかの要素を検討しないといけません。ファイルをダイアログで選択するのか、特定のキーワードからファイルパスを合成して自動で読み込むのか、読み込んだCSVファイルに含まれる機番をコンボボックスで表示するのか、機番数が多すぎて選択が難しければ絞り込む方法が必要とか、いろいろありますので、まずはご検討ください。
ご不明な点は、要素ごとに切り分けた技術的な質問として掲示板にお書きください。
MZPlatformユーザー会キーマスター解釈はそれで正しいと思います。
添付のファイルは処理に問題があったので、修正したものを添付します。マップを空にするのは繰返し前に一度だけで、繰返しの中で空にすると、最後のリストしか登録されないことになります。
ボタンを押してマップを作成した後で、中身を確認するための処理も追加しておきました。
MZPlatformユーザー会キーマスターいただいた情報をもとに、サンプルを作成しましたので添付します。ZIPファイルを展開してビルダーで確認しながら下記の解説をご覧ください。
実行して「変換」ボタンを押すと、CSVファイルの内容をイメージした元テーブルから、ガントチャート用に変換したテーブルとガントチャートが表示されます。変換方法は、機番ごとに部分テーブルを抽出して緑の列の1と0をそれぞれ「稼働」の開始と終了と考えて、ガントチャート用のテーブルに変換します。
部分テーブルの抽出にはテーブルサブセットフィルターを使います。その動作確認としては、「機番リスト作成」ボタンを押してから横のコンボボックスで機番を選択すると部分テーブルが下に表示されます。
「変換」ボタンの方は、すべての機番に対して部分テーブルを作成して、一度でガントチャート用のテーブルを作成します。
これは処理の一例ですが、今のところご希望の処理を実現するためにはこのような複雑な処理を記述する必要があります。ご不明な点があればお問い合わせください。
- この返信は7年、 1ヶ月前にMZPlatformユーザー会が編集しました。
添付ファイル:
MZPlatformユーザー会キーマスター後ほど該当箇所に回答を記入しますので少々お待ちください。
MZPlatformユーザー会キーマスター「グラフ化.mzax」のアプリでは、画面部品のテーブル上にデータがあります。画面部品のテーブル上のテーブルデータは、明示的に削除しないとデータが残り続け、アプリケーション保存時にもデータが含まれます。
-
投稿者投稿