作成した返信
-
著者投稿
-
MZPlatformユーザー会サイト管理者
お問合せありがとうございます。
現在のMZ4.0から\MZPlatform\4.0\jarsフォルダの中にextフォルダを設けましたが、実際のところC:\MZPlatform\Java\jre8_mz4.0\lib\extに置いていただいても問題ございません。
どちらに置いてもフォルダ内のjarファイルを利用できる設定になります。実は、javaのバージョンによっては\lib\extが設けられていないものもあり、今後のJavaの仕様の変更にも対応できるように、MZ Platformのフォルダの中にもextを設けました。
ご確認誠にありがとうございます。
今後ともどうぞよろしくお願い申し上げます。MZPlatformユーザー会サイト管理者お問い合わせありがとうございます。
[帳票]の[ラベル]要素に途中に改行の無い長いテキストを設定すると、拡大/縮小時に一行に表示される文字数が変化することを確認いたしました。
これはJAVAの仕様で描画の計算時に微妙なずれが生じているようで、MZ側で対処することができません。調査しましたが修正は難しいという結論です。
大変ご迷惑をお掛けいたしますが、どうぞよろしくお願い申し上げます。MZPlatformユーザー会サイト管理者お問い合わせありがとうございます。
ご面倒をお掛けしております。
Java8以降はJDBC-ODBCドライバーが非推奨となっている関係で、JavaJRE7のバ―ジョンを使っていただいているかと存じます。
この状況を改善するために、MZPlatform4.0からはODBC接続を利用しなくても[データベースアクセス]を使って接続できるように改修しております。更新後のPCで以下をお試しいただけないでしょうか。
1)使用するJavaのバージョンをJRE8に変更
platform.ini内の「JavaInvoke」項の値を「JavaInvoke=Java/jre8_mz4.0」に戻します。2)[データベースアクセス]のメソッド「データベースに接続する(String,String,String,String)」
の引数を以下のように変更します。引数0:ドライバ名:空白
引数1:データベースの URL:ファイルまでのパスを指定(例:C:\MZPlatform\4.0\AP_DATA\Tutorial\dispatch.xls)
引数2:ユーザ名:空白
引数3:パスワード:空白今までは事前にODBCデータソースの設定が必要でしたが、不要になります。
ご参考:『エクセル連携導入チュートリアル』https://ssl.monozukuri.org/mzplatform/docs_web/mztutorialexceldispatch.html以上お試しいただき、ご不明な点、ご要望等ございましたら、再度ご連絡いただければ幸いです。どうぞよろしくお願い申し上げます。
MZPlatformユーザー会サイト管理者お問い合わせありがとうございます。
[ファイル]コンポーネントのメソッド「直下に存在するファイル名称取得()」でフォルダ内のファイル名のリストを取得することができます。
一番簡単にはファイル名の主要部分が日付で構成されていることに着目し、取得したリストを降順に並べ、一定の位置より後ろのファイルは削除することが考えられます。
[繰り返し制御(FOR)]を使って、例えばリストの第10番目から最後までのファイルを削除します。削除したくないファイルも同じフォルダに存在する場合には、メソッド「getSubFileNames(String)」で引数に正規表現を設定し、絞り込んだファイル名のリストの取得ができます。
また、ファイルの最終更新日時あるいは作成日時をDate型で取得することができます。
ただし、更新日時の取得は一つのファイルについてであり、リスト形式ではありません。
[カレンダー]コンポーネントで、基準の日時(例:10日前)とファイルの更新日時までの経過時間を取得し、更新日時が10日以前だったら削除するといった処理も考えられます。この場合、ファイル名は関係なく更新日時が基準となります。なお、windows10以上では特定の一時フォルダ(ゴミ箱、ダウンロードフォルダ)の自動削除の設定ができるようです。しかし、それ以外のフォルダにの自動削除の設定はできません。
以上確認のため、簡単なサンプルファイルを添付いたします。
ご不明な点、ご要望等ございましたら、再度ご連絡いただければ幸いです。
どうぞよろしくお願い申し上げます。添付ファイル:
MZPlatformユーザー会サイト管理者ご連絡ありがとうございます。
こちらの現象もダンプ実行処理完了(コマンドプロンプト起動、sqldump.exeの実行)より先に、アプリケーションビルダー終了処理が行われているのが原因かと推測いたします。
試しにアプリケーション終了イベントの接続処理の[新規batファイル削除]を「起動しない」にしてみると、[フレーム]表示せずにサブルーチンの処理だけで行っても、batファイルとsqlファイルが作成されているのが分ります。
思いの外ファイル削除の方が早く行われてしまうようです。上記ご確認いただいても、改善しない場合は、どうぞ再度ご連絡ください。
どうぞよろしくお願い申し上げます。MZPlatformユーザー会サイト管理者ご連絡ありがとうございます。
[サブルーチン(起動時での実行処理)]のアクションイベントの3番目の処理として、「アプリケーションを終了する()」が接続されているため、バッチファイル作成後すぐにアプリケーション終了処理に移っており、ファイル削除が実行されているものと思われます。
アプリケーションビルダー使用時の例外事項として、「アプリケーションを終了する()」を行ってもアプリケーションビルダー自体は終了せず維持されるため、[フレーム]表示が無いときは見た目で起動/終了が判別できないことがあります。
取り急ぎ、[サブルーチン(起動時での実行処理)]のアクションイベントの3番目の処理をご確認ください。よろしくお願い申し上げます。
- この返信は、 MZPlatformユーザー会 により、 6 ヶ月, 1 週 前 に編集されました。
MZPlatformユーザー会サイト管理者お問い合わせありがとうございます。
ファイルの操作については[ファイル]コンポーネントを使用します。
[ファイル]にメソッド「ファイル名を設定する(String)」などでファイルを指定し、メソッド「削除(配下に何も存在しない場合)()」を実行します。他に「ディレクトリ、およびその配下を全て削除()」もあります。
確認メッセージなどは表示されず、ごみ箱に残ることもなく簡単に削除されてしまうので、注意が必要です。以上、ご不明な点がございましたら、どうぞ再度ご連絡ください。
よろしくお願い申し上げます。MZPlatformユーザー会サイト管理者OSシャットダウン時にアプリケーション終了イベントの処理を実行させることができるかという件について回答いたします。
検討いたしましたが、OSシャットダウン時の処理でMZプラットフォームのアプリケーションのアプリケーション終了イベントの処理を実行させるのは、大変申し訳ございませんが現在のところ難しいです。[タイマー]等で一定の時間が来たら、終了処理を行うといったことはできるかと思います。
ご不明な点、ご要望等ございましたら、ご連絡いただければ幸いです。
どうぞよろしくお願い申し上げます。MZPlatformユーザー会サイト管理者お問い合わせありがとうございます。
取り急ぎ、アプリケーションの実行中にOSをシャットダウンすると、アプリケーション終了イベントは実行されるかというご質問について回答します。
OSシャットダウン時に動いているMZのアプリケーションはJava実行環境が強制終了という形になりますので、アプリケーション終了イベントの処理は実行されません。OS終了時の対処につきましては可能かどうか検討いたしますので、少々お時間を頂ければと存じます。よろしくお願い申し上げます。
MZPlatformユーザー会サイト管理者お問い合わせありがとうございます。
sqldum実行前に逐次batファイル中のファイル名の記述を変更する必要がありますが、[テキストファイル入力]を使ってbatファイルの内容を読み込み、現在日時の日付に該当箇所を置換えて[テキストファイル出力]で出力・保存することが考えられます。
現在日時の取得には[システム情報]または[カレンダー]を使用します。文字列の置き換えには[文字列格納変数]を使いますが、置き換え対象となる文字列は、正規表現で「[0-9]+」(1桁以上の0から9までの数字)と「_〇〇」の部分を組み合わせて指定します。
数字だけだと文中の他の数字を拾ってしまう恐れがあるため接尾の「_〇〇」も一緒に指定した方が良いかと思います。上記置換え処理の確認のため、簡単なサンプルファイルを添付いたしますので、ご確認ください。
ご不明な点、ご要望等ございましたら、再度ご連絡いただければ幸いです。
どうぞよろしくお願い申し上げます。添付ファイル:
-
著者投稿