作成した返信
-
著者投稿
-
MZPlatformユーザー会サイト管理者
ご確認いただきありがとうございます。
外部プログラム通信コンポーネントを用いたコマンド実行は、独学用の資料が少ないので、サンプルアプリケーションを作成しました。そのZIPファイルを添付しますので、展開して下記の手順で実行して動作するかお試しください。
サンプルを実行しますと、3つのテキストフィールドがありまして、CMDコマンドはそのままでよいと思います。LPRコマンドに、お試しいただいたコマンドのファイルパス名以外の部分を記入してください。PDFパス設定に対象とするファイルパス名を記入したら、実行ボタンを押します。PDFパス設定は右側の選択ボタンでファイル選択ダイアログから設定することもできます。
なお、もしもお試しいただいたLPRコマンドが、ファイルパス名を最後に書かない文法になっていると、うまく動かないと思います。その場合はファイルパス名を含めてすべてLPRコマンドに書いていただいて、PDFパス設定は空にしてお試しください。
これが動作すれば、添付したサンプルに記述してある方法で一応実現できることになります。完全にご要望にはお応えできていないと思いますが、動作した場合はご検討いただければと思います。
添付ファイル:
MZPlatformユーザー会サイト管理者追加で調査しましたので、入手した情報をお知らせします。
ご使用のプリンタの機種によっては、LPRコマンドによるPDFファイルの直接印刷が可能かもしれません。詳しくはご使用のプリンタの操作説明書等をご確認ください。
また、Windows 10でLPRコマンドを使用するためには、下記の操作が必要です。
[設定>アプリと機能>オプション機能>Windowsのその他の機能]を選択します。
Windowsの機能の有効化または無効化で、[印刷とドキュメントサービス>LPRポートモニター]にチェックを入れてOKボタンを押します。その後、コマンドプロンプトでプリンタの操作説明書に書かれたLPRコマンドを使用して、PDFファイルが直接印刷できれば、MZでも外部プログラム通信コンポーネントを用いて印刷できる可能性がありますので、お知らせください。
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の機能の組み合わせで実現することは難しいようです。
MZPlatformユーザー会サイト管理者ファイルコンポーネントと等価演算コンポーネントの組み合わせで実現可能です。
ファイルコンポーネント(入出力>ファイル>ファイル)にフォルダのパスとファイル名を設定すれば、そのファイルが存在するかどうかを判定できます。その結果を等価演算で論理値として比較すれば、処理の分岐ができます。そのファイルコンポーネントからフルパス名やファイルオブジェクトが取得できるので、そのままCSV入力やCSV出力もできると思います。
サンプルアプリのZIPファイルを添付しますので、ご確認ください。
添付ファイル:
MZPlatformユーザー会サイト管理者MQTT通信とMCプロトコル通信につきましては、産総研内部および外部で把握している範囲での実績はございません。
MQTT通信は、一般的なIoT化のシステム構築で使用されるものですので、MZとしても今後対応する必要があるかもしれません。もし具体的に実現したいことをお知らせいただければ、今後のリリースでの対応を検討します。
MCプロトコル通信は、シリアル通信であれば既存コンポーネントを使用して所定のフォーマットでコマンド送信することで実現できる可能性があります。他のプロトコルでのシリアル通信はいくつか実績があります。イーサネット経由であれば既存コンポーネントでの類似の実績もないので、実現可能性を一から調べる必要がありますが、こちらでは実機がないのですぐには難しいです。
MZPlatformユーザー会サイト管理者こちらで確認した限りでは、書いていただいたキーコードと修飾コードを指定して、F1キーで同様に操作ができました。もしかしたらご使用の環境によっては動作しないのかもしれません。
こちらでサンプルを修正したアプリのZIPファイルを添付しますので、展開して実行してF1キーを押してみていただけますでしょうか。
添付ファイル:
MZPlatformユーザー会サイト管理者今回は良いですが、別の質問をする場合は別トピックを作成していただけると助かります。
フレームのキーイベントは、フレームそのものにフォーカスがある場合のみ発生するので、あまり実用上は機能しません。例えばボタンを押したり、フィールドにカーソルがあると、フレームのキーイベントは発生しないという感じになります。
ショートカットキーの機能を作成する場合は、キーイベントハンドラーを使います。サンプルアプリとそのドキュメントがありますので、まずはこれらをご確認いただいて、ご不明な点があればお問い合わせください。
C:\MZPlatform\3.6\AP_DATA\Sample\キーイベントハンドラー.mzax
C:\MZPlatform\3.6\docs\sample\サンプル(キーイベントハンドラー).pdfMZPlatformユーザー会サイト管理者領域配置では5つの領域として、フレーム等のサイズに連動する中央の「Center」、幅方向のサイズに連動する上下の「North」と「South」、高さ方向のサイズに連動する左右の「West」と「East」があります。
画面編集画面でコンポーネントを手動で追加する際に、それぞれの領域を指定することでご希望の領域に部品を配置できます。ただし、それぞれの領域に複数の部品を配置したい場合には、それぞれの領域に「パネル」を配置して、その中に部品を配置する方が良いことが多いです。
なお、他の配置方法から領域配置に変更すると、すべてのコンポーネントが「Center」に追加された状態になるので、なかなかご希望の状態にはならないと思います。お手数ですが、一つ一つ手作業で画面配置していただく必要があります。
まずは上記の領域配置の使用方法をご確認いただき、ご不明な点があれば再度お問い合わせください。
MZPlatformユーザー会サイト管理者帳票のテーブルの行は記載内容が多ければ折り返しで複数行表示されますが、指定位置での改行ができませんので、できないという回答になります。
もし、MZのテーブルで複数行をひとまとまりとして表現して、それを帳票のテーブルに表示することで代替が可能であれば、そのようなテーブルの作成方法については回答できます。帳票のテーブルは任意の位置に罫線が引けませんが、横方向の罫線を消してひとまとまりごとに行の背景色を変えて表示するなどの工夫をすれば、近いものが表現できるかもしれません。参考までに作成したサンプルアプリのZIPファイルを添付しますので、展開して確認していただけますでしょうか。
- この返信は、 MZPlatformユーザー会 により、 3 年, 9 ヶ月 前 に編集されました。
添付ファイル:
MZPlatformユーザー会サイト管理者時間計測コンポーネントで実現したいことができない場合は、カレンダーコンポーネントを使って同様の処理も実現できますし、それを使って独自の処理を実現することもできます。
文章を読んだ印象からこちらで処理を追加したサンプルを参考までに添付します。
ここの処理をこのようにしたいなど追加のご質問があればお知らせください。添付ファイル:
-
著者投稿