MZPlatformユーザー会

フォーラムへの返信

10件の投稿を表示中 - 301 - 310件目 (全780件中)
  • 投稿者
    投稿
  • MZPlatformユーザー会
    キーマスター

    初めに、MZ側のテーブルの挙動について整理させてください。「セルを更新して選択行が変わる」という動きに限定したご質問ですが、添付していただいたMZアプリのテーブル上でセルをダブルクリックして編集状態にしてから値を変更してEnterキーを押すと、セルの値は更新されますが選択行は変わりません。一方、選択中のセルをF1キーで編集状態にするかBackSpaceキーで値を削除してから値を変更してEnterキーを押すと、セルの値が更新されて選択行が変わります。こちらの動きに限定した話でよろしいでしょうか。もしユーザの操作方法で動きが変わって問題が生じるようであれば、そちらについてもご検討ください。

    次に、MZプラットフォームのデバッグ機能にはいくつか制限事項がありまして、その一つがイベント発生の順番が実際の実行時と変わってしまうことです。デバッグ実行中のイベント発生順序は正しくありませんので、それを前提とした処理を定義するのは避けてください。また、イベント発生の順番が変わるということは、後述のようにご要望の機能を実現することは可能と思いますが、その機能はデバッグ実行時に正常に動作しないことをご承知おきください。

    以上を踏まえまして、実現方法の案を説明します。

    通常実行時は、データ更新イベント処理中は元の行位置が取得されます。更新処理が完了してから選択行が変わったときに、データ選択イベントが発生して新しい行位置が取得可能となります。更新した行のデータと新たに選択された行のデータを比較するには、更新イベントで必要なデータを変数等に格納しておき、選択イベントで比較処理を実行します。更新後の選択イベント発生時のみ処理を実行するためには、論理値格納変数等を用いた分岐処理が考えられます。

    元のテスト用アプリを修正して上記の処理を説明するサンプルを作成しましたので、ZIPファイルにして添付します。展開してビルダーでご確認いただき、ご不明な点があれば再度お問い合わせいただけますでしょうか。

    添付ファイル:
    返信先: 時間計測のコマンド #6359
    MZPlatformユーザー会
    キーマスター

    ご指摘ありがとうございます。
    同様の問い合わせがあるかもしれませんので、添付ファイルも含めてこのまま掲載させていただきます。

    返信先: PDFファイルの直接印刷について #6357
    MZPlatformユーザー会
    キーマスター

    ご確認いただきありがとうございます。

    外部プログラム通信コンポーネントを用いたコマンド実行は、独学用の資料が少ないので、サンプルアプリケーションを作成しました。そのZIPファイルを添付しますので、展開して下記の手順で実行して動作するかお試しください。

    サンプルを実行しますと、3つのテキストフィールドがありまして、CMDコマンドはそのままでよいと思います。LPRコマンドに、お試しいただいたコマンドのファイルパス名以外の部分を記入してください。PDFパス設定に対象とするファイルパス名を記入したら、実行ボタンを押します。PDFパス設定は右側の選択ボタンでファイル選択ダイアログから設定することもできます。

    なお、もしもお試しいただいたLPRコマンドが、ファイルパス名を最後に書かない文法になっていると、うまく動かないと思います。その場合はファイルパス名を含めてすべてLPRコマンドに書いていただいて、PDFパス設定は空にしてお試しください。

    これが動作すれば、添付したサンプルに記述してある方法で一応実現できることになります。完全にご要望にはお応えできていないと思いますが、動作した場合はご検討いただければと思います。

    添付ファイル:
    返信先: PDFファイルの直接印刷について #6353
    MZPlatformユーザー会
    キーマスター

    追加で調査しましたので、入手した情報をお知らせします。

    ご使用のプリンタの機種によっては、LPRコマンドによるPDFファイルの直接印刷が可能かもしれません。詳しくはご使用のプリンタの操作説明書等をご確認ください。

    また、Windows 10でLPRコマンドを使用するためには、下記の操作が必要です。

    [設定>アプリと機能>オプション機能>Windowsのその他の機能]を選択します。
    Windowsの機能の有効化または無効化で、[印刷とドキュメントサービス>LPRポートモニター]にチェックを入れてOKボタンを押します。

    その後、コマンドプロンプトでプリンタの操作説明書に書かれたLPRコマンドを使用して、PDFファイルが直接印刷できれば、MZでも外部プログラム通信コンポーネントを用いて印刷できる可能性がありますので、お知らせください。

    返信先: PDFファイルの直接印刷について #6352
    MZPlatformユーザー会
    キーマスター

    同様のご質問が過去にありましたので、下記にそのトピックへのリンクを示します。MZ単独の機能ではなく、WindowsとAcrobatの組み合わせによる条件付きの方法をご紹介しています。
    https://ssl.monozukuri.org/mzplatform/forums/topic/pdf%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e5%8d%b0%e5%88%b7/

    残念ながら、当時は存在したAcrobatの文書はすでに閲覧できず、その方法が現在は動作しないようです。もしコマンドプロンプトで印刷実行可能な方法があれば、MZから外部プログラム通信コンポーネントで実行できる可能性がありますが、現在はWindowsやAcrobatの機能の組み合わせで実現することは難しいようです。

    返信先: CSV入力のコンポーネントについて #6345
    MZPlatformユーザー会
    キーマスター

    ファイルコンポーネントと等価演算コンポーネントの組み合わせで実現可能です。

    ファイルコンポーネント(入出力>ファイル>ファイル)にフォルダのパスとファイル名を設定すれば、そのファイルが存在するかどうかを判定できます。その結果を等価演算で論理値として比較すれば、処理の分岐ができます。そのファイルコンポーネントからフルパス名やファイルオブジェクトが取得できるので、そのままCSV入力やCSV出力もできると思います。

    サンプルアプリのZIPファイルを添付しますので、ご確認ください。

    添付ファイル:
    MZPlatformユーザー会
    キーマスター

    MQTT通信とMCプロトコル通信につきましては、産総研内部および外部で把握している範囲での実績はございません。

    MQTT通信は、一般的なIoT化のシステム構築で使用されるものですので、MZとしても今後対応する必要があるかもしれません。もし具体的に実現したいことをお知らせいただければ、今後のリリースでの対応を検討します。

    MCプロトコル通信は、シリアル通信であれば既存コンポーネントを使用して所定のフォーマットでコマンド送信することで実現できる可能性があります。他のプロトコルでのシリアル通信はいくつか実績があります。イーサネット経由であれば既存コンポーネントでの類似の実績もないので、実現可能性を一から調べる必要がありますが、こちらでは実機がないのですぐには難しいです。

    返信先: 領域配置について #6336
    MZPlatformユーザー会
    キーマスター

    こちらで確認した限りでは、書いていただいたキーコードと修飾コードを指定して、F1キーで同様に操作ができました。もしかしたらご使用の環境によっては動作しないのかもしれません。

    こちらでサンプルを修正したアプリのZIPファイルを添付しますので、展開して実行してF1キーを押してみていただけますでしょうか。

    添付ファイル:
    返信先: 領域配置について #6334
    MZPlatformユーザー会
    キーマスター

    今回は良いですが、別の質問をする場合は別トピックを作成していただけると助かります。

    フレームのキーイベントは、フレームそのものにフォーカスがある場合のみ発生するので、あまり実用上は機能しません。例えばボタンを押したり、フィールドにカーソルがあると、フレームのキーイベントは発生しないという感じになります。

    ショートカットキーの機能を作成する場合は、キーイベントハンドラーを使います。サンプルアプリとそのドキュメントがありますので、まずはこれらをご確認いただいて、ご不明な点があればお問い合わせください。

    C:\MZPlatform\3.6\AP_DATA\Sample\キーイベントハンドラー.mzax
    C:\MZPlatform\3.6\docs\sample\サンプル(キーイベントハンドラー).pdf

    返信先: 領域配置について #6331
    MZPlatformユーザー会
    キーマスター

    領域配置では5つの領域として、フレーム等のサイズに連動する中央の「Center」、幅方向のサイズに連動する上下の「North」と「South」、高さ方向のサイズに連動する左右の「West」と「East」があります。

    画面編集画面でコンポーネントを手動で追加する際に、それぞれの領域を指定することでご希望の領域に部品を配置できます。ただし、それぞれの領域に複数の部品を配置したい場合には、それぞれの領域に「パネル」を配置して、その中に部品を配置する方が良いことが多いです。

    なお、他の配置方法から領域配置に変更すると、すべてのコンポーネントが「Center」に追加された状態になるので、なかなかご希望の状態にはならないと思います。お手数ですが、一つ一つ手作業で画面配置していただく必要があります。

    まずは上記の領域配置の使用方法をご確認いただき、ご不明な点があれば再度お問い合わせください。

10件の投稿を表示中 - 301 - 310件目 (全780件中)