フォーラムへの返信
-
投稿者投稿
-
MZPlatformユーザー会キーマスター
産総研で実施した動作検証結果をお知らせします。
Windows 7 からWindows 10 にアップグレードしたPC上で、もともとインストールされていたMZ Platform 3.3のビルダーといくつかのアプリケーションがそのまま実行できることを確認しました。
MZPlatformユーザー会キーマスターご希望の処理は、サンプルのExcelファイルアクセスの処理を組み合わせて、空白行の位置を確認する処理を組み込めば可能です。文章だけで説明することは難しいので、添付するサンプルアプリをご参照ください。
添付のアプリでは固定書式のExcelファイルを前提に、特定の列位置のセルを上から空白に到達するまで確認して、確認できたらそこを開始位置としてMZ側のテーブルを全行分出力します。
元のサンプルアプリの中に、既存のExcelファイルのテーブルを読み込む機能と、そのファイルに対して値のみ出力して別名で保存する機能が含まれていまして、それらを組み合わせた上で最初の空白の位置を確認する処理と、最初の空白行以降に出力するように処理を追加・修正しました。
サンプルアプリ中で今回用に追加した処理はコメント行「テーブルの位置可変出力(既存ファイルの書き換え)」でご覧いただけます。
さらにご不明な点があれば再度お問い合わせください。
添付ファイル:
MZPlatformユーザー会キーマスターMZプラットフォームの国外での使用につきましては,以下のようにお願い申し上げます.
・会員は国内在住者または国内企業に限定いたしております.
・法人会員様の海外の事業所での使用は可能です.
ただし,MZプラットフォームは日本の輸出規制には抵触しませんが,
相手国の輸入規制に抵触する場合があります.
(MZプラットフォームでは56ビットの共通鍵暗号化技術(Blowfish)
を使用しているため.)
例えば,中国では,暗号利用申請が必要になる可能性があります.
申請の要否や具体的な手続きにつきましては,私どもではお答え
しかねますので,関連の機関へお問い合わせ下さい.
MZPlatformユーザー会キーマスターテーブル格納変数の数値で行をソートをする機能は、その列にnullや数値に変換できない値が含まれている場合、ソートを実行できません。アプリケーション側で何らかの追加処理が必要です。
簡単な方法としては、対象列のすべての値を数値に設定できれば解決します。
対象列の数値が0以上の数値であればnullを-1に設定したり、取り得る数値の最大値や最小値が決まっていればその範囲から大きく外れた数値を設定したりする方法が考えられます。上記のように数値を設定できない事情がある場合は、別の工夫が必要となります。
例えば、ソートの前に対象列の値をすべて確認して、nullとなっている行を除外してからソートを実行する方法があります。別の方法として、変数ではなくGUIのテーブル上でソートを実行することも可能です。
メソッドが日本語化されていないので、全メソッド対象でsort(int,int)をお探しください。
引数は最初のintが昇順/降順で0か1を指定し、2つ目のintで列位置を指定します。
これについては下記FAQも合わせてご参照ください。
https://ssl.monozukuri.org/mzplatform/faq/faq/faq_technical/how_to_realized/how_to_realized_a182.htmlMZPlatformユーザー会キーマスターMZプラットフォームは内部でJavaを利用しておりまして、JavaのWindows10への対応は下記リンク先の通りとなっております。
https://www.java.com/ja/download/faq/win10_faq.xmlこれまでに配布しているすべてのMZプラットフォームは、同梱されているJavaがWindows10での動作保証対象外となりますので、公式にはMZプラットフォームについても動作保証対象外となります。
なお、公式には動作保証されていない場合でも、実際には動作する場合がありますので、必要に応じてお試しいただき、お使いの場合は自己責任でお願いします。
残念ながら、産総研では環境を準備できていないため、まだ動作検証をしておりません。動作検証を実施次第、情報を公開させていただきます。MZPlatformユーザー会キーマスターすでに解決済みとのことですが、掲示板上での情報共有のため補足をしておきます。
日時選択パネルは、年・月・日・時・分・秒のいずれかを変更(選択)したときにデータ選択イベントが発生し、それぞれに異なるイベント番号が割り振られています。
このイベント発生のタイミングは、日時選択ダイアログと異なるので注意が必要です。今回は、日を選択した時のイベント番号に限定することで、ご希望の処理を実現できたとのことですが、より複雑な条件になるとイベント番号だけでは実現できない場合がありますので、ご不明な場合は再度お問い合わせください。
MZPlatformユーザー会キーマスター現状は、当サイトからダウンロード可能な MZ Platform の Linux版は、インストーラの動作にGUI画面の表示が必要なため、コマンドライン環境ではインストールが行えません。
また、推奨動作環境には書いていないのですが、厳密にはx86系かx64系互換のCPUが対象でして、ARMは対象外となっております。これはバンドルしているJavaのバージョンが異なるためです。
GUI画面が使えないとビルダーでアプリケーション作成はできませんが、x86系CPUであれば別のLinux PC等にインストールされた MZ Platform の環境一式をコピーすることで、一応アプリケーションを動作させることは可能です。(もちろん、GUIなしのアプリケーションに限定されます。)
Windows版では、このようにインストールせずにコピーするだけで動作可能な環境を配布版として準備していますが、Linux版ではこれまで需要がなかったため現状では配布版を作成しておりません。ご希望があれば検討しますので、お申し付けください。
なお、GUI画面なしのLinux環境でMZアプリケーションを動作させた例を産総研の研究者が公開しておりますので、必要に応じてご参照ください。
MZPlatformユーザー会キーマスター数値入力フィールドの数値の桁区切り表示は,作成中のアプリケーションをアプリケーションビルダーから「実行(設定可)」で実行していただき,画面上の[数値入力フィールド]上で
マウス右クリック>[表示形式(実数)]>[グループ]>[あり]
と選択することにより設定可能です.また,小数点以下の桁数は,同様に,
マウス右クリック>[表示形式(実数)]>[小数部分の最大桁数…]
から, 設定可能です.同様の情報がFAQにも記載されておりますのでご参照ください.
https://ssl.monozukuri.org/mzplatform/faq_top/technical/components/gui_components/text/numberfield/
No.15:Select文で取得して数値入力フィールド…
No.108:日付/時刻型データと数字の表記についてMZPlatformユーザー会キーマスターテーブルで複数の行が選択されている場合,メソッドgetSelectedRows()を用いることにより,選択されている行のインデックスのリストを取得することが可能です.
このリストを,一旦,リスト格納変数等に設定します.繰り返し制御コンポーネントを用いてリストから順にインデックスを取得し,そのインデックスを用いて元のテーブルから該当する行データを取得します.
添付ファイル:
MZPlatformユーザー会キーマスターテーブルサブセットフィルタで,メソッドでは用意されていない特殊な検索を行う際にはメソッド「列データの正規表現で行を選択する(int,String)」を用います.そのメソッド実行後に,メソッド「選択データを取得する」を実行しますと,結果のテーブルデータを取得できます.
上述のメソッドの第一引数には検索対象の列インデックス,第2引数には,選択したい文字列を表現する正規表現を設定します.正規表現につきましては,詳細に説明する外部サイトがございますので,そちらをご参照下さい.
例えば,「指定した文字列を含む」を意味する正規表現は「.*XXXXX.*」,「指定した文字列を含まない」を意味する正規表現は「^(?!.*XXXXX).*$」です.ここで,XXXXXは指定文字列を意味しております.ご参考のため,サンプルアプリケーションを添付いたしますのでご参照ください.
添付ファイル:
-
投稿者投稿